2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Ancillary Function Driver DLL
4 * FILE: include/mswsock.h
5 * PURPOSE: Ancillary Function Driver DLL header
10 /* INCLUDES ******************************************************************/
13 /* ENUMERATIONS **************************************************************/
15 typedef enum _DNS_STRING_TYPE
24 /* TYPES *********************************************************************/
26 typedef struct _DNS_IPV6_ADDRESS
35 } DNS_IPV6_ADDRESS
, *PDNS_IPV6_ADDRESS
;
37 typedef struct _DNS_ADDRESS
45 ATM_ADDRESS AtmAddress
;
47 SOCKADDR_IN Ip4Address
;
48 SOCKADDR_IN6 Ip6Address
;
53 } DNS_ADDRESS
, *PDNS_ADDRESS
;
55 typedef struct _DNS_ARRAY
57 ULONG AllocatedAddresses
;
60 DNS_ADDRESS Addresses
[1];
61 } DNS_ARRAY
, *PDNS_ARRAY
;
63 typedef struct _DNS_BLOB
66 PDNS_ARRAY DnsAddrArray
;
71 } DNS_BLOB
, *PDNS_BLOB
;
73 typedef struct _DNS_FAMILY_INFO
80 } DNS_FAMILY_INFO
, *PDNS_FAMILY_INFO
;
82 typedef struct _FLATBUFF
88 SIZE_T BufferFreeSize
;
89 } FLATBUFF
, *PFLATBUFF
;
96 Dns_Free(IN PVOID Address
);
100 Dns_AllocZero(IN SIZE_T Size
);
107 FamilyInfo_GetForFamily(IN WORD AddressFamily
);
114 DnsAddr_BuildFromIp4(
115 IN PDNS_ADDRESS DnsAddress
,
122 DnsAddr_BuildFromIp6(
123 IN PDNS_ADDRESS DnsAddress
,
124 IN PIN6_ADDR Address
,
131 DnsAddrArray_Create(ULONG Count
);
135 DnsAddrArray_AddAddr(
136 IN PDNS_ARRAY DnsAddrArray
,
137 IN PDNS_ADDRESS DnsAddress
,
138 IN WORD AddressFamily OPTIONAL
,
139 IN DWORD AddressType OPTIONAL
144 DnsAddrArray_Free(IN PDNS_ARRAY DnsAddrArray
);
149 IN PDNS_ARRAY DnsAddrArray
,
156 DnsAddrArray_ContainsAddr(
157 IN PDNS_ARRAY DnsAddrArray
,
158 IN PDNS_ADDRESS DnsAddress
,
164 DnsAddr_BuildFromDnsRecord(
165 IN PDNS_RECORD DnsRecord
,
166 OUT PDNS_ADDRESS DnsAddr
176 IN WORD AddressFamily
,
177 IN ULONG AddressSize
,
178 IN ULONG AddressCount
,
184 Hostent_ConvertToOffsets(IN PHOSTENT Hostent
);
192 IN PFLATBUFF FlatBuffer
,
199 FlatBuf_Arg_CopyMemory(
200 IN OUT PULONG_PTR Position
,
201 IN OUT PSIZE_T FreeSize
,
210 IN OUT PULONG_PTR Position
,
211 IN OUT PSIZE_T FreeSize
,
218 FlatBuf_Arg_WriteString(
219 IN OUT PULONG_PTR Position
,
220 IN OUT PSIZE_T FreeSize
,
236 SaBlob_CreateFromIp4(
239 IN PIN_ADDR AddressArray
244 SaBlob_Free(IN PDNS_BLOB Blob
);
248 SaBlob_CreateHostent(
249 IN OUT PULONG_PTR BufferPosition
,
250 IN OUT PSIZE_T RemainingBufferSpace
,
251 IN OUT PSIZE_T HostEntrySize
,
255 IN BOOLEAN BufferAllocated
260 SaBlob_WriteNameOrAlias(
273 IN DWORD AddressFamily
282 OUT PVOID Destination
,
283 IN OUT PULONG DestinationSize
,
285 IN ULONG StringSize OPTIONAL
,
292 Dns_CreateStringCopy_W(IN LPWSTR Name
);
296 Dns_GetBufferLengthForStringCopy(
298 IN ULONG Size OPTIONAL
,
308 Dns_StringToAddressW(
310 IN OUT PULONG AddressSize
,
311 IN LPWSTR AddressName
,
312 IN OUT PDWORD AddressFamily
317 Dns_Ip4AddressToReverseName_W(
324 Dns_Ip6AddressToReverseName_W(
331 Dns_ReverseNameToDnsAddr_W(
332 OUT PDNS_ADDRESS DnsAddr
,
338 Dns_Ip4ReverseNameToAddress_W(
339 OUT PIN_ADDR Address
,