ReactOS  0.4.14-dev-384-g5b37caa
straddr.c File Reference
#include "precomp.h"
Include dependency graph for straddr.c:

Go to the source code of this file.

Functions

LPWSTR WINAPI Dns_Ip6AddressToReverseName_W (OUT LPWSTR Name, IN IN6_ADDR Address)
 
LPWSTR WINAPI Dns_Ip4AddressToReverseName_W (OUT LPWSTR Name, IN IN_ADDR Address)
 
BOOLEAN WINAPI Dns_Ip4ReverseNameToAddress_A (OUT PIN_ADDR Address, IN LPSTR Name)
 
BOOLEAN WINAPI Dns_Ip6ReverseNameToAddress_A (OUT PIN6_ADDR Address, IN LPSTR Name)
 
BOOLEAN WINAPI Dns_Ip6StringToAddress_A (OUT PIN6_ADDR Address, IN LPSTR Name)
 
BOOLEAN WINAPI Dns_Ip6StringToAddress_W (OUT PIN6_ADDR Address, IN LPWSTR Name)
 
BOOLEAN WINAPI Dns_Ip4StringToAddress_A (OUT PIN_ADDR Address, IN LPSTR Name)
 
BOOLEAN WINAPI Dns_Ip4StringToAddress_W (OUT PIN_ADDR Address, IN LPWSTR Name)
 
BOOLEAN WINAPI Dns_Ip4ReverseNameToAddress_W (OUT PIN_ADDR Address, IN LPWSTR Name)
 
BOOLEAN WINAPI Dns_StringToAddressEx (OUT PVOID Address, IN OUT PULONG AddressSize, IN PVOID AddressName, IN OUT PDWORD AddressFamily, IN BOOLEAN Unicode, IN BOOLEAN Reverse)
 
BOOLEAN WINAPI Dns_StringToAddressW (OUT PVOID Address, IN OUT PULONG AddressSize, IN LPWSTR AddressName, IN OUT PDWORD AddressFamily)
 
BOOLEAN WINAPI Dns_StringToDnsAddrEx (OUT PDNS_ADDRESS DnsAddr, IN PVOID AddressName, IN DWORD AddressFamily, IN BOOLEAN Unicode, IN BOOLEAN Reverse)
 
BOOLEAN WINAPI Dns_ReverseNameToDnsAddr_W (OUT PDNS_ADDRESS DnsAddr, IN LPWSTR Name)
 

Function Documentation

◆ Dns_Ip4AddressToReverseName_W()

LPWSTR WINAPI Dns_Ip4AddressToReverseName_W ( OUT LPWSTR  Name,
IN IN_ADDR  Address 
)

Definition at line 26 of file straddr.c.

28 {
29  /* Simply append the ARPA string */
30  return Name + (wsprintfW(Name,
31  L"%u.%u.%u.%u.in-addr.arpa.",
32  Address.S_un.S_addr >> 24,
33  Address.S_un.S_addr >> 10,
34  Address.S_un.S_addr >> 8,
35  Address.S_un.S_addr) * sizeof(WCHAR));
36 }
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
static WCHAR Address[46]
Definition: ping.c:68
__wchar_t WCHAR
Definition: xmlstorage.h:180
static const WCHAR L[]
Definition: oid.c:1250

◆ Dns_Ip4ReverseNameToAddress_A()

BOOLEAN WINAPI Dns_Ip4ReverseNameToAddress_A ( OUT PIN_ADDR  Address,
IN LPSTR  Name 
)

Definition at line 40 of file straddr.c.

42 {
43  /* FIXME */
44  return FALSE;
45 }

Referenced by Dns_Ip4ReverseNameToAddress_W(), Dns_StringToAddressEx(), and Dns_StringToDnsAddrEx().

◆ Dns_Ip4ReverseNameToAddress_W()

BOOLEAN WINAPI Dns_Ip4ReverseNameToAddress_W ( OUT PIN_ADDR  Address,
IN LPWSTR  Name 
)

Definition at line 136 of file straddr.c.

