:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / lib / ws2_32 / misc / ns.c
1 /*
2  * COPYRIGHT:   See COPYING in the top level directory
3  * PROJECT:     ReactOS WinSock 2 DLL
4  * FILE:        misc/ns.c
5  * PURPOSE:     Namespace APIs
6  * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
7  * REVISIONS:
8  *   CSH 01/09-2000 Created
9  */
10 #include <ws2_32.h>
11
12 /* Name resolution APIs */
13
14 INT
15 EXPORT
16 WSAAddressToStringA(
17     IN      LPSOCKADDR lpsaAddress,
18     IN      DWORD dwAddressLength,
19     IN      LPWSAPROTOCOL_INFOA lpProtocolInfo,
20     OUT     LPSTR lpszAddressString,
21     IN OUT  LPDWORD lpdwAddressStringLength)
22 {
23     UNIMPLEMENTED
24
25     return 0;
26 }
27
28
29 INT
30 EXPORT
31 WSAAddressToStringW(
32     IN      LPSOCKADDR lpsaAddress,
33     IN      DWORD dwAddressLength,
34     IN      LPWSAPROTOCOL_INFOW lpProtocolInfo,
35     OUT     LPWSTR lpszAddressString,
36     IN OUT  LPDWORD lpdwAddressStringLength)
37 {
38     UNIMPLEMENTED
39
40     return 0;
41 }
42
43
44 INT
45 EXPORT
46 WSAEnumNameSpaceProvidersA(
47     IN OUT  LPDWORD lpdwBufferLength,
48     OUT     LPWSANAMESPACE_INFOA lpnspBuffer)
49 {
50     UNIMPLEMENTED
51
52     return 0;
53 }
54
55
56 INT
57 EXPORT
58 WSAEnumNameSpaceProvidersW(
59     IN OUT  LPDWORD lpdwBufferLength,
60     OUT     LPWSANAMESPACE_INFOW lpnspBuffer)
61 {
62     UNIMPLEMENTED
63
64     return 0;
65 }
66
67
68 INT
69 EXPORT
70 WSAGetServiceClassInfoA(
71     IN      LPGUID lpProviderId,
72     IN      LPGUID lpServiceClassId,
73     IN OUT  LPDWORD lpdwBufferLength,
74     OUT     LPWSASERVICECLASSINFOA lpServiceClassInfo)
75 {
76     UNIMPLEMENTED
77
78     return 0;
79 }
80
81
82 INT
83 EXPORT
84 WSAGetServiceClassInfoW(
85     IN      LPGUID lpProviderId,
86     IN      LPGUID lpServiceClassId,
87     IN OUT  LPDWORD lpdwBufferLength,
88     OUT     LPWSASERVICECLASSINFOW lpServiceClassInfo)
89 {
90     UNIMPLEMENTED
91
92     return 0;
93 }
94
95
96 INT
97 EXPORT
98 WSAGetServiceClassNameByClassIdA(
99     IN      LPGUID lpServiceClassId,
100     OUT     LPSTR lpszServiceClassName,
101     IN OUT  LPDWORD lpdwBufferLength)
102 {
103     UNIMPLEMENTED
104
105     return 0;
106 }
107
108
109 INT
110 EXPORT
111 WSAGetServiceClassNameByClassIdW(
112     IN      LPGUID lpServiceClassId,
113     OUT     LPWSTR lpszServiceClassName,
114     IN OUT  LPDWORD lpdwBufferLength)
115 {
116     UNIMPLEMENTED
117
118     return 0;
119 }
120
121
122 INT
123 EXPORT
124 WSAInstallServiceClassA(
125     IN  LPWSASERVICECLASSINFOA lpServiceClassInfo)
126 {
127     UNIMPLEMENTED
128
129     return 0;
130 }
131
132
133 INT
134 EXPORT
135 WSAInstallServiceClassW(
136     IN  LPWSASERVICECLASSINFOW lpServiceClassInfo)
137 {
138     UNIMPLEMENTED
139
140     return 0;
141 }
142
143
144 INT
145 EXPORT
146 WSALookupServiceBeginA(
147     IN  LPWSAQUERYSETA lpqsRestrictions,
148     IN  DWORD dwControlFlags,
149     OUT LPHANDLE lphLookup)
150 {
151     UNIMPLEMENTED
152
153     return 0;
154 }
155
156
157 INT
158 EXPORT
159 WSALookupServiceBeginW(
160     IN  LPWSAQUERYSETW lpqsRestrictions,
161     IN  DWORD dwControlFlags,
162     OUT LPHANDLE lphLookup)
163 {
164     UNIMPLEMENTED
165
166     return 0;
167 }
168
169
170 INT
171 EXPORT
172 WSALookupServiceEnd(
173     IN  HANDLE hLookup)
174 {
175     UNIMPLEMENTED
176
177     return 0;
178 }
179
180
181 INT
182 EXPORT
183 WSALookupServiceNextA(
184     IN      HANDLE hLookup,
185     IN      DWORD dwControlFlags,
186     IN OUT  LPDWORD lpdwBufferLength,
187     OUT     LPWSAQUERYSETA lpqsResults)
188 {
189     UNIMPLEMENTED
190
191     return 0;
192 }
193
194
195 INT
196 EXPORT
197 WSALookupServiceNextW(
198     IN      HANDLE hLookup,
199     IN      DWORD dwControlFlags,
200     IN OUT  LPDWORD lpdwBufferLength,
201     OUT     LPWSAQUERYSETW lpqsResults)
202 {
203     UNIMPLEMENTED
204
205     return 0;
206 }
207
208
209 INT
210 EXPORT
211 WSARemoveServiceClass(
212     IN  LPGUID lpServiceClassId)
213 {
214     UNIMPLEMENTED
215
216     return 0;
217 }
218
219
220 INT
221 EXPORT
222 WSASetServiceA(
223     IN  LPWSAQUERYSETA lpqsRegInfo,
224     IN  WSAESETSERVICEOP essOperation,
225     IN  DWORD dwControlFlags)
226 {
227     UNIMPLEMENTED
228
229     return 0;
230 }
231
232
233 INT
234 EXPORT
235 WSASetServiceW(
236     IN  LPWSAQUERYSETW lpqsRegInfo,
237     IN  WSAESETSERVICEOP essOperation,
238     IN  DWORD dwControlFlags)
239 {
240     UNIMPLEMENTED
241
242     return 0;
243 }
244
245
246 INT
247 EXPORT
248 WSAStringToAddressA(
249     IN      LPSTR AddressString,
250     IN      INT AddressFamily,
251     IN      LPWSAPROTOCOL_INFOA lpProtocolInfo,
252     OUT     LPSOCKADDR lpAddress,
253     IN OUT  LPINT lpAddressLength)
254 {
255     UNIMPLEMENTED
256
257     return 0;
258 }
259
260
261 INT
262 EXPORT
263 WSAStringToAddressW(
264     IN      LPWSTR AddressString,
265     IN      INT AddressFamily,
266     IN      LPWSAPROTOCOL_INFOW lpProtocolInfo,
267     OUT     LPSOCKADDR lpAddress,
268     IN OUT  LPINT lpAddressLength)
269 {
270     UNIMPLEMENTED
271
272     return 0;
273 }
274
275
276 /* WinSock 1.1 compatible name resolution APIs */
277
278 LPHOSTENT
279 EXPORT
280 gethostbyaddr(
281     IN  CONST CHAR FAR* addr,
282     IN  INT len,
283     IN  INT type)
284 {
285     UNIMPLEMENTED
286
287     return (LPHOSTENT)NULL;
288 }
289
290 LPHOSTENT
291 EXPORT
292 gethostbyname(
293     IN  CONST CHAR FAR* name)
294 {
295     UNIMPLEMENTED
296
297     return (LPHOSTENT)NULL;
298 }
299
300
301 INT
302 EXPORT
303 gethostname(
304     OUT CHAR FAR* name,
305     IN  INT namelen)
306 {
307     UNIMPLEMENTED
308
309     return 0;
310 }
311
312
313 LPPROTOENT
314 EXPORT
315 getprotobyname(
316     IN  CONST CHAR FAR* name)
317 {
318     UNIMPLEMENTED
319
320     return (LPPROTOENT)NULL;
321 }
322
323
324 LPPROTOENT
325 EXPORT
326 getprotobynumber(
327     IN  INT number)
328 {
329     UNIMPLEMENTED
330
331     return (LPPROTOENT)NULL;
332 }
333
334 LPSERVENT
335 EXPORT
336 getservbyname(
337     IN  CONST CHAR FAR* name, 
338     IN  CONST CHAR FAR* proto)
339 {
340     UNIMPLEMENTED
341
342     return (LPSERVENT)NULL;
343 }
344
345
346 LPSERVENT
347 EXPORT
348 getservbyport(
349     IN  INT port, 
350     IN  CONST CHAR FAR* proto)
351 {
352     UNIMPLEMENTED
353
354     return (LPSERVENT)NULL;
355 }
356
357
358 ULONG
359 EXPORT
360 inet_addr(
361     IN  CONST CHAR FAR* cp)
362 /*
363  * FUNCTION: Converts a string containing an IPv4 address to an unsigned long
364  * ARGUMENTS:
365  *     cp = Pointer to string with address to convert
366  * RETURNS:
367  *     Binary representation of IPv4 address, or INADDR_NONE
368  */
369 {
370     UINT i;
371     PCHAR p;
372     ULONG u = 0;
373
374     p = (PCHAR)cp;
375
376     if (strlen(p) == 0)
377         return INADDR_NONE;
378
379     if (strcmp(p, " ") == 0)
380         return 0;
381
382     for (i = 0; i <= 3; i++) {
383         u += (strtoul(p, &p, 0) << (i * 8));
384
385         if (strlen(p) == 0)
386             return u;
387
388         if (p[0] != '.')
389             return INADDR_NONE;
390
391         p++;
392     }
393
394     return u;
395 }
396
397
398 CHAR FAR*
399 EXPORT
400 inet_ntoa(
401     IN  IN_ADDR in)
402 {
403     CHAR b[10];
404     PCHAR p;
405
406     p = ((PWINSOCK_THREAD_BLOCK)NtCurrentTeb()->WinSockData)->Intoa;
407     _itoa(in.S_un.S_addr & 0xFF, b, 10);
408     strcpy(p, b);
409     _itoa((in.S_un.S_addr >> 8) & 0xFF, b, 10);
410     strcat(p, ".");
411     strcat(p, b);
412     _itoa((in.S_un.S_addr >> 16) & 0xFF, b, 10);
413     strcat(p, ".");
414     strcat(p, b);
415     _itoa((in.S_un.S_addr >> 24) & 0xFF, b, 10);
416     strcat(p, ".");
417     strcat(p, b);
418     return (CHAR FAR*)p;
419 }
420
421
422 HANDLE
423 EXPORT
424 WSAAsyncGetHostByAddr(
425     IN  HWND hWnd,
426     IN  UINT wMsg,
427     IN  CONST CHAR FAR* addr, 
428     IN  INT len,
429     IN  INT type, 
430     OUT CHAR FAR* buf, 
431     IN  INT buflen)
432 {
433     UNIMPLEMENTED
434
435     return (HANDLE)0;
436 }
437
438
439 HANDLE
440 EXPORT
441 WSAAsyncGetHostByName(
442     IN  HWND hWnd, 
443     IN  UINT wMsg,  
444     IN  CONST CHAR FAR* name, 
445     OUT CHAR FAR* buf, 
446     IN  INT buflen)
447 {
448     UNIMPLEMENTED
449
450     return (HANDLE)0;
451 }
452
453
454 HANDLE
455 EXPORT
456 WSAAsyncGetProtoByName(
457     IN  HWND hWnd,
458     IN  UINT wMsg,
459     IN  CONST CHAR FAR* name,
460     OUT CHAR FAR* buf,
461     IN  INT buflen)
462 {
463     UNIMPLEMENTED
464
465     return (HANDLE)0;
466 }
467
468
469 HANDLE
470 EXPORT
471 WSAAsyncGetProtoByNumber(
472     IN  HWND hWnd,
473     IN  UINT wMsg,
474     IN  INT number,
475     OUT CHAR FAR* buf,
476     IN  INT buflen)
477 {
478     UNIMPLEMENTED
479
480     return (HANDLE)0;
481 }
482
483
484 HANDLE
485 EXPORT
486 WSAAsyncGetServByName(
487     IN  HWND hWnd,
488     IN  UINT wMsg,
489     IN  CONST CHAR FAR* name,
490     IN  CONST CHAR FAR* proto,
491     OUT CHAR FAR* buf,
492     IN  INT buflen)
493 {
494     UNIMPLEMENTED
495
496     return (HANDLE)0;
497 }
498
499
500 HANDLE
501 EXPORT
502 WSAAsyncGetServByPort(
503     IN  HWND hWnd,
504     IN  UINT wMsg,
505     IN  INT port,
506     IN  CONST CHAR FAR* proto,
507     OUT CHAR FAR* buf,
508     IN  INT buflen)
509 {
510     UNIMPLEMENTED
511
512     return (HANDLE)0;
513 }
514
515 /* EOF */