1/*	$NetBSD: dllstub.c,v 1.2.6.1 2012/06/06 18:18:10 bouyer Exp $	*/
2
3/* Id: dllstub.c,v 1.1 2003/06/04 00:27:51 marka Exp  */
4
5SOCKET   PASCAL
6accept(SOCKET a0, struct sockaddr* a1, int* a2)
7{
8    static SOCKET   (PASCAL *fp)(SOCKET a0, struct sockaddr* a1, int* a2);
9
10#ifdef DEBUG_STUB
11    idnLogPrintf(idn_log_level_trace, "stub accept() called\n");
12#endif
13    if (fp == NULL) {
14	void *p;
15	if ((p = GetProcAddress(DLLHANDLE, "accept")) == NULL) {
16	    FATAL("cannot find entry accept (%d)\n", GetLastError());
17	    abort();
18	}
19	fp = p;
20    }
21    return (*fp)(a0, a1, a2);
22}
23
24int   PASCAL
25bind(SOCKET a0, const struct sockaddr* a1, int a2)
26{
27    static int   (PASCAL *fp)(SOCKET a0, const struct sockaddr* a1, int a2);
28
29#ifdef DEBUG_STUB
30    idnLogPrintf(idn_log_level_trace, "stub bind() called\n");
31#endif
32    if (fp == NULL) {
33	void *p;
34	if ((p = GetProcAddress(DLLHANDLE, "bind")) == NULL) {
35	    FATAL("cannot find entry bind (%d)\n", GetLastError());
36	    abort();
37	}
38	fp = p;
39    }
40    return (*fp)(a0, a1, a2);
41}
42
43int   PASCAL
44closesocket(SOCKET a0)
45{
46    static int   (PASCAL *fp)(SOCKET a0);
47
48#ifdef DEBUG_STUB
49    idnLogPrintf(idn_log_level_trace, "stub closesocket() called\n");
50#endif
51    if (fp == NULL) {
52	void *p;
53	if ((p = GetProcAddress(DLLHANDLE, "closesocket")) == NULL) {
54	    FATAL("cannot find entry closesocket (%d)\n", GetLastError());
55	    abort();
56	}
57	fp = p;
58    }
59    return (*fp)(a0);
60}
61
62int   PASCAL
63connect(SOCKET a0, const struct sockaddr* a1, int a2)
64{
65    static int   (PASCAL *fp)(SOCKET a0, const struct sockaddr* a1, int a2);
66
67#ifdef DEBUG_STUB
68    idnLogPrintf(idn_log_level_trace, "stub connect() called\n");
69#endif
70    if (fp == NULL) {
71	void *p;
72	if ((p = GetProcAddress(DLLHANDLE, "connect")) == NULL) {
73	    FATAL("cannot find entry connect (%d)\n", GetLastError());
74	    abort();
75	}
76	fp = p;
77    }
78    return (*fp)(a0, a1, a2);
79}
80
81int   PASCAL
82getpeername(SOCKET a0, struct sockaddr* a1, int* a2)
83{
84    static int   (PASCAL *fp)(SOCKET a0, struct sockaddr* a1, int* a2);
85
86#ifdef DEBUG_STUB
87    idnLogPrintf(idn_log_level_trace, "stub getpeername() called\n");
88#endif
89    if (fp == NULL) {
90	void *p;
91	if ((p = GetProcAddress(DLLHANDLE, "getpeername")) == NULL) {
92	    FATAL("cannot find entry getpeername (%d)\n", GetLastError());
93	    abort();
94	}
95	fp = p;
96    }
97    return (*fp)(a0, a1, a2);
98}
99
100int   PASCAL
101getsockname(SOCKET a0, struct sockaddr* a1, int* a2)
102{
103    static int   (PASCAL *fp)(SOCKET a0, struct sockaddr* a1, int* a2);
104
105#ifdef DEBUG_STUB
106    idnLogPrintf(idn_log_level_trace, "stub getsockname() called\n");
107#endif
108    if (fp == NULL) {
109	void *p;
110	if ((p = GetProcAddress(DLLHANDLE, "getsockname")) == NULL) {
111	    FATAL("cannot find entry getsockname (%d)\n", GetLastError());
112	    abort();
113	}
114	fp = p;
115    }
116    return (*fp)(a0, a1, a2);
117}
118
119int   PASCAL
120getsockopt(SOCKET a0, int a1, int a2, char* a3, int* a4)
121{
122    static int   (PASCAL *fp)(SOCKET a0, int a1, int a2, char* a3, int* a4);
123
124#ifdef DEBUG_STUB
125    idnLogPrintf(idn_log_level_trace, "stub getsockopt() called\n");
126#endif
127    if (fp == NULL) {
128	void *p;
129	if ((p = GetProcAddress(DLLHANDLE, "getsockopt")) == NULL) {
130	    FATAL("cannot find entry getsockopt (%d)\n", GetLastError());
131	    abort();
132	}
133	fp = p;
134    }
135    return (*fp)(a0, a1, a2, a3, a4);
136}
137
138u_long   PASCAL
139htonl(u_long a0)
140{
141    static u_long   (PASCAL *fp)(u_long a0);
142
143#ifdef DEBUG_STUB
144    idnLogPrintf(idn_log_level_trace, "stub htonl() called\n");
145#endif
146    if (fp == NULL) {
147	void *p;
148	if ((p = GetProcAddress(DLLHANDLE, "htonl")) == NULL) {
149	    FATAL("cannot find entry htonl (%d)\n", GetLastError());
150	    abort();
151	}
152	fp = p;
153    }
154    return (*fp)(a0);
155}
156
157u_short   PASCAL
158htons(u_short a0)
159{
160    static u_short   (PASCAL *fp)(u_short a0);
161
162#ifdef DEBUG_STUB
163    idnLogPrintf(idn_log_level_trace, "stub htons() called\n");
164#endif
165    if (fp == NULL) {
166	void *p;
167	if ((p = GetProcAddress(DLLHANDLE, "htons")) == NULL) {
168	    FATAL("cannot find entry htons (%d)\n", GetLastError());
169	    abort();
170	}
171	fp = p;
172    }
173    return (*fp)(a0);
174}
175
176int   PASCAL
177ioctlsocket(SOCKET a0, long a1, u_long * a2)
178{
179    static int   (PASCAL *fp)(SOCKET a0, long a1, u_long * a2);
180
181#ifdef DEBUG_STUB
182    idnLogPrintf(idn_log_level_trace, "stub ioctlsocket() called\n");
183#endif
184    if (fp == NULL) {
185	void *p;
186	if ((p = GetProcAddress(DLLHANDLE, "ioctlsocket")) == NULL) {
187	    FATAL("cannot find entry ioctlsocket (%d)\n", GetLastError());
188	    abort();
189	}
190	fp = p;
191    }
192    return (*fp)(a0, a1, a2);
193}
194
195unsigned long   PASCAL
196inet_addr(const char* a0)
197{
198    static unsigned long   (PASCAL *fp)(const char* a0);
199
200#ifdef DEBUG_STUB
201    idnLogPrintf(idn_log_level_trace, "stub inet_addr() called\n");
202#endif
203    if (fp == NULL) {
204	void *p;
205	if ((p = GetProcAddress(DLLHANDLE, "inet_addr")) == NULL) {
206	    FATAL("cannot find entry inet_addr (%d)\n", GetLastError());
207	    abort();
208	}
209	fp = p;
210    }
211    return (*fp)(a0);
212}
213
214 char * PASCAL
215inet_ntoa(struct in_addr a0)
216{
217    static  char * (PASCAL *fp)(struct in_addr a0);
218
219#ifdef DEBUG_STUB
220    idnLogPrintf(idn_log_level_trace, "stub inet_ntoa() called\n");
221#endif
222    if (fp == NULL) {
223	void *p;
224	if ((p = GetProcAddress(DLLHANDLE, "inet_ntoa")) == NULL) {
225	    FATAL("cannot find entry inet_ntoa (%d)\n", GetLastError());
226	    abort();
227	}
228	fp = p;
229    }
230    return (*fp)(a0);
231}
232
233int   PASCAL
234listen(SOCKET a0, int a1)
235{
236    static int   (PASCAL *fp)(SOCKET a0, int a1);
237
238#ifdef DEBUG_STUB
239    idnLogPrintf(idn_log_level_trace, "stub listen() called\n");
240#endif
241    if (fp == NULL) {
242	void *p;
243	if ((p = GetProcAddress(DLLHANDLE, "listen")) == NULL) {
244	    FATAL("cannot find entry listen (%d)\n", GetLastError());
245	    abort();
246	}
247	fp = p;
248    }
249    return (*fp)(a0, a1);
250}
251
252u_long   PASCAL
253ntohl(u_long a0)
254{
255    static u_long   (PASCAL *fp)(u_long a0);
256
257#ifdef DEBUG_STUB
258    idnLogPrintf(idn_log_level_trace, "stub ntohl() called\n");
259#endif
260    if (fp == NULL) {
261	void *p;
262	if ((p = GetProcAddress(DLLHANDLE, "ntohl")) == NULL) {
263	    FATAL("cannot find entry ntohl (%d)\n", GetLastError());
264	    abort();
265	}
266	fp = p;
267    }
268    return (*fp)(a0);
269}
270
271u_short   PASCAL
272ntohs(u_short a0)
273{
274    static u_short   (PASCAL *fp)(u_short a0);
275
276#ifdef DEBUG_STUB
277    idnLogPrintf(idn_log_level_trace, "stub ntohs() called\n");
278#endif
279    if (fp == NULL) {
280	void *p;
281	if ((p = GetProcAddress(DLLHANDLE, "ntohs")) == NULL) {
282	    FATAL("cannot find entry ntohs (%d)\n", GetLastError());
283	    abort();
284	}
285	fp = p;
286    }
287    return (*fp)(a0);
288}
289
290int   PASCAL
291recv(SOCKET a0, char* a1, int a2, int a3)
292{
293    static int   (PASCAL *fp)(SOCKET a0, char* a1, int a2, int a3);
294
295#ifdef DEBUG_STUB
296    idnLogPrintf(idn_log_level_trace, "stub recv() called\n");
297#endif
298    if (fp == NULL) {
299	void *p;
300	if ((p = GetProcAddress(DLLHANDLE, "recv")) == NULL) {
301	    FATAL("cannot find entry recv (%d)\n", GetLastError());
302	    abort();
303	}
304	fp = p;
305    }
306    return (*fp)(a0, a1, a2, a3);
307}
308
309int   PASCAL
310recvfrom(SOCKET a0, char* a1, int a2, int a3, struct sockaddr* a4, int* a5)
311{
312    static int   (PASCAL *fp)(SOCKET a0, char* a1, int a2, int a3, struct sockaddr* a4, int* a5);
313
314#ifdef DEBUG_STUB
315    idnLogPrintf(idn_log_level_trace, "stub recvfrom() called\n");
316#endif
317    if (fp == NULL) {
318	void *p;
319	if ((p = GetProcAddress(DLLHANDLE, "recvfrom")) == NULL) {
320	    FATAL("cannot find entry recvfrom (%d)\n", GetLastError());
321	    abort();
322	}
323	fp = p;
324    }
325    return (*fp)(a0, a1, a2, a3, a4, a5);
326}
327
328int   PASCAL
329select(int a0, fd_set* a1, fd_set* a2, fd_set* a3, const struct timeval* a4)
330{
331    static int   (PASCAL *fp)(int a0, fd_set* a1, fd_set* a2, fd_set* a3, const struct timeval* a4);
332
333#ifdef DEBUG_STUB
334    idnLogPrintf(idn_log_level_trace, "stub select() called\n");
335#endif
336    if (fp == NULL) {
337	void *p;
338	if ((p = GetProcAddress(DLLHANDLE, "select")) == NULL) {
339	    FATAL("cannot find entry select (%d)\n", GetLastError());
340	    abort();
341	}
342	fp = p;
343    }
344    return (*fp)(a0, a1, a2, a3, a4);
345}
346
347int   PASCAL
348send(SOCKET a0, const char* a1, int a2, int a3)
349{
350    static int   (PASCAL *fp)(SOCKET a0, const char* a1, int a2, int a3);
351
352#ifdef DEBUG_STUB
353    idnLogPrintf(idn_log_level_trace, "stub send() called\n");
354#endif
355    if (fp == NULL) {
356	void *p;
357	if ((p = GetProcAddress(DLLHANDLE, "send")) == NULL) {
358	    FATAL("cannot find entry send (%d)\n", GetLastError());
359	    abort();
360	}
361	fp = p;
362    }
363    return (*fp)(a0, a1, a2, a3);
364}
365
366int   PASCAL
367sendto(SOCKET a0, const char* a1, int a2, int a3, const struct sockaddr* a4, int a5)
368{
369    static int   (PASCAL *fp)(SOCKET a0, const char* a1, int a2, int a3, const struct sockaddr* a4, int a5);
370
371#ifdef DEBUG_STUB
372    idnLogPrintf(idn_log_level_trace, "stub sendto() called\n");
373#endif
374    if (fp == NULL) {
375	void *p;
376	if ((p = GetProcAddress(DLLHANDLE, "sendto")) == NULL) {
377	    FATAL("cannot find entry sendto (%d)\n", GetLastError());
378	    abort();
379	}
380	fp = p;
381    }
382    return (*fp)(a0, a1, a2, a3, a4, a5);
383}
384
385int   PASCAL
386setsockopt(SOCKET a0, int a1, int a2, const char* a3, int a4)
387{
388    static int   (PASCAL *fp)(SOCKET a0, int a1, int a2, const char* a3, int a4);
389
390#ifdef DEBUG_STUB
391    idnLogPrintf(idn_log_level_trace, "stub setsockopt() called\n");
392#endif
393    if (fp == NULL) {
394	void *p;
395	if ((p = GetProcAddress(DLLHANDLE, "setsockopt")) == NULL) {
396	    FATAL("cannot find entry setsockopt (%d)\n", GetLastError());
397	    abort();
398	}
399	fp = p;
400    }
401    return (*fp)(a0, a1, a2, a3, a4);
402}
403
404int   PASCAL
405shutdown(SOCKET a0, int a1)
406{
407    static int   (PASCAL *fp)(SOCKET a0, int a1);
408
409#ifdef DEBUG_STUB
410    idnLogPrintf(idn_log_level_trace, "stub shutdown() called\n");
411#endif
412    if (fp == NULL) {
413	void *p;
414	if ((p = GetProcAddress(DLLHANDLE, "shutdown")) == NULL) {
415	    FATAL("cannot find entry shutdown (%d)\n", GetLastError());
416	    abort();
417	}
418	fp = p;
419    }
420    return (*fp)(a0, a1);
421}
422
423SOCKET   PASCAL
424socket(int a0, int a1, int a2)
425{
426    static SOCKET   (PASCAL *fp)(int a0, int a1, int a2);
427
428#ifdef DEBUG_STUB
429    idnLogPrintf(idn_log_level_trace, "stub socket() called\n");
430#endif
431    if (fp == NULL) {
432	void *p;
433	if ((p = GetProcAddress(DLLHANDLE, "socket")) == NULL) {
434	    FATAL("cannot find entry socket (%d)\n", GetLastError());
435	    abort();
436	}
437	fp = p;
438    }
439    return (*fp)(a0, a1, a2);
440}
441
442int  PASCAL
443WSApSetPostRoutine(int a0)
444{
445    static int  (PASCAL *fp)(int a0);
446
447#ifdef DEBUG_STUB
448    idnLogPrintf(idn_log_level_trace, "stub WSApSetPostRoutine() called\n");
449#endif
450    if (fp == NULL) {
451	void *p;
452	if ((p = GetProcAddress(DLLHANDLE, "WSApSetPostRoutine")) == NULL) {
453	    FATAL("cannot find entry WSApSetPostRoutine (%d)\n", GetLastError());
454	    abort();
455	}
456	fp = p;
457    }
458    return (*fp)(a0);
459}
460
461WSAEVENT   WSAAPI
462WPUCompleteOverlappedRequest(SOCKET a0, LPWSAOVERLAPPED a1, DWORD a2, DWORD a3, LPINT a4)
463{
464    static WSAEVENT   (WSAAPI *fp)(SOCKET a0, LPWSAOVERLAPPED a1, DWORD a2, DWORD a3, LPINT a4);
465
466#ifdef DEBUG_STUB
467    idnLogPrintf(idn_log_level_trace, "stub WPUCompleteOverlappedRequest() called\n");
468#endif
469    if (fp == NULL) {
470	void *p;
471	if ((p = GetProcAddress(DLLHANDLE, "WPUCompleteOverlappedRequest")) == NULL) {
472	    FATAL("cannot find entry WPUCompleteOverlappedRequest (%d)\n", GetLastError());
473	    abort();
474	}
475	fp = p;
476    }
477    return (*fp)(a0, a1, a2, a3, a4);
478}
479
480SOCKET   WINAPI
481WSAAccept(SOCKET a0, struct sockaddr * a1, LPINT a2, LPCONDITIONPROC a3, DWORD a4)
482{
483    static SOCKET   (WINAPI *fp)(SOCKET a0, struct sockaddr * a1, LPINT a2, LPCONDITIONPROC a3, DWORD a4);
484
485#ifdef DEBUG_STUB
486    idnLogPrintf(idn_log_level_trace, "stub WSAAccept() called\n");
487#endif
488    if (fp == NULL) {
489	void *p;
490	if ((p = GetProcAddress(DLLHANDLE, "WSAAccept")) == NULL) {
491	    FATAL("cannot find entry WSAAccept (%d)\n", GetLastError());
492	    abort();
493	}
494	fp = p;
495    }
496    return (*fp)(a0, a1, a2, a3, a4);
497}
498
499INT   WINAPI
500WSAAddressToStringA(LPSOCKADDR a0, DWORD a1, LPWSAPROTOCOL_INFOA a2, LPSTR a3, LPDWORD a4)
501{
502    static INT   (WINAPI *fp)(LPSOCKADDR a0, DWORD a1, LPWSAPROTOCOL_INFOA a2, LPSTR a3, LPDWORD a4);
503
504#ifdef DEBUG_STUB
505    idnLogPrintf(idn_log_level_trace, "stub WSAAddressToStringA() called\n");
506#endif
507    if (fp == NULL) {
508	void *p;
509	if ((p = GetProcAddress(DLLHANDLE, "WSAAddressToStringA")) == NULL) {
510	    FATAL("cannot find entry WSAAddressToStringA (%d)\n", GetLastError());
511	    abort();
512	}
513	fp = p;
514    }
515    return (*fp)(a0, a1, a2, a3, a4);
516}
517
518INT   WINAPI
519WSAAddressToStringW(LPSOCKADDR a0, DWORD a1, LPWSAPROTOCOL_INFOW a2, LPWSTR a3, LPDWORD a4)
520{
521    static INT   (WINAPI *fp)(LPSOCKADDR a0, DWORD a1, LPWSAPROTOCOL_INFOW a2, LPWSTR a3, LPDWORD a4);
522
523#ifdef DEBUG_STUB
524    idnLogPrintf(idn_log_level_trace, "stub WSAAddressToStringW() called\n");
525#endif
526    if (fp == NULL) {
527	void *p;
528	if ((p = GetProcAddress(DLLHANDLE, "WSAAddressToStringW")) == NULL) {
529	    FATAL("cannot find entry WSAAddressToStringW (%d)\n", GetLastError());
530	    abort();
531	}
532	fp = p;
533    }
534    return (*fp)(a0, a1, a2, a3, a4);
535}
536
537BOOL   WINAPI
538WSACloseEvent(WSAEVENT a0)
539{
540    static BOOL   (WINAPI *fp)(WSAEVENT a0);
541
542#ifdef DEBUG_STUB
543    idnLogPrintf(idn_log_level_trace, "stub WSACloseEvent() called\n");
544#endif
545    if (fp == NULL) {
546	void *p;
547	if ((p = GetProcAddress(DLLHANDLE, "WSACloseEvent")) == NULL) {
548	    FATAL("cannot find entry WSACloseEvent (%d)\n", GetLastError());
549	    abort();
550	}
551	fp = p;
552    }
553    return (*fp)(a0);
554}
555
556int   WINAPI
557WSAConnect(SOCKET a0, const struct sockaddr * a1, int a2, LPWSABUF a3, LPWSABUF a4, LPQOS a5, LPQOS a6)
558{
559    static int   (WINAPI *fp)(SOCKET a0, const struct sockaddr * a1, int a2, LPWSABUF a3, LPWSABUF a4, LPQOS a5, LPQOS a6);
560
561#ifdef DEBUG_STUB
562    idnLogPrintf(idn_log_level_trace, "stub WSAConnect() called\n");
563#endif
564    if (fp == NULL) {
565	void *p;
566	if ((p = GetProcAddress(DLLHANDLE, "WSAConnect")) == NULL) {
567	    FATAL("cannot find entry WSAConnect (%d)\n", GetLastError());
568	    abort();
569	}
570	fp = p;
571    }
572    return (*fp)(a0, a1, a2, a3, a4, a5, a6);
573}
574
575WSAEVENT   WINAPI
576WSACreateEvent(void)
577{
578    static WSAEVENT   (WINAPI *fp)(void);
579
580#ifdef DEBUG_STUB
581    idnLogPrintf(idn_log_level_trace, "stub WSACreateEvent() called\n");
582#endif
583    if (fp == NULL) {
584	void *p;
585	if ((p = GetProcAddress(DLLHANDLE, "WSACreateEvent")) == NULL) {
586	    FATAL("cannot find entry WSACreateEvent (%d)\n", GetLastError());
587	    abort();
588	}
589	fp = p;
590    }
591    return (*fp)();
592}
593
594int   WINAPI
595WSADuplicateSocketA(SOCKET a0, DWORD a1, LPWSAPROTOCOL_INFOA a2)
596{
597    static int   (WINAPI *fp)(SOCKET a0, DWORD a1, LPWSAPROTOCOL_INFOA a2);
598
599#ifdef DEBUG_STUB
600    idnLogPrintf(idn_log_level_trace, "stub WSADuplicateSocketA() called\n");
601#endif
602    if (fp == NULL) {
603	void *p;
604	if ((p = GetProcAddress(DLLHANDLE, "WSADuplicateSocketA")) == NULL) {
605	    FATAL("cannot find entry WSADuplicateSocketA (%d)\n", GetLastError());
606	    abort();
607	}
608	fp = p;
609    }
610    return (*fp)(a0, a1, a2);
611}
612
613int   WINAPI
614WSADuplicateSocketW(SOCKET a0, DWORD a1, LPWSAPROTOCOL_INFOW a2)
615{
616    static int   (WINAPI *fp)(SOCKET a0, DWORD a1, LPWSAPROTOCOL_INFOW a2);
617
618#ifdef DEBUG_STUB
619    idnLogPrintf(idn_log_level_trace, "stub WSADuplicateSocketW() called\n");
620#endif
621    if (fp == NULL) {
622	void *p;
623	if ((p = GetProcAddress(DLLHANDLE, "WSADuplicateSocketW")) == NULL) {
624	    FATAL("cannot find entry WSADuplicateSocketW (%d)\n", GetLastError());
625	    abort();
626	}
627	fp = p;
628    }
629    return (*fp)(a0, a1, a2);
630}
631
632INT   WINAPI
633WSAEnumNameSpaceProvidersA(LPDWORD a0, LPWSANAMESPACE_INFOA a1)
634{
635    static INT   (WINAPI *fp)(LPDWORD a0, LPWSANAMESPACE_INFOA a1);
636
637#ifdef DEBUG_STUB
638    idnLogPrintf(idn_log_level_trace, "stub WSAEnumNameSpaceProvidersA() called\n");
639#endif
640    if (fp == NULL) {
641	void *p;
642	if ((p = GetProcAddress(DLLHANDLE, "WSAEnumNameSpaceProvidersA")) == NULL) {
643	    FATAL("cannot find entry WSAEnumNameSpaceProvidersA (%d)\n", GetLastError());
644	    abort();
645	}
646	fp = p;
647    }
648    return (*fp)(a0, a1);
649}
650
651INT   WINAPI
652WSAEnumNameSpaceProvidersW(LPDWORD a0, LPWSANAMESPACE_INFOW a1)
653{
654    static INT   (WINAPI *fp)(LPDWORD a0, LPWSANAMESPACE_INFOW a1);
655
656#ifdef DEBUG_STUB
657    idnLogPrintf(idn_log_level_trace, "stub WSAEnumNameSpaceProvidersW() called\n");
658#endif
659    if (fp == NULL) {
660	void *p;
661	if ((p = GetProcAddress(DLLHANDLE, "WSAEnumNameSpaceProvidersW")) == NULL) {
662	    FATAL("cannot find entry WSAEnumNameSpaceProvidersW (%d)\n", GetLastError());
663	    abort();
664	}
665	fp = p;
666    }
667    return (*fp)(a0, a1);
668}
669
670int   WINAPI
671WSAEnumNetworkEvents(SOCKET a0, WSAEVENT a1, LPWSANETWORKEVENTS a2)
672{
673    static int   (WINAPI *fp)(SOCKET a0, WSAEVENT a1, LPWSANETWORKEVENTS a2);
674
675#ifdef DEBUG_STUB
676    idnLogPrintf(idn_log_level_trace, "stub WSAEnumNetworkEvents() called\n");
677#endif
678    if (fp == NULL) {
679	void *p;
680	if ((p = GetProcAddress(DLLHANDLE, "WSAEnumNetworkEvents")) == NULL) {
681	    FATAL("cannot find entry WSAEnumNetworkEvents (%d)\n", GetLastError());
682	    abort();
683	}
684	fp = p;
685    }
686    return (*fp)(a0, a1, a2);
687}
688
689int   WINAPI
690WSAEnumProtocolsA(LPINT a0, LPWSAPROTOCOL_INFOA a1, LPDWORD a2)
691{
692    static int   (WINAPI *fp)(LPINT a0, LPWSAPROTOCOL_INFOA a1, LPDWORD a2);
693
694#ifdef DEBUG_STUB
695    idnLogPrintf(idn_log_level_trace, "stub WSAEnumProtocolsA() called\n");
696#endif
697    if (fp == NULL) {
698	void *p;
699	if ((p = GetProcAddress(DLLHANDLE, "WSAEnumProtocolsA")) == NULL) {
700	    FATAL("cannot find entry WSAEnumProtocolsA (%d)\n", GetLastError());
701	    abort();
702	}
703	fp = p;
704    }
705    return (*fp)(a0, a1, a2);
706}
707
708int   WINAPI
709WSAEnumProtocolsW(LPINT a0, LPWSAPROTOCOL_INFOW a1, LPDWORD a2)
710{
711    static int   (WINAPI *fp)(LPINT a0, LPWSAPROTOCOL_INFOW a1, LPDWORD a2);
712
713#ifdef DEBUG_STUB
714    idnLogPrintf(idn_log_level_trace, "stub WSAEnumProtocolsW() called\n");
715#endif
716    if (fp == NULL) {
717	void *p;
718	if ((p = GetProcAddress(DLLHANDLE, "WSAEnumProtocolsW")) == NULL) {
719	    FATAL("cannot find entry WSAEnumProtocolsW (%d)\n", GetLastError());
720	    abort();
721	}
722	fp = p;
723    }
724    return (*fp)(a0, a1, a2);
725}
726
727int   WINAPI
728WSAEventSelect(SOCKET a0, WSAEVENT a1, long a2)
729{
730    static int   (WINAPI *fp)(SOCKET a0, WSAEVENT a1, long a2);
731
732#ifdef DEBUG_STUB
733    idnLogPrintf(idn_log_level_trace, "stub WSAEventSelect() called\n");
734#endif
735    if (fp == NULL) {
736	void *p;
737	if ((p = GetProcAddress(DLLHANDLE, "WSAEventSelect")) == NULL) {
738	    FATAL("cannot find entry WSAEventSelect (%d)\n", GetLastError());
739	    abort();
740	}
741	fp = p;
742    }
743    return (*fp)(a0, a1, a2);
744}
745
746BOOL   WINAPI
747WSAGetOverlappedResult(SOCKET a0, LPWSAOVERLAPPED a1, LPDWORD a2, BOOL a3, LPDWORD a4)
748{
749    static BOOL   (WINAPI *fp)(SOCKET a0, LPWSAOVERLAPPED a1, LPDWORD a2, BOOL a3, LPDWORD a4);
750
751#ifdef DEBUG_STUB
752    idnLogPrintf(idn_log_level_trace, "stub WSAGetOverlappedResult() called\n");
753#endif
754    if (fp == NULL) {
755	void *p;
756	if ((p = GetProcAddress(DLLHANDLE, "WSAGetOverlappedResult")) == NULL) {
757	    FATAL("cannot find entry WSAGetOverlappedResult (%d)\n", GetLastError());
758	    abort();
759	}
760	fp = p;
761    }
762    return (*fp)(a0, a1, a2, a3, a4);
763}
764
765BOOL   WINAPI
766WSAGetQOSByName(SOCKET a0, LPWSABUF a1, LPQOS a2)
767{
768    static BOOL   (WINAPI *fp)(SOCKET a0, LPWSABUF a1, LPQOS a2);
769
770#ifdef DEBUG_STUB
771    idnLogPrintf(idn_log_level_trace, "stub WSAGetQOSByName() called\n");
772#endif
773    if (fp == NULL) {
774	void *p;
775	if ((p = GetProcAddress(DLLHANDLE, "WSAGetQOSByName")) == NULL) {
776	    FATAL("cannot find entry WSAGetQOSByName (%d)\n", GetLastError());
777	    abort();
778	}
779	fp = p;
780    }
781    return (*fp)(a0, a1, a2);
782}
783
784INT   WINAPI
785WSAGetServiceClassInfoA(LPGUID a0, LPGUID a1, LPDWORD a2, LPWSASERVICECLASSINFOA a3)
786{
787    static INT   (WINAPI *fp)(LPGUID a0, LPGUID a1, LPDWORD a2, LPWSASERVICECLASSINFOA a3);
788
789#ifdef DEBUG_STUB
790    idnLogPrintf(idn_log_level_trace, "stub WSAGetServiceClassInfoA() called\n");
791#endif
792    if (fp == NULL) {
793	void *p;
794	if ((p = GetProcAddress(DLLHANDLE, "WSAGetServiceClassInfoA")) == NULL) {
795	    FATAL("cannot find entry WSAGetServiceClassInfoA (%d)\n", GetLastError());
796	    abort();
797	}
798	fp = p;
799    }
800    return (*fp)(a0, a1, a2, a3);
801}
802
803INT   WINAPI
804WSAGetServiceClassInfoW(LPGUID a0, LPGUID a1, LPDWORD a2, LPWSASERVICECLASSINFOW a3)
805{
806    static INT   (WINAPI *fp)(LPGUID a0, LPGUID a1, LPDWORD a2, LPWSASERVICECLASSINFOW a3);
807
808#ifdef DEBUG_STUB
809    idnLogPrintf(idn_log_level_trace, "stub WSAGetServiceClassInfoW() called\n");
810#endif
811    if (fp == NULL) {
812	void *p;
813	if ((p = GetProcAddress(DLLHANDLE, "WSAGetServiceClassInfoW")) == NULL) {
814	    FATAL("cannot find entry WSAGetServiceClassInfoW (%d)\n", GetLastError());
815	    abort();
816	}
817	fp = p;
818    }
819    return (*fp)(a0, a1, a2, a3);
820}
821
822INT   WINAPI
823WSAGetServiceClassNameByClassIdA(LPGUID a0, LPSTR a1, LPDWORD a2)
824{
825    static INT   (WINAPI *fp)(LPGUID a0, LPSTR a1, LPDWORD a2);
826
827#ifdef DEBUG_STUB
828    idnLogPrintf(idn_log_level_trace, "stub WSAGetServiceClassNameByClassIdA() called\n");
829#endif
830    if (fp == NULL) {
831	void *p;
832	if ((p = GetProcAddress(DLLHANDLE, "WSAGetServiceClassNameByClassIdA")) == NULL) {
833	    FATAL("cannot find entry WSAGetServiceClassNameByClassIdA (%d)\n", GetLastError());
834	    abort();
835	}
836	fp = p;
837    }
838    return (*fp)(a0, a1, a2);
839}
840
841INT   WINAPI
842WSAGetServiceClassNameByClassIdW(LPGUID a0, LPWSTR a1, LPDWORD a2)
843{
844    static INT   (WINAPI *fp)(LPGUID a0, LPWSTR a1, LPDWORD a2);
845
846#ifdef DEBUG_STUB
847    idnLogPrintf(idn_log_level_trace, "stub WSAGetServiceClassNameByClassIdW() called\n");
848#endif
849    if (fp == NULL) {
850	void *p;
851	if ((p = GetProcAddress(DLLHANDLE, "WSAGetServiceClassNameByClassIdW")) == NULL) {
852	    FATAL("cannot find entry WSAGetServiceClassNameByClassIdW (%d)\n", GetLastError());
853	    abort();
854	}
855	fp = p;
856    }
857    return (*fp)(a0, a1, a2);
858}
859
860int   WINAPI
861WSAHtonl(SOCKET a0, unsigned long a1, unsigned long * a2)
862{
863    static int   (WINAPI *fp)(SOCKET a0, unsigned long a1, unsigned long * a2);
864
865#ifdef DEBUG_STUB
866    idnLogPrintf(idn_log_level_trace, "stub WSAHtonl() called\n");
867#endif
868    if (fp == NULL) {
869	void *p;
870	if ((p = GetProcAddress(DLLHANDLE, "WSAHtonl")) == NULL) {
871	    FATAL("cannot find entry WSAHtonl (%d)\n", GetLastError());
872	    abort();
873	}
874	fp = p;
875    }
876    return (*fp)(a0, a1, a2);
877}
878
879int   WINAPI
880WSAHtons(SOCKET a0, unsigned short a1, unsigned short * a2)
881{
882    static int   (WINAPI *fp)(SOCKET a0, unsigned short a1, unsigned short * a2);
883
884#ifdef DEBUG_STUB
885    idnLogPrintf(idn_log_level_trace, "stub WSAHtons() called\n");
886#endif
887    if (fp == NULL) {
888	void *p;
889	if ((p = GetProcAddress(DLLHANDLE, "WSAHtons")) == NULL) {
890	    FATAL("cannot find entry WSAHtons (%d)\n", GetLastError());
891	    abort();
892	}
893	fp = p;
894    }
895    return (*fp)(a0, a1, a2);
896}
897
898INT   WINAPI
899WSAInstallServiceClassA(LPWSASERVICECLASSINFOA a0)
900{
901    static INT   (WINAPI *fp)(LPWSASERVICECLASSINFOA a0);
902
903#ifdef DEBUG_STUB
904    idnLogPrintf(idn_log_level_trace, "stub WSAInstallServiceClassA() called\n");
905#endif
906    if (fp == NULL) {
907	void *p;
908	if ((p = GetProcAddress(DLLHANDLE, "WSAInstallServiceClassA")) == NULL) {
909	    FATAL("cannot find entry WSAInstallServiceClassA (%d)\n", GetLastError());
910	    abort();
911	}
912	fp = p;
913    }
914    return (*fp)(a0);
915}
916
917INT   WINAPI
918WSAInstallServiceClassW(LPWSASERVICECLASSINFOW a0)
919{
920    static INT   (WINAPI *fp)(LPWSASERVICECLASSINFOW a0);
921
922#ifdef DEBUG_STUB
923    idnLogPrintf(idn_log_level_trace, "stub WSAInstallServiceClassW() called\n");
924#endif
925    if (fp == NULL) {
926	void *p;
927	if ((p = GetProcAddress(DLLHANDLE, "WSAInstallServiceClassW")) == NULL) {
928	    FATAL("cannot find entry WSAInstallServiceClassW (%d)\n", GetLastError());
929	    abort();
930	}
931	fp = p;
932    }
933    return (*fp)(a0);
934}
935
936int   WINAPI
937WSAIoctl(SOCKET a0, DWORD a1, LPVOID a2, DWORD a3, LPVOID a4, DWORD a5, LPDWORD a6, LPWSAOVERLAPPED a7, LPWSAOVERLAPPED_COMPLETION_ROUTINE a8)
938{
939    static int   (WINAPI *fp)(SOCKET a0, DWORD a1, LPVOID a2, DWORD a3, LPVOID a4, DWORD a5, LPDWORD a6, LPWSAOVERLAPPED a7, LPWSAOVERLAPPED_COMPLETION_ROUTINE a8);
940
941#ifdef DEBUG_STUB
942    idnLogPrintf(idn_log_level_trace, "stub WSAIoctl() called\n");
943#endif
944    if (fp == NULL) {
945	void *p;
946	if ((p = GetProcAddress(DLLHANDLE, "WSAIoctl")) == NULL) {
947	    FATAL("cannot find entry WSAIoctl (%d)\n", GetLastError());
948	    abort();
949	}
950	fp = p;
951    }
952    return (*fp)(a0, a1, a2, a3, a4, a5, a6, a7, a8);
953}
954
955 struct hostent * PASCAL
956_org_gethostbyaddr(const char* a0, int a1, int a2)
957{
958    static  struct hostent * (PASCAL *fp)(const char* a0, int a1, int a2);
959
960#ifdef DEBUG_STUB
961    idnLogPrintf(idn_log_level_trace, "stub _org_gethostbyaddr() called\n");
962#endif
963    if (fp == NULL) {
964	void *p;
965	if ((p = GetProcAddress(DLLHANDLE, "gethostbyaddr")) == NULL) {
966	    FATAL("cannot find entry gethostbyaddr (%d)\n", GetLastError());
967	    abort();
968	}
969	fp = p;
970    }
971    return (*fp)(a0, a1, a2);
972}
973
974 struct hostent * PASCAL
975_org_gethostbyname(const char* a0)
976{
977    static  struct hostent * (PASCAL *fp)(const char* a0);
978
979#ifdef DEBUG_STUB
980    idnLogPrintf(idn_log_level_trace, "stub _org_gethostbyname() called\n");
981#endif
982    if (fp == NULL) {
983	void *p;
984	if ((p = GetProcAddress(DLLHANDLE, "gethostbyname")) == NULL) {
985	    FATAL("cannot find entry gethostbyname (%d)\n", GetLastError());
986	    abort();
987	}
988	fp = p;
989    }
990    return (*fp)(a0);
991}
992
993 struct protoent * PASCAL
994getprotobyname(const char* a0)
995{
996    static  struct protoent * (PASCAL *fp)(const char* a0);
997
998#ifdef DEBUG_STUB
999    idnLogPrintf(idn_log_level_trace, "stub getprotobyname() called\n");
1000#endif
1001    if (fp == NULL) {
1002	void *p;
1003	if ((p = GetProcAddress(DLLHANDLE, "getprotobyname")) == NULL) {
1004	    FATAL("cannot find entry getprotobyname (%d)\n", GetLastError());
1005	    abort();
1006	}
1007	fp = p;
1008    }
1009    return (*fp)(a0);
1010}
1011
1012 struct protoent * PASCAL
1013getprotobynumber(int a0)
1014{
1015    static  struct protoent * (PASCAL *fp)(int a0);
1016
1017#ifdef DEBUG_STUB
1018    idnLogPrintf(idn_log_level_trace, "stub getprotobynumber() called\n");
1019#endif
1020    if (fp == NULL) {
1021	void *p;
1022	if ((p = GetProcAddress(DLLHANDLE, "getprotobynumber")) == NULL) {
1023	    FATAL("cannot find entry getprotobynumber (%d)\n", GetLastError());
1024	    abort();
1025	}
1026	fp = p;
1027    }
1028    return (*fp)(a0);
1029}
1030
1031 struct servent * PASCAL
1032getservbyname(const char* a0, const char* a1)
1033{
1034    static  struct servent * (PASCAL *fp)(const char* a0, const char* a1);
1035
1036#ifdef DEBUG_STUB
1037    idnLogPrintf(idn_log_level_trace, "stub getservbyname() called\n");
1038#endif
1039    if (fp == NULL) {
1040	void *p;
1041	if ((p = GetProcAddress(DLLHANDLE, "getservbyname")) == NULL) {
1042	    FATAL("cannot find entry getservbyname (%d)\n", GetLastError());
1043	    abort();
1044	}
1045	fp = p;
1046    }
1047    return (*fp)(a0, a1);
1048}
1049
1050 struct servent * PASCAL
1051getservbyport(int a0, const char* a1)
1052{
1053    static  struct servent * (PASCAL *fp)(int a0, const char* a1);
1054
1055#ifdef DEBUG_STUB
1056    idnLogPrintf(idn_log_level_trace, "stub getservbyport() called\n");
1057#endif
1058    if (fp == NULL) {
1059	void *p;
1060	if ((p = GetProcAddress(DLLHANDLE, "getservbyport")) == NULL) {
1061	    FATAL("cannot find entry getservbyport (%d)\n", GetLastError());
1062	    abort();
1063	}
1064	fp = p;
1065    }
1066    return (*fp)(a0, a1);
1067}
1068
1069int   PASCAL
1070_org_gethostname(char* a0, int a1)
1071{
1072    static int   (PASCAL *fp)(char* a0, int a1);
1073
1074#ifdef DEBUG_STUB
1075    idnLogPrintf(idn_log_level_trace, "stub _org_gethostname() called\n");
1076#endif
1077    if (fp == NULL) {
1078	void *p;
1079	if ((p = GetProcAddress(DLLHANDLE, "gethostname")) == NULL) {
1080	    FATAL("cannot find entry gethostname (%d)\n", GetLastError());
1081	    abort();
1082	}
1083	fp = p;
1084    }
1085    return (*fp)(a0, a1);
1086}
1087
1088SOCKET   WINAPI
1089WSAJoinLeaf(SOCKET a0, const struct sockaddr * a1, int a2, LPWSABUF a3, LPWSABUF a4, LPQOS a5, LPQOS a6, DWORD a7)
1090{
1091    static SOCKET   (WINAPI *fp)(SOCKET a0, const struct sockaddr * a1, int a2, LPWSABUF a3, LPWSABUF a4, LPQOS a5, LPQOS a6, DWORD a7);
1092
1093#ifdef DEBUG_STUB
1094    idnLogPrintf(idn_log_level_trace, "stub WSAJoinLeaf() called\n");
1095#endif
1096    if (fp == NULL) {
1097	void *p;
1098	if ((p = GetProcAddress(DLLHANDLE, "WSAJoinLeaf")) == NULL) {
1099	    FATAL("cannot find entry WSAJoinLeaf (%d)\n", GetLastError());
1100	    abort();
1101	}
1102	fp = p;
1103    }
1104    return (*fp)(a0, a1, a2, a3, a4, a5, a6, a7);
1105}
1106
1107INT   WINAPI
1108_org_WSALookupServiceBeginA(LPWSAQUERYSETA a0, DWORD a1, LPHANDLE a2)
1109{
1110    static INT   (WINAPI *fp)(LPWSAQUERYSETA a0, DWORD a1, LPHANDLE a2);
1111
1112#ifdef DEBUG_STUB
1113    idnLogPrintf(idn_log_level_trace, "stub _org_WSALookupServiceBeginA() called\n");
1114#endif
1115    if (fp == NULL) {
1116	void *p;
1117	if ((p = GetProcAddress(DLLHANDLE, "WSALookupServiceBeginA")) == NULL) {
1118	    FATAL("cannot find entry WSALookupServiceBeginA (%d)\n", GetLastError());
1119	    abort();
1120	}
1121	fp = p;
1122    }
1123    return (*fp)(a0, a1, a2);
1124}
1125
1126INT   WINAPI
1127_org_WSALookupServiceBeginW(LPWSAQUERYSETW a0, DWORD a1, LPHANDLE a2)
1128{
1129    static INT   (WINAPI *fp)(LPWSAQUERYSETW a0, DWORD a1, LPHANDLE a2);
1130
1131#ifdef DEBUG_STUB
1132    idnLogPrintf(idn_log_level_trace, "stub _org_WSALookupServiceBeginW() called\n");
1133#endif
1134    if (fp == NULL) {
1135	void *p;
1136	if ((p = GetProcAddress(DLLHANDLE, "WSALookupServiceBeginW")) == NULL) {
1137	    FATAL("cannot find entry WSALookupServiceBeginW (%d)\n", GetLastError());
1138	    abort();
1139	}
1140	fp = p;
1141    }
1142    return (*fp)(a0, a1, a2);
1143}
1144
1145INT   WINAPI
1146_org_WSALookupServiceEnd(HANDLE a0)
1147{
1148    static INT   (WINAPI *fp)(HANDLE a0);
1149
1150#ifdef DEBUG_STUB
1151    idnLogPrintf(idn_log_level_trace, "stub _org_WSALookupServiceEnd() called\n");
1152#endif
1153    if (fp == NULL) {
1154	void *p;
1155	if ((p = GetProcAddress(DLLHANDLE, "WSALookupServiceEnd")) == NULL) {
1156	    FATAL("cannot find entry WSALookupServiceEnd (%d)\n", GetLastError());
1157	    abort();
1158	}
1159	fp = p;
1160    }
1161    return (*fp)(a0);
1162}
1163
1164INT   WINAPI
1165_org_WSALookupServiceNextA(HANDLE a0, DWORD a1, LPDWORD a2, LPWSAQUERYSETA a3)
1166{
1167    static INT   (WINAPI *fp)(HANDLE a0, DWORD a1, LPDWORD a2, LPWSAQUERYSETA a3);
1168
1169#ifdef DEBUG_STUB
1170    idnLogPrintf(idn_log_level_trace, "stub _org_WSALookupServiceNextA() called\n");
1171#endif
1172    if (fp == NULL) {
1173	void *p;
1174	if ((p = GetProcAddress(DLLHANDLE, "WSALookupServiceNextA")) == NULL) {
1175	    FATAL("cannot find entry WSALookupServiceNextA (%d)\n", GetLastError());
1176	    abort();
1177	}
1178	fp = p;
1179    }
1180    return (*fp)(a0, a1, a2, a3);
1181}
1182
1183INT   WINAPI
1184_org_WSALookupServiceNextW(HANDLE a0, DWORD a1, LPDWORD a2, LPWSAQUERYSETW a3)
1185{
1186    static INT   (WINAPI *fp)(HANDLE a0, DWORD a1, LPDWORD a2, LPWSAQUERYSETW a3);
1187
1188#ifdef DEBUG_STUB
1189    idnLogPrintf(idn_log_level_trace, "stub _org_WSALookupServiceNextW() called\n");
1190#endif
1191    if (fp == NULL) {
1192	void *p;
1193	if ((p = GetProcAddress(DLLHANDLE, "WSALookupServiceNextW")) == NULL) {
1194	    FATAL("cannot find entry WSALookupServiceNextW (%d)\n", GetLastError());
1195	    abort();
1196	}
1197	fp = p;
1198    }
1199    return (*fp)(a0, a1, a2, a3);
1200}
1201
1202int   WINAPI
1203WSANtohl(SOCKET a0, unsigned long a1, unsigned long * a2)
1204{
1205    static int   (WINAPI *fp)(SOCKET a0, unsigned long a1, unsigned long * a2);
1206
1207#ifdef DEBUG_STUB
1208    idnLogPrintf(idn_log_level_trace, "stub WSANtohl() called\n");
1209#endif
1210    if (fp == NULL) {
1211	void *p;
1212	if ((p = GetProcAddress(DLLHANDLE, "WSANtohl")) == NULL) {
1213	    FATAL("cannot find entry WSANtohl (%d)\n", GetLastError());
1214	    abort();
1215	}
1216	fp = p;
1217    }
1218    return (*fp)(a0, a1, a2);
1219}
1220
1221int   WINAPI
1222WSANtohs(SOCKET a0, unsigned short a1, unsigned short * a2)
1223{
1224    static int   (WINAPI *fp)(SOCKET a0, unsigned short a1, unsigned short * a2);
1225
1226#ifdef DEBUG_STUB
1227    idnLogPrintf(idn_log_level_trace, "stub WSANtohs() called\n");
1228#endif
1229    if (fp == NULL) {
1230	void *p;
1231	if ((p = GetProcAddress(DLLHANDLE, "WSANtohs")) == NULL) {
1232	    FATAL("cannot find entry WSANtohs (%d)\n", GetLastError());
1233	    abort();
1234	}
1235	fp = p;
1236    }
1237    return (*fp)(a0, a1, a2);
1238}
1239
1240int   WSAAPI
1241WSAProviderConfigChange(LPHANDLE a0, LPWSAOVERLAPPED a1, LPWSAOVERLAPPED_COMPLETION_ROUTINE a2)
1242{
1243    static int   (WSAAPI *fp)(LPHANDLE a0, LPWSAOVERLAPPED a1, LPWSAOVERLAPPED_COMPLETION_ROUTINE a2);
1244
1245#ifdef DEBUG_STUB
1246    idnLogPrintf(idn_log_level_trace, "stub WSAProviderConfigChange() called\n");
1247#endif
1248    if (fp == NULL) {
1249	void *p;
1250	if ((p = GetProcAddress(DLLHANDLE, "WSAProviderConfigChange")) == NULL) {
1251	    FATAL("cannot find entry WSAProviderConfigChange (%d)\n", GetLastError());
1252	    abort();
1253	}
1254	fp = p;
1255    }
1256    return (*fp)(a0, a1, a2);
1257}
1258
1259int   WINAPI
1260WSARecv(SOCKET a0, LPWSABUF a1, DWORD a2, LPDWORD a3, LPDWORD a4, LPWSAOVERLAPPED a5, LPWSAOVERLAPPED_COMPLETION_ROUTINE a6)
1261{
1262    static int   (WINAPI *fp)(SOCKET a0, LPWSABUF a1, DWORD a2, LPDWORD a3, LPDWORD a4, LPWSAOVERLAPPED a5, LPWSAOVERLAPPED_COMPLETION_ROUTINE a6);
1263
1264#ifdef DEBUG_STUB
1265    idnLogPrintf(idn_log_level_trace, "stub WSARecv() called\n");
1266#endif
1267    if (fp == NULL) {
1268	void *p;
1269	if ((p = GetProcAddress(DLLHANDLE, "WSARecv")) == NULL) {
1270	    FATAL("cannot find entry WSARecv (%d)\n", GetLastError());
1271	    abort();
1272	}
1273	fp = p;
1274    }
1275    return (*fp)(a0, a1, a2, a3, a4, a5, a6);
1276}
1277
1278int   WINAPI
1279WSARecvDisconnect(SOCKET a0, LPWSABUF a1)
1280{
1281    static int   (WINAPI *fp)(SOCKET a0, LPWSABUF a1);
1282
1283#ifdef DEBUG_STUB
1284    idnLogPrintf(idn_log_level_trace, "stub WSARecvDisconnect() called\n");
1285#endif
1286    if (fp == NULL) {
1287	void *p;
1288	if ((p = GetProcAddress(DLLHANDLE, "WSARecvDisconnect")) == NULL) {
1289	    FATAL("cannot find entry WSARecvDisconnect (%d)\n", GetLastError());
1290	    abort();
1291	}
1292	fp = p;
1293    }
1294    return (*fp)(a0, a1);
1295}
1296
1297int   WINAPI
1298WSARecvFrom(SOCKET a0, LPWSABUF a1, DWORD a2, LPDWORD a3, LPDWORD a4, struct sockaddr * a5, LPINT a6, LPWSAOVERLAPPED a7, LPWSAOVERLAPPED_COMPLETION_ROUTINE a8)
1299{
1300    static int   (WINAPI *fp)(SOCKET a0, LPWSABUF a1, DWORD a2, LPDWORD a3, LPDWORD a4, struct sockaddr * a5, LPINT a6, LPWSAOVERLAPPED a7, LPWSAOVERLAPPED_COMPLETION_ROUTINE a8);
1301
1302#ifdef DEBUG_STUB
1303    idnLogPrintf(idn_log_level_trace, "stub WSARecvFrom() called\n");
1304#endif
1305    if (fp == NULL) {
1306	void *p;
1307	if ((p = GetProcAddress(DLLHANDLE, "WSARecvFrom")) == NULL) {
1308	    FATAL("cannot find entry WSARecvFrom (%d)\n", GetLastError());
1309	    abort();
1310	}
1311	fp = p;
1312    }
1313    return (*fp)(a0, a1, a2, a3, a4, a5, a6, a7, a8);
1314}
1315
1316INT   WINAPI
1317WSARemoveServiceClass(LPGUID a0)
1318{
1319    static INT   (WINAPI *fp)(LPGUID a0);
1320
1321#ifdef DEBUG_STUB
1322    idnLogPrintf(idn_log_level_trace, "stub WSARemoveServiceClass() called\n");
1323#endif
1324    if (fp == NULL) {
1325	void *p;
1326	if ((p = GetProcAddress(DLLHANDLE, "WSARemoveServiceClass")) == NULL) {
1327	    FATAL("cannot find entry WSARemoveServiceClass (%d)\n", GetLastError());
1328	    abort();
1329	}
1330	fp = p;
1331    }
1332    return (*fp)(a0);
1333}
1334
1335BOOL   WINAPI
1336WSAResetEvent(WSAEVENT a0)
1337{
1338    static BOOL   (WINAPI *fp)(WSAEVENT a0);
1339
1340#ifdef DEBUG_STUB
1341    idnLogPrintf(idn_log_level_trace, "stub WSAResetEvent() called\n");
1342#endif
1343    if (fp == NULL) {
1344	void *p;
1345	if ((p = GetProcAddress(DLLHANDLE, "WSAResetEvent")) == NULL) {
1346	    FATAL("cannot find entry WSAResetEvent (%d)\n", GetLastError());
1347	    abort();
1348	}
1349	fp = p;
1350    }
1351    return (*fp)(a0);
1352}
1353
1354int   WINAPI
1355WSASend(SOCKET a0, LPWSABUF a1, DWORD a2, LPDWORD a3, DWORD a4, LPWSAOVERLAPPED a5, LPWSAOVERLAPPED_COMPLETION_ROUTINE a6)
1356{
1357    static int   (WINAPI *fp)(SOCKET a0, LPWSABUF a1, DWORD a2, LPDWORD a3, DWORD a4, LPWSAOVERLAPPED a5, LPWSAOVERLAPPED_COMPLETION_ROUTINE a6);
1358
1359#ifdef DEBUG_STUB
1360    idnLogPrintf(idn_log_level_trace, "stub WSASend() called\n");
1361#endif
1362    if (fp == NULL) {
1363	void *p;
1364	if ((p = GetProcAddress(DLLHANDLE, "WSASend")) == NULL) {
1365	    FATAL("cannot find entry WSASend (%d)\n", GetLastError());
1366	    abort();
1367	}
1368	fp = p;
1369    }
1370    return (*fp)(a0, a1, a2, a3, a4, a5, a6);
1371}
1372
1373int   WINAPI
1374WSASendDisconnect(SOCKET a0, LPWSABUF a1)
1375{
1376    static int   (WINAPI *fp)(SOCKET a0, LPWSABUF a1);
1377
1378#ifdef DEBUG_STUB
1379    idnLogPrintf(idn_log_level_trace, "stub WSASendDisconnect() called\n");
1380#endif
1381    if (fp == NULL) {
1382	void *p;
1383	if ((p = GetProcAddress(DLLHANDLE, "WSASendDisconnect")) == NULL) {
1384	    FATAL("cannot find entry WSASendDisconnect (%d)\n", GetLastError());
1385	    abort();
1386	}
1387	fp = p;
1388    }
1389    return (*fp)(a0, a1);
1390}
1391
1392int   WINAPI
1393WSASendTo(SOCKET a0, LPWSABUF a1, DWORD a2, LPDWORD a3, DWORD a4, const struct sockaddr * a5, int a6, LPWSAOVERLAPPED a7, LPWSAOVERLAPPED_COMPLETION_ROUTINE a8)
1394{
1395    static int   (WINAPI *fp)(SOCKET a0, LPWSABUF a1, DWORD a2, LPDWORD a3, DWORD a4, const struct sockaddr * a5, int a6, LPWSAOVERLAPPED a7, LPWSAOVERLAPPED_COMPLETION_ROUTINE a8);
1396
1397#ifdef DEBUG_STUB
1398    idnLogPrintf(idn_log_level_trace, "stub WSASendTo() called\n");
1399#endif
1400    if (fp == NULL) {
1401	void *p;
1402	if ((p = GetProcAddress(DLLHANDLE, "WSASendTo")) == NULL) {
1403	    FATAL("cannot find entry WSASendTo (%d)\n", GetLastError());
1404	    abort();
1405	}
1406	fp = p;
1407    }
1408    return (*fp)(a0, a1, a2, a3, a4, a5, a6, a7, a8);
1409}
1410
1411BOOL   WINAPI
1412WSASetEvent(WSAEVENT a0)
1413{
1414    static BOOL   (WINAPI *fp)(WSAEVENT a0);
1415
1416#ifdef DEBUG_STUB
1417    idnLogPrintf(idn_log_level_trace, "stub WSASetEvent() called\n");
1418#endif
1419    if (fp == NULL) {
1420	void *p;
1421	if ((p = GetProcAddress(DLLHANDLE, "WSASetEvent")) == NULL) {
1422	    FATAL("cannot find entry WSASetEvent (%d)\n", GetLastError());
1423	    abort();
1424	}
1425	fp = p;
1426    }
1427    return (*fp)(a0);
1428}
1429
1430INT   WSAAPI
1431WSASetServiceA(LPWSAQUERYSETA a0, WSAESETSERVICEOP a1, DWORD a2)
1432{
1433    static INT   (WSAAPI *fp)(LPWSAQUERYSETA a0, WSAESETSERVICEOP a1, DWORD a2);
1434
1435#ifdef DEBUG_STUB
1436    idnLogPrintf(idn_log_level_trace, "stub WSASetServiceA() called\n");
1437#endif
1438    if (fp == NULL) {
1439	void *p;
1440	if ((p = GetProcAddress(DLLHANDLE, "WSASetServiceA")) == NULL) {
1441	    FATAL("cannot find entry WSASetServiceA (%d)\n", GetLastError());
1442	    abort();
1443	}
1444	fp = p;
1445    }
1446    return (*fp)(a0, a1, a2);
1447}
1448
1449INT   WINAPI
1450WSASetServiceW(LPWSAQUERYSETW a0, WSAESETSERVICEOP a1, DWORD a2)
1451{
1452    static INT   (WINAPI *fp)(LPWSAQUERYSETW a0, WSAESETSERVICEOP a1, DWORD a2);
1453
1454#ifdef DEBUG_STUB
1455    idnLogPrintf(idn_log_level_trace, "stub WSASetServiceW() called\n");
1456#endif
1457    if (fp == NULL) {
1458	void *p;
1459	if ((p = GetProcAddress(DLLHANDLE, "WSASetServiceW")) == NULL) {
1460	    FATAL("cannot find entry WSASetServiceW (%d)\n", GetLastError());
1461	    abort();
1462	}
1463	fp = p;
1464    }
1465    return (*fp)(a0, a1, a2);
1466}
1467
1468SOCKET   WINAPI
1469WSASocketA(int a0, int a1, int a2, LPWSAPROTOCOL_INFOA a3, GROUP a4, DWORD a5)
1470{
1471    static SOCKET   (WINAPI *fp)(int a0, int a1, int a2, LPWSAPROTOCOL_INFOA a3, GROUP a4, DWORD a5);
1472
1473#ifdef DEBUG_STUB
1474    idnLogPrintf(idn_log_level_trace, "stub WSASocketA() called\n");
1475#endif
1476    if (fp == NULL) {
1477	void *p;
1478	if ((p = GetProcAddress(DLLHANDLE, "WSASocketA")) == NULL) {
1479	    FATAL("cannot find entry WSASocketA (%d)\n", GetLastError());
1480	    abort();
1481	}
1482	fp = p;
1483    }
1484    return (*fp)(a0, a1, a2, a3, a4, a5);
1485}
1486
1487SOCKET   WINAPI
1488WSASocketW(int a0, int a1, int a2, LPWSAPROTOCOL_INFOW a3, GROUP a4, DWORD a5)
1489{
1490    static SOCKET   (WINAPI *fp)(int a0, int a1, int a2, LPWSAPROTOCOL_INFOW a3, GROUP a4, DWORD a5);
1491
1492#ifdef DEBUG_STUB
1493    idnLogPrintf(idn_log_level_trace, "stub WSASocketW() called\n");
1494#endif
1495    if (fp == NULL) {
1496	void *p;
1497	if ((p = GetProcAddress(DLLHANDLE, "WSASocketW")) == NULL) {
1498	    FATAL("cannot find entry WSASocketW (%d)\n", GetLastError());
1499	    abort();
1500	}
1501	fp = p;
1502    }
1503    return (*fp)(a0, a1, a2, a3, a4, a5);
1504}
1505
1506INT   WINAPI
1507WSAStringToAddressA(LPSTR a0, INT a1, LPWSAPROTOCOL_INFOA a2, LPSOCKADDR a3, LPINT a4)
1508{
1509    static INT   (WINAPI *fp)(LPSTR a0, INT a1, LPWSAPROTOCOL_INFOA a2, LPSOCKADDR a3, LPINT a4);
1510
1511#ifdef DEBUG_STUB
1512    idnLogPrintf(idn_log_level_trace, "stub WSAStringToAddressA() called\n");
1513#endif
1514    if (fp == NULL) {
1515	void *p;
1516	if ((p = GetProcAddress(DLLHANDLE, "WSAStringToAddressA")) == NULL) {
1517	    FATAL("cannot find entry WSAStringToAddressA (%d)\n", GetLastError());
1518	    abort();
1519	}
1520	fp = p;
1521    }
1522    return (*fp)(a0, a1, a2, a3, a4);
1523}
1524
1525INT   WINAPI
1526WSAStringToAddressW(LPWSTR a0, INT a1, LPWSAPROTOCOL_INFOW a2, LPSOCKADDR a3, LPINT a4)
1527{
1528    static INT   (WINAPI *fp)(LPWSTR a0, INT a1, LPWSAPROTOCOL_INFOW a2, LPSOCKADDR a3, LPINT a4);
1529
1530#ifdef DEBUG_STUB
1531    idnLogPrintf(idn_log_level_trace, "stub WSAStringToAddressW() called\n");
1532#endif
1533    if (fp == NULL) {
1534	void *p;
1535	if ((p = GetProcAddress(DLLHANDLE, "WSAStringToAddressW")) == NULL) {
1536	    FATAL("cannot find entry WSAStringToAddressW (%d)\n", GetLastError());
1537	    abort();
1538	}
1539	fp = p;
1540    }
1541    return (*fp)(a0, a1, a2, a3, a4);
1542}
1543
1544DWORD   WINAPI
1545WSAWaitForMultipleEvents(DWORD a0, const WSAEVENT * a1, BOOL a2, DWORD a3, BOOL a4)
1546{
1547    static DWORD   (WINAPI *fp)(DWORD a0, const WSAEVENT * a1, BOOL a2, DWORD a3, BOOL a4);
1548
1549#ifdef DEBUG_STUB
1550    idnLogPrintf(idn_log_level_trace, "stub WSAWaitForMultipleEvents() called\n");
1551#endif
1552    if (fp == NULL) {
1553	void *p;
1554	if ((p = GetProcAddress(DLLHANDLE, "WSAWaitForMultipleEvents")) == NULL) {
1555	    FATAL("cannot find entry WSAWaitForMultipleEvents (%d)\n", GetLastError());
1556	    abort();
1557	}
1558	fp = p;
1559    }
1560    return (*fp)(a0, a1, a2, a3, a4);
1561}
1562
1563int   WINAPI
1564WSCDeinstallProvider(LPGUID a0, LPINT a1)
1565{
1566    static int   (WINAPI *fp)(LPGUID a0, LPINT a1);
1567
1568#ifdef DEBUG_STUB
1569    idnLogPrintf(idn_log_level_trace, "stub WSCDeinstallProvider() called\n");
1570#endif
1571    if (fp == NULL) {
1572	void *p;
1573	if ((p = GetProcAddress(DLLHANDLE, "WSCDeinstallProvider")) == NULL) {
1574	    FATAL("cannot find entry WSCDeinstallProvider (%d)\n", GetLastError());
1575	    abort();
1576	}
1577	fp = p;
1578    }
1579    return (*fp)(a0, a1);
1580}
1581
1582int   WINAPI
1583WSCEnableNSProvider(LPGUID a0, BOOL a1)
1584{
1585    static int   (WINAPI *fp)(LPGUID a0, BOOL a1);
1586
1587#ifdef DEBUG_STUB
1588    idnLogPrintf(idn_log_level_trace, "stub WSCEnableNSProvider() called\n");
1589#endif
1590    if (fp == NULL) {
1591	void *p;
1592	if ((p = GetProcAddress(DLLHANDLE, "WSCEnableNSProvider")) == NULL) {
1593	    FATAL("cannot find entry WSCEnableNSProvider (%d)\n", GetLastError());
1594	    abort();
1595	}
1596	fp = p;
1597    }
1598    return (*fp)(a0, a1);
1599}
1600
1601int   WINAPI
1602WSCEnumProtocols(LPINT a0, LPWSAPROTOCOL_INFOW a1, LPDWORD a2, LPINT a3)
1603{
1604    static int   (WINAPI *fp)(LPINT a0, LPWSAPROTOCOL_INFOW a1, LPDWORD a2, LPINT a3);
1605
1606#ifdef DEBUG_STUB
1607    idnLogPrintf(idn_log_level_trace, "stub WSCEnumProtocols() called\n");
1608#endif
1609    if (fp == NULL) {
1610	void *p;
1611	if ((p = GetProcAddress(DLLHANDLE, "WSCEnumProtocols")) == NULL) {
1612	    FATAL("cannot find entry WSCEnumProtocols (%d)\n", GetLastError());
1613	    abort();
1614	}
1615	fp = p;
1616    }
1617    return (*fp)(a0, a1, a2, a3);
1618}
1619
1620int   WINAPI
1621WSCGetProviderPath(LPGUID a0, LPWSTR a1, LPINT a2, LPINT a3)
1622{
1623    static int   (WINAPI *fp)(LPGUID a0, LPWSTR a1, LPINT a2, LPINT a3);
1624
1625#ifdef DEBUG_STUB
1626    idnLogPrintf(idn_log_level_trace, "stub WSCGetProviderPath() called\n");
1627#endif
1628    if (fp == NULL) {
1629	void *p;
1630	if ((p = GetProcAddress(DLLHANDLE, "WSCGetProviderPath")) == NULL) {
1631	    FATAL("cannot find entry WSCGetProviderPath (%d)\n", GetLastError());
1632	    abort();
1633	}
1634	fp = p;
1635    }
1636    return (*fp)(a0, a1, a2, a3);
1637}
1638
1639int   WINAPI
1640WSCInstallNameSpace(LPWSTR a0, LPWSTR a1, DWORD a2, DWORD a3, LPGUID a4)
1641{
1642    static int   (WINAPI *fp)(LPWSTR a0, LPWSTR a1, DWORD a2, DWORD a3, LPGUID a4);
1643
1644#ifdef DEBUG_STUB
1645    idnLogPrintf(idn_log_level_trace, "stub WSCInstallNameSpace() called\n");
1646#endif
1647    if (fp == NULL) {
1648	void *p;
1649	if ((p = GetProcAddress(DLLHANDLE, "WSCInstallNameSpace")) == NULL) {
1650	    FATAL("cannot find entry WSCInstallNameSpace (%d)\n", GetLastError());
1651	    abort();
1652	}
1653	fp = p;
1654    }
1655    return (*fp)(a0, a1, a2, a3, a4);
1656}
1657
1658int   WINAPI
1659WSCInstallProvider(const LPGUID a0, const LPWSTR a1, const LPWSAPROTOCOL_INFOW a2, DWORD a3, LPINT a4)
1660{
1661    static int   (WINAPI *fp)(const LPGUID a0, const LPWSTR a1, const LPWSAPROTOCOL_INFOW a2, DWORD a3, LPINT a4);
1662
1663#ifdef DEBUG_STUB
1664    idnLogPrintf(idn_log_level_trace, "stub WSCInstallProvider() called\n");
1665#endif
1666    if (fp == NULL) {
1667	void *p;
1668	if ((p = GetProcAddress(DLLHANDLE, "WSCInstallProvider")) == NULL) {
1669	    FATAL("cannot find entry WSCInstallProvider (%d)\n", GetLastError());
1670	    abort();
1671	}
1672	fp = p;
1673    }
1674    return (*fp)(a0, a1, a2, a3, a4);
1675}
1676
1677int   WINAPI
1678WSCUnInstallNameSpace(LPGUID a0)
1679{
1680    static int   (WINAPI *fp)(LPGUID a0);
1681
1682#ifdef DEBUG_STUB
1683    idnLogPrintf(idn_log_level_trace, "stub WSCUnInstallNameSpace() called\n");
1684#endif
1685    if (fp == NULL) {
1686	void *p;
1687	if ((p = GetProcAddress(DLLHANDLE, "WSCUnInstallNameSpace")) == NULL) {
1688	    FATAL("cannot find entry WSCUnInstallNameSpace (%d)\n", GetLastError());
1689	    abort();
1690	}
1691	fp = p;
1692    }
1693    return (*fp)(a0);
1694}
1695
1696int   PASCAL
1697WSAAsyncSelect(SOCKET a0, HWND a1, u_int a2, long a3)
1698{
1699    static int   (PASCAL *fp)(SOCKET a0, HWND a1, u_int a2, long a3);
1700
1701#ifdef DEBUG_STUB
1702    idnLogPrintf(idn_log_level_trace, "stub WSAAsyncSelect() called\n");
1703#endif
1704    if (fp == NULL) {
1705	void *p;
1706	if ((p = GetProcAddress(DLLHANDLE, "WSAAsyncSelect")) == NULL) {
1707	    FATAL("cannot find entry WSAAsyncSelect (%d)\n", GetLastError());
1708	    abort();
1709	}
1710	fp = p;
1711    }
1712    return (*fp)(a0, a1, a2, a3);
1713}
1714
1715HANDLE   PASCAL
1716_org_WSAAsyncGetHostByAddr(HWND a0, u_int a1, const char* a2, int a3, int a4, char* a5, int a6)
1717{
1718    static HANDLE   (PASCAL *fp)(HWND a0, u_int a1, const char* a2, int a3, int a4, char* a5, int a6);
1719
1720#ifdef DEBUG_STUB
1721    idnLogPrintf(idn_log_level_trace, "stub _org_WSAAsyncGetHostByAddr() called\n");
1722#endif
1723    if (fp == NULL) {
1724	void *p;
1725	if ((p = GetProcAddress(DLLHANDLE, "WSAAsyncGetHostByAddr")) == NULL) {
1726	    FATAL("cannot find entry WSAAsyncGetHostByAddr (%d)\n", GetLastError());
1727	    abort();
1728	}
1729	fp = p;
1730    }
1731    return (*fp)(a0, a1, a2, a3, a4, a5, a6);
1732}
1733
1734HANDLE   PASCAL
1735_org_WSAAsyncGetHostByName(HWND a0, u_int a1, const char* a2, char* a3, int a4)
1736{
1737    static HANDLE   (PASCAL *fp)(HWND a0, u_int a1, const char* a2, char* a3, int a4);
1738
1739#ifdef DEBUG_STUB
1740    idnLogPrintf(idn_log_level_trace, "stub _org_WSAAsyncGetHostByName() called\n");
1741#endif
1742    if (fp == NULL) {
1743	void *p;
1744	if ((p = GetProcAddress(DLLHANDLE, "WSAAsyncGetHostByName")) == NULL) {
1745	    FATAL("cannot find entry WSAAsyncGetHostByName (%d)\n", GetLastError());
1746	    abort();
1747	}
1748	fp = p;
1749    }
1750    return (*fp)(a0, a1, a2, a3, a4);
1751}
1752
1753HANDLE   PASCAL
1754WSAAsyncGetProtoByNumber(HWND a0, u_int a1, int a2, char* a3, int a4)
1755{
1756    static HANDLE   (PASCAL *fp)(HWND a0, u_int a1, int a2, char* a3, int a4);
1757
1758#ifdef DEBUG_STUB
1759    idnLogPrintf(idn_log_level_trace, "stub WSAAsyncGetProtoByNumber() called\n");
1760#endif
1761    if (fp == NULL) {
1762	void *p;
1763	if ((p = GetProcAddress(DLLHANDLE, "WSAAsyncGetProtoByNumber")) == NULL) {
1764	    FATAL("cannot find entry WSAAsyncGetProtoByNumber (%d)\n", GetLastError());
1765	    abort();
1766	}
1767	fp = p;
1768    }
1769    return (*fp)(a0, a1, a2, a3, a4);
1770}
1771
1772HANDLE   PASCAL
1773WSAAsyncGetProtoByName(HWND a0, u_int a1, const char* a2, char* a3, int a4)
1774{
1775    static HANDLE   (PASCAL *fp)(HWND a0, u_int a1, const char* a2, char* a3, int a4);
1776
1777#ifdef DEBUG_STUB
1778    idnLogPrintf(idn_log_level_trace, "stub WSAAsyncGetProtoByName() called\n");
1779#endif
1780    if (fp == NULL) {
1781	void *p;
1782	if ((p = GetProcAddress(DLLHANDLE, "WSAAsyncGetProtoByName")) == NULL) {
1783	    FATAL("cannot find entry WSAAsyncGetProtoByName (%d)\n", GetLastError());
1784	    abort();
1785	}
1786	fp = p;
1787    }
1788    return (*fp)(a0, a1, a2, a3, a4);
1789}
1790
1791HANDLE   PASCAL
1792WSAAsyncGetServByPort(HWND a0, u_int a1, int a2, const char* a3, char* a4, int a5)
1793{
1794    static HANDLE   (PASCAL *fp)(HWND a0, u_int a1, int a2, const char* a3, char* a4, int a5);
1795
1796#ifdef DEBUG_STUB
1797    idnLogPrintf(idn_log_level_trace, "stub WSAAsyncGetServByPort() called\n");
1798#endif
1799    if (fp == NULL) {
1800	void *p;
1801	if ((p = GetProcAddress(DLLHANDLE, "WSAAsyncGetServByPort")) == NULL) {
1802	    FATAL("cannot find entry WSAAsyncGetServByPort (%d)\n", GetLastError());
1803	    abort();
1804	}
1805	fp = p;
1806    }
1807    return (*fp)(a0, a1, a2, a3, a4, a5);
1808}
1809
1810HANDLE   PASCAL
1811WSAAsyncGetServByName(HWND a0, u_int a1, const char* a2, const char* a3, char* a4, int a5)
1812{
1813    static HANDLE   (PASCAL *fp)(HWND a0, u_int a1, const char* a2, const char* a3, char* a4, int a5);
1814
1815#ifdef DEBUG_STUB
1816    idnLogPrintf(idn_log_level_trace, "stub WSAAsyncGetServByName() called\n");
1817#endif
1818    if (fp == NULL) {
1819	void *p;
1820	if ((p = GetProcAddress(DLLHANDLE, "WSAAsyncGetServByName")) == NULL) {
1821	    FATAL("cannot find entry WSAAsyncGetServByName (%d)\n", GetLastError());
1822	    abort();
1823	}
1824	fp = p;
1825    }
1826    return (*fp)(a0, a1, a2, a3, a4, a5);
1827}
1828
1829int   PASCAL
1830WSACancelAsyncRequest(HANDLE a0)
1831{
1832    static int   (PASCAL *fp)(HANDLE a0);
1833
1834#ifdef DEBUG_STUB
1835    idnLogPrintf(idn_log_level_trace, "stub WSACancelAsyncRequest() called\n");
1836#endif
1837    if (fp == NULL) {
1838	void *p;
1839	if ((p = GetProcAddress(DLLHANDLE, "WSACancelAsyncRequest")) == NULL) {
1840	    FATAL("cannot find entry WSACancelAsyncRequest (%d)\n", GetLastError());
1841	    abort();
1842	}
1843	fp = p;
1844    }
1845    return (*fp)(a0);
1846}
1847
1848FARPROC   PASCAL
1849WSASetBlockingHook(FARPROC a0)
1850{
1851    static FARPROC   (PASCAL *fp)(FARPROC a0);
1852
1853#ifdef DEBUG_STUB
1854    idnLogPrintf(idn_log_level_trace, "stub WSASetBlockingHook() called\n");
1855#endif
1856    if (fp == NULL) {
1857	void *p;
1858	if ((p = GetProcAddress(DLLHANDLE, "WSASetBlockingHook")) == NULL) {
1859	    FATAL("cannot find entry WSASetBlockingHook (%d)\n", GetLastError());
1860	    abort();
1861	}
1862	fp = p;
1863    }
1864    return (*fp)(a0);
1865}
1866
1867int   PASCAL
1868WSAUnhookBlockingHook(void)
1869{
1870    static int   (PASCAL *fp)(void);
1871
1872#ifdef DEBUG_STUB
1873    idnLogPrintf(idn_log_level_trace, "stub WSAUnhookBlockingHook() called\n");
1874#endif
1875    if (fp == NULL) {
1876	void *p;
1877	if ((p = GetProcAddress(DLLHANDLE, "WSAUnhookBlockingHook")) == NULL) {
1878	    FATAL("cannot find entry WSAUnhookBlockingHook (%d)\n", GetLastError());
1879	    abort();
1880	}
1881	fp = p;
1882    }
1883    return (*fp)();
1884}
1885
1886int   PASCAL
1887WSAGetLastError(void)
1888{
1889    static int   (PASCAL *fp)(void);
1890
1891#ifdef DEBUG_STUB
1892    idnLogPrintf(idn_log_level_trace, "stub WSAGetLastError() called\n");
1893#endif
1894    if (fp == NULL) {
1895	void *p;
1896	if ((p = GetProcAddress(DLLHANDLE, "WSAGetLastError")) == NULL) {
1897	    FATAL("cannot find entry WSAGetLastError (%d)\n", GetLastError());
1898	    abort();
1899	}
1900	fp = p;
1901    }
1902    return (*fp)();
1903}
1904
1905void   PASCAL
1906WSASetLastError(int a0)
1907{
1908    static void   (PASCAL *fp)(int a0);
1909
1910#ifdef DEBUG_STUB
1911    idnLogPrintf(idn_log_level_trace, "stub WSASetLastError() called\n");
1912#endif
1913    if (fp == NULL) {
1914	void *p;
1915	if ((p = GetProcAddress(DLLHANDLE, "WSASetLastError")) == NULL) {
1916	    FATAL("cannot find entry WSASetLastError (%d)\n", GetLastError());
1917	    abort();
1918	}
1919	fp = p;
1920    }
1921     (*fp)(a0);
1922}
1923
1924int   PASCAL
1925WSACancelBlockingCall(void)
1926{
1927    static int   (PASCAL *fp)(void);
1928
1929#ifdef DEBUG_STUB
1930    idnLogPrintf(idn_log_level_trace, "stub WSACancelBlockingCall() called\n");
1931#endif
1932    if (fp == NULL) {
1933	void *p;
1934	if ((p = GetProcAddress(DLLHANDLE, "WSACancelBlockingCall")) == NULL) {
1935	    FATAL("cannot find entry WSACancelBlockingCall (%d)\n", GetLastError());
1936	    abort();
1937	}
1938	fp = p;
1939    }
1940    return (*fp)();
1941}
1942
1943BOOL   PASCAL
1944WSAIsBlocking(void)
1945{
1946    static BOOL   (PASCAL *fp)(void);
1947
1948#ifdef DEBUG_STUB
1949    idnLogPrintf(idn_log_level_trace, "stub WSAIsBlocking() called\n");
1950#endif
1951    if (fp == NULL) {
1952	void *p;
1953	if ((p = GetProcAddress(DLLHANDLE, "WSAIsBlocking")) == NULL) {
1954	    FATAL("cannot find entry WSAIsBlocking (%d)\n", GetLastError());
1955	    abort();
1956	}
1957	fp = p;
1958    }
1959    return (*fp)();
1960}
1961
1962int   PASCAL
1963WSAStartup(WORD a0, LPWSADATA a1)
1964{
1965    static int   (PASCAL *fp)(WORD a0, LPWSADATA a1);
1966
1967#ifdef DEBUG_STUB
1968    idnLogPrintf(idn_log_level_trace, "stub WSAStartup() called\n");
1969#endif
1970    if (fp == NULL) {
1971	void *p;
1972	if ((p = GetProcAddress(DLLHANDLE, "WSAStartup")) == NULL) {
1973	    FATAL("cannot find entry WSAStartup (%d)\n", GetLastError());
1974	    abort();
1975	}
1976	fp = p;
1977    }
1978    return (*fp)(a0, a1);
1979}
1980
1981int   PASCAL
1982WSACleanup(void)
1983{
1984    static int   (PASCAL *fp)(void);
1985
1986#ifdef DEBUG_STUB
1987    idnLogPrintf(idn_log_level_trace, "stub WSACleanup() called\n");
1988#endif
1989    if (fp == NULL) {
1990	void *p;
1991	if ((p = GetProcAddress(DLLHANDLE, "WSACleanup")) == NULL) {
1992	    FATAL("cannot find entry WSACleanup (%d)\n", GetLastError());
1993	    abort();
1994	}
1995	fp = p;
1996    }
1997    return (*fp)();
1998}
1999
2000int   PASCAL
2001__WSAFDIsSet(SOCKET a0, fd_set* a1)
2002{
2003    static int   (PASCAL *fp)(SOCKET a0, fd_set* a1);
2004
2005#ifdef DEBUG_STUB
2006    idnLogPrintf(idn_log_level_trace, "stub __WSAFDIsSet() called\n");
2007#endif
2008    if (fp == NULL) {
2009	void *p;
2010	if ((p = GetProcAddress(DLLHANDLE, "__WSAFDIsSet")) == NULL) {
2011	    FATAL("cannot find entry __WSAFDIsSet (%d)\n", GetLastError());
2012	    abort();
2013	}
2014	fp = p;
2015    }
2016    return (*fp)(a0, a1);
2017}
2018
2019int  PASCAL
2020WEP(void)
2021{
2022    static int  (PASCAL *fp)(void);
2023
2024#ifdef DEBUG_STUB
2025    idnLogPrintf(idn_log_level_trace, "stub WEP() called\n");
2026#endif
2027    if (fp == NULL) {
2028	void *p;
2029	if ((p = GetProcAddress(DLLHANDLE, "WEP")) == NULL) {
2030	    FATAL("cannot find entry WEP (%d)\n", GetLastError());
2031	    abort();
2032	}
2033	fp = p;
2034    }
2035    return (*fp)();
2036}
2037
2038int  PASCAL
2039WSCWriteNameSpaceOrder(int a0, int a1)
2040{
2041    static int  (PASCAL *fp)(int a0, int a1);
2042
2043#ifdef DEBUG_STUB
2044    idnLogPrintf(idn_log_level_trace, "stub WSCWriteNameSpaceOrder() called\n");
2045#endif
2046    if (fp == NULL) {
2047	void *p;
2048	if ((p = GetProcAddress(DLLHANDLE, "WSCWriteNameSpaceOrder")) == NULL) {
2049	    FATAL("cannot find entry WSCWriteNameSpaceOrder (%d)\n", GetLastError());
2050	    abort();
2051	}
2052	fp = p;
2053    }
2054    return (*fp)(a0, a1);
2055}
2056
2057int   PASCAL
2058WSCWriteProviderOrder(LPDWORD a0, DWORD a1)
2059{
2060    static int   (PASCAL *fp)(LPDWORD a0, DWORD a1);
2061
2062#ifdef DEBUG_STUB
2063    idnLogPrintf(idn_log_level_trace, "stub WSCWriteProviderOrder() called\n");
2064#endif
2065    if (fp == NULL) {
2066	void *p;
2067	if ((p = GetProcAddress(DLLHANDLE, "WSCWriteProviderOrder")) == NULL) {
2068	    FATAL("cannot find entry WSCWriteProviderOrder (%d)\n", GetLastError());
2069	    abort();
2070	}
2071	fp = p;
2072    }
2073    return (*fp)(a0, a1);
2074}
2075
2076int   PASCAL
2077WSANSPIoctl(HANDLE a0, DWORD a1, LPVOID a2, DWORD a3, LPVOID a4, DWORD a5, LPDWORD a6, LPVOID a7)
2078{
2079    static int   (PASCAL *fp)(HANDLE a0, DWORD a1, LPVOID a2, DWORD a3, LPVOID a4, DWORD a5, LPDWORD a6, LPVOID a7);
2080
2081#ifdef DEBUG_STUB
2082    idnLogPrintf(idn_log_level_trace, "stub WSANSPIoctl() called\n");
2083#endif
2084    if (fp == NULL) {
2085	void *p;
2086	if ((p = GetProcAddress(DLLHANDLE, "WSANSPIoctl")) == NULL) {
2087	    FATAL("cannot find entry WSANSPIoctl (%d)\n", GetLastError());
2088	    abort();
2089	}
2090	fp = p;
2091    }
2092    return (*fp)(a0, a1, a2, a3, a4, a5, a6, a7);
2093}
2094
2095int   PASCAL
2096WSCUpdateProvider(LPGUID a0, const WCHAR FAR* a1, const LPVOID a2, DWORD a3, LPINT a4)
2097{
2098    static int   (PASCAL *fp)(LPGUID a0, const WCHAR FAR* a1, const LPVOID a2, DWORD a3, LPINT a4);
2099
2100#ifdef DEBUG_STUB
2101    idnLogPrintf(idn_log_level_trace, "stub WSCUpdateProvider() called\n");
2102#endif
2103    if (fp == NULL) {
2104	void *p;
2105	if ((p = GetProcAddress(DLLHANDLE, "WSCUpdateProvider")) == NULL) {
2106	    FATAL("cannot find entry WSCUpdateProvider (%d)\n", GetLastError());
2107	    abort();
2108	}
2109	fp = p;
2110    }
2111    return (*fp)(a0, a1, a2, a3, a4);
2112}
2113
2114int   PASCAL
2115_org_getaddrinfo(const char* a0, const char* a1, LPVOID a2, LPVOID a3)
2116{
2117    static int   (PASCAL *fp)(const char* a0, const char* a1, LPVOID a2, LPVOID a3);
2118
2119#ifdef DEBUG_STUB
2120    idnLogPrintf(idn_log_level_trace, "stub _org_getaddrinfo() called\n");
2121#endif
2122    if (fp == NULL) {
2123	void *p;
2124	if ((p = GetProcAddress(DLLHANDLE, "getaddrinfo")) == NULL) {
2125	    FATAL("cannot find entry getaddrinfo (%d)\n", GetLastError());
2126	    abort();
2127	}
2128	fp = p;
2129    }
2130    return (*fp)(a0, a1, a2, a3);
2131}
2132
2133void   PASCAL
2134_org_freeaddrinfo(LPVOID a0)
2135{
2136    static void   (PASCAL *fp)(LPVOID a0);
2137
2138#ifdef DEBUG_STUB
2139    idnLogPrintf(idn_log_level_trace, "stub _org_freeaddrinfo() called\n");
2140#endif
2141    if (fp == NULL) {
2142	void *p;
2143	if ((p = GetProcAddress(DLLHANDLE, "freeaddrinfo")) == NULL) {
2144	    FATAL("cannot find entry freeaddrinfo (%d)\n", GetLastError());
2145	    abort();
2146	}
2147	fp = p;
2148    }
2149     (*fp)(a0);
2150}
2151
2152int   PASCAL
2153_org_getnameinfo(LPVOID a0, DWORD a1, char* a2, DWORD a3, char* a4, DWORD a5, int a6)
2154{
2155    static int   (PASCAL *fp)(LPVOID a0, DWORD a1, char* a2, DWORD a3, char* a4, DWORD a5, int a6);
2156
2157#ifdef DEBUG_STUB
2158    idnLogPrintf(idn_log_level_trace, "stub _org_getnameinfo() called\n");
2159#endif
2160    if (fp == NULL) {
2161	void *p;
2162	if ((p = GetProcAddress(DLLHANDLE, "getnameinfo")) == NULL) {
2163	    FATAL("cannot find entry getnameinfo (%d)\n", GetLastError());
2164	    abort();
2165	}
2166	fp = p;
2167    }
2168    return (*fp)(a0, a1, a2, a3, a4, a5, a6);
2169}
2170
2171