138 {
139  CHAR AnsiName[32];
140  ULONG Size = sizeof(AnsiName);
141  INT ErrorCode;
142 
143  /* Make a copy of the name in ANSI */
144  ErrorCode = Dns_StringCopy(&AnsiName,
145  &Size,
146  Name,
147  0,
149  AnsiString);
150  if (ErrorCode)
151  {
152  /* Copy made sucesfully, now convert it */
154  }
155 
156  /* Return either 0 bytes copied (failure == false) or conversion status */
157  return ErrorCode;
158 }
_In_ NDIS_ERROR_CODE ErrorCode
Definition: ndis.h:4436
char CHAR
Definition: xmlstorage.h:175
int32_t INT
Definition: typedefs.h:56
static WCHAR Address[46]
Definition: ping.c:68
BOOLEAN WINAPI Dns_Ip4ReverseNameToAddress_A(OUT PIN_ADDR Address, IN LPSTR Name)
Definition: straddr.c:40
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359
ULONG WINAPI Dns_StringCopy(OUT PVOID Destination, IN OUT PULONG DestinationSize, IN PVOID String, IN ULONG StringSize OPTIONAL, IN DWORD InputType, IN DWORD OutputType)
Definition: string.c:17
unsigned int ULONG
Definition: retypes.h:1

◆ Dns_Ip4StringToAddress_A()

BOOLEAN WINAPI Dns_Ip4StringToAddress_A ( OUT PIN_ADDR  Address,
IN LPSTR  Name 
)

Definition at line 90 of file straddr.c.

92 {
93  ULONG Addr;
94 
95  /* Use inet_addr to convert it... */
96  Addr = inet_addr(Name);
97  if (Addr == -1)
98  {
99  /* Check if it's the wildcard (which is ok...) */
100  if (strcmp("255.255.255.255", Name)) return FALSE;
101  }
102 
103  /* If we got here, then we suceeded... return the address */
104  Address->S_un.S_addr = Addr;
105  return TRUE;
106 }
#define TRUE
Definition: types.h:120
#define inet_addr(cp)
Definition: inet.h:98
static WCHAR Address[46]
Definition: ping.c:68
unsigned int ULONG
Definition: retypes.h:1
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469

Referenced by Dns_Ip4StringToAddress_W(), Dns_StringToAddressEx(), and Dns_StringToDnsAddrEx().

◆ Dns_Ip4StringToAddress_W()

BOOLEAN WINAPI Dns_Ip4StringToAddress_W ( OUT PIN_ADDR  Address,
IN LPWSTR  Name 
)

Definition at line 110 of file straddr.c.

112 {
113  CHAR AnsiName[16];
114  ULONG Size = sizeof(AnsiName);
115  INT ErrorCode;
116 
117  /* Make a copy of the name in ANSI */
118  ErrorCode = Dns_StringCopy(&AnsiName,
119  &Size,
120  Name,
121  0,
123  AnsiString);
124  if (ErrorCode)
125  {
126  /* Copy made sucesfully, now convert it */
128  }
129 
130  /* Return either 0 bytes copied (failure == false) or conversion status */
131  return ErrorCode;
132 }
_In_ NDIS_ERROR_CODE ErrorCode
Definition: ndis.h:4436
char CHAR
Definition: xmlstorage.h:175
int32_t INT
Definition: typedefs.h:56
static WCHAR Address[46]
Definition: ping.c:68
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359
ULONG WINAPI Dns_StringCopy(OUT PVOID Destination, IN OUT PULONG DestinationSize, IN PVOID String, IN ULONG StringSize OPTIONAL, IN DWORD InputType, IN DWORD OutputType)
Definition: string.c:17
BOOLEAN WINAPI Dns_Ip4StringToAddress_A(OUT PIN_ADDR Address, IN LPSTR Name)
Definition: straddr.c:90
unsigned int ULONG
Definition: retypes.h:1

Referenced by Dns_StringToAddressEx(), and Dns_StringToDnsAddrEx().

◆ Dns_Ip6AddressToReverseName_W()

LPWSTR WINAPI Dns_Ip6AddressToReverseName_W ( OUT LPWSTR  Name,
IN IN6_ADDR  Address 
)

Definition at line 17 of file straddr.c.

19 {
20  /* FIXME */
21  return NULL;
22 }
smooth NULL
Definition: ftsmooth.c:416

◆ Dns_Ip6ReverseNameToAddress_A()

BOOLEAN WINAPI Dns_Ip6ReverseNameToAddress_A ( OUT PIN6_ADDR  Address,
IN LPSTR  Name 
)

Definition at line 49 of file straddr.c.

51 {
52  /* FIXME */
53  return FALSE;
54 }

