ReactOS 0.4.16-dev-1946-g52006dd
winsock.h
Go to the documentation of this file.
1/*
2 Definitions for winsock 1.1
3
4 Portions Copyright (c) 1980, 1983, 1988, 1993
5 The Regents of the University of California. All rights reserved.
6
7 Portions Copyright (c) 1993 by Digital Equipment Corporation.
8 */
9
10#pragma once
11
12#define _WINSOCKAPI_
13
14#ifndef _INC_WINDOWS
15#include <windows.h>
16#endif
17
18#define _GNU_H_WINDOWS32_SOCKETS
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24#if !defined ( _BSDTYPES_DEFINED )
25
26/* also defined in gmon.h and in cygwin's sys/types */
27typedef unsigned char u_char;
28typedef unsigned short u_short;
29typedef unsigned int u_int;
30
31#ifndef __ROS_LONG64__
32typedef unsigned long u_long;
33#else
34typedef unsigned int u_long;
35#endif
36
37#define _BSDTYPES_DEFINED
38
39#endif /* !defined ( _BSDTYPES_DEFINED ) */
40
42
43#ifndef FD_SETSIZE
44#define FD_SETSIZE 64
45#endif
46
47/* shutdown() how types */
48#define SD_RECEIVE 0x00
49#define SD_SEND 0x01
50#define SD_BOTH 0x02
51
52#ifndef _SYS_TYPES_FD_SET
53
54/* fd_set may have be defined by the newlib <sys/types.h>
55 * if __USE_W32_SOCKETS not defined.
56 */
57#ifdef fd_set
58#undef fd_set
59#endif
60typedef struct fd_set {
64
66
67#ifndef FD_CLR
68#define FD_CLR(fd,set) do { u_int __i;\
69for (__i = 0; __i < ((fd_set FAR*)(set))->fd_count ; __i++) {\
70 if (((fd_set FAR*)(set))->fd_array[__i] == (fd)) {\
71 while (__i < ((fd_set FAR*)(set))->fd_count-1) {\
72 ((fd_set FAR*)(set))->fd_array[__i] = ((fd_set FAR*)(set))->fd_array[__i+1];\
73 __i++;\
74 }\
75 ((fd_set FAR*)(set))->fd_count--;\
76 break;\
77 }\
78}\
79} while (0)
80#endif /* FD_CLR */
81
82#ifndef FD_SET
83#define FD_SET(fd, set) do { \
84 if (((fd_set FAR*)(set))->fd_count < FD_SETSIZE) \
85 ((fd_set FAR*)(set))->fd_array[((fd_set FAR*)(set))->fd_count++]=(fd);\
86}while (0)
87#endif
88
89#ifndef FD_ZERO
90#define FD_ZERO(set) (((fd_set FAR*)(set))->fd_count=0)
91#endif
92
93#ifndef FD_ISSET
94#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR*)(set))
95#endif
96
97
98
99#elif !defined(USE_SYS_TYPES_FD_SET)
100#warning "fd_set and associated macros have been defined in sys/types. \
101 This can cause runtime problems with W32 sockets"
102#endif /* ndef _SYS_TYPES_FD_SET */
103
104#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
105
106#ifndef _TIMEVAL_DEFINED /* also in sys/time.h */
107#define _TIMEVAL_DEFINED
108
109struct timeval {
112};
113
114#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
115
116#define timercmp(tvp, uvp, cmp) \
117 (((tvp)->tv_sec != (uvp)->tv_sec) ? \
118 ((tvp)->tv_sec cmp (uvp)->tv_sec) : \
119 ((tvp)->tv_usec cmp (uvp)->tv_usec))
120
121#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
122
123#endif /* _TIMEVAL_DEFINED */
124
125#define h_addr h_addr_list[0]
126
127struct hostent {
128 char *h_name;
129 char **h_aliases;
131 short h_length;
133};
134
135struct linger {
138};
139
140#define _IO(x,y) (IOC_VOID|((x)<<8)|(y))
141#define _IOR(x,y,t) (IOC_OUT|(((LONG)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
142#define _IOW(x,y,t) (IOC_IN|(((LONG)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
143#define FIONBIO _IOW('f', 126, u_long)
144
145struct netent {
146 char * n_name;
147 char **n_aliases;
150};
151
152struct servent {
153 char *s_name;
154 char **s_aliases;
155#ifdef _WIN64
156 char *s_proto;
157 short s_port;
158#else
159 short s_port;
160 char *s_proto;
161#endif
162};
163
164struct protoent {
165 char *p_name;
166 char **p_aliases;
167 short p_proto;
168};
169
170#define IP_OPTIONS 1
171
172#define SO_DEBUG 1
173#define SO_ACCEPTCONN 2
174#define SO_REUSEADDR 4
175#define SO_KEEPALIVE 8
176#define SO_DONTROUTE 16
177#define SO_BROADCAST 32
178#define SO_USELOOPBACK 64
179#define SO_LINGER 128
180#define SO_OOBINLINE 256
181#define SO_DONTLINGER (u_int)(~SO_LINGER)
182#define SO_SNDBUF 0x1001
183#define SO_RCVBUF 0x1002
184#define SO_SNDLOWAT 0x1003
185#define SO_RCVLOWAT 0x1004
186#define SO_SNDTIMEO 0x1005
187#define SO_RCVTIMEO 0x1006
188#define SO_ERROR 0x1007
189#define SO_TYPE 0x1008
190
191#define SO_CONNDATA 0x7000
192#define SO_CONNOPT 0x7001
193#define SO_DISCDATA 0x7002
194#define SO_DISCOPT 0x7003
195#define SO_CONNDATALEN 0x7004
196#define SO_CONNOPTLEN 0x7005
197#define SO_DISCDATALEN 0x7006
198#define SO_DISCOPTLEN 0x7007
199#define SO_OPENTYPE 0x7008
200#define SO_MAXDG 0x7009
201#define SO_MAXPATHDG 0x700A
202#define SO_UPDATE_ACCEPT_CONTEXT 0x700B
203#define SO_CONNECT_TIME 0x700C
204
205#define SO_SYNCHRONOUS_ALERT 0x10
206#define SO_SYNCHRONOUS_NONALERT 0x20
207
208#define AF_MAX 24
209
210struct sockaddr {
212 char sa_data[14];
213};
214
215#define MSG_OOB 1
216#define MSG_PEEK 2
217#define MSG_DONTROUTE 4
218
219#define h_errno WSAGetLastError()
220#define HOST_NOT_FOUND WSAHOST_NOT_FOUND
221#define TRY_AGAIN WSATRY_AGAIN
222#define NO_RECOVERY WSANO_RECOVERY
223#define NO_DATA WSANO_DATA
224#define NO_ADDRES WSANO_ADDRESS
225
230int PASCAL select(int nfds,fd_set*,fd_set*,fd_set*,const struct timeval*);
231int PASCAL gethostname(char*,int);
232
233#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
234
235#define IOCPARM_MASK 0x7f
236#define IOC_VOID 0x20000000
237#define IOC_OUT 0x40000000
238#define IOC_IN 0x80000000
239#define IOC_INOUT (IOC_IN|IOC_OUT)
240
241#define FIONREAD _IOR('f', 127, u_long)
242#define FIOASYNC _IOW('f', 125, u_long)
243#define SIOCSHIWAT _IOW('s', 0, u_long)
244#define SIOCGHIWAT _IOR('s', 1, u_long)
245#define SIOCSLOWAT _IOW('s', 2, u_long)
246#define SIOCGLOWAT _IOR('s', 3, u_long)
247#define SIOCATMARK _IOR('s', 7, u_long)
248
249#define IPPROTO_IP 0
250#define IPPROTO_ICMP 1
251#define IPPROTO_IGMP 2
252#define IPPROTO_GGP 3
253#define IPPROTO_TCP 6
254#define IPPROTO_PUP 12
255#define IPPROTO_UDP 17
256#define IPPROTO_IDP 22
257#define IPPROTO_ND 77
258#define IPPROTO_RAW 255
259#define IPPROTO_MAX 256
260#define IPPORT_ECHO 7
261#define IPPORT_DISCARD 9
262#define IPPORT_SYSTAT 11
263#define IPPORT_DAYTIME 13
264#define IPPORT_NETSTAT 15
265#define IPPORT_FTP 21
266#define IPPORT_TELNET 23
267#define IPPORT_SMTP 25
268#define IPPORT_TIMESERVER 37
269#define IPPORT_NAMESERVER 42
270#define IPPORT_WHOIS 43
271#define IPPORT_MTP 57
272#define IPPORT_TFTP 69
273#define IPPORT_RJE 77
274#define IPPORT_FINGER 79
275#define IPPORT_TTYLINK 87
276#define IPPORT_SUPDUP 95
277#define IPPORT_EXECSERVER 512
278#define IPPORT_LOGINSERVER 513
279#define IPPORT_CMDSERVER 514
280#define IPPORT_EFSSERVER 520
281#define IPPORT_BIFFUDP 512
282#define IPPORT_WHOSERVER 513
283#define IPPORT_ROUTESERVER 520
284#define IPPORT_RESERVED 1024
285#define IMPLINK_IP 155
286#define IMPLINK_LOWEXPER 156
287#define IMPLINK_HIGHEXPER 158
288
289#include <inaddr.h>
290
291#define IN_CLASSA(i) ((LONG)(i)&0x80000000)
292#define IN_CLASSA_NET 0xff000000
293#define IN_CLASSA_NSHIFT 24
294#define IN_CLASSA_HOST 0x00ffffff
295#define IN_CLASSA_MAX 128
296#define IN_CLASSB(i) (((LONG)(i)&0xc0000000)==0x80000000)
297#define IN_CLASSB_NET 0xffff0000
298#define IN_CLASSB_NSHIFT 16
299#define IN_CLASSB_HOST 0x0000ffff
300#define IN_CLASSB_MAX 65536
301#define IN_CLASSC(i) (((LONG)(i)&0xe0000000)==0xc0000000)
302#define IN_CLASSC_NET 0xffffff00
303#define IN_CLASSC_NSHIFT 8
304#define IN_CLASSC_HOST 0xff
305#define INADDR_ANY (u_long)0
306#define INADDR_LOOPBACK 0x7f000001
307#define INADDR_BROADCAST (u_long)0xffffffff
308#define INADDR_NONE 0xffffffff
309
310#define WSADESCRIPTION_LEN 256
311#define WSASYS_STATUS_LEN 128
312
313#define IP_MULTICAST_IF 2
314#define IP_MULTICAST_TTL 3
315#define IP_MULTICAST_LOOP 4
316#define IP_ADD_MEMBERSHIP 5
317#define IP_DROP_MEMBERSHIP 6
318#define IP_TTL 7
319#define IP_TOS 8
320#define IP_DONTFRAGMENT 9
321
322#define IP_DEFAULT_MULTICAST_TTL 1
323#define IP_DEFAULT_MULTICAST_LOOP 1
324#define IP_MAX_MEMBERSHIPS 20
325
326#define INVALID_SOCKET (SOCKET)(~0)
327#define SOCKET_ERROR (-1)
328
329#define SOCK_STREAM 1
330#define SOCK_DGRAM 2
331#define SOCK_RAW 3
332#define SOCK_RDM 4
333#define SOCK_SEQPACKET 5
334
335#define TCP_NODELAY 0x0001
336#define TCP_BSDURGENT 0x7000
337
338#define AF_UNSPEC 0
339#define AF_UNIX 1
340#define AF_INET 2
341#define AF_IMPLINK 3
342#define AF_PUP 4
343#define AF_CHAOS 5
344#define AF_IPX 6
345#define AF_NS 6
346#define AF_ISO 7
347#define AF_OSI AF_ISO
348#define AF_ECMA 8
349#define AF_DATAKIT 9
350#define AF_CCITT 10
351#define AF_SNA 11
352#define AF_DECnet 12
353#define AF_DLI 13
354#define AF_LAT 14
355#define AF_HYLINK 15
356#define AF_APPLETALK 16
357#define AF_NETBIOS 17
358#define AF_VOICEVIEW 18
359#define AF_FIREFOX 19
360#define AF_UNKNOWN1 20
361#define AF_BAN 21
362#define AF_ATM 22
363#define AF_INET6 23
364
365#define PF_UNSPEC AF_UNSPEC
366#define PF_UNIX AF_UNIX
367#define PF_INET AF_INET
368#define PF_IMPLINK AF_IMPLINK
369#define PF_PUP AF_PUP
370#define PF_CHAOS AF_CHAOS
371#define PF_NS AF_NS
372#define PF_IPX AF_IPX
373#define PF_ISO AF_ISO
374#define PF_OSI AF_OSI
375#define PF_ECMA AF_ECMA
376#define PF_DATAKIT AF_DATAKIT
377#define PF_CCITT AF_CCITT
378#define PF_SNA AF_SNA
379#define PF_DECnet AF_DECnet
380#define PF_DLI AF_DLI
381#define PF_LAT AF_LAT
382#define PF_HYLINK AF_HYLINK
383#define PF_APPLETALK AF_APPLETALK
384#define PF_VOICEVIEW AF_VOICEVIEW
385#define PF_FIREFOX AF_FIREFOX
386#define PF_UNKNOWN1 AF_UNKNOWN1
387#define PF_BAN AF_BAN
388#define PF_ATM AF_ATM
389#define PF_INET6 AF_INET6
390#define PF_MAX AF_MAX
391
392#define SOL_SOCKET 0xffff
393#define SOMAXCONN 5
394
395#define MSG_MAXIOVLEN 16
396#define MSG_PARTIAL 0x8000
397#define MAXGETHOSTSTRUCT 1024
398
399#define FD_READ 1
400#define FD_WRITE 2
401#define FD_OOB 4
402#define FD_ACCEPT 8
403#define FD_CONNECT 16
404#define FD_CLOSE 32
405
406#ifndef WSABASEERR
407
408#define WSABASEERR 10000
409#define WSAEINTR (WSABASEERR+4)
410#define WSAEBADF (WSABASEERR+9)
411#define WSAEACCES (WSABASEERR+13)
412#define WSAEFAULT (WSABASEERR+14)
413#define WSAEINVAL (WSABASEERR+22)
414#define WSAEMFILE (WSABASEERR+24)
415#define WSAEWOULDBLOCK (WSABASEERR+35)
416#define WSAEINPROGRESS (WSABASEERR+36)
417#define WSAEALREADY (WSABASEERR+37)
418#define WSAENOTSOCK (WSABASEERR+38)
419#define WSAEDESTADDRREQ (WSABASEERR+39)
420#define WSAEMSGSIZE (WSABASEERR+40)
421#define WSAEPROTOTYPE (WSABASEERR+41)
422#define WSAENOPROTOOPT (WSABASEERR+42)
423#define WSAEPROTONOSUPPORT (WSABASEERR+43)
424#define WSAESOCKTNOSUPPORT (WSABASEERR+44)
425#define WSAEOPNOTSUPP (WSABASEERR+45)
426#define WSAEPFNOSUPPORT (WSABASEERR+46)
427#define WSAEAFNOSUPPORT (WSABASEERR+47)
428#define WSAEADDRINUSE (WSABASEERR+48)
429#define WSAEADDRNOTAVAIL (WSABASEERR+49)
430#define WSAENETDOWN (WSABASEERR+50)
431#define WSAENETUNREACH (WSABASEERR+51)
432#define WSAENETRESET (WSABASEERR+52)
433#define WSAECONNABORTED (WSABASEERR+53)
434#define WSAECONNRESET (WSABASEERR+54)
435#define WSAENOBUFS (WSABASEERR+55)
436#define WSAEISCONN (WSABASEERR+56)
437#define WSAENOTCONN (WSABASEERR+57)
438#define WSAESHUTDOWN (WSABASEERR+58)
439#define WSAETOOMANYREFS (WSABASEERR+59)
440#define WSAETIMEDOUT (WSABASEERR+60)
441#define WSAECONNREFUSED (WSABASEERR+61)
442#define WSAELOOP (WSABASEERR+62)
443#define WSAENAMETOOLONG (WSABASEERR+63)
444#define WSAEHOSTDOWN (WSABASEERR+64)
445#define WSAEHOSTUNREACH (WSABASEERR+65)
446#define WSAENOTEMPTY (WSABASEERR+66)
447#define WSAEPROCLIM (WSABASEERR+67)
448#define WSAEUSERS (WSABASEERR+68)
449#define WSAEDQUOT (WSABASEERR+69)
450#define WSAESTALE (WSABASEERR+70)
451#define WSAEREMOTE (WSABASEERR+71)
452#define WSASYSNOTREADY (WSABASEERR+91)
453#define WSAVERNOTSUPPORTED (WSABASEERR+92)
454#define WSANOTINITIALISED (WSABASEERR+93)
455#define WSAEDISCON (WSABASEERR+101)
456#define WSAHOST_NOT_FOUND (WSABASEERR+1001)
457#define WSATRY_AGAIN (WSABASEERR+1002)
458#define WSANO_RECOVERY (WSABASEERR+1003)
459#define WSANO_DATA (WSABASEERR+1004)
460#define WSA_SECURE_HOST_NOT_FOUND (WSABASEERR+1032)
461#define WSA_IPSEC_NAME_POLICY_ERROR (WSABASEERR+1033)
462
463#endif /* !WSABASEERR */
464
465#define WSANO_ADDRESS WSANO_DATA
466
467#define TF_DISCONNECT 0x01
468#define TF_REUSE_SOCKET 0x02
469#define TF_WRITE_BEHIND 0x04
470
471#define WSAMAKEASYNCREPLY(b,e) MAKELONG(b,e)
472#define WSAMAKESELECTREPLY(e,error) MAKELONG(e,error)
473#define WSAGETASYNCBUFLEN(l) LOWORD(l)
474#define WSAGETASYNCERROR(l) HIWORD(l)
475#define WSAGETSELECTEVENT(l) LOWORD(l)
476#define WSAGETSELECTERROR(l) HIWORD(l)
477
478typedef struct sockaddr SOCKADDR;
479typedef struct sockaddr *PSOCKADDR;
480typedef struct sockaddr *LPSOCKADDR;
482typedef struct sockaddr_in *PSOCKADDR_IN;
484typedef struct linger LINGER;
485typedef struct linger *PLINGER;
486typedef struct linger *LPLINGER;
487typedef struct fd_set FD_SET;
488typedef struct fd_set *PFD_SET;
489typedef struct fd_set *LPFD_SET;
490typedef struct hostent HOSTENT;
491typedef struct hostent *PHOSTENT;
492typedef struct hostent *LPHOSTENT;
493typedef struct servent SERVENT;
494typedef struct servent *PSERVENT;
495typedef struct servent *LPSERVENT;
496typedef struct protoent PROTOENT;
497typedef struct protoent *PPROTOENT;
498typedef struct protoent *LPPROTOENT;
499typedef struct timeval TIMEVAL;
500typedef struct timeval *PTIMEVAL;
501typedef struct timeval *LPTIMEVAL;
502
507 char sin_zero[8];
508};
509
510typedef struct WSAData {
513#ifdef _WIN64
514 unsigned short iMaxSockets;
515 unsigned short iMaxUdpDg;
516 char *lpVendorInfo;
519#else
522 unsigned short iMaxSockets;
523 unsigned short iMaxUdpDg;
525#endif
527
528struct ip_mreq {
531};
532
533struct sockproto {
536};
537
538SOCKET
541 _In_ SOCKET s,
542 _Out_writes_bytes_opt_(*addrlen) struct sockaddr FAR *addr,
543 _Inout_opt_ int FAR *addrlen);
544
545int
548 _In_ SOCKET s,
550 _In_ int namelen);
551
552int
555 _In_ SOCKET s);
556
557int
560 _In_ SOCKET s,
562 _In_ int namelen);
563
564int
567 _In_ SOCKET s,
568 _In_ long cmd,
569 _Inout_ u_long FAR *argp);
570
571int
574 _In_ SOCKET s,
576 _Inout_ int FAR *namelen);
577
578int
581 _In_ SOCKET s,
583 _Inout_ int FAR *namelen);
584
585int
588 _In_ SOCKET s,
589 _In_ int level,
590 _In_ int optname,
591 _Out_writes_bytes_(*optlen) char FAR *optval,
592 _Inout_ int FAR *optlen);
593
594u_long
597 _In_ u_long hostlong);
598
602 _In_ u_short hostshort);
603
604unsigned long
607 _In_z_ const char FAR *cp);
608
609char FAR
610*PASCAL FAR
612 _In_ struct in_addr in);
613
614int
617 _In_ SOCKET s,
618 _In_ int backlog);
619
620u_long
623 _In_ u_long netlong);
624
628 _In_ u_short netshort);
629
630int
633 _In_ SOCKET s,
635 _In_ int len,
636 _In_ int flags);
637
638int
641 _In_ SOCKET s,
643 _In_ int len,
644 _In_ int flags,
645 _Out_writes_bytes_to_opt_(*fromlen, *fromlen) struct sockaddr FAR *from,
646 _Inout_opt_ int FAR * fromlen);
647
648int
651 _In_ int nfds,
652 _Inout_opt_ fd_set FAR *readfds,
653 _Inout_opt_ fd_set FAR *writefds,
654 _Inout_opt_ fd_set FAR *exceptfds,
655 _In_opt_ const struct timeval FAR *timeout);
656
657int
660 _In_ SOCKET s,
661 _In_reads_bytes_(len) const char FAR *buf,
662 _In_ int len,
663 _In_ int flags);
664
665int
668 _In_ SOCKET s,
669 _In_reads_bytes_(len) const char FAR *buf,
670 _In_ int len,
671 _In_ int flags,
672 _In_reads_bytes_opt_(tolen) const struct sockaddr FAR *to,
673 _In_ int tolen);
674
675int
678 _In_ SOCKET s,
679 _In_ int level,
680 _In_ int optname,
681 _In_reads_bytes_opt_(optlen) const char FAR *optval,
682 _In_ int optlen);
683
684int
687 _In_ SOCKET s,
688 _In_ int how);
689
690SOCKET
693 _In_ int af,
694 _In_ int type,
695 _In_ int protocol);
696
697struct hostent FAR
698*PASCAL FAR
700 _In_reads_bytes_(len) const char FAR *addr,
701 _In_ int len,
702 _In_ int type);
703
704struct hostent FAR
705*PASCAL FAR
707 _In_z_ const char FAR *name);
708
709int
712 _Out_writes_bytes_to_(namelen, return) char FAR *name,
713 _In_ int namelen);
714
715struct servent FAR
716*PASCAL FAR
718 _In_ int port,
719 _In_z_ const char FAR *proto);
720
721struct servent FAR
722*PASCAL FAR
724 _In_z_ const char FAR *name,
725 _In_z_ const char FAR *proto);
726
727struct protoent FAR
728*PASCAL FAR
730 _In_ int number);
731
732struct protoent FAR
733*PASCAL FAR
735 _In_z_ const char FAR *name);
736
737int
740 _In_ WORD wVersionRequired,
741 _Out_ LPWSADATA lpWSAData);
742
743int
745WSACleanup(void);
746
747void
750 _In_ int iError);
751
752int
754WSAGetLastError(void);
755
756BOOL
758WSAIsBlocking(void);
759
760int
763
767 _In_ FARPROC lpBlockFunc);
768
769int
772
773HANDLE
776 _In_ HWND hWnd,
777 _In_ u_int wMsg,
778 _In_z_ const char FAR *name,
779 _In_z_ const char FAR *proto,
780 _Out_writes_bytes_(buflen) char FAR *buf,
781 _In_ int buflen);
782
783HANDLE
786 _In_ HWND hWnd,
787 _In_ u_int wMsg,
788 _In_ int port,
789 _In_ const char FAR *proto,
790 _Out_writes_bytes_(buflen) char FAR *buf,
791 _In_ int buflen);
792
793HANDLE
796 _In_ HWND hWnd,
797 _In_ u_int wMsg,
798 _In_z_ const char FAR *name,
799 _Out_writes_bytes_(buflen) char FAR *buf,
800 _In_ int buflen);
801
802HANDLE
805 _In_ HWND hWnd,
806 _In_ u_int wMsg,
807 _In_ int number,
808 _Out_writes_bytes_(buflen) char FAR *buf,
809 _In_ int buflen);
810
811HANDLE
814 _In_ HWND hWnd,
815 _In_ u_int wMsg,
816 _In_z_ const char FAR *name,
817 _Out_writes_bytes_(buflen) char FAR *buf,
818 _In_ int buflen);
819
820HANDLE
823 _In_ HWND hWnd,
824 _In_ u_int wMsg,
825 _In_ const char FAR *addr,
826 _In_ int len,
827 _In_ int type,
828 _Out_writes_bytes_(buflen) char FAR *buf,
829 _In_ int buflen);
830
831int
834 _In_ HANDLE hAsyncTaskHandle);
835
836int
839 _In_ SOCKET s,
840 _In_ HWND hWnd,
841 _In_ u_int wMsg,
842 _In_ long lEvent);
843
844int
847 _In_ SOCKET s,
849 _In_ int len,
850 _Inout_ int FAR *flags);
851
852typedef struct _TRANSMIT_FILE_BUFFERS {
858
859BOOL
862 _In_ SOCKET hSocket,
869
870BOOL
873 _In_ SOCKET sListenSocket,
881
882VOID
893
894#if(_WIN32_WINNT >= 0x0501)
895
896#ifdef IPV6STRICT
897#error WINSOCK2 required.
898#endif
899
900#endif /* (_WIN32_WINNT >= 0x0501) */
901
902#ifdef __cplusplus
903}
904#endif
HWND hWnd
Definition: settings.c:17
UINT32 u_int
Definition: types.h:82
unsigned short u_short
Definition: types.h:81
int(* FARPROC)()
Definition: compat.h:36
#define FAR
Definition: zlib.h:34
USHORT port
Definition: uri.c:228
unsigned long u_long
Definition: linux.h:269
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLint level
Definition: gl.h:1546
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLdouble s
Definition: gl.h:2039
GLint namelen
Definition: glext.h:7232
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLuint in
Definition: glext.h:9616
GLbitfield flags
Definition: glext.h:7161
GLenum const GLvoid * addr
Definition: glext.h:9621
GLenum GLsizei len
Definition: glext.h:6722
POINT cp
Definition: magnifier.c:59
int * LPINT
Definition: minwindef.h:151
#define PASCAL
Definition: minwindef.h:117
#define htons(x)
Definition: module.h:215
#define ntohl(x)
Definition: module.h:205
#define ntohs(x)
Definition: module.h:210
#define htonl(x)
Definition: module.h:214
static unsigned int number
Definition: dsound.c:1479
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
_In_ DWORD _In_ DWORD _In_ DWORD _Outptr_result_bytebuffer_ LocalSockaddrLength struct sockaddr ** LocalSockaddr
Definition: mswsock.h:114
_In_ SOCKET sAcceptSocket
Definition: mswsock.h:100
_In_ DWORD _In_ DWORD _In_ DWORD _Outptr_result_bytebuffer_ LocalSockaddrLength struct sockaddr _Out_ LPINT LocalSockaddrLength
Definition: mswsock.h:115
_In_ HANDLE _In_ DWORD _In_ DWORD nNumberOfBytesPerSend
Definition: mswsock.h:92
_In_ HANDLE hFile
Definition: mswsock.h:90
_In_ DWORD _In_ DWORD _In_ DWORD _Outptr_result_bytebuffer_ LocalSockaddrLength struct sockaddr _Out_ LPINT _Outptr_result_bytebuffer_ RemoteSockaddrLength struct sockaddr ** RemoteSockaddr
Definition: mswsock.h:116
_In_ HANDLE _In_ DWORD nNumberOfBytesToWrite
Definition: mswsock.h:91
_In_ SOCKET _In_ DWORD _In_ DWORD _In_ DWORD _Out_ LPDWORD lpdwBytesReceived
Definition: mswsock.h:105
_In_ SOCKET _In_ DWORD dwReceiveDataLength
Definition: mswsock.h:102
_In_ DWORD _In_ DWORD _In_ DWORD _Outptr_result_bytebuffer_ LocalSockaddrLength struct sockaddr _Out_ LPINT _Outptr_result_bytebuffer_ RemoteSockaddrLength struct sockaddr _Out_ LPINT RemoteSockaddrLength
Definition: mswsock.h:117
_In_ SOCKET _In_ DWORD _In_ DWORD _In_ DWORD dwRemoteAddressLength
Definition: mswsock.h:104
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers
Definition: mswsock.h:94
_In_ SOCKET _In_ DWORD _In_ DWORD dwLocalAddressLength
Definition: mswsock.h:103
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
Definition: mswsock.h:93
#define ioctlsocket
Definition: ncftp.h:481
#define closesocket
Definition: ncftp.h:477
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _Outptr_result_bytebuffer_(s)
Definition: no_sal2.h:288
#define _Inout_
Definition: no_sal2.h:162
#define _In_z_
Definition: no_sal2.h:164
#define _Out_writes_bytes_opt_(s)
Definition: no_sal2.h:228
#define _Out_writes_bytes_to_(s, c)
Definition: no_sal2.h:190
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Out_writes_bytes_to_opt_(s, c)
Definition: no_sal2.h:240
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
long LONG
Definition: pedump.c:60
#define NETWORK
Definition: config.h:328
#define __out_data_source(src_sym)
Definition: specstrings.h:349
CardRegion * from
Definition: spigame.cpp:19
char szDescription[WSADESCRIPTION_LEN+1]
Definition: winsock.h:520
unsigned short iMaxUdpDg
Definition: winsock.h:523
char * lpVendorInfo
Definition: winsock.h:524
char szSystemStatus[WSASYS_STATUS_LEN+1]
Definition: winsock.h:521
WORD wVersion
Definition: winsock.h:511
WORD wHighVersion
Definition: winsock.h:512
unsigned short iMaxSockets
Definition: winsock.h:522
Definition: ftp_var.h:139
Definition: winsock.h:60
u_int fd_count
Definition: winsock.h:61
SOCKET fd_array[FD_SETSIZE]
Definition: winsock.h:62
char * h_name
Definition: winsock.h:128
short h_length
Definition: winsock.h:131
char ** h_aliases
Definition: winsock.h:129
short h_addrtype
Definition: winsock.h:130
char ** h_addr_list
Definition: winsock.h:132
Definition: tcpip.h:126
struct in_addr imr_interface
Definition: winsock.h:530
struct in_addr imr_multiaddr
Definition: winsock.h:529
u_short l_onoff
Definition: winsock.h:136
u_short l_linger
Definition: winsock.h:137
Definition: name.c:39
u_long n_net
Definition: winsock.h:149
char * n_name
Definition: winsock.h:146
short n_addrtype
Definition: winsock.h:148
char ** n_aliases
Definition: winsock.h:147
char ** p_aliases
Definition: winsock.h:166
short p_proto
Definition: winsock.h:167
char * p_name
Definition: winsock.h:165
char * s_name
Definition: winsock.h:153
short s_port
Definition: winsock.h:159
char * s_proto
Definition: winsock.h:160
char ** s_aliases
Definition: winsock.h:154
char sin_zero[8]
Definition: winsock.h:507
struct in_addr sin_addr
Definition: winsock.h:506
short sin_family
Definition: winsock.h:504
u_short sin_port
Definition: winsock.h:505
u_short sa_family
Definition: winsock.h:211
char sa_data[14]
Definition: winsock.h:212
u_short sp_protocol
Definition: winsock.h:535
u_short sp_family
Definition: winsock.h:534
Definition: dhcpd.h:248
LONG tv_usec
Definition: winsock.h:111
LONG tv_sec
Definition: winsock.h:110
HANDLE lEvent
Definition: tftpd.cpp:56
uint32_t * LPDWORD
Definition: typedefs.h:59
UINT_PTR SOCKET
Definition: winsock2.h:66
#define FD_SETSIZE
Definition: winsock2.h:69
unsigned long u_long
Definition: winsock2.h:53
unsigned short u_short
Definition: winsock2.h:50
unsigned int u_int
Definition: winsock2.h:51
#define WSASYS_STATUS_LEN
Definition: winsock2.h:234
#define WSADESCRIPTION_LEN
Definition: winsock2.h:233
int PASCAL FAR send(_In_ SOCKET s, _In_reads_bytes_(len) const char FAR *buf, _In_ int len, _In_ int flags)
struct _TRANSMIT_FILE_BUFFERS * LPTRANSMIT_FILE_BUFFERS
int PASCAL FAR getsockopt(_In_ SOCKET s, _In_ int level, _In_ int optname, _Out_writes_bytes_(*optlen) char FAR *optval, _Inout_ int FAR *optlen)
void PASCAL FAR WSASetLastError(_In_ int iError)
int PASCAL FAR WSACancelAsyncRequest(_In_ HANDLE hAsyncTaskHandle)
struct sockaddr_in * LPSOCKADDR_IN
Definition: winsock.h:483
int PASCAL FAR WSAGetLastError(void)
Definition: dllmain.c:131
unsigned long PASCAL FAR inet_addr(_In_z_ const char FAR *cp)
BOOL PASCAL FAR WSAIsBlocking(void)
Definition: bhook.c:65
int PASCAL FAR WSACleanup(void)
Definition: startup.c:60
struct fd_set * LPFD_SET
Definition: winsock.h:489
VOID PASCAL FAR GetAcceptExSockaddrs(_In_reads_bytes_(dwReceiveDataLength+dwLocalAddressLength+dwRemoteAddressLength) PVOID lpOutputBuffer, _In_ DWORD dwReceiveDataLength, _In_ DWORD dwLocalAddressLength, _In_ DWORD dwRemoteAddressLength, _Outptr_result_bytebuffer_(*LocalSockaddrLength) struct sockaddr **LocalSockaddr, _Out_ LPINT LocalSockaddrLength, _Outptr_result_bytebuffer_(*RemoteSockaddrLength) struct sockaddr **RemoteSockaddr, _Out_ LPINT RemoteSockaddrLength)
struct hostent * LPHOSTENT
Definition: winsock.h:492
int PASCAL FAR shutdown(_In_ SOCKET s, _In_ int how)
struct hostent * PHOSTENT
Definition: winsock.h:491
struct servent * LPSERVENT
Definition: winsock.h:495
int PASCAL FAR setsockopt(_In_ SOCKET s, _In_ int level, _In_ int optname, _In_reads_bytes_opt_(optlen) const char FAR *optval, _In_ int optlen)
struct hostent FAR *PASCAL FAR gethostbyname(_In_z_ const char FAR *name)
int PASCAL FAR getpeername(_In_ SOCKET s, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR *name, _Inout_ int FAR *namelen)
int PASCAL FAR WSARecvEx(_In_ SOCKET s, _Out_writes_bytes_to_(len, return) __out_data_source(NETWORK) char FAR *buf, _In_ int len, _Inout_ int FAR *flags)
struct servent FAR *PASCAL FAR getservbyname(_In_z_ const char FAR *name, _In_z_ const char FAR *proto)
struct fd_set * PFD_SET
Definition: winsock.h:488
struct _TRANSMIT_FILE_BUFFERS * PTRANSMIT_FILE_BUFFERS
BOOL PASCAL FAR AcceptEx(_In_ SOCKET sListenSocket, _In_ SOCKET sAcceptSocket, _Out_writes_bytes_to_(dwReceiveDataLength+dwLocalAddressLength+dwRemoteAddressLength, *lpdwBytesReceived) PVOID lpOutputBuffer, _In_ DWORD dwReceiveDataLength, _In_ DWORD dwLocalAddressLength, _In_ DWORD dwRemoteAddressLength, _Out_ LPDWORD lpdwBytesReceived, _Inout_ LPOVERLAPPED lpOverlapped)
struct sockaddr_in * PSOCKADDR_IN
Definition: winsock.h:482
int PASCAL FAR WSACancelBlockingCall(void)
Definition: bhook.c:23
HANDLE PASCAL FAR WSAAsyncGetServByName(_In_ HWND hWnd, _In_ u_int wMsg, _In_z_ const char FAR *name, _In_z_ const char FAR *proto, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
HANDLE PASCAL FAR WSAAsyncGetProtoByName(_In_ HWND hWnd, _In_ u_int wMsg, _In_z_ const char FAR *name, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
UINT_PTR SOCKET
Definition: winsock.h:41
struct sockaddr * PSOCKADDR
Definition: winsock.h:479
int PASCAL FAR bind(_In_ SOCKET s, _In_reads_bytes_(namelen) const struct sockaddr FAR *addr, _In_ int namelen)
struct servent FAR *PASCAL FAR getservbyport(_In_ int port, _In_z_ const char FAR *proto)
int PASCAL FAR sendto(_In_ SOCKET s, _In_reads_bytes_(len) const char FAR *buf, _In_ int len, _In_ int flags, _In_reads_bytes_opt_(tolen) const struct sockaddr FAR *to, _In_ int tolen)
FARPROC PASCAL FAR WSASetBlockingHook(_In_ FARPROC lpBlockFunc)
struct timeval * PTIMEVAL
Definition: winsock.h:500
int PASCAL FAR WSAAsyncSelect(_In_ SOCKET s, _In_ HWND hWnd, _In_ u_int wMsg, _In_ long lEvent)
struct WSAData * LPWSADATA
unsigned long u_long
Definition: winsock.h:32
struct timeval * LPTIMEVAL
Definition: winsock.h:501
struct servent * PSERVENT
Definition: winsock.h:494
struct protoent FAR *PASCAL FAR getprotobyname(_In_z_ const char FAR *name)
int PASCAL FAR WSAStartup(_In_ WORD wVersionRequired, _Out_ LPWSADATA lpWSAData)
SOCKET PASCAL FAR accept(_In_ SOCKET s, _Out_writes_bytes_opt_(*addrlen) struct sockaddr FAR *addr, _Inout_opt_ int FAR *addrlen)
struct _TRANSMIT_FILE_BUFFERS TRANSMIT_FILE_BUFFERS
unsigned short u_short
Definition: winsock.h:28
struct protoent * PPROTOENT
Definition: winsock.h:497
int PASCAL FAR recv(_In_ SOCKET s, _Out_writes_bytes_to_(len, return) __out_data_source(NETWORK) char FAR *buf, _In_ int len, _In_ int flags)
struct WSAData WSADATA
HANDLE PASCAL FAR WSAAsyncGetHostByAddr(_In_ HWND hWnd, _In_ u_int wMsg, _In_ const char FAR *addr, _In_ int len, _In_ int type, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
int PASCAL FAR recvfrom(_In_ SOCKET s, _Out_writes_bytes_to_(len, return) __out_data_source(NETWORK) char FAR *buf, _In_ int len, _In_ int flags, _Out_writes_bytes_to_opt_(*fromlen, *fromlen) struct sockaddr FAR *from, _Inout_opt_ int FAR *fromlen)
int PASCAL gethostname(char *, int)
struct fd_set fd_set
struct hostent FAR *PASCAL FAR gethostbyaddr(_In_reads_bytes_(len) const char FAR *addr, _In_ int len, _In_ int type)
SOCKET PASCAL FAR socket(_In_ int af, _In_ int type, _In_ int protocol)
struct protoent * LPPROTOENT
Definition: winsock.h:498
struct sockaddr * LPSOCKADDR
Definition: winsock.h:480
int PASCAL select(int nfds, fd_set *, fd_set *, fd_set *, const struct timeval *)
int PASCAL __WSAFDIsSet(SOCKET, fd_set FAR *)
BOOL PASCAL FAR TransmitFile(_In_ SOCKET hSocket, _In_ HANDLE hFile, _In_ DWORD nNumberOfBytesToWrite, _In_ DWORD nNumberOfBytesPerSend, _Inout_opt_ LPOVERLAPPED lpOverlapped, _In_opt_ LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers, _In_ DWORD dwReserved)
unsigned int u_int
Definition: winsock.h:29
HANDLE PASCAL FAR WSAAsyncGetProtoByNumber(_In_ HWND hWnd, _In_ u_int wMsg, _In_ int number, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
HANDLE PASCAL FAR WSAAsyncGetHostByName(_In_ HWND hWnd, _In_ u_int wMsg, _In_z_ const char FAR *name, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
int PASCAL FAR listen(_In_ SOCKET s, _In_ int backlog)
int PASCAL FAR WSAUnhookBlockingHook(void)
Definition: bhook.c:130
HANDLE PASCAL FAR WSAAsyncGetServByPort(_In_ HWND hWnd, _In_ u_int wMsg, _In_ int port, _In_ const char FAR *proto, _Out_writes_bytes_(buflen) char FAR *buf, _In_ int buflen)
struct linger * PLINGER
Definition: winsock.h:485
struct protoent FAR *PASCAL FAR getprotobynumber(_In_ int number)
unsigned char u_char
Definition: winsock.h:27
int PASCAL FAR getsockname(_In_ SOCKET s, _Out_writes_bytes_to_(*namelen, *namelen) struct sockaddr FAR *name, _Inout_ int FAR *namelen)
char FAR *PASCAL FAR inet_ntoa(_In_ struct in_addr in)
struct linger * LPLINGER
Definition: winsock.h:486