Work on winsock stack and indentation corrections.
[reactos.git] / reactos / 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 >> 24) & 0xFF, b, 10);
408 strcpy(p, b);
409 _itoa((in.S_un.S_addr >> 16) & 0xFF, b, 10);
410 strcat(p, b);
411 _itoa((in.S_un.S_addr >> 8) & 0xFF, b, 10);
412 strcat(p, b);
413 _itoa(in.S_un.S_addr & 0xFF, b, 10);
414 strcat(p, b);
415 return (CHAR FAR*)p;
416 }
417
418
419 HANDLE
420 EXPORT
421 WSAAsyncGetHostByAddr(
422 IN HWND hWnd,
423 IN UINT wMsg,
424 IN CONST CHAR FAR* addr,
425 IN INT len,
426 IN INT type,
427 OUT CHAR FAR* buf,
428 IN INT buflen)
429 {
430 UNIMPLEMENTED
431
432 return (HANDLE)0;
433 }
434
435
436 HANDLE
437 EXPORT
438 WSAAsyncGetHostByName(
439 IN HWND hWnd,
440 IN UINT wMsg,
441 IN CONST CHAR FAR* name,
442 OUT CHAR FAR* buf,
443 IN INT buflen)
444 {
445 UNIMPLEMENTED
446
447 return (HANDLE)0;
448 }
449
450
451 HANDLE
452 EXPORT
453 WSAAsyncGetProtoByName(
454 IN HWND hWnd,
455 IN UINT wMsg,
456 IN CONST CHAR FAR* name,
457 OUT CHAR FAR* buf,
458 IN INT buflen)
459 {
460 UNIMPLEMENTED
461
462 return (HANDLE)0;
463 }
464
465
466 HANDLE
467 EXPORT
468 WSAAsyncGetProtoByNumber(
469 IN HWND hWnd,
470 IN UINT wMsg,
471 IN INT number,
472 OUT CHAR FAR* buf,
473 IN INT buflen)
474 {
475 UNIMPLEMENTED
476
477 return (HANDLE)0;
478 }
479
480
481 HANDLE
482 EXPORT
483 WSAAsyncGetServByName(
484 IN HWND hWnd,
485 IN UINT wMsg,
486 IN CONST CHAR FAR* name,
487 IN CONST CHAR FAR* proto,
488 OUT CHAR FAR* buf,
489 IN INT buflen)
490 {
491 UNIMPLEMENTED
492
493 return (HANDLE)0;
494 }
495
496
497 HANDLE
498 EXPORT
499 WSAAsyncGetServByPort(
500 IN HWND hWnd,
501 IN UINT wMsg,
502 IN INT port,
503 IN CONST CHAR FAR* proto,
504 OUT CHAR FAR* buf,
505 IN INT buflen)
506 {
507 UNIMPLEMENTED
508
509 return (HANDLE)0;
510 }
511
512 /* EOF */