Referenced by Dns_StringToAddressEx(), and Dns_StringToDnsAddrEx().

◆ Dns_Ip6StringToAddress_A()

BOOLEAN WINAPI Dns_Ip6StringToAddress_A ( OUT PIN6_ADDR  Address,
IN LPSTR  Name 
)

Definition at line 58 of file straddr.c.

60 {
61  PCHAR Terminator;
63 
64  /* Let RTL Do it for us */
65  Status = RtlIpv6StringToAddressA(Name, &Terminator, Address);
66  if (NT_SUCCESS(Status)) return TRUE;
67 
68  /* We failed */
69  return FALSE;
70 }
signed char * PCHAR
Definition: retypes.h:7
#define TRUE
Definition: types.h:120
LONG NTSTATUS
Definition: precomp.h:26
static WCHAR Address[46]
Definition: ping.c:68
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
Status
Definition: gdiplustypes.h:24
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressA(_In_ PCSTR String, _Out_ PCSTR *Terminator, _Out_ struct in6_addr *Addr)
Definition: network.c:745

Referenced by Dns_StringToAddressEx().

◆ Dns_Ip6StringToAddress_W()

BOOLEAN WINAPI Dns_Ip6StringToAddress_W ( OUT PIN6_ADDR  Address,
IN LPWSTR  Name 
)

Definition at line 74 of file straddr.c.

76 {
77  PCHAR Terminator;
79 
80  /* Let RTL Do it for us */
81  Status = RtlIpv6StringToAddressW(Name, &Terminator, Address);
82  if (NT_SUCCESS(Status)) return TRUE;
83 
84  /* We failed */
85  return FALSE;
86 }
signed char * PCHAR
Definition: retypes.h:7
#define TRUE
Definition: types.h:120
LONG NTSTATUS
Definition: precomp.h:26
static WCHAR Address[46]
Definition: ping.c:68
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressW(_In_ PCWSTR String, _Out_ PCWSTR *Terminator, _Out_ struct in6_addr *Addr)
Definition: network.c:806
Status
Definition: gdiplustypes.h:24

Referenced by Dns_StringToAddressEx().

◆ Dns_ReverseNameToDnsAddr_W()

BOOLEAN WINAPI Dns_ReverseNameToDnsAddr_W ( OUT PDNS_ADDRESS  DnsAddr,
IN LPWSTR  Name 
)

Definition at line 452 of file straddr.c.

454 {
455  /* Call the common API */
456  return Dns_StringToDnsAddrEx(DnsAddr,
457  Name,
458  AF_UNSPEC,
459  TRUE,
460  TRUE);
461 }
#define TRUE
Definition: types.h:120
BOOLEAN WINAPI Dns_StringToDnsAddrEx(OUT PDNS_ADDRESS DnsAddr, IN PVOID AddressName, IN DWORD AddressFamily, IN BOOLEAN Unicode, IN BOOLEAN Reverse)
Definition: straddr.c:319
#define AF_UNSPEC
Definition: winsock.h:344

Referenced by SaBlob_CreateFromRecords().

◆ Dns_StringToAddressEx()

BOOLEAN WINAPI Dns_StringToAddressEx ( OUT PVOID  Address,
IN OUT PULONG  AddressSize,
IN PVOID  AddressName,
IN OUT PDWORD  AddressFamily,
IN BOOLEAN  Unicode,
IN BOOLEAN  Reverse 
)

Definition at line 162 of file straddr.c.

