2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS WinSock 2 DLL
5 * PURPOSE: Namespace APIs
6 * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
8 * CSH 01/09-2000 Created
12 /* Name resolution APIs */
17 IN LPSOCKADDR lpsaAddress
,
18 IN DWORD dwAddressLength
,
19 IN LPWSAPROTOCOL_INFOA lpProtocolInfo
,
20 OUT LPSTR lpszAddressString
,
21 IN OUT LPDWORD lpdwAddressStringLength
)
32 IN LPSOCKADDR lpsaAddress
,
33 IN DWORD dwAddressLength
,
34 IN LPWSAPROTOCOL_INFOW lpProtocolInfo
,
35 OUT LPWSTR lpszAddressString
,
36 IN OUT LPDWORD lpdwAddressStringLength
)
46 WSAEnumNameSpaceProvidersA(
47 IN OUT LPDWORD lpdwBufferLength
,
48 OUT LPWSANAMESPACE_INFOA lpnspBuffer
)
58 WSAEnumNameSpaceProvidersW(
59 IN OUT LPDWORD lpdwBufferLength
,
60 OUT LPWSANAMESPACE_INFOW lpnspBuffer
)
70 WSAGetServiceClassInfoA(
71 IN LPGUID lpProviderId
,
72 IN LPGUID lpServiceClassId
,
73 IN OUT LPDWORD lpdwBufferLength
,
74 OUT LPWSASERVICECLASSINFOA lpServiceClassInfo
)
84 WSAGetServiceClassInfoW(
85 IN LPGUID lpProviderId
,
86 IN LPGUID lpServiceClassId
,
87 IN OUT LPDWORD lpdwBufferLength
,
88 OUT LPWSASERVICECLASSINFOW lpServiceClassInfo
)
98 WSAGetServiceClassNameByClassIdA(
99 IN LPGUID lpServiceClassId
,
100 OUT LPSTR lpszServiceClassName
,
101 IN OUT LPDWORD lpdwBufferLength
)
111 WSAGetServiceClassNameByClassIdW(
112 IN LPGUID lpServiceClassId
,
113 OUT LPWSTR lpszServiceClassName
,
114 IN OUT LPDWORD lpdwBufferLength
)
124 WSAInstallServiceClassA(
125 IN LPWSASERVICECLASSINFOA lpServiceClassInfo
)
135 WSAInstallServiceClassW(
136 IN LPWSASERVICECLASSINFOW lpServiceClassInfo
)
146 WSALookupServiceBeginA(
147 IN LPWSAQUERYSETA lpqsRestrictions
,
148 IN DWORD dwControlFlags
,
149 OUT LPHANDLE lphLookup
)
159 WSALookupServiceBeginW(
160 IN LPWSAQUERYSETW lpqsRestrictions
,
161 IN DWORD dwControlFlags
,
162 OUT LPHANDLE lphLookup
)
183 WSALookupServiceNextA(
185 IN DWORD dwControlFlags
,
186 IN OUT LPDWORD lpdwBufferLength
,
187 OUT LPWSAQUERYSETA lpqsResults
)
197 WSALookupServiceNextW(
199 IN DWORD dwControlFlags
,
200 IN OUT LPDWORD lpdwBufferLength
,
201 OUT LPWSAQUERYSETW lpqsResults
)
211 WSARemoveServiceClass(
212 IN LPGUID lpServiceClassId
)
223 IN LPWSAQUERYSETA lpqsRegInfo
,
224 IN WSAESETSERVICEOP essOperation
,
225 IN DWORD dwControlFlags
)
236 IN LPWSAQUERYSETW lpqsRegInfo
,
237 IN WSAESETSERVICEOP essOperation
,
238 IN DWORD dwControlFlags
)
249 IN LPSTR AddressString
,
250 IN INT AddressFamily
,
251 IN LPWSAPROTOCOL_INFOA lpProtocolInfo
,
252 OUT LPSOCKADDR lpAddress
,
253 IN OUT LPINT lpAddressLength
)
264 IN LPWSTR AddressString
,
265 IN INT AddressFamily
,
266 IN LPWSAPROTOCOL_INFOW lpProtocolInfo
,
267 OUT LPSOCKADDR lpAddress
,
268 IN OUT LPINT lpAddressLength
)
276 /* WinSock 1.1 compatible name resolution APIs */
281 IN CONST CHAR FAR
* addr
,
287 return (LPHOSTENT
)NULL
;
293 IN CONST CHAR FAR
* name
)
297 return (LPHOSTENT
)NULL
;
316 IN CONST CHAR FAR
* name
)
320 return (LPPROTOENT
)NULL
;
331 return (LPPROTOENT
)NULL
;
337 IN CONST CHAR FAR
* name
,
338 IN CONST CHAR FAR
* proto
)
342 return (LPSERVENT
)NULL
;
350 IN CONST CHAR FAR
* proto
)
354 return (LPSERVENT
)NULL
;
361 IN CONST CHAR FAR
* cp
)
363 * FUNCTION: Converts a string containing an IPv4 address to an unsigned long
365 * cp = Pointer to string with address to convert
367 * Binary representation of IPv4 address, or INADDR_NONE
379 if (strcmp(p
, " ") == 0)
382 for (i
= 0; i
<= 3; i
++) {
383 u
+= (strtoul(p
, &p
, 0) << (i
* 8));
406 p
= ((PWINSOCK_THREAD_BLOCK
)NtCurrentTeb()->WinSockData
)->Intoa
;
407 _itoa(in
.S_un
.S_addr
& 0xFF, b
, 10);
409 _itoa((in
.S_un
.S_addr
>> 8) & 0xFF, b
, 10);
412 _itoa((in
.S_un
.S_addr
>> 16) & 0xFF, b
, 10);
415 _itoa((in
.S_un
.S_addr
>> 24) & 0xFF, b
, 10);
424 WSAAsyncGetHostByAddr(
427 IN CONST CHAR FAR
* addr
,
441 WSAAsyncGetHostByName(
444 IN CONST CHAR FAR
* name
,
456 WSAAsyncGetProtoByName(
459 IN CONST CHAR FAR
* name
,
471 WSAAsyncGetProtoByNumber(
486 WSAAsyncGetServByName(
489 IN CONST CHAR FAR
* name
,
490 IN CONST CHAR FAR
* proto
,
502 WSAAsyncGetServByPort(
506 IN CONST CHAR FAR
* proto
,