2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS WinSock 2 NSP
4 * FILE: include/nsp_dns.h
5 * PURPOSE: WinSock 2 NSP Header
11 /* DEFINES *******************************************************************/
29 /* TYPES *********************************************************************/
31 typedef struct _RNR_CONTEXT
35 PDNS_BLOB CachedSaBlob
;
48 GUID lpServiceClassId
;
51 } RNR_CONTEXT
, *PRNR_CONTEXT
;
53 typedef struct _RNR_TEB_DATA
56 } RNR_TEB_DATA
, *PRNR_TEB_DATA
;
58 /* PROTOTYPES ****************************************************************/
65 RNRPROV_SockEnterApi(VOID
);
72 GetServerAndProtocolsFromString(
75 PSERVENT
*ReverseServent
80 FetchPortFromClassInfo(
83 IN LPWSASERVICECLASSINFOW ServiceClassInfo
90 IN OUT PULONG_PTR BufferPos
,
91 IN OUT PULONG BufferFreeSize
,
92 IN OUT PULONG BlobSize
,
98 GetDnsQueryTypeFromGuid(
107 RnrCtx_ListCleanup(VOID
);
111 RnrCtx_Release(PRNR_CONTEXT RnrContext
);
117 DWORD dwControlFlags
,
124 IN HANDLE LookupHandle
,
125 IN LPWSTR ServiceName
130 RnrCtx_DecInstance(IN PRNR_CONTEXT RnrContext
);
137 Temp_AllocZero(IN DWORD Size
);
144 Rnr_DoHostnameLookup(IN PRNR_CONTEXT Context
);
148 Rnr_GetHostByAddr(IN PRNR_CONTEXT Context
);
152 Rnr_DoDnsLookup(IN PRNR_CONTEXT Context
);
156 Rnr_CheckIfUseNbt(PRNR_CONTEXT RnrContext
);
160 Rnr_NbtResolveAddr(IN IN_ADDR Address
);
164 Rnr_NbtResolveName(IN LPWSTR Name
);
171 Rnr_ProcessInit(VOID
);
175 Rnr_ProcessCleanup(VOID
);
179 Rnr_ThreadInit(VOID
);
183 Rnr_ThreadCleanup(VOID
);
190 Nsp_GlobalCleanup(VOID
);
194 Dns_NSPCleanup(IN LPGUID lpProviderId
);
199 IN LPGUID lpProviderId
,
200 IN LPWSASERVICECLASSINFOW lpServiceClassInfo
,
201 IN LPWSAQUERYSETW lpqsRegInfo
,
202 IN WSAESETSERVICEOP essOperation
,
203 IN DWORD dwControlFlags
208 Dns_NSPInstallServiceClass(
209 IN LPGUID lpProviderId
,
210 IN LPWSASERVICECLASSINFOW lpServiceClassInfo
215 Dns_NSPRemoveServiceClass(
216 IN LPGUID lpProviderId
,
217 IN LPGUID lpServiceCallId
222 Dns_NSPGetServiceClassInfo(
223 IN LPGUID lpProviderId
,
224 IN OUT LPDWORD lpdwBufSize
,
225 IN OUT LPWSASERVICECLASSINFOW lpServiceClassInfo
230 Dns_NSPLookupServiceBegin(
232 LPWSAQUERYSETW lpqsRestrictions
,
233 LPWSASERVICECLASSINFOW lpServiceClassInfo
,
234 DWORD dwControlFlags
,
240 Dns_NSPLookupServiceNext(
242 IN DWORD dwControlFlags
,
243 IN OUT LPDWORD lpdwBufferLength
,
244 OUT LPWSAQUERYSETW lpqsResults
249 Dns_NSPLookupServiceEnd(IN HANDLE hLookup
);
254 IN LPGUID lpProviderId
,
255 IN OUT LPNSP_ROUTINE lpsnpRoutines
259 #define ATM_ADDRESS_LENGTH 20
260 #define WS2_INTERNAL_MAX_ALIAS 16
261 #define MAX_HOSTNAME_LEN 256