168 {
169  DWORD Af = *AddressFamily;
170  ULONG AddrSize = *AddressSize;
171  IN6_ADDR Addr;
172  BOOLEAN Return;
174  CHAR AnsiName[INET6_ADDRSTRLEN + sizeof("ip6.arpa.")];
175  ULONG Size = sizeof(AnsiName);
176 
177  /* First check if this is a reverse address string */
178  if (Reverse)
179  {
180  /* Convert it right now to ANSI as an optimization */
181  Dns_StringCopy(AnsiName,
182  &Size,
183  AddressName,
184  0,
186  AnsiString);
187 
188  /* Use the ANSI Name instead */
189  AddressName = AnsiName;
190  }
191 
192  /*
193  * If the caller doesn't know what the family is, we'll assume IPv4 and
194  * check if we failed or not. If the caller told us it's IPv4, then just
195  * do IPv4...
196  */
197  if ((Af == AF_UNSPEC) || (Af == AF_INET))
198  {
199  /* Now check if the caller gave us the reverse name or not */
200  if (Reverse)
201  {
202  /* Get the Address */
203  Return = Dns_Ip4ReverseNameToAddress_A((PIN_ADDR)&Addr, AddressName);
204  }
205  else
206  {
207  /* Check if the caller gave us unicode or not */
208  if (Unicode)
209  {
210  /* Get the Address */
211  Return = Dns_Ip4StringToAddress_W((PIN_ADDR)&Addr, AddressName);
212  }
213  else
214  {
215  /* Get the Address */
216  Return = Dns_Ip4StringToAddress_A((PIN_ADDR)&Addr, AddressName);
217  }
218  }
219 
220  /* Check if we suceeded */
221  if (Return)
222  {
223  /* Save address family */
224  Af = AF_INET;
225 
226  /* Check if the address size matches */
227  if (AddrSize < sizeof(IN_ADDR))
228  {
229  /* Invalid match, set error code */
231  }
232  else
233  {
234  /* It matches, save the address! */
235  *(PIN_ADDR)Address = *(PIN_ADDR)&Addr;
236  }
237  }
238  }
239 
240  /* If we are here, either AF_INET6 was specified or IPv4 failed */
241  if ((Af == AF_UNSPEC) || (Af == AF_INET6))
242  {
243  /* Now check if the caller gave us the reverse name or not */
244  if (Reverse)
245  {
246  /* Get the Address */
247  Return = Dns_Ip6ReverseNameToAddress_A(&Addr, AddressName);
248  }
249  else
250  {
251  /* Check if the caller gave us unicode or not */
252  if (Unicode)
253  {
254  /* Get the Address */
255  Return = Dns_Ip6StringToAddress_W(&Addr, AddressName);
256  }
257  else
258  {
259  /* Get the Address */
260  Return = Dns_Ip6StringToAddress_A(&Addr, AddressName);
261  }
262  }
263 
264  /* Check if we suceeded */
265  if (Return)
266  {
267  /* Save address family */
268  Af = AF_INET6;
269 
270  /* Check if the address size matches */
271  if (AddrSize < sizeof(IN6_ADDR))
272  {
273  /* Invalid match, set error code */
275  }
276  else
277  {
278  /* It matches, save the address! */
279  *(PIN6_ADDR)Address = Addr;
280  }
281  }
282  }
283  else if (Af != AF_INET)
284  {
285  /* You're like.. ATM or something? Get outta here! */
286  Af = AF_UNSPEC;
288  }
289 
290  /* Set error if we had one */
292 
293  /* Return the address family and size */
294  *AddressFamily = Af;
295  *AddressSize = AddrSize;
296 
297  /* Return success or failure */
298  return (ErrorCode == ERROR_SUCCESS);
299 }
IN PCO_ADDRESS_FAMILY AddressFamily
Definition: ndis.h:1906
BOOLEAN WINAPI Dns_Ip6StringToAddress_A(OUT PIN6_ADDR Address, IN LPSTR Name)
Definition: straddr.c:58
_In_ NDIS_ERROR_CODE ErrorCode
Definition: ndis.h:4436
#define ERROR_SUCCESS
Definition: deptool.c:10
BOOLEAN WINAPI Dns_Ip6ReverseNameToAddress_A(OUT PIN6_ADDR Address, IN LPSTR Name)
Definition: straddr.c:49
char CHAR
Definition: xmlstorage.h:175
#define INET6_ADDRSTRLEN
Definition: request.c:1491
struct in_addr * PIN_ADDR
int32_t INT
Definition: typedefs.h:56
BOOLEAN WINAPI Dns_Ip6StringToAddress_W(OUT PIN6_ADDR Address, IN LPWSTR Name)
Definition: straddr.c:74
unsigned char BOOLEAN
static WCHAR Address[46]
Definition: ping.c:68
#define AF_INET6
Definition: winsock.h:369
#define AF_UNSPEC
Definition: winsock.h:344
Definition: tcpip.h:125
unsigned long DWORD
Definition: ntddk_ex.h:95
BOOLEAN WINAPI Dns_Ip4ReverseNameToAddress_A(OUT PIN_ADDR Address, IN LPSTR Name)
Definition: straddr.c:40
#define SetLastError(x)
Definition: compat.h:417
#define WSA_INVALID_PARAMETER
Definition: winsock2.h:592
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359
#define ERROR_MORE_DATA
Definition: dderror.h:13
ULONG WINAPI Dns_StringCopy(OUT PVOID Destination, IN OUT PULONG DestinationSize, IN PVOID String, IN ULONG StringSize OPTIONAL, IN DWORD InputType, IN DWORD OutputType)
Definition: string.c:17
struct in6_addr * PIN6_ADDR
BOOLEAN WINAPI Dns_Ip4StringToAddress_A(OUT PIN_ADDR Address, IN LPSTR Name)
Definition: straddr.c:90
unsigned int ULONG
Definition: retypes.h:1
#define AF_INET
Definition: tcpip.h:117
BOOLEAN WINAPI Dns_Ip4StringToAddress_W(OUT PIN_ADDR Address, IN LPWSTR Name)
Definition: straddr.c:110

Referenced by Dns_StringToAddressW().

◆ Dns_StringToAddressW()

BOOLEAN WINAPI Dns_StringToAddressW ( OUT PVOID  Address,
IN OUT PULONG  AddressSize,
IN LPWSTR  AddressName,
IN OUT PDWORD  AddressFamily 
)

Definition at line 303 of file straddr.c.

307 {
308  /* Call the common API */
310  AddressSize,
311  AddressName,
313  TRUE,
314  FALSE);
315 }
BOOLEAN WINAPI Dns_StringToAddressEx(OUT PVOID Address, IN OUT PULONG AddressSize, IN PVOID AddressName, IN OUT PDWORD AddressFamily, IN BOOLEAN Unicode, IN BOOLEAN Reverse)
Definition: straddr.c:162
IN PCO_ADDRESS_FAMILY AddressFamily
Definition: ndis.h:1906
#define TRUE
Definition: types.h:120
static WCHAR Address[46]
Definition: ping.c:68

◆ Dns_StringToDnsAddrEx()

BOOLEAN WINAPI Dns_StringToDnsAddrEx ( OUT PDNS_ADDRESS  DnsAddr,
IN PVOID  AddressName,
IN DWORD  AddressFamily,
IN BOOLEAN  Unicode,
IN BOOLEAN  Reverse 
)

Definition at line 319 of file straddr.c.

324 {
325  IN6_ADDR Addr;
326  BOOLEAN Return;
328  CHAR AnsiName[INET6_ADDRSTRLEN + sizeof("ip6.arpa.")];
329  ULONG Size = sizeof(AnsiName);
330 
331  /* First check if this is a reverse address string */
332  if ((Reverse) && (Unicode))
333  {
334  /* Convert it right now to ANSI as an optimization */
335  Dns_StringCopy(AnsiName,
336  &Size,
337  AddressName,
338  0,
340  AnsiString);
341 
342  /* Use the ANSI Name instead */
343  AddressName = AnsiName;
344  }
345 
346  /*
347  * If the caller doesn't know what the family is, we'll assume IPv4 and
348  * check if we failed or not. If the caller told us it's IPv4, then just
349  * do IPv4...
350  */
351  if ((AddressFamily == AF_UNSPEC) || (AddressFamily == AF_INET))
352  {
353  /* Now check if the caller gave us the reverse name or not */
354  if (Reverse)
355  {
356  /* Get the Address */
357  Return = Dns_Ip4ReverseNameToAddress_A((PIN_ADDR)&Addr, AddressName);
358  }
359  else
360  {
361  /* Check if the caller gave us unicode or not */
362  if (Unicode)
363  {
364  /* Get the Address */
365  Return = Dns_Ip4StringToAddress_W((PIN_ADDR)&Addr, AddressName);
366  }
367  else
368  {
369  /* Get the Address */
370  Return = Dns_Ip4StringToAddress_A((PIN_ADDR)&Addr, AddressName);
371  }
372  }
373 
374  /* Check if we suceeded */
375  if (Return)
376  {
377  /* Build the IPv4 Address */
378  DnsAddr_BuildFromIp4(DnsAddr, *(PIN_ADDR)&Addr, 0);
379 
380  /* So we don't go in the code below... */
382  }
383  }
384 
385  /* If we are here, either AF_INET6 was specified or IPv4 failed */
387  {
388  /* Now check if the caller gave us the reverse name or not */
389  if (Reverse)
390  {
391  /* Get the Address */
392  Return = Dns_Ip6ReverseNameToAddress_A(&Addr, AddressName);
393  if (Return)
394  {
395  /* Build the IPv6 Address */
396  DnsAddr_BuildFromIp6(DnsAddr, &Addr, 0, 0);
397  }
398  else
399  {
400  goto Quickie;
401  }
402  }
403  else
404  {
405  /* Check if the caller gave us unicode or not */
406  if (Unicode)
407  {
408  /* Get the Address */
409  if (NT_SUCCESS(RtlIpv6StringToAddressExW(AddressName,
410  &DnsAddr->Ip6Address.sin6_addr,
411  &DnsAddr->Ip6Address.sin6_scope_id,
412  &DnsAddr->Ip6Address.sin6_port)))
413  Return = TRUE;
414  else
415  Return = FALSE;
416  }
417  else
418  {
419  /* Get the Address */
420  if (NT_SUCCESS(RtlIpv6StringToAddressExA(AddressName,
421  &DnsAddr->Ip6Address.sin6_addr,
422  &DnsAddr->Ip6Address.sin6_scope_id,
423  &DnsAddr->Ip6Address.sin6_port)))
424  Return = TRUE;
425  else
426  Return = FALSE;
427  }
428  }
429 
430  /* Check if we suceeded */
431  if (Return)
432  {
433  /* Finish setting up the structure */
434  DnsAddr->Ip6Address.sin6_family = AF_INET6;
435  DnsAddr->AddressLength = sizeof(SOCKADDR_IN6);
436  }
437  }
438  else if (AddressFamily != AF_INET)
439  {
440  /* You're like.. ATM or something? Get outta here! */
441  RtlZeroMemory(DnsAddr, sizeof(DNS_ADDRESS));
443  }
444 
445 Quickie:
446  /* Return success or failure */
447  return (ErrorCode == ERROR_SUCCESS);
448 }
IN PCO_ADDRESS_FAMILY AddressFamily
Definition: ndis.h:1906
#define TRUE
Definition: types.h:120
_In_ NDIS_ERROR_CODE ErrorCode
Definition: ndis.h:4436
#define ERROR_SUCCESS
Definition: deptool.c:10
BOOLEAN WINAPI Dns_Ip6ReverseNameToAddress_A(OUT PIN6_ADDR Address, IN LPSTR Name)
Definition: straddr.c:49
char CHAR
Definition: xmlstorage.h:175
#define INET6_ADDRSTRLEN
Definition: request.c:1491
int32_t INT
Definition: typedefs.h:56
unsigned char BOOLEAN
#define AF_INET6
Definition: winsock.h:369
#define AF_UNSPEC
Definition: winsock.h:344
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
Definition: tcpip.h:125
BOOLEAN WINAPI Dns_Ip4ReverseNameToAddress_A(OUT PIN_ADDR Address, IN LPSTR Name)
Definition: straddr.c:40
#define SetLastError(x)
Definition: compat.h:417
#define WSA_INVALID_PARAMETER
Definition: winsock2.h:592
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExW(_In_ PCWSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
Definition: network.c:954
VOID WINAPI DnsAddr_BuildFromIp6(IN PDNS_ADDRESS DnsAddress, IN PIN6_ADDR Address, IN ULONG ScopeId, IN WORD Port)
Definition: dnsaddr.c:116
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359
ULONG WINAPI Dns_StringCopy(OUT PVOID Destination, IN OUT PULONG DestinationSize, IN PVOID String, IN ULONG StringSize OPTIONAL, IN DWORD InputType, IN DWORD OutputType)
Definition: string.c:17
BOOLEAN WINAPI Dns_Ip4StringToAddress_A(OUT PIN_ADDR Address, IN LPSTR Name)
Definition: straddr.c:90
SOCKADDR_IN6_LH SOCKADDR_IN6
Definition: ws2ipdef.h:199
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExA(_In_ PCSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
Definition: network.c:777
unsigned int ULONG
Definition: retypes.h:1
#define AF_INET
Definition: tcpip.h:117
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
VOID WINAPI DnsAddr_BuildFromIp4(IN PDNS_ADDRESS DnsAddress, IN IN_ADDR Address, IN WORD Port)
Definition: dnsaddr.c:100
BOOLEAN WINAPI Dns_Ip4StringToAddress_W(OUT PIN_ADDR Address, IN LPWSTR Name)
Definition: straddr.c:110

Referenced by Dns_ReverseNameToDnsAddr_W().