0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 77 69 6e module win32.win
0010: 73 6f 63 6b 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e sock;....// Tran
0020: 73 6c 61 74 65 64 20 66 72 6f 6d 20 4d 69 63 72 slated from Micr
0030: 6f 73 6f 66 74 20 50 6c 61 74 66 6f 72 6d 20 53 osoft Platform S
0040: 44 4b 20 41 75 67 75 73 74 20 32 30 30 31 20 45 DK August 2001 E
0050: 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79 20 59 2e dition..// by Y.
0060: 54 6f 6d 69 6e 6f 20 28 64 65 6d 6f 6f 6e 6c 69 Tomino (demoonli
0070: 74 40 69 6e 74 65 72 37 2e 6a 70 29 0d 0a 0d 0a t@inter7.jp)....
0080: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 ..// #ifndef _WI
0090: 4e 53 4f 43 4b 41 50 49 5f 0d 0a 2f 2f 20 23 64 NSOCKAPI_..// #d
00a0: 65 66 69 6e 65 20 5f 57 49 4e 53 4f 43 4b 41 50 efine _WINSOCKAP
00b0: 49 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 5f 4d 53 I_....// #if _MS
00c0: 43 5f 56 45 52 20 3e 20 31 30 30 30 0d 0a 2f 2f C_VER > 1000..//
00d0: 20 23 70 72 61 67 6d 61 20 6f 6e 63 65 0d 0a 2f #pragma once../
00e0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
00f0: 69 66 6e 64 65 66 20 5f 49 4e 43 5f 57 49 4e 44 ifndef _INC_WIND
0100: 4f 57 53 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 OWS..import win3
0110: 32 2e 77 69 6e 64 6f 77 73 3b 0d 0a 2f 2f 20 23 2.windows;..// #
0120: 65 6e 64 69 66 20 2f 2a 20 5f 49 4e 43 5f 57 49 endif /* _INC_WI
0130: 4e 44 4f 57 53 20 2a 2f 0d 0a 0d 0a 61 6c 69 61 NDOWS */....alia
0140: 73 20 75 62 79 74 65 20 75 5f 63 68 61 72 3b 0d s ubyte u_char;.
0150: 0a 61 6c 69 61 73 20 75 73 68 6f 72 74 20 75 5f .alias ushort u_
0160: 73 68 6f 72 74 3b 0d 0a 61 6c 69 61 73 20 75 69 short;..alias ui
0170: 6e 74 20 75 5f 69 6e 74 3b 0d 0a 61 6c 69 61 73 nt u_int;..alias
0180: 20 75 69 6e 74 20 75 5f 6c 6f 6e 67 3b 0d 0a 0d uint u_long;...
0190: 0a 61 6c 69 61 73 20 55 49 4e 54 5f 50 54 52 20 .alias UINT_PTR
01a0: 53 4f 43 4b 45 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 SOCKET;....// #i
01b0: 66 6e 64 65 66 20 46 44 5f 53 45 54 53 49 5a 45 fndef FD_SETSIZE
01c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
01d0: 46 44 5f 53 45 54 53 49 5a 45 20 3d 20 36 34 20 FD_SETSIZE = 64
01e0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 }..// #endif /*
01f0: 46 44 5f 53 45 54 53 49 5a 45 20 2a 2f 0d 0a 0d FD_SETSIZE */...
0200: 0a 73 74 72 75 63 74 20 66 64 5f 73 65 74 20 7b .struct fd_set {
0210: 0d 0a 20 20 75 5f 69 6e 74 20 66 64 5f 63 6f 75 .. u_int fd_cou
0220: 6e 74 3b 0d 0a 20 20 53 4f 43 4b 45 54 20 66 64 nt;.. SOCKET fd
0230: 5f 61 72 72 61 79 5b 46 44 5f 53 45 54 53 49 5a _array[FD_SETSIZ
0240: 45 5d 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 E];..}....// #if
0250: 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d def __cplusplus.
0260: 0a 2f 2f 20 65 78 74 65 72 6e 20 22 43 22 20 7b .// extern "C" {
0270: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 ..// #endif....e
0280: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
0290: 78 70 6f 72 74 20 69 6e 74 20 5f 5f 57 53 41 46 xport int __WSAF
02a0: 44 49 73 53 65 74 28 53 4f 43 4b 45 54 2c 20 66 DIsSet(SOCKET, f
02b0: 64 5f 73 65 74 20 2a 29 3b 0d 0a 0d 0a 2f 2f 20 d_set *);....//
02c0: 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c #ifdef __cpluspl
02d0: 75 73 0d 0a 2f 2f 20 7d 0d 0a 2f 2f 20 23 65 6e us..// }..// #en
02e0: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e dif....// #defin
02f0: 65 20 46 44 5f 43 4c 52 28 66 64 2c 20 73 65 74 e FD_CLR(fd, set
0300: 29 20 64 6f 20 7b 20 75 5f 69 6e 74 20 5f 5f 69 ) do { u_int __i
0310: 3b 20 66 6f 72 20 28 5f 5f 69 20 3d 20 30 3b 20 ; for (__i = 0;
0320: 5f 5f 69 20 3c 20 28 28 66 64 5f 73 65 74 20 46 __i < ((fd_set F
0330: 41 52 20 2a 29 28 73 65 74 29 29 2d 3e 66 64 5f AR *)(set))->fd_
0340: 63 6f 75 6e 74 20 3b 20 5f 5f 69 2b 2b 29 20 7b count ; __i++) {
0350: 20 69 66 20 28 28 28 66 64 5f 73 65 74 20 46 41 if (((fd_set FA
0360: 52 20 2a 29 28 73 65 74 29 29 2d 3e 66 64 5f 61 R *)(set))->fd_a
0370: 72 72 61 79 5b 5f 5f 69 5d 20 3d 3d 20 66 64 29 rray[__i] == fd)
0380: 20 7b 20 77 68 69 6c 65 20 28 5f 5f 69 20 3c 20 { while (__i <
0390: 28 28 66 64 5f 73 65 74 20 46 41 52 20 2a 29 28 ((fd_set FAR *)(
03a0: 73 65 74 29 29 2d 3e 66 64 5f 63 6f 75 6e 74 2d set))->fd_count-
03b0: 31 29 20 7b 20 28 28 66 64 5f 73 65 74 20 46 41 1) { ((fd_set FA
03c0: 52 20 2a 29 28 73 65 74 29 29 2d 3e 66 64 5f 61 R *)(set))->fd_a
03d0: 72 72 61 79 5b 5f 5f 69 5d 20 3d 20 28 28 66 64 rray[__i] = ((fd
03e0: 5f 73 65 74 20 46 41 52 20 2a 29 28 73 65 74 29 _set FAR *)(set)
03f0: 29 2d 3e 66 64 5f 61 72 72 61 79 5b 5f 5f 69 2b )->fd_array[__i+
0400: 31 5d 3b 20 5f 5f 69 2b 2b 3b 20 7d 20 28 28 66 1]; __i++; } ((f
0410: 64 5f 73 65 74 20 46 41 52 20 2a 29 28 73 65 74 d_set FAR *)(set
0420: 29 29 2d 3e 66 64 5f 63 6f 75 6e 74 2d 2d 3b 20 ))->fd_count--;
0430: 62 72 65 61 6b 3b 20 7d 20 7d 20 7d 20 77 68 69 break; } } } whi
0440: 6c 65 28 30 29 0d 0a 0d 0a 76 6f 69 64 20 46 44 le(0)....void FD
0450: 5f 53 45 54 28 69 6e 74 20 66 64 2c 20 66 64 5f _SET(int fd, fd_
0460: 73 65 74 2a 20 73 65 74 29 7b 20 69 66 28 73 65 set* set){ if(se
0470: 74 2e 66 64 5f 63 6f 75 6e 74 20 3c 20 46 44 5f t.fd_count < FD_
0480: 53 45 54 53 49 5a 45 29 7b 20 73 65 74 2e 66 64 SETSIZE){ set.fd
0490: 5f 61 72 72 61 79 5b 73 65 74 2e 66 64 5f 63 6f _array[set.fd_co
04a0: 75 6e 74 2b 2b 5d 20 3d 20 66 64 3b 20 7d 7d 0d unt++] = fd; }}.
04b0: 0a 0d 0a 76 6f 69 64 20 46 44 5f 5a 45 52 4f 28 ...void FD_ZERO(
04c0: 66 64 5f 73 65 74 2a 20 73 65 74 29 7b 20 73 65 fd_set* set){ se
04d0: 74 2e 66 64 5f 63 6f 75 6e 74 20 3d 20 30 3b 20 t.fd_count = 0;
04e0: 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 }....// #define
04f0: 46 44 5f 49 53 53 45 54 28 66 64 2c 20 73 65 74 FD_ISSET(fd, set
0500: 29 20 5f 5f 57 53 41 46 44 49 73 53 65 74 28 28 ) __WSAFDIsSet((
0510: 53 4f 43 4b 45 54 29 28 66 64 29 2c 20 28 66 64 SOCKET)(fd), (fd
0520: 5f 73 65 74 20 46 41 52 20 2a 29 28 73 65 74 29 _set FAR *)(set)
0530: 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74 69 6d 65 )....struct time
0540: 76 61 6c 20 7b 0d 0a 20 20 69 6e 74 20 74 76 5f val {.. int tv_
0550: 73 65 63 3b 0d 0a 20 20 69 6e 74 20 74 76 5f 75 sec;.. int tv_u
0560: 73 65 63 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 23 64 sec;..}....// #d
0570: 65 66 69 6e 65 20 74 69 6d 65 72 69 73 73 65 74 efine timerisset
0580: 28 74 76 70 29 20 28 28 74 76 70 29 2d 3e 74 76 (tvp) ((tvp)->tv
0590: 5f 73 65 63 20 7c 7c 20 28 74 76 70 29 2d 3e 74 _sec || (tvp)->t
05a0: 76 5f 75 73 65 63 29 0d 0a 2f 2f 20 23 64 65 66 v_usec)..// #def
05b0: 69 6e 65 20 74 69 6d 65 72 63 6d 70 28 74 76 70 ine timercmp(tvp
05c0: 2c 20 75 76 70 2c 20 63 6d 70 29 20 28 28 74 76 , uvp, cmp) ((tv
05d0: 70 29 2d 3e 74 76 5f 73 65 63 20 63 6d 70 20 28 p)->tv_sec cmp (
05e0: 75 76 70 29 2d 3e 74 76 5f 73 65 63 20 7c 7c 20 uvp)->tv_sec ||
05f0: 28 74 76 70 29 2d 3e 74 76 5f 73 65 63 20 3d 3d (tvp)->tv_sec ==
0600: 20 28 75 76 70 29 2d 3e 74 76 5f 73 65 63 20 26 (uvp)->tv_sec &
0610: 26 20 28 74 76 70 29 2d 3e 74 76 5f 75 73 65 63 & (tvp)->tv_usec
0620: 20 63 6d 70 20 28 75 76 70 29 2d 3e 74 76 5f 75 cmp (uvp)->tv_u
0630: 73 65 63 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 sec)..// #define
0640: 20 74 69 6d 65 72 63 6c 65 61 72 28 74 76 70 29 timerclear(tvp)
0650: 20 28 74 76 70 29 2d 3e 74 76 5f 73 65 63 20 3d (tvp)->tv_sec =
0660: 20 28 74 76 70 29 2d 3e 74 76 5f 75 73 65 63 20 (tvp)->tv_usec
0670: 3d 20 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 = 0....enum : ui
0680: 6e 74 20 7b 20 49 4f 43 50 41 52 4d 5f 4d 41 53 nt { IOCPARM_MAS
0690: 4b 20 3d 20 30 78 37 66 20 7d 0d 0a 65 6e 75 6d K = 0x7f }..enum
06a0: 20 3a 20 75 69 6e 74 20 7b 20 49 4f 43 5f 56 4f : uint { IOC_VO
06b0: 49 44 20 3d 20 30 78 32 30 30 30 30 30 30 30 20 ID = 0x20000000
06c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
06d0: 20 49 4f 43 5f 4f 55 54 20 3d 20 30 78 34 30 30 IOC_OUT = 0x400
06e0: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00000 }..enum :
06f0: 75 69 6e 74 20 7b 20 49 4f 43 5f 49 4e 20 3d 20 uint { IOC_IN =
0700: 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 0x80000000 }..en
0710: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4f 43 5f um : uint { IOC_
0720: 49 4e 4f 55 54 20 3d 20 49 4f 43 5f 49 4e 7c 49 INOUT = IOC_IN|I
0730: 4f 43 5f 4f 55 54 20 7d 0d 0a 0d 0a 2f 2f 20 23 OC_OUT }....// #
0740: 64 65 66 69 6e 65 20 5f 49 4f 28 78 2c 79 29 20 define _IO(x,y)
0750: 28 49 4f 43 5f 56 4f 49 44 7c 28 28 78 29 3c 3c (IOC_VOID|((x)<<
0760: 38 29 7c 28 79 29 29 0d 0a 0d 0a 2f 2f 20 23 64 8)|(y))....// #d
0770: 65 66 69 6e 65 20 5f 49 4f 52 28 78 2c 79 2c 74 efine _IOR(x,y,t
0780: 29 20 28 49 4f 43 5f 4f 55 54 7c 28 28 28 6c 6f ) (IOC_OUT|(((lo
0790: 6e 67 29 73 69 7a 65 6f 66 28 74 29 26 49 4f 43 ng)sizeof(t)&IOC
07a0: 50 41 52 4d 5f 4d 41 53 4b 29 3c 3c 31 36 29 7c PARM_MASK)<<16)|
07b0: 28 28 78 29 3c 3c 38 29 7c 28 79 29 29 0d 0a 0d ((x)<<8)|(y))...
07c0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 49 4f 57 .// #define _IOW
07d0: 28 78 2c 79 2c 74 29 20 28 49 4f 43 5f 49 4e 7c (x,y,t) (IOC_IN|
07e0: 28 28 28 6c 6f 6e 67 29 73 69 7a 65 6f 66 28 74 (((long)sizeof(t
07f0: 29 26 49 4f 43 50 41 52 4d 5f 4d 41 53 4b 29 3c )&IOCPARM_MASK)<
0800: 3c 31 36 29 7c 28 28 78 29 3c 3c 38 29 7c 28 79 <16)|((x)<<8)|(y
0810: 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 ))....// #define
0820: 20 46 49 4f 4e 52 45 41 44 20 5f 49 4f 52 28 27 FIONREAD _IOR('
0830: 66 27 2c 20 31 32 37 2c 20 75 5f 6c 6f 6e 67 29 f', 127, u_long)
0840: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 46 49 4f ..// #define FIO
0850: 4e 42 49 4f 20 5f 49 4f 57 28 27 66 27 2c 20 31 NBIO _IOW('f', 1
0860: 32 36 2c 20 75 5f 6c 6f 6e 67 29 0d 0a 2f 2f 20 26, u_long)..//
0870: 23 64 65 66 69 6e 65 20 46 49 4f 41 53 59 4e 43 #define FIOASYNC
0880: 20 5f 49 4f 57 28 27 66 27 2c 20 31 32 35 2c 20 _IOW('f', 125,
0890: 75 5f 6c 6f 6e 67 29 0d 0a 0d 0a 2f 2f 20 23 64 u_long)....// #d
08a0: 65 66 69 6e 65 20 53 49 4f 43 53 48 49 57 41 54 efine SIOCSHIWAT
08b0: 20 5f 49 4f 57 28 27 73 27 2c 20 30 2c 20 75 5f _IOW('s', 0, u_
08c0: 6c 6f 6e 67 29 0d 0a 2f 2f 20 23 64 65 66 69 6e long)..// #defin
08d0: 65 20 53 49 4f 43 47 48 49 57 41 54 20 5f 49 4f e SIOCGHIWAT _IO
08e0: 52 28 27 73 27 2c 20 31 2c 20 75 5f 6c 6f 6e 67 R('s', 1, u_long
08f0: 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 49 )..// #define SI
0900: 4f 43 53 4c 4f 57 41 54 20 5f 49 4f 57 28 27 73 OCSLOWAT _IOW('s
0910: 27 2c 20 32 2c 20 75 5f 6c 6f 6e 67 29 0d 0a 2f ', 2, u_long)../
0920: 2f 20 23 64 65 66 69 6e 65 20 53 49 4f 43 47 4c / #define SIOCGL
0930: 4f 57 41 54 20 5f 49 4f 52 28 27 73 27 2c 20 33 OWAT _IOR('s', 3
0940: 2c 20 75 5f 6c 6f 6e 67 29 0d 0a 2f 2f 20 23 64 , u_long)..// #d
0950: 65 66 69 6e 65 20 53 49 4f 43 41 54 4d 41 52 4b efine SIOCATMARK
0960: 20 5f 49 4f 52 28 27 73 27 2c 20 37 2c 20 75 5f _IOR('s', 7, u_
0970: 6c 6f 6e 67 29 0d 0a 0d 0a 73 74 72 75 63 74 20 long)....struct
0980: 68 6f 73 74 65 6e 74 20 7b 0d 0a 20 20 63 68 61 hostent {.. cha
0990: 72 20 2a 20 68 5f 6e 61 6d 65 3b 0d 0a 20 20 63 r * h_name;.. c
09a0: 68 61 72 2a 2a 20 68 5f 61 6c 69 61 73 65 73 3b har** h_aliases;
09b0: 0d 0a 20 20 73 68 6f 72 74 20 68 5f 61 64 64 72 .. short h_addr
09c0: 74 79 70 65 3b 0d 0a 20 20 73 68 6f 72 74 20 68 type;.. short h
09d0: 5f 6c 65 6e 67 74 68 3b 0d 0a 20 20 63 68 61 72 _length;.. char
09e0: 2a 2a 20 68 5f 61 64 64 72 5f 6c 69 73 74 3b 0d ** h_addr_list;.
09f0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 68 5f 61 64 .// #define h_ad
0a00: 64 72 20 68 5f 61 64 64 72 5f 6c 69 73 74 5b 30 dr h_addr_list[0
0a10: 5d 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 6e ]..}....struct n
0a20: 65 74 65 6e 74 20 7b 0d 0a 20 20 63 68 61 72 20 etent {.. char
0a30: 2a 20 6e 5f 6e 61 6d 65 3b 0d 0a 20 20 63 68 61 * n_name;.. cha
0a40: 72 2a 2a 20 6e 5f 61 6c 69 61 73 65 73 3b 0d 0a r** n_aliases;..
0a50: 20 20 73 68 6f 72 74 20 6e 5f 61 64 64 72 74 79 short n_addrty
0a60: 70 65 3b 0d 0a 20 20 75 5f 6c 6f 6e 67 20 6e 5f pe;.. u_long n_
0a70: 6e 65 74 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 net;..}....struc
0a80: 74 20 73 65 72 76 65 6e 74 20 7b 0d 0a 20 20 63 t servent {.. c
0a90: 68 61 72 20 2a 20 73 5f 6e 61 6d 65 3b 0d 0a 20 har * s_name;..
0aa0: 20 63 68 61 72 2a 2a 20 73 5f 61 6c 69 61 73 65 char** s_aliase
0ab0: 73 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 s;..// #ifdef _W
0ac0: 49 4e 36 34 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f IN64..// .....//
0ad0: 20 23 65 6c 73 65 0d 0a 20 20 73 68 6f 72 74 20 #else.. short
0ae0: 73 5f 70 6f 72 74 3b 0d 0a 20 20 63 68 61 72 20 s_port;.. char
0af0: 2a 20 73 5f 70 72 6f 74 6f 3b 0d 0a 2f 2f 20 23 * s_proto;..// #
0b00: 65 6e 64 69 66 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 endif..}....stru
0b10: 63 74 20 70 72 6f 74 6f 65 6e 74 20 7b 0d 0a 20 ct protoent {..
0b20: 20 63 68 61 72 20 2a 20 70 5f 6e 61 6d 65 3b 0d char * p_name;.
0b30: 0a 20 20 63 68 61 72 2a 2a 20 70 5f 61 6c 69 61 . char** p_alia
0b40: 73 65 73 3b 0d 0a 20 20 73 68 6f 72 74 20 70 5f ses;.. short p_
0b50: 70 72 6f 74 6f 3b 0d 0a 7d 0d 0a 0d 0a 65 6e 75 proto;..}....enu
0b60: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 52 4f m : uint { IPPRO
0b70: 54 4f 5f 49 50 20 3d 20 30 20 7d 0d 0a 65 6e 75 TO_IP = 0 }..enu
0b80: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 52 4f m : uint { IPPRO
0b90: 54 4f 5f 49 43 4d 50 20 3d 20 31 20 7d 0d 0a 65 TO_ICMP = 1 }..e
0ba0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 num : uint { IPP
0bb0: 52 4f 54 4f 5f 49 47 4d 50 20 3d 20 32 20 7d 0d ROTO_IGMP = 2 }.
0bc0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
0bd0: 50 50 52 4f 54 4f 5f 47 47 50 20 3d 20 33 20 7d PPROTO_GGP = 3 }
0be0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
0bf0: 49 50 50 52 4f 54 4f 5f 54 43 50 20 3d 20 36 20 IPPROTO_TCP = 6
0c00: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
0c10: 20 49 50 50 52 4f 54 4f 5f 50 55 50 20 3d 20 31 IPPROTO_PUP = 1
0c20: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 2 }..enum : uint
0c30: 20 7b 20 49 50 50 52 4f 54 4f 5f 55 44 50 20 3d { IPPROTO_UDP =
0c40: 20 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 17 }..enum : ui
0c50: 6e 74 20 7b 20 49 50 50 52 4f 54 4f 5f 49 44 50 nt { IPPROTO_IDP
0c60: 20 3d 20 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 = 22 }..enum :
0c70: 75 69 6e 74 20 7b 20 49 50 50 52 4f 54 4f 5f 4e uint { IPPROTO_N
0c80: 44 20 3d 20 37 37 20 7d 0d 0a 0d 0a 65 6e 75 6d D = 77 }....enum
0c90: 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 52 4f 54 : uint { IPPROT
0ca0: 4f 5f 52 41 57 20 3d 20 32 35 35 20 7d 0d 0a 65 O_RAW = 255 }..e
0cb0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 num : uint { IPP
0cc0: 52 4f 54 4f 5f 4d 41 58 20 3d 20 32 35 36 20 7d ROTO_MAX = 256 }
0cd0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
0ce0: 7b 20 49 50 50 4f 52 54 5f 45 43 48 4f 20 3d 20 { IPPORT_ECHO =
0cf0: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 7 }..enum : uint
0d00: 20 7b 20 49 50 50 4f 52 54 5f 44 49 53 43 41 52 { IPPORT_DISCAR
0d10: 44 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 D = 9 }..enum :
0d20: 75 69 6e 74 20 7b 20 49 50 50 4f 52 54 5f 53 59 uint { IPPORT_SY
0d30: 53 54 41 54 20 3d 20 31 31 20 7d 0d 0a 65 6e 75 STAT = 11 }..enu
0d40: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 4f 52 m : uint { IPPOR
0d50: 54 5f 44 41 59 54 49 4d 45 20 3d 20 31 33 20 7d T_DAYTIME = 13 }
0d60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
0d70: 49 50 50 4f 52 54 5f 4e 45 54 53 54 41 54 20 3d IPPORT_NETSTAT =
0d80: 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 15 }..enum : ui
0d90: 6e 74 20 7b 20 49 50 50 4f 52 54 5f 46 54 50 20 nt { IPPORT_FTP
0da0: 3d 20 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 21 }..enum : u
0db0: 69 6e 74 20 7b 20 49 50 50 4f 52 54 5f 54 45 4c int { IPPORT_TEL
0dc0: 4e 45 54 20 3d 20 32 33 20 7d 0d 0a 65 6e 75 6d NET = 23 }..enum
0dd0: 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 4f 52 54 : uint { IPPORT
0de0: 5f 53 4d 54 50 20 3d 20 32 35 20 7d 0d 0a 65 6e _SMTP = 25 }..en
0df0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 4f um : uint { IPPO
0e00: 52 54 5f 54 49 4d 45 53 45 52 56 45 52 20 3d 20 RT_TIMESERVER =
0e10: 33 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 37 }..enum : uin
0e20: 74 20 7b 20 49 50 50 4f 52 54 5f 4e 41 4d 45 53 t { IPPORT_NAMES
0e30: 45 52 56 45 52 20 3d 20 34 32 20 7d 0d 0a 65 6e ERVER = 42 }..en
0e40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 4f um : uint { IPPO
0e50: 52 54 5f 57 48 4f 49 53 20 3d 20 34 33 20 7d 0d RT_WHOIS = 43 }.
0e60: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
0e70: 50 50 4f 52 54 5f 4d 54 50 20 3d 20 35 37 20 7d PPORT_MTP = 57 }
0e80: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
0e90: 7b 20 49 50 50 4f 52 54 5f 54 46 54 50 20 3d 20 { IPPORT_TFTP =
0ea0: 36 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 69 }..enum : uin
0eb0: 74 20 7b 20 49 50 50 4f 52 54 5f 52 4a 45 20 3d t { IPPORT_RJE =
0ec0: 20 37 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 77 }..enum : ui
0ed0: 6e 74 20 7b 20 49 50 50 4f 52 54 5f 46 49 4e 47 nt { IPPORT_FING
0ee0: 45 52 20 3d 20 37 39 20 7d 0d 0a 65 6e 75 6d 20 ER = 79 }..enum
0ef0: 3a 20 75 69 6e 74 20 7b 20 49 50 50 4f 52 54 5f : uint { IPPORT_
0f00: 54 54 59 4c 49 4e 4b 20 3d 20 38 37 20 7d 0d 0a TTYLINK = 87 }..
0f10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 enum : uint { IP
0f20: 50 4f 52 54 5f 53 55 50 44 55 50 20 3d 20 39 35 PORT_SUPDUP = 95
0f30: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e }....enum : uin
0f40: 74 20 7b 20 49 50 50 4f 52 54 5f 45 58 45 43 53 t { IPPORT_EXECS
0f50: 45 52 56 45 52 20 3d 20 35 31 32 20 7d 0d 0a 65 ERVER = 512 }..e
0f60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 50 num : uint { IPP
0f70: 4f 52 54 5f 4c 4f 47 49 4e 53 45 52 56 45 52 20 ORT_LOGINSERVER
0f80: 3d 20 35 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 = 513 }..enum :
0f90: 75 69 6e 74 20 7b 20 49 50 50 4f 52 54 5f 43 4d uint { IPPORT_CM
0fa0: 44 53 45 52 56 45 52 20 3d 20 35 31 34 20 7d 0d DSERVER = 514 }.
0fb0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
0fc0: 50 50 4f 52 54 5f 45 46 53 53 45 52 56 45 52 20 PPORT_EFSSERVER
0fd0: 3d 20 35 32 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 = 520 }....enum
0fe0: 3a 20 75 69 6e 74 20 7b 20 49 50 50 4f 52 54 5f : uint { IPPORT_
0ff0: 42 49 46 46 55 44 50 20 3d 20 35 31 32 20 7d 0d BIFFUDP = 512 }.
1000: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
1010: 50 50 4f 52 54 5f 57 48 4f 53 45 52 56 45 52 20 PPORT_WHOSERVER
1020: 3d 20 35 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 = 513 }..enum :
1030: 75 69 6e 74 20 7b 20 49 50 50 4f 52 54 5f 52 4f uint { IPPORT_RO
1040: 55 54 45 53 45 52 56 45 52 20 3d 20 35 32 30 20 UTESERVER = 520
1050: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
1060: 20 7b 20 49 50 50 4f 52 54 5f 52 45 53 45 52 56 { IPPORT_RESERV
1070: 45 44 20 3d 20 31 30 32 34 20 7d 0d 0a 0d 0a 65 ED = 1024 }....e
1080: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4d 50 num : uint { IMP
1090: 4c 49 4e 4b 5f 49 50 20 3d 20 31 35 35 20 7d 0d LINK_IP = 155 }.
10a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
10b0: 4d 50 4c 49 4e 4b 5f 4c 4f 57 45 58 50 45 52 20 MPLINK_LOWEXPER
10c0: 3d 20 31 35 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 = 156 }..enum :
10d0: 75 69 6e 74 20 7b 20 49 4d 50 4c 49 4e 4b 5f 48 uint { IMPLINK_H
10e0: 49 47 48 45 58 50 45 52 20 3d 20 31 35 38 20 7d IGHEXPER = 158 }
10f0: 0d 0a 0d 0a 73 74 72 75 63 74 20 69 6e 5f 61 64 ....struct in_ad
1100: 64 72 20 7b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 dr {..union {..
1110: 20 73 74 72 75 63 74 20 7b 20 75 5f 63 68 61 72 struct { u_char
1120: 20 73 5f 62 31 2c 73 5f 62 32 2c 73 5f 62 33 2c s_b1,s_b2,s_b3,
1130: 73 5f 62 34 3b 20 7d 0d 0a 20 20 73 74 72 75 63 s_b4; }.. struc
1140: 74 20 7b 20 75 5f 73 68 6f 72 74 20 73 5f 77 31 t { u_short s_w1
1150: 2c 73 5f 77 32 3b 20 7d 0d 0a 20 20 75 5f 6c 6f ,s_w2; }.. u_lo
1160: 6e 67 20 53 5f 61 64 64 72 3b 0d 0a 7d 0d 0a 0d ng S_addr;..}...
1170: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 73 5f 61 64 .// #define s_ad
1180: 64 72 20 53 5f 75 6e 2e 53 5f 61 64 64 72 0d 0a dr S_un.S_addr..
1190: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 73 5f 68 ..// #define s_h
11a0: 6f 73 74 20 53 5f 75 6e 2e 53 5f 75 6e 5f 62 2e ost S_un.S_un_b.
11b0: 73 5f 62 32 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 s_b2....// #defi
11c0: 6e 65 20 73 5f 6e 65 74 20 53 5f 75 6e 2e 53 5f ne s_net S_un.S_
11d0: 75 6e 5f 62 2e 73 5f 62 31 0d 0a 0d 0a 2f 2f 20 un_b.s_b1....//
11e0: 23 64 65 66 69 6e 65 20 73 5f 69 6d 70 20 53 5f #define s_imp S_
11f0: 75 6e 2e 53 5f 75 6e 5f 77 2e 73 5f 77 32 0d 0a un.S_un_w.s_w2..
1200: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 73 5f 69 ..// #define s_i
1210: 6d 70 6e 6f 20 53 5f 75 6e 2e 53 5f 75 6e 5f 62 mpno S_un.S_un_b
1220: 2e 73 5f 62 34 0d 0a 0d 0a 2f 2f 20 23 64 65 66 .s_b4....// #def
1230: 69 6e 65 20 73 5f 6c 68 20 53 5f 75 6e 2e 53 5f ine s_lh S_un.S_
1240: 75 6e 5f 62 2e 73 5f 62 33 0d 0a 0d 0a 7d 0d 0a un_b.s_b3....}..
1250: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 49 4e 5f ..// #define IN_
1260: 43 4c 41 53 53 41 28 69 29 20 28 28 28 6c 6f 6e CLASSA(i) (((lon
1270: 67 29 28 69 29 20 26 20 30 78 38 30 30 30 30 30 g)(i) & 0x800000
1280: 30 30 29 20 3d 3d 20 30 29 0d 0a 65 6e 75 6d 20 00) == 0)..enum
1290: 3a 20 75 69 6e 74 20 7b 20 49 4e 5f 43 4c 41 53 : uint { IN_CLAS
12a0: 53 41 5f 4e 45 54 20 3d 20 30 78 66 66 30 30 30 SA_NET = 0xff000
12b0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 000 }..enum : ui
12c0: 6e 74 20 7b 20 49 4e 5f 43 4c 41 53 53 41 5f 4e nt { IN_CLASSA_N
12d0: 53 48 49 46 54 20 3d 20 32 34 20 7d 0d 0a 65 6e SHIFT = 24 }..en
12e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e 5f 43 um : uint { IN_C
12f0: 4c 41 53 53 41 5f 48 4f 53 54 20 3d 20 30 78 30 LASSA_HOST = 0x0
1300: 30 66 66 66 66 66 66 20 7d 0d 0a 65 6e 75 6d 20 0ffffff }..enum
1310: 3a 20 75 69 6e 74 20 7b 20 49 4e 5f 43 4c 41 53 : uint { IN_CLAS
1320: 53 41 5f 4d 41 58 20 3d 20 31 32 38 20 7d 0d 0a SA_MAX = 128 }..
1330: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 49 4e 5f ..// #define IN_
1340: 43 4c 41 53 53 42 28 69 29 20 28 28 28 6c 6f 6e CLASSB(i) (((lon
1350: 67 29 28 69 29 20 26 20 30 78 63 30 30 30 30 30 g)(i) & 0xc00000
1360: 30 30 29 20 3d 3d 20 30 78 38 30 30 30 30 30 30 00) == 0x8000000
1370: 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 49 0)..// #define I
1380: 4e 5f 43 4c 41 53 53 42 5f 4e 45 54 20 30 78 66 N_CLASSB_NET 0xf
1390: 66 66 66 30 30 30 30 0d 0a 2f 2f 20 23 64 65 66 fff0000..// #def
13a0: 69 6e 65 20 49 4e 5f 43 4c 41 53 53 42 5f 4e 53 ine IN_CLASSB_NS
13b0: 48 49 46 54 20 31 36 0d 0a 65 6e 75 6d 20 3a 20 HIFT 16..enum :
13c0: 75 69 6e 74 20 7b 20 49 4e 5f 43 4c 41 53 53 42 uint { IN_CLASSB
13d0: 5f 48 4f 53 54 20 3d 20 30 78 30 30 30 30 66 66 _HOST = 0x0000ff
13e0: 66 66 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e ff }..enum : uin
13f0: 74 20 7b 20 49 4e 5f 43 4c 41 53 53 42 5f 4d 41 t { IN_CLASSB_MA
1400: 58 20 3d 20 36 35 35 33 36 20 7d 0d 0a 0d 0a 2f X = 65536 }..../
1410: 2f 20 23 64 65 66 69 6e 65 20 49 4e 5f 43 4c 41 / #define IN_CLA
1420: 53 53 43 28 69 29 20 28 28 28 6c 6f 6e 67 29 28 SSC(i) (((long)(
1430: 69 29 20 26 20 30 78 65 30 30 30 30 30 30 30 29 i) & 0xe0000000)
1440: 20 3d 3d 20 30 78 63 30 30 30 30 30 30 30 29 0d == 0xc0000000).
1450: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 49 4e 5f 43 .// #define IN_C
1460: 4c 41 53 53 43 5f 4e 45 54 20 30 78 66 66 66 66 LASSC_NET 0xffff
1470: 66 66 30 30 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 ff00..// #define
1480: 20 49 4e 5f 43 4c 41 53 53 43 5f 4e 53 48 49 46 IN_CLASSC_NSHIF
1490: 54 20 38 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 T 8..enum : uint
14a0: 20 7b 20 49 4e 5f 43 4c 41 53 53 43 5f 48 4f 53 { IN_CLASSC_HOS
14b0: 54 20 3d 20 30 78 30 30 30 30 30 30 66 66 20 7d T = 0x000000ff }
14c0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
14d0: 7b 20 49 4e 41 44 44 52 5f 41 4e 59 20 3d 20 30 { INADDR_ANY = 0
14e0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
14f0: 7b 20 49 4e 41 44 44 52 5f 4c 4f 4f 50 42 41 43 { INADDR_LOOPBAC
1500: 4b 20 3d 20 30 78 37 66 30 30 30 30 30 31 20 7d K = 0x7f000001 }
1510: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 49 4e 41 ..// #define INA
1520: 44 44 52 5f 42 52 4f 41 44 43 41 53 54 20 28 75 DDR_BROADCAST (u
1530: 5f 6c 6f 6e 67 29 30 78 66 66 66 66 66 66 66 66 _long)0xffffffff
1540: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1550: 49 4e 41 44 44 52 5f 4e 4f 4e 45 20 3d 20 75 69 INADDR_NONE = ui
1560: 6e 74 2e 6d 61 78 20 7d 0d 0a 0d 0a 73 74 72 75 nt.max }....stru
1570: 63 74 20 73 6f 63 6b 61 64 64 72 5f 69 6e 20 7b ct sockaddr_in {
1580: 0d 0a 20 20 73 68 6f 72 74 20 73 69 6e 5f 66 61 .. short sin_fa
1590: 6d 69 6c 79 3b 0d 0a 20 20 75 5f 73 68 6f 72 74 mily;.. u_short
15a0: 20 73 69 6e 5f 70 6f 72 74 3b 0d 0a 20 20 69 6e sin_port;.. in
15b0: 5f 61 64 64 72 20 73 69 6e 5f 61 64 64 72 3b 0d _addr sin_addr;.
15c0: 0a 20 20 63 68 61 72 20 73 69 6e 5f 7a 65 72 6f . char sin_zero
15d0: 5b 38 5d 3b 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 [8];..}....enum
15e0: 3a 20 75 69 6e 74 20 7b 20 57 53 41 44 45 53 43 : uint { WSADESC
15f0: 52 49 50 54 49 4f 4e 5f 4c 45 4e 20 3d 20 32 35 RIPTION_LEN = 25
1600: 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 6 }..enum : uint
1610: 20 7b 20 57 53 41 53 59 53 5f 53 54 41 54 55 53 { WSASYS_STATUS
1620: 5f 4c 45 4e 20 3d 20 31 32 38 20 7d 0d 0a 0d 0a _LEN = 128 }....
1630: 73 74 72 75 63 74 20 57 53 41 44 61 74 61 20 7b struct WSAData {
1640: 0d 0a 20 20 57 4f 52 44 20 77 56 65 72 73 69 6f .. WORD wVersio
1650: 6e 3b 0d 0a 20 20 57 4f 52 44 20 77 48 69 67 68 n;.. WORD wHigh
1660: 56 65 72 73 69 6f 6e 3b 0d 0a 2f 2f 20 23 69 66 Version;..// #if
1670: 64 65 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20 2e def _WIN64..// .
1680: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 20 20 ....// #else..
1690: 63 68 61 72 20 73 7a 44 65 73 63 72 69 70 74 69 char szDescripti
16a0: 6f 6e 5b 57 53 41 44 45 53 43 52 49 50 54 49 4f on[WSADESCRIPTIO
16b0: 4e 5f 4c 45 4e 2b 31 5d 3b 0d 0a 20 20 63 68 61 N_LEN+1];.. cha
16c0: 72 20 73 7a 53 79 73 74 65 6d 53 74 61 74 75 73 r szSystemStatus
16d0: 5b 57 53 41 53 59 53 5f 53 54 41 54 55 53 5f 4c [WSASYS_STATUS_L
16e0: 45 4e 2b 31 5d 3b 0d 0a 20 20 75 73 68 6f 72 74 EN+1];.. ushort
16f0: 20 69 4d 61 78 53 6f 63 6b 65 74 73 3b 0d 0a 20 iMaxSockets;..
1700: 20 75 73 68 6f 72 74 20 69 4d 61 78 55 64 70 44 ushort iMaxUdpD
1710: 67 3b 0d 0a 20 20 63 68 61 72 20 2a 20 20 20 20 g;.. char *
1720: 20 20 20 20 20 20 20 20 20 20 6c 70 56 65 6e 64 lpVend
1730: 6f 72 49 6e 66 6f 3b 0d 0a 2f 2f 20 23 65 6e 64 orInfo;..// #end
1740: 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 57 53 41 if..}..alias WSA
1750: 44 61 74 61 20 57 53 41 44 41 54 41 3b 0d 0a 0d Data WSADATA;...
1760: 0a 61 6c 69 61 73 20 57 53 41 44 41 54 41 2a 20 .alias WSADATA*
1770: 4c 50 57 53 41 44 41 54 41 3b 0d 0a 0d 0a 65 6e LPWSADATA;....en
1780: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 5f 4f um : uint { IP_O
1790: 50 54 49 4f 4e 53 20 3d 20 31 20 7d 0d 0a 65 6e PTIONS = 1 }..en
17a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 5f 4d um : uint { IP_M
17b0: 55 4c 54 49 43 41 53 54 5f 49 46 20 3d 20 32 20 ULTICAST_IF = 2
17c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
17d0: 20 49 50 5f 4d 55 4c 54 49 43 41 53 54 5f 54 54 IP_MULTICAST_TT
17e0: 4c 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 L = 3 }..enum :
17f0: 75 69 6e 74 20 7b 20 49 50 5f 4d 55 4c 54 49 43 uint { IP_MULTIC
1800: 41 53 54 5f 4c 4f 4f 50 20 3d 20 34 20 7d 0d 0a AST_LOOP = 4 }..
1810: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 enum : uint { IP
1820: 5f 41 44 44 5f 4d 45 4d 42 45 52 53 48 49 50 20 _ADD_MEMBERSHIP
1830: 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 = 5 }..enum : ui
1840: 6e 74 20 7b 20 49 50 5f 44 52 4f 50 5f 4d 45 4d nt { IP_DROP_MEM
1850: 42 45 52 53 48 49 50 20 3d 20 36 20 7d 0d 0a 65 BERSHIP = 6 }..e
1860: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 5f num : uint { IP_
1870: 54 54 4c 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 TTL = 7 }..enum
1880: 3a 20 75 69 6e 74 20 7b 20 49 50 5f 54 4f 53 20 : uint { IP_TOS
1890: 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 = 8 }..enum : ui
18a0: 6e 74 20 7b 20 49 50 5f 44 4f 4e 54 46 52 41 47 nt { IP_DONTFRAG
18b0: 4d 45 4e 54 20 3d 20 39 20 7d 0d 0a 0d 0a 65 6e MENT = 9 }....en
18c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 5f 44 um : uint { IP_D
18d0: 45 46 41 55 4c 54 5f 4d 55 4c 54 49 43 41 53 54 EFAULT_MULTICAST
18e0: 5f 54 54 4c 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d _TTL = 1 }..enum
18f0: 20 3a 20 75 69 6e 74 20 7b 20 49 50 5f 44 45 46 : uint { IP_DEF
1900: 41 55 4c 54 5f 4d 55 4c 54 49 43 41 53 54 5f 4c AULT_MULTICAST_L
1910: 4f 4f 50 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 OOP = 1 }..enum
1920: 3a 20 75 69 6e 74 20 7b 20 49 50 5f 4d 41 58 5f : uint { IP_MAX_
1930: 4d 45 4d 42 45 52 53 48 49 50 53 20 3d 20 32 30 MEMBERSHIPS = 20
1940: 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 69 70 5f }....struct ip_
1950: 6d 72 65 71 20 7b 0d 0a 20 20 69 6e 5f 61 64 64 mreq {.. in_add
1960: 72 20 69 6d 72 5f 6d 75 6c 74 69 61 64 64 72 3b r imr_multiaddr;
1970: 0d 0a 20 20 69 6e 5f 61 64 64 72 20 69 6d 72 5f .. in_addr imr_
1980: 69 6e 74 65 72 66 61 63 65 3b 0d 0a 7d 0d 0a 0d interface;..}...
1990: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
19a0: 4e 56 41 4c 49 44 5f 53 4f 43 4b 45 54 20 3d 20 NVALID_SOCKET =
19b0: 75 69 6e 74 2e 6d 61 78 20 7d 0d 0a 65 6e 75 6d uint.max }..enum
19c0: 20 7b 20 53 4f 43 4b 45 54 5f 45 52 52 4f 52 20 { SOCKET_ERROR
19d0: 3d 20 2d 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a = -1 }....enum :
19e0: 20 75 69 6e 74 20 7b 20 53 4f 43 4b 5f 53 54 52 uint { SOCK_STR
19f0: 45 41 4d 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 EAM = 1 }..enum
1a00: 3a 20 75 69 6e 74 20 7b 20 53 4f 43 4b 5f 44 47 : uint { SOCK_DG
1a10: 52 41 4d 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 RAM = 2 }..enum
1a20: 3a 20 75 69 6e 74 20 7b 20 53 4f 43 4b 5f 52 41 : uint { SOCK_RA
1a30: 57 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 W = 3 }..enum :
1a40: 75 69 6e 74 20 7b 20 53 4f 43 4b 5f 52 44 4d 20 uint { SOCK_RDM
1a50: 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 = 4 }..enum : ui
1a60: 6e 74 20 7b 20 53 4f 43 4b 5f 53 45 51 50 41 43 nt { SOCK_SEQPAC
1a70: 4b 45 54 20 3d 20 35 20 7d 0d 0a 0d 0a 65 6e 75 KET = 5 }....enu
1a80: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f 44 45 m : uint { SO_DE
1a90: 42 55 47 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a BUG = 0x0001 }..
1aa0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f enum : uint { SO
1ab0: 5f 41 43 43 45 50 54 43 4f 4e 4e 20 3d 20 30 78 _ACCEPTCONN = 0x
1ac0: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0002 }..enum : u
1ad0: 69 6e 74 20 7b 20 53 4f 5f 52 45 55 53 45 41 44 int { SO_REUSEAD
1ae0: 44 52 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 DR = 0x0004 }..e
1af0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f num : uint { SO_
1b00: 4b 45 45 50 41 4c 49 56 45 20 3d 20 30 78 30 30 KEEPALIVE = 0x00
1b10: 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 08 }..enum : uin
1b20: 74 20 7b 20 53 4f 5f 44 4f 4e 54 52 4f 55 54 45 t { SO_DONTROUTE
1b30: 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 = 0x0010 }..enu
1b40: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f 42 52 m : uint { SO_BR
1b50: 4f 41 44 43 41 53 54 20 3d 20 30 78 30 30 32 30 OADCAST = 0x0020
1b60: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1b70: 7b 20 53 4f 5f 55 53 45 4c 4f 4f 50 42 41 43 4b { SO_USELOOPBACK
1b80: 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75 = 0x0040 }..enu
1b90: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f 4c 49 m : uint { SO_LI
1ba0: 4e 47 45 52 20 3d 20 30 78 30 30 38 30 20 7d 0d NGER = 0x0080 }.
1bb0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 .enum : uint { S
1bc0: 4f 5f 4f 4f 42 49 4e 4c 49 4e 45 20 3d 20 30 78 O_OOBINLINE = 0x
1bd0: 30 31 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 0100 }....enum :
1be0: 20 75 69 6e 74 20 7b 20 53 4f 5f 44 4f 4e 54 4c uint { SO_DONTL
1bf0: 49 4e 47 45 52 20 3d 20 7e 53 4f 5f 4c 49 4e 47 INGER = ~SO_LING
1c00: 45 52 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ER }....enum : u
1c10: 69 6e 74 20 7b 20 53 4f 5f 53 4e 44 42 55 46 20 int { SO_SNDBUF
1c20: 3d 20 30 78 31 30 30 31 20 7d 0d 0a 65 6e 75 6d = 0x1001 }..enum
1c30: 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f 52 43 56 : uint { SO_RCV
1c40: 42 55 46 20 3d 20 30 78 31 30 30 32 20 7d 0d 0a BUF = 0x1002 }..
1c50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f enum : uint { SO
1c60: 5f 53 4e 44 4c 4f 57 41 54 20 3d 20 30 78 31 30 _SNDLOWAT = 0x10
1c70: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 03 }..enum : uin
1c80: 74 20 7b 20 53 4f 5f 52 43 56 4c 4f 57 41 54 20 t { SO_RCVLOWAT
1c90: 3d 20 30 78 31 30 30 34 20 7d 0d 0a 65 6e 75 6d = 0x1004 }..enum
1ca0: 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f 53 4e 44 : uint { SO_SND
1cb0: 54 49 4d 45 4f 20 3d 20 30 78 31 30 30 35 20 7d TIMEO = 0x1005 }
1cc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1cd0: 53 4f 5f 52 43 56 54 49 4d 45 4f 20 3d 20 30 78 SO_RCVTIMEO = 0x
1ce0: 31 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 1006 }..enum : u
1cf0: 69 6e 74 20 7b 20 53 4f 5f 45 52 52 4f 52 20 3d int { SO_ERROR =
1d00: 20 30 78 31 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 0x1007 }..enum
1d10: 3a 20 75 69 6e 74 20 7b 20 53 4f 5f 54 59 50 45 : uint { SO_TYPE
1d20: 20 3d 20 30 78 31 30 30 38 20 7d 0d 0a 0d 0a 65 = 0x1008 }....e
1d30: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f num : uint { SO_
1d40: 43 4f 4e 4e 44 41 54 41 20 3d 20 30 78 37 30 30 CONNDATA = 0x700
1d50: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
1d60: 20 7b 20 53 4f 5f 43 4f 4e 4e 4f 50 54 20 3d 20 { SO_CONNOPT =
1d70: 30 78 37 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 0x7001 }..enum :
1d80: 20 75 69 6e 74 20 7b 20 53 4f 5f 44 49 53 43 44 uint { SO_DISCD
1d90: 41 54 41 20 3d 20 30 78 37 30 30 32 20 7d 0d 0a ATA = 0x7002 }..
1da0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f enum : uint { SO
1db0: 5f 44 49 53 43 4f 50 54 20 3d 20 30 78 37 30 30 _DISCOPT = 0x700
1dc0: 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 3 }..enum : uint
1dd0: 20 7b 20 53 4f 5f 43 4f 4e 4e 44 41 54 41 4c 45 { SO_CONNDATALE
1de0: 4e 20 3d 20 30 78 37 30 30 34 20 7d 0d 0a 65 6e N = 0x7004 }..en
1df0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f 43 um : uint { SO_C
1e00: 4f 4e 4e 4f 50 54 4c 45 4e 20 3d 20 30 78 37 30 ONNOPTLEN = 0x70
1e10: 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 05 }..enum : uin
1e20: 74 20 7b 20 53 4f 5f 44 49 53 43 44 41 54 41 4c t { SO_DISCDATAL
1e30: 45 4e 20 3d 20 30 78 37 30 30 36 20 7d 0d 0a 65 EN = 0x7006 }..e
1e40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f num : uint { SO_
1e50: 44 49 53 43 4f 50 54 4c 45 4e 20 3d 20 30 78 37 DISCOPTLEN = 0x7
1e60: 30 30 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 007 }....enum :
1e70: 75 69 6e 74 20 7b 20 53 4f 5f 4f 50 45 4e 54 59 uint { SO_OPENTY
1e80: 50 45 20 3d 20 30 78 37 30 30 38 20 7d 0d 0a 0d PE = 0x7008 }...
1e90: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 .enum : uint { S
1ea0: 4f 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 5f 41 4c O_SYNCHRONOUS_AL
1eb0: 45 52 54 20 3d 20 30 78 31 30 20 7d 0d 0a 65 6e ERT = 0x10 }..en
1ec0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f 53 um : uint { SO_S
1ed0: 59 4e 43 48 52 4f 4e 4f 55 53 5f 4e 4f 4e 41 4c YNCHRONOUS_NONAL
1ee0: 45 52 54 20 3d 20 30 78 32 30 20 7d 0d 0a 0d 0a ERT = 0x20 }....
1ef0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f enum : uint { SO
1f00: 5f 4d 41 58 44 47 20 3d 20 30 78 37 30 30 39 20 _MAXDG = 0x7009
1f10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
1f20: 20 53 4f 5f 4d 41 58 50 41 54 48 44 47 20 3d 20 SO_MAXPATHDG =
1f30: 30 78 37 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 0x700A }..enum :
1f40: 20 75 69 6e 74 20 7b 20 53 4f 5f 55 50 44 41 54 uint { SO_UPDAT
1f50: 45 5f 41 43 43 45 50 54 5f 43 4f 4e 54 45 58 54 E_ACCEPT_CONTEXT
1f60: 20 3d 20 30 78 37 30 30 42 20 7d 0d 0a 65 6e 75 = 0x700B }..enu
1f70: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 5f 43 4f m : uint { SO_CO
1f80: 4e 4e 45 43 54 5f 54 49 4d 45 20 3d 20 30 78 37 NNECT_TIME = 0x7
1f90: 30 30 43 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 00C }....enum :
1fa0: 75 69 6e 74 20 7b 20 54 43 50 5f 4e 4f 44 45 4c uint { TCP_NODEL
1fb0: 41 59 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 AY = 0x0001 }..e
1fc0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 50 num : uint { TCP
1fd0: 5f 42 53 44 55 52 47 45 4e 54 20 3d 20 30 78 37 _BSDURGENT = 0x7
1fe0: 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 000 }....enum :
1ff0: 75 69 6e 74 20 7b 20 41 46 5f 55 4e 53 50 45 43 uint { AF_UNSPEC
2000: 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 0 }..enum : u
2010: 69 6e 74 20 7b 20 41 46 5f 55 4e 49 58 20 3d 20 int { AF_UNIX =
2020: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
2030: 20 7b 20 41 46 5f 49 4e 45 54 20 3d 20 32 20 7d { AF_INET = 2 }
2040: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2050: 41 46 5f 49 4d 50 4c 49 4e 4b 20 3d 20 33 20 7d AF_IMPLINK = 3 }
2060: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2070: 41 46 5f 50 55 50 20 3d 20 34 20 7d 0d 0a 65 6e AF_PUP = 4 }..en
2080: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 46 5f 43 um : uint { AF_C
2090: 48 41 4f 53 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d HAOS = 5 }..enum
20a0: 20 3a 20 75 69 6e 74 20 7b 20 41 46 5f 49 50 58 : uint { AF_IPX
20b0: 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 6 }..enum : u
20c0: 69 6e 74 20 7b 20 41 46 5f 4e 53 20 3d 20 36 20 int { AF_NS = 6
20d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
20e0: 20 41 46 5f 49 53 4f 20 3d 20 37 20 7d 0d 0a 61 AF_ISO = 7 }..a
20f0: 6c 69 61 73 20 41 46 5f 49 53 4f 20 41 46 5f 4f lias AF_ISO AF_O
2100: 53 49 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 SI;..enum : uint
2110: 20 7b 20 41 46 5f 45 43 4d 41 20 3d 20 38 20 7d { AF_ECMA = 8 }
2120: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2130: 41 46 5f 44 41 54 41 4b 49 54 20 3d 20 39 20 7d AF_DATAKIT = 9 }
2140: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2150: 41 46 5f 43 43 49 54 54 20 3d 20 31 30 20 7d 0d AF_CCITT = 10 }.
2160: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 .enum : uint { A
2170: 46 5f 53 4e 41 20 3d 20 31 31 20 7d 0d 0a 65 6e F_SNA = 11 }..en
2180: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 46 5f 44 um : uint { AF_D
2190: 45 43 6e 65 74 20 3d 20 31 32 20 7d 0d 0a 65 6e ECnet = 12 }..en
21a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 46 5f 44 um : uint { AF_D
21b0: 4c 49 20 3d 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 LI = 13 }..enum
21c0: 3a 20 75 69 6e 74 20 7b 20 41 46 5f 4c 41 54 20 : uint { AF_LAT
21d0: 3d 20 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 14 }..enum : u
21e0: 69 6e 74 20 7b 20 41 46 5f 48 59 4c 49 4e 4b 20 int { AF_HYLINK
21f0: 3d 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 15 }..enum : u
2200: 69 6e 74 20 7b 20 41 46 5f 41 50 50 4c 45 54 41 int { AF_APPLETA
2210: 4c 4b 20 3d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 LK = 16 }..enum
2220: 3a 20 75 69 6e 74 20 7b 20 41 46 5f 4e 45 54 42 : uint { AF_NETB
2230: 49 4f 53 20 3d 20 31 37 20 7d 0d 0a 65 6e 75 6d IOS = 17 }..enum
2240: 20 3a 20 75 69 6e 74 20 7b 20 41 46 5f 56 4f 49 : uint { AF_VOI
2250: 43 45 56 49 45 57 20 3d 20 31 38 20 7d 0d 0a 65 CEVIEW = 18 }..e
2260: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 46 5f num : uint { AF_
2270: 46 49 52 45 46 4f 58 20 3d 20 31 39 20 7d 0d 0a FIREFOX = 19 }..
2280: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 46 enum : uint { AF
2290: 5f 55 4e 4b 4e 4f 57 4e 31 20 3d 20 32 30 20 7d _UNKNOWN1 = 20 }
22a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
22b0: 41 46 5f 42 41 4e 20 3d 20 32 31 20 7d 0d 0a 0d AF_BAN = 21 }...
22c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 .enum : uint { A
22d0: 46 5f 4d 41 58 20 3d 20 32 32 20 7d 0d 0a 0d 0a F_MAX = 22 }....
22e0: 73 74 72 75 63 74 20 73 6f 63 6b 61 64 64 72 20 struct sockaddr
22f0: 7b 0d 0a 20 20 75 5f 73 68 6f 72 74 20 73 61 5f {.. u_short sa_
2300: 66 61 6d 69 6c 79 3b 0d 0a 20 20 63 68 61 72 20 family;.. char
2310: 73 61 5f 64 61 74 61 5b 31 34 5d 3b 0d 0a 7d 0d sa_data[14];..}.
2320: 0a 0d 0a 73 74 72 75 63 74 20 73 6f 63 6b 70 72 ...struct sockpr
2330: 6f 74 6f 20 7b 0d 0a 20 20 75 5f 73 68 6f 72 74 oto {.. u_short
2340: 20 73 70 5f 66 61 6d 69 6c 79 3b 0d 0a 20 20 75 sp_family;.. u
2350: 5f 73 68 6f 72 74 20 73 70 5f 70 72 6f 74 6f 63 _short sp_protoc
2360: 6f 6c 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 ol;..}....alias
2370: 41 46 5f 55 4e 53 50 45 43 20 50 46 5f 55 4e 53 AF_UNSPEC PF_UNS
2380: 50 45 43 3b 0d 0a 61 6c 69 61 73 20 41 46 5f 55 PEC;..alias AF_U
2390: 4e 49 58 20 50 46 5f 55 4e 49 58 3b 0d 0a 61 6c NIX PF_UNIX;..al
23a0: 69 61 73 20 41 46 5f 49 4e 45 54 20 50 46 5f 49 ias AF_INET PF_I
23b0: 4e 45 54 3b 0d 0a 61 6c 69 61 73 20 41 46 5f 49 NET;..alias AF_I
23c0: 4d 50 4c 49 4e 4b 20 50 46 5f 49 4d 50 4c 49 4e MPLINK PF_IMPLIN
23d0: 4b 3b 0d 0a 61 6c 69 61 73 20 41 46 5f 50 55 50 K;..alias AF_PUP
23e0: 20 50 46 5f 50 55 50 3b 0d 0a 61 6c 69 61 73 20 PF_PUP;..alias
23f0: 41 46 5f 43 48 41 4f 53 20 50 46 5f 43 48 41 4f AF_CHAOS PF_CHAO
2400: 53 3b 0d 0a 61 6c 69 61 73 20 41 46 5f 4e 53 20 S;..alias AF_NS
2410: 50 46 5f 4e 53 3b 0d 0a 61 6c 69 61 73 20 41 46 PF_NS;..alias AF
2420: 5f 49 50 58 20 50 46 5f 49 50 58 3b 0d 0a 61 6c _IPX PF_IPX;..al
2430: 69 61 73 20 41 46 5f 49 53 4f 20 50 46 5f 49 53 ias AF_ISO PF_IS
2440: 4f 3b 0d 0a 61 6c 69 61 73 20 41 46 5f 4f 53 49 O;..alias AF_OSI
2450: 20 50 46 5f 4f 53 49 3b 0d 0a 61 6c 69 61 73 20 PF_OSI;..alias
2460: 41 46 5f 45 43 4d 41 20 50 46 5f 45 43 4d 41 3b AF_ECMA PF_ECMA;
2470: 0d 0a 61 6c 69 61 73 20 41 46 5f 44 41 54 41 4b ..alias AF_DATAK
2480: 49 54 20 50 46 5f 44 41 54 41 4b 49 54 3b 0d 0a IT PF_DATAKIT;..
2490: 61 6c 69 61 73 20 41 46 5f 43 43 49 54 54 20 50 alias AF_CCITT P
24a0: 46 5f 43 43 49 54 54 3b 0d 0a 61 6c 69 61 73 20 F_CCITT;..alias
24b0: 41 46 5f 53 4e 41 20 50 46 5f 53 4e 41 3b 0d 0a AF_SNA PF_SNA;..
24c0: 61 6c 69 61 73 20 41 46 5f 44 45 43 6e 65 74 20 alias AF_DECnet
24d0: 50 46 5f 44 45 43 6e 65 74 3b 0d 0a 61 6c 69 61 PF_DECnet;..alia
24e0: 73 20 41 46 5f 44 4c 49 20 50 46 5f 44 4c 49 3b s AF_DLI PF_DLI;
24f0: 0d 0a 61 6c 69 61 73 20 41 46 5f 4c 41 54 20 50 ..alias AF_LAT P
2500: 46 5f 4c 41 54 3b 0d 0a 61 6c 69 61 73 20 41 46 F_LAT;..alias AF
2510: 5f 48 59 4c 49 4e 4b 20 50 46 5f 48 59 4c 49 4e _HYLINK PF_HYLIN
2520: 4b 3b 0d 0a 61 6c 69 61 73 20 41 46 5f 41 50 50 K;..alias AF_APP
2530: 4c 45 54 41 4c 4b 20 50 46 5f 41 50 50 4c 45 54 LETALK PF_APPLET
2540: 41 4c 4b 3b 0d 0a 61 6c 69 61 73 20 41 46 5f 56 ALK;..alias AF_V
2550: 4f 49 43 45 56 49 45 57 20 50 46 5f 56 4f 49 43 OICEVIEW PF_VOIC
2560: 45 56 49 45 57 3b 0d 0a 61 6c 69 61 73 20 41 46 EVIEW;..alias AF
2570: 5f 46 49 52 45 46 4f 58 20 50 46 5f 46 49 52 45 _FIREFOX PF_FIRE
2580: 46 4f 58 3b 0d 0a 61 6c 69 61 73 20 41 46 5f 55 FOX;..alias AF_U
2590: 4e 4b 4e 4f 57 4e 31 20 50 46 5f 55 4e 4b 4e 4f NKNOWN1 PF_UNKNO
25a0: 57 4e 31 3b 0d 0a 61 6c 69 61 73 20 41 46 5f 42 WN1;..alias AF_B
25b0: 41 4e 20 50 46 5f 42 41 4e 3b 0d 0a 0d 0a 61 6c AN PF_BAN;....al
25c0: 69 61 73 20 41 46 5f 4d 41 58 20 50 46 5f 4d 41 ias AF_MAX PF_MA
25d0: 58 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 6c 69 6e X;....struct lin
25e0: 67 65 72 20 7b 0d 0a 20 20 75 5f 73 68 6f 72 74 ger {.. u_short
25f0: 20 6c 5f 6f 6e 6f 66 66 3b 0d 0a 20 20 75 5f 73 l_onoff;.. u_s
2600: 68 6f 72 74 20 6c 5f 6c 69 6e 67 65 72 3b 0d 0a hort l_linger;..
2610: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
2620: 20 7b 20 53 4f 4c 5f 53 4f 43 4b 45 54 20 3d 20 { SOL_SOCKET =
2630: 30 78 66 66 66 66 20 7d 0d 0a 0d 0a 65 6e 75 6d 0xffff }....enum
2640: 20 3a 20 75 69 6e 74 20 7b 20 53 4f 4d 41 58 43 : uint { SOMAXC
2650: 4f 4e 4e 20 3d 20 35 20 7d 0d 0a 0d 0a 65 6e 75 ONN = 5 }....enu
2660: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47 5f 4f m : uint { MSG_O
2670: 4f 42 20 3d 20 30 78 31 20 7d 0d 0a 65 6e 75 6d OB = 0x1 }..enum
2680: 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47 5f 50 45 : uint { MSG_PE
2690: 45 4b 20 3d 20 30 78 32 20 7d 0d 0a 65 6e 75 6d EK = 0x2 }..enum
26a0: 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47 5f 44 4f : uint { MSG_DO
26b0: 4e 54 52 4f 55 54 45 20 3d 20 30 78 34 20 7d 0d NTROUTE = 0x4 }.
26c0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
26d0: 20 4d 53 47 5f 4d 41 58 49 4f 56 4c 45 4e 20 3d MSG_MAXIOVLEN =
26e0: 20 31 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 16 }....enum :
26f0: 75 69 6e 74 20 7b 20 4d 53 47 5f 50 41 52 54 49 uint { MSG_PARTI
2700: 41 4c 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 0d AL = 0x8000 }...
2710: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
2720: 41 58 47 45 54 48 4f 53 54 53 54 52 55 43 54 20 AXGETHOSTSTRUCT
2730: 3d 20 31 30 32 34 20 7d 0d 0a 0d 0a 65 6e 75 6d = 1024 }....enum
2740: 20 3a 20 75 69 6e 74 20 7b 20 46 44 5f 52 45 41 : uint { FD_REA
2750: 44 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d D = 0x01 }..enum
2760: 20 3a 20 75 69 6e 74 20 7b 20 46 44 5f 57 52 49 : uint { FD_WRI
2770: 54 45 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 TE = 0x02 }..enu
2780: 6d 20 3a 20 75 69 6e 74 20 7b 20 46 44 5f 4f 4f m : uint { FD_OO
2790: 42 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e 75 6d B = 0x04 }..enum
27a0: 20 3a 20 75 69 6e 74 20 7b 20 46 44 5f 41 43 43 : uint { FD_ACC
27b0: 45 50 54 20 3d 20 30 78 30 38 20 7d 0d 0a 65 6e EPT = 0x08 }..en
27c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 44 5f 43 um : uint { FD_C
27d0: 4f 4e 4e 45 43 54 20 3d 20 30 78 31 30 20 7d 0d ONNECT = 0x10 }.
27e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 .enum : uint { F
27f0: 44 5f 43 4c 4f 53 45 20 3d 20 30 78 32 30 20 7d D_CLOSE = 0x20 }
2800: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 57 ....// #ifndef W
2810: 53 41 42 41 53 45 45 52 52 0d 0a 0d 0a 65 6e 75 SABASEERR....enu
2820: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 42 41 m : uint { WSABA
2830: 53 45 45 52 52 20 3d 20 31 30 30 30 30 20 7d 0d SEERR = 10000 }.
2840: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2850: 20 57 53 41 45 49 4e 54 52 20 3d 20 57 53 41 42 WSAEINTR = WSAB
2860: 41 53 45 45 52 52 2b 34 20 7d 0d 0a 65 6e 75 6d ASEERR+4 }..enum
2870: 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 42 41 : uint { WSAEBA
2880: 44 46 20 3d 20 57 53 41 42 41 53 45 45 52 52 2b DF = WSABASEERR+
2890: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 9 }..enum : uint
28a0: 20 7b 20 57 53 41 45 41 43 43 45 53 20 3d 20 57 { WSAEACCES = W
28b0: 53 41 42 41 53 45 45 52 52 2b 31 33 20 7d 0d 0a SABASEERR+13 }..
28c0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 enum : uint { WS
28d0: 41 45 46 41 55 4c 54 20 3d 20 57 53 41 42 41 53 AEFAULT = WSABAS
28e0: 45 45 52 52 2b 31 34 20 7d 0d 0a 65 6e 75 6d 20 EERR+14 }..enum
28f0: 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 49 4e 56 : uint { WSAEINV
2900: 41 4c 20 3d 20 57 53 41 42 41 53 45 45 52 52 2b AL = WSABASEERR+
2910: 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 22 }..enum : uin
2920: 74 20 7b 20 57 53 41 45 4d 46 49 4c 45 20 3d 20 t { WSAEMFILE =
2930: 57 53 41 42 41 53 45 45 52 52 2b 32 34 20 7d 0d WSABASEERR+24 }.
2940: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2950: 20 57 53 41 45 57 4f 55 4c 44 42 4c 4f 43 4b 20 WSAEWOULDBLOCK
2960: 3d 20 57 53 41 42 41 53 45 45 52 52 2b 33 35 20 = WSABASEERR+35
2970: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
2980: 20 57 53 41 45 49 4e 50 52 4f 47 52 45 53 53 20 WSAEINPROGRESS
2990: 3d 20 57 53 41 42 41 53 45 45 52 52 2b 33 36 20 = WSABASEERR+36
29a0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
29b0: 20 57 53 41 45 41 4c 52 45 41 44 59 20 3d 20 57 WSAEALREADY = W
29c0: 53 41 42 41 53 45 45 52 52 2b 33 37 20 7d 0d 0a SABASEERR+37 }..
29d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 enum : uint { WS
29e0: 41 45 4e 4f 54 53 4f 43 4b 20 3d 20 57 53 41 42 AENOTSOCK = WSAB
29f0: 41 53 45 45 52 52 2b 33 38 20 7d 0d 0a 65 6e 75 ASEERR+38 }..enu
2a00: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 44 m : uint { WSAED
2a10: 45 53 54 41 44 44 52 52 45 51 20 3d 20 57 53 41 ESTADDRREQ = WSA
2a20: 42 41 53 45 45 52 52 2b 33 39 20 7d 0d 0a 65 6e BASEERR+39 }..en
2a30: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 um : uint { WSAE
2a40: 4d 53 47 53 49 5a 45 20 3d 20 57 53 41 42 41 53 MSGSIZE = WSABAS
2a50: 45 45 52 52 2b 34 30 20 7d 0d 0a 65 6e 75 6d 20 EERR+40 }..enum
2a60: 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 50 52 4f : uint { WSAEPRO
2a70: 54 4f 54 59 50 45 20 3d 20 57 53 41 42 41 53 45 TOTYPE = WSABASE
2a80: 45 52 52 2b 34 31 20 7d 0d 0a 65 6e 75 6d 20 3a ERR+41 }..enum :
2a90: 20 75 69 6e 74 20 7b 20 57 53 41 45 4e 4f 50 52 uint { WSAENOPR
2aa0: 4f 54 4f 4f 50 54 20 3d 20 57 53 41 42 41 53 45 OTOOPT = WSABASE
2ab0: 45 52 52 2b 34 32 20 7d 0d 0a 65 6e 75 6d 20 3a ERR+42 }..enum :
2ac0: 20 75 69 6e 74 20 7b 20 57 53 41 45 50 52 4f 54 uint { WSAEPROT
2ad0: 4f 4e 4f 53 55 50 50 4f 52 54 20 3d 20 57 53 41 ONOSUPPORT = WSA
2ae0: 42 41 53 45 45 52 52 2b 34 33 20 7d 0d 0a 65 6e BASEERR+43 }..en
2af0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 um : uint { WSAE
2b00: 53 4f 43 4b 54 4e 4f 53 55 50 50 4f 52 54 20 3d SOCKTNOSUPPORT =
2b10: 20 57 53 41 42 41 53 45 45 52 52 2b 34 34 20 7d WSABASEERR+44 }
2b20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2b30: 57 53 41 45 4f 50 4e 4f 54 53 55 50 50 20 3d 20 WSAEOPNOTSUPP =
2b40: 57 53 41 42 41 53 45 45 52 52 2b 34 35 20 7d 0d WSABASEERR+45 }.
2b50: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 .enum : uint { W
2b60: 53 41 45 50 46 4e 4f 53 55 50 50 4f 52 54 20 3d SAEPFNOSUPPORT =
2b70: 20 57 53 41 42 41 53 45 45 52 52 2b 34 36 20 7d WSABASEERR+46 }
2b80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2b90: 57 53 41 45 41 46 4e 4f 53 55 50 50 4f 52 54 20 WSAEAFNOSUPPORT
2ba0: 3d 20 57 53 41 42 41 53 45 45 52 52 2b 34 37 20 = WSABASEERR+47
2bb0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
2bc0: 20 57 53 41 45 41 44 44 52 49 4e 55 53 45 20 3d WSAEADDRINUSE =
2bd0: 20 57 53 41 42 41 53 45 45 52 52 2b 34 38 20 7d WSABASEERR+48 }
2be0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2bf0: 57 53 41 45 41 44 44 52 4e 4f 54 41 56 41 49 4c WSAEADDRNOTAVAIL
2c00: 20 3d 20 57 53 41 42 41 53 45 45 52 52 2b 34 39 = WSABASEERR+49
2c10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
2c20: 7b 20 57 53 41 45 4e 45 54 44 4f 57 4e 20 3d 20 { WSAENETDOWN =
2c30: 57 53 41 42 41 53 45 45 52 52 2b 35 30 20 7d 0d WSABASEERR+50 }.
2c40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 .enum : uint { W
2c50: 53 41 45 4e 45 54 55 4e 52 45 41 43 48 20 3d 20 SAENETUNREACH =
2c60: 57 53 41 42 41 53 45 45 52 52 2b 35 31 20 7d 0d WSABASEERR+51 }.
2c70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 .enum : uint { W
2c80: 53 41 45 4e 45 54 52 45 53 45 54 20 3d 20 57 53 SAENETRESET = WS
2c90: 41 42 41 53 45 45 52 52 2b 35 32 20 7d 0d 0a 65 ABASEERR+52 }..e
2ca0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 num : uint { WSA
2cb0: 45 43 4f 4e 4e 41 42 4f 52 54 45 44 20 3d 20 57 ECONNABORTED = W
2cc0: 53 41 42 41 53 45 45 52 52 2b 35 33 20 7d 0d 0a SABASEERR+53 }..
2cd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 enum : uint { WS
2ce0: 41 45 43 4f 4e 4e 52 45 53 45 54 20 3d 20 57 53 AECONNRESET = WS
2cf0: 41 42 41 53 45 45 52 52 2b 35 34 20 7d 0d 0a 65 ABASEERR+54 }..e
2d00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 num : uint { WSA
2d10: 45 4e 4f 42 55 46 53 20 3d 20 57 53 41 42 41 53 ENOBUFS = WSABAS
2d20: 45 45 52 52 2b 35 35 20 7d 0d 0a 65 6e 75 6d 20 EERR+55 }..enum
2d30: 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 49 53 43 : uint { WSAEISC
2d40: 4f 4e 4e 20 3d 20 57 53 41 42 41 53 45 45 52 52 ONN = WSABASEERR
2d50: 2b 35 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 +56 }..enum : ui
2d60: 6e 74 20 7b 20 57 53 41 45 4e 4f 54 43 4f 4e 4e nt { WSAENOTCONN
2d70: 20 3d 20 57 53 41 42 41 53 45 45 52 52 2b 35 37 = WSABASEERR+57
2d80: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
2d90: 7b 20 57 53 41 45 53 48 55 54 44 4f 57 4e 20 3d { WSAESHUTDOWN =
2da0: 20 57 53 41 42 41 53 45 45 52 52 2b 35 38 20 7d WSABASEERR+58 }
2db0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2dc0: 57 53 41 45 54 4f 4f 4d 41 4e 59 52 45 46 53 20 WSAETOOMANYREFS
2dd0: 3d 20 57 53 41 42 41 53 45 45 52 52 2b 35 39 20 = WSABASEERR+59
2de0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
2df0: 20 57 53 41 45 54 49 4d 45 44 4f 55 54 20 3d 20 WSAETIMEDOUT =
2e00: 57 53 41 42 41 53 45 45 52 52 2b 36 30 20 7d 0d WSABASEERR+60 }.
2e10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 .enum : uint { W
2e20: 53 41 45 43 4f 4e 4e 52 45 46 55 53 45 44 20 3d SAECONNREFUSED =
2e30: 20 57 53 41 42 41 53 45 45 52 52 2b 36 31 20 7d WSABASEERR+61 }
2e40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2e50: 57 53 41 45 4c 4f 4f 50 20 3d 20 57 53 41 42 41 WSAELOOP = WSABA
2e60: 53 45 45 52 52 2b 36 32 20 7d 0d 0a 65 6e 75 6d SEERR+62 }..enum
2e70: 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 4e 41 : uint { WSAENA
2e80: 4d 45 54 4f 4f 4c 4f 4e 47 20 3d 20 57 53 41 42 METOOLONG = WSAB
2e90: 41 53 45 45 52 52 2b 36 33 20 7d 0d 0a 65 6e 75 ASEERR+63 }..enu
2ea0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 48 m : uint { WSAEH
2eb0: 4f 53 54 44 4f 57 4e 20 3d 20 57 53 41 42 41 53 OSTDOWN = WSABAS
2ec0: 45 45 52 52 2b 36 34 20 7d 0d 0a 65 6e 75 6d 20 EERR+64 }..enum
2ed0: 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 48 4f 53 : uint { WSAEHOS
2ee0: 54 55 4e 52 45 41 43 48 20 3d 20 57 53 41 42 41 TUNREACH = WSABA
2ef0: 53 45 45 52 52 2b 36 35 20 7d 0d 0a 65 6e 75 6d SEERR+65 }..enum
2f00: 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 4e 4f : uint { WSAENO
2f10: 54 45 4d 50 54 59 20 3d 20 57 53 41 42 41 53 45 TEMPTY = WSABASE
2f20: 45 52 52 2b 36 36 20 7d 0d 0a 65 6e 75 6d 20 3a ERR+66 }..enum :
2f30: 20 75 69 6e 74 20 7b 20 57 53 41 45 50 52 4f 43 uint { WSAEPROC
2f40: 4c 49 4d 20 3d 20 57 53 41 42 41 53 45 45 52 52 LIM = WSABASEERR
2f50: 2b 36 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 +67 }..enum : ui
2f60: 6e 74 20 7b 20 57 53 41 45 55 53 45 52 53 20 3d nt { WSAEUSERS =
2f70: 20 57 53 41 42 41 53 45 45 52 52 2b 36 38 20 7d WSABASEERR+68 }
2f80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2f90: 57 53 41 45 44 51 55 4f 54 20 3d 20 57 53 41 42 WSAEDQUOT = WSAB
2fa0: 41 53 45 45 52 52 2b 36 39 20 7d 0d 0a 65 6e 75 ASEERR+69 }..enu
2fb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 45 53 m : uint { WSAES
2fc0: 54 41 4c 45 20 3d 20 57 53 41 42 41 53 45 45 52 TALE = WSABASEER
2fd0: 52 2b 37 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 R+70 }..enum : u
2fe0: 69 6e 74 20 7b 20 57 53 41 45 52 45 4d 4f 54 45 int { WSAEREMOTE
2ff0: 20 3d 20 57 53 41 42 41 53 45 45 52 52 2b 37 31 = WSABASEERR+71
3000: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e }....enum : uin
3010: 74 20 7b 20 57 53 41 45 44 49 53 43 4f 4e 20 3d t { WSAEDISCON =
3020: 20 57 53 41 42 41 53 45 45 52 52 2b 31 30 31 20 WSABASEERR+101
3030: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
3040: 20 7b 20 57 53 41 53 59 53 4e 4f 54 52 45 41 44 { WSASYSNOTREAD
3050: 59 20 3d 20 57 53 41 42 41 53 45 45 52 52 2b 39 Y = WSABASEERR+9
3060: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
3070: 20 7b 20 57 53 41 56 45 52 4e 4f 54 53 55 50 50 { WSAVERNOTSUPP
3080: 4f 52 54 45 44 20 3d 20 57 53 41 42 41 53 45 45 ORTED = WSABASEE
3090: 52 52 2b 39 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 RR+92 }..enum :
30a0: 75 69 6e 74 20 7b 20 57 53 41 4e 4f 54 49 4e 49 uint { WSANOTINI
30b0: 54 49 41 4c 49 53 45 44 20 3d 20 57 53 41 42 41 TIALISED = WSABA
30c0: 53 45 45 52 52 2b 39 33 20 7d 0d 0a 0d 0a 65 6e SEERR+93 }....en
30d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 41 48 um : uint { WSAH
30e0: 4f 53 54 5f 4e 4f 54 5f 46 4f 55 4e 44 20 3d 20 OST_NOT_FOUND =
30f0: 57 53 41 42 41 53 45 45 52 52 2b 31 30 30 31 20 WSABASEERR+1001
3100: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
3110: 20 7b 20 57 53 41 54 52 59 5f 41 47 41 49 4e 20 { WSATRY_AGAIN
3120: 3d 20 57 53 41 42 41 53 45 45 52 52 2b 31 30 30 = WSABASEERR+100
3130: 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 2 }....enum : ui
3140: 6e 74 20 7b 20 57 53 41 4e 4f 5f 52 45 43 4f 56 nt { WSANO_RECOV
3150: 45 52 59 20 3d 20 57 53 41 42 41 53 45 45 52 52 ERY = WSABASEERR
3160: 2b 31 30 30 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 +1003 }....enum
3170: 3a 20 75 69 6e 74 20 7b 20 57 53 41 4e 4f 5f 44 : uint { WSANO_D
3180: 41 54 41 20 3d 20 57 53 41 42 41 53 45 45 52 52 ATA = WSABASEERR
3190: 2b 31 30 30 34 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 +1004 }....// #e
31a0: 6e 64 69 66 20 2f 2a 20 69 66 64 65 66 20 57 53 ndif /* ifdef WS
31b0: 41 42 41 53 45 45 52 52 20 2a 2f 0d 0a 0d 0a 2f ABASEERR */..../
31c0: 2f 20 23 64 65 66 69 6e 65 20 68 5f 65 72 72 6e / #define h_errn
31d0: 6f 20 57 53 41 47 65 74 4c 61 73 74 45 72 72 6f o WSAGetLastErro
31e0: 72 28 29 0d 0a 61 6c 69 61 73 20 57 53 41 48 4f r()..alias WSAHO
31f0: 53 54 5f 4e 4f 54 5f 46 4f 55 4e 44 20 48 4f 53 ST_NOT_FOUND HOS
3200: 54 5f 4e 4f 54 5f 46 4f 55 4e 44 3b 0d 0a 61 6c T_NOT_FOUND;..al
3210: 69 61 73 20 57 53 41 54 52 59 5f 41 47 41 49 4e ias WSATRY_AGAIN
3220: 20 54 52 59 5f 41 47 41 49 4e 3b 0d 0a 61 6c 69 TRY_AGAIN;..ali
3230: 61 73 20 57 53 41 4e 4f 5f 52 45 43 4f 56 45 52 as WSANO_RECOVER
3240: 59 20 4e 4f 5f 52 45 43 4f 56 45 52 59 3b 0d 0a Y NO_RECOVERY;..
3250: 61 6c 69 61 73 20 57 53 41 4e 4f 5f 44 41 54 41 alias WSANO_DATA
3260: 20 4e 4f 5f 44 41 54 41 3b 0d 0a 0d 0a 61 6c 69 NO_DATA;....ali
3270: 61 73 20 57 53 41 4e 4f 5f 44 41 54 41 20 57 53 as WSANO_DATA WS
3280: 41 4e 4f 5f 41 44 44 52 45 53 53 3b 0d 0a 61 6c ANO_ADDRESS;..al
3290: 69 61 73 20 57 53 41 4e 4f 5f 41 44 44 52 45 53 ias WSANO_ADDRES
32a0: 53 20 4e 4f 5f 41 44 44 52 45 53 53 3b 0d 0a 0d S NO_ADDRESS;...
32b0: 0a 2f 2f 20 23 69 66 20 30 0d 0a 2f 2f 20 23 2e .// #if 0..// #.
32c0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
32d0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
32e0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
32f0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
3300: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
3310: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
3320: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
3330: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
3340: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
3350: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
3360: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
3370: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
3380: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
3390: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
33a0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
33b0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
33c0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
33d0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
33e0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
33f0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
3400: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
3410: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f f....// #ifdef _
3420: 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 65 _cplusplus..// e
3430: 78 74 65 72 6e 20 22 43 22 20 7b 0d 0a 2f 2f 20 xtern "C" {..//
3440: 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e #endif....extern
3450: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 (Windows) export
3460: 20 53 4f 43 4b 45 54 20 61 63 63 65 70 74 28 0d SOCKET accept(.
3470: 0a 20 20 53 4f 43 4b 45 54 20 73 2c 0d 0a 20 20 . SOCKET s,..
3480: 73 6f 63 6b 61 64 64 72 20 2a 61 64 64 72 2c 0d sockaddr *addr,.
3490: 0a 20 20 69 6e 74 20 2a 61 64 64 72 6c 65 6e 29 . int *addrlen)
34a0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 ;....extern(Wind
34b0: 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 ows) export int
34c0: 62 69 6e 64 28 0d 0a 20 20 53 4f 43 4b 45 54 20 bind(.. SOCKET
34d0: 73 2c 0d 0a 20 20 73 6f 63 6b 61 64 64 72 20 2a s,.. sockaddr *
34e0: 61 64 64 72 2c 0d 0a 20 20 69 6e 74 20 6e 61 6d addr,.. int nam
34f0: 65 6c 65 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e elen);....extern
3500: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 (Windows) export
3510: 20 69 6e 74 20 63 6c 6f 73 65 73 6f 63 6b 65 74 int closesocket
3520: 28 53 4f 43 4b 45 54 20 73 29 3b 0d 0a 0d 0a 65 (SOCKET s);....e
3530: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
3540: 78 70 6f 72 74 20 69 6e 74 20 63 6f 6e 6e 65 63 xport int connec
3550: 74 28 0d 0a 20 20 53 4f 43 4b 45 54 20 73 2c 0d t(.. SOCKET s,.
3560: 0a 20 20 73 6f 63 6b 61 64 64 72 20 2a 6e 61 6d . sockaddr *nam
3570: 65 2c 0d 0a 20 20 69 6e 74 20 6e 61 6d 65 6c 65 e,.. int namele
3580: 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 n);....extern(Wi
3590: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e ndows) export in
35a0: 74 20 69 6f 63 74 6c 73 6f 63 6b 65 74 28 0d 0a t ioctlsocket(..
35b0: 20 20 53 4f 43 4b 45 54 20 73 2c 0d 0a 20 20 69 SOCKET s,.. i
35c0: 6e 74 20 63 6d 64 2c 0d 0a 20 20 75 5f 6c 6f 6e nt cmd,.. u_lon
35d0: 67 20 2a 61 72 67 70 29 3b 0d 0a 0d 0a 65 78 74 g *argp);....ext
35e0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
35f0: 6f 72 74 20 69 6e 74 20 67 65 74 70 65 65 72 6e ort int getpeern
3600: 61 6d 65 28 0d 0a 20 20 53 4f 43 4b 45 54 20 73 ame(.. SOCKET s
3610: 2c 0d 0a 20 20 73 6f 63 6b 61 64 64 72 20 2a 6e ,.. sockaddr *n
3620: 61 6d 65 2c 0d 0a 20 20 69 6e 74 20 2a 20 6e 61 ame,.. int * na
3630: 6d 65 6c 65 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72 melen);....exter
3640: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 n(Windows) expor
3650: 74 20 69 6e 74 20 67 65 74 73 6f 63 6b 6e 61 6d t int getsocknam
3660: 65 28 0d 0a 20 20 53 4f 43 4b 45 54 20 73 2c 0d e(.. SOCKET s,.
3670: 0a 20 20 73 6f 63 6b 61 64 64 72 20 2a 6e 61 6d . sockaddr *nam
3680: 65 2c 0d 0a 20 20 69 6e 74 20 2a 20 6e 61 6d 65 e,.. int * name
3690: 6c 65 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 len);....extern(
36a0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
36b0: 69 6e 74 20 67 65 74 73 6f 63 6b 6f 70 74 28 0d int getsockopt(.
36c0: 0a 20 20 53 4f 43 4b 45 54 20 73 2c 0d 0a 20 20 . SOCKET s,..
36d0: 69 6e 74 20 6c 65 76 65 6c 2c 0d 0a 20 20 69 6e int level,.. in
36e0: 74 20 6f 70 74 6e 61 6d 65 2c 0d 0a 20 20 63 68 t optname,.. ch
36f0: 61 72 20 2a 20 6f 70 74 76 61 6c 2c 0d 0a 20 20 ar * optval,..
3700: 69 6e 74 20 2a 6f 70 74 6c 65 6e 29 3b 0d 0a 0d int *optlen);...
3710: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 .extern(Windows)
3720: 20 65 78 70 6f 72 74 20 75 5f 6c 6f 6e 67 20 68 export u_long h
3730: 74 6f 6e 6c 28 75 5f 6c 6f 6e 67 20 68 6f 73 74 tonl(u_long host
3740: 6c 6f 6e 67 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e long);....extern
3750: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 (Windows) export
3760: 20 75 5f 73 68 6f 72 74 20 68 74 6f 6e 73 28 75 u_short htons(u
3770: 5f 73 68 6f 72 74 20 68 6f 73 74 73 68 6f 72 74 _short hostshort
3780: 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e );....extern(Win
3790: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 75 69 6e dows) export uin
37a0: 74 20 69 6e 65 74 5f 61 64 64 72 28 20 20 63 68 t inet_addr( ch
37b0: 61 72 20 20 2a 20 63 70 29 3b 0d 0a 0d 0a 65 78 ar * cp);....ex
37c0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
37d0: 70 6f 72 74 20 63 68 61 72 2a 20 69 6e 65 74 5f port char* inet_
37e0: 6e 74 6f 61 28 75 69 6e 74 20 69 6e 5f 29 3b 0d ntoa(uint in_);.
37f0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 .extern(Windows)
3800: 20 65 78 70 6f 72 74 20 69 6e 74 20 6c 69 73 74 export int list
3810: 65 6e 28 0d 0a 20 20 53 4f 43 4b 45 54 20 73 2c en(.. SOCKET s,
3820: 0d 0a 20 20 69 6e 74 20 62 61 63 6b 6c 6f 67 29 .. int backlog)
3830: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 ;....extern(Wind
3840: 6f 77 73 29 20 65 78 70 6f 72 74 20 75 5f 6c 6f ows) export u_lo
3850: 6e 67 20 6e 74 6f 68 6c 28 75 5f 6c 6f 6e 67 20 ng ntohl(u_long
3860: 6e 65 74 6c 6f 6e 67 29 3b 0d 0a 0d 0a 65 78 74 netlong);....ext
3870: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
3880: 6f 72 74 20 75 5f 73 68 6f 72 74 20 6e 74 6f 68 ort u_short ntoh
3890: 73 28 75 5f 73 68 6f 72 74 20 6e 65 74 73 68 6f s(u_short netsho
38a0: 72 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 rt);....extern(W
38b0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 indows) export i
38c0: 6e 74 20 72 65 63 76 28 0d 0a 20 20 53 4f 43 4b nt recv(.. SOCK
38d0: 45 54 20 73 2c 0d 0a 20 20 63 68 61 72 20 2a 20 ET s,.. char *
38e0: 62 75 66 2c 0d 0a 20 20 69 6e 74 20 6c 65 6e 2c buf,.. int len,
38f0: 0d 0a 20 20 69 6e 74 20 66 6c 61 67 73 29 3b 0d .. int flags);.
3900: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window
3910: 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 72 65 s) export int re
3920: 63 76 66 72 6f 6d 28 0d 0a 20 20 53 4f 43 4b 45 cvfrom(.. SOCKE
3930: 54 20 73 2c 0d 0a 20 20 63 68 61 72 20 2a 20 62 T s,.. char * b
3940: 75 66 2c 0d 0a 20 20 69 6e 74 20 6c 65 6e 2c 0d uf,.. int len,.
3950: 0a 20 20 69 6e 74 20 66 6c 61 67 73 2c 0d 0a 20 . int flags,..
3960: 20 73 6f 63 6b 61 64 64 72 20 2a 66 72 6f 6d 2c sockaddr *from,
3970: 0d 0a 20 20 69 6e 74 20 2a 20 66 72 6f 6d 6c 65 .. int * fromle
3980: 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 n);....extern(Wi
3990: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e ndows) export in
39a0: 74 20 73 65 6c 65 63 74 28 0d 0a 20 20 69 6e 74 t select(.. int
39b0: 20 6e 66 64 73 2c 0d 0a 20 20 66 64 5f 73 65 74 nfds,.. fd_set
39c0: 20 2a 72 65 61 64 66 64 73 2c 0d 0a 20 20 66 64 *readfds,.. fd
39d0: 5f 73 65 74 20 2a 77 72 69 74 65 66 64 73 2c 0d _set *writefds,.
39e0: 0a 20 20 66 64 5f 73 65 74 20 2a 65 78 63 65 70 . fd_set *excep
39f0: 74 66 64 73 2c 0d 0a 20 20 74 69 6d 65 76 61 6c tfds,.. timeval
3a00: 20 2a 74 69 6d 65 6f 75 74 29 3b 0d 0a 0d 0a 65 *timeout);....e
3a10: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
3a20: 78 70 6f 72 74 20 69 6e 74 20 73 65 6e 64 28 0d xport int send(.
3a30: 0a 20 20 53 4f 43 4b 45 54 20 73 2c 0d 0a 20 20 . SOCKET s,..
3a40: 63 68 61 72 20 2a 20 62 75 66 2c 0d 0a 20 20 69 char * buf,.. i
3a50: 6e 74 20 6c 65 6e 2c 0d 0a 20 20 69 6e 74 20 66 nt len,.. int f
3a60: 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e lags);....extern
3a70: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 (Windows) export
3a80: 20 69 6e 74 20 73 65 6e 64 74 6f 28 0d 0a 20 20 int sendto(..
3a90: 53 4f 43 4b 45 54 20 73 2c 0d 0a 20 20 63 68 61 SOCKET s,.. cha
3aa0: 72 20 2a 20 62 75 66 2c 0d 0a 20 20 69 6e 74 20 r * buf,.. int
3ab0: 6c 65 6e 2c 0d 0a 20 20 69 6e 74 20 66 6c 61 67 len,.. int flag
3ac0: 73 2c 0d 0a 20 20 73 6f 63 6b 61 64 64 72 20 2a s,.. sockaddr *
3ad0: 74 6f 2c 0d 0a 20 20 69 6e 74 20 74 6f 6c 65 6e to,.. int tolen
3ae0: 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e );....extern(Win
3af0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 dows) export int
3b00: 20 73 65 74 73 6f 63 6b 6f 70 74 28 0d 0a 20 20 setsockopt(..
3b10: 53 4f 43 4b 45 54 20 73 2c 0d 0a 20 20 69 6e 74 SOCKET s,.. int
3b20: 20 6c 65 76 65 6c 2c 0d 0a 20 20 69 6e 74 20 6f level,.. int o
3b30: 70 74 6e 61 6d 65 2c 0d 0a 20 20 63 68 61 72 20 ptname,.. char
3b40: 2a 20 6f 70 74 76 61 6c 2c 0d 0a 20 20 69 6e 74 * optval,.. int
3b50: 20 6f 70 74 6c 65 6e 29 3b 0d 0a 0d 0a 65 78 74 optlen);....ext
3b60: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
3b70: 6f 72 74 20 69 6e 74 20 73 68 75 74 64 6f 77 6e ort int shutdown
3b80: 28 0d 0a 20 20 53 4f 43 4b 45 54 20 73 2c 0d 0a (.. SOCKET s,..
3b90: 20 20 69 6e 74 20 68 6f 77 29 3b 0d 0a 0d 0a 65 int how);....e
3ba0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
3bb0: 78 70 6f 72 74 20 53 4f 43 4b 45 54 20 73 6f 63 xport SOCKET soc
3bc0: 6b 65 74 28 0d 0a 20 20 69 6e 74 20 61 66 2c 0d ket(.. int af,.
3bd0: 0a 20 20 69 6e 74 20 74 79 70 65 2c 0d 0a 20 20 . int type,..
3be0: 69 6e 74 20 70 72 6f 74 6f 63 6f 6c 29 3b 0d 0a int protocol);..
3bf0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
3c00: 29 20 65 78 70 6f 72 74 20 68 6f 73 74 65 6e 74 ) export hostent
3c10: 2a 20 67 65 74 68 6f 73 74 62 79 61 64 64 72 28 * gethostbyaddr(
3c20: 0d 0a 20 20 63 68 61 72 20 20 2a 20 61 64 64 72 .. char * addr
3c30: 2c 0d 0a 20 20 69 6e 74 20 6c 65 6e 2c 0d 0a 20 ,.. int len,..
3c40: 20 69 6e 74 20 74 79 70 65 29 3b 0d 0a 65 78 74 int type);..ext
3c50: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
3c60: 6f 72 74 20 68 6f 73 74 65 6e 74 2a 20 67 65 74 ort hostent* get
3c70: 68 6f 73 74 62 79 6e 61 6d 65 28 20 20 63 68 61 hostbyname( cha
3c80: 72 20 20 2a 20 6e 61 6d 65 29 3b 0d 0a 65 78 74 r * name);..ext
3c90: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
3ca0: 6f 72 74 20 69 6e 74 20 67 65 74 68 6f 73 74 6e ort int gethostn
3cb0: 61 6d 65 28 0d 0a 20 20 63 68 61 72 20 2a 20 6e ame(.. char * n
3cc0: 61 6d 65 2c 0d 0a 20 20 69 6e 74 20 6e 61 6d 65 ame,.. int name
3cd0: 6c 65 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 len);....extern(
3ce0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
3cf0: 73 65 72 76 65 6e 74 2a 20 67 65 74 73 65 72 76 servent* getserv
3d00: 62 79 70 6f 72 74 28 0d 0a 20 20 69 6e 74 20 70 byport(.. int p
3d10: 6f 72 74 2c 0d 0a 20 20 63 68 61 72 20 20 2a 20 ort,.. char *
3d20: 70 72 6f 74 6f 29 3b 0d 0a 65 78 74 65 72 6e 28 proto);..extern(
3d30: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
3d40: 73 65 72 76 65 6e 74 2a 20 67 65 74 73 65 72 76 servent* getserv
3d50: 62 79 6e 61 6d 65 28 0d 0a 20 20 63 68 61 72 20 byname(.. char
3d60: 20 2a 20 6e 61 6d 65 2c 0d 0a 20 20 63 68 61 72 * name,.. char
3d70: 20 20 2a 20 70 72 6f 74 6f 29 3b 0d 0a 65 78 74 * proto);..ext
3d80: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
3d90: 6f 72 74 20 70 72 6f 74 6f 65 6e 74 2a 20 67 65 ort protoent* ge
3da0: 74 70 72 6f 74 6f 62 79 6e 75 6d 62 65 72 28 20 tprotobynumber(
3db0: 69 6e 74 20 70 72 6f 74 6f 29 3b 0d 0a 65 78 74 int proto);..ext
3dc0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
3dd0: 6f 72 74 20 70 72 6f 74 6f 65 6e 74 2a 20 67 65 ort protoent* ge
3de0: 74 70 72 6f 74 6f 62 79 6e 61 6d 65 28 20 20 63 tprotobyname( c
3df0: 68 61 72 20 20 2a 20 6e 61 6d 65 29 3b 0d 0a 0d har * name);...
3e00: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 .extern(Windows)
3e10: 20 65 78 70 6f 72 74 20 69 6e 74 20 57 53 41 53 export int WSAS
3e20: 74 61 72 74 75 70 28 0d 0a 20 20 57 4f 52 44 20 tartup(.. WORD
3e30: 77 56 65 72 73 69 6f 6e 52 65 71 75 69 72 65 64 wVersionRequired
3e40: 2c 0d 0a 20 20 4c 50 57 53 41 44 41 54 41 20 6c ,.. LPWSADATA l
3e50: 70 57 53 41 44 61 74 61 29 3b 0d 0a 0d 0a 65 78 pWSAData);....ex
3e60: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
3e70: 70 6f 72 74 20 69 6e 74 20 57 53 41 43 6c 65 61 port int WSAClea
3e80: 6e 75 70 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e nup();....extern
3e90: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 (Windows) export
3ea0: 20 76 6f 69 64 20 57 53 41 53 65 74 4c 61 73 74 void WSASetLast
3eb0: 45 72 72 6f 72 28 69 6e 74 20 69 45 72 72 6f 72 Error(int iError
3ec0: 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e );....extern(Win
3ed0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 dows) export int
3ee0: 20 57 53 41 47 65 74 4c 61 73 74 45 72 72 6f 72 WSAGetLastError
3ef0: 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 ();....extern(Wi
3f00: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f ndows) export BO
3f10: 4f 4c 20 57 53 41 49 73 42 6c 6f 63 6b 69 6e 67 OL WSAIsBlocking
3f20: 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 ();....extern(Wi
3f30: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e ndows) export in
3f40: 74 20 57 53 41 55 6e 68 6f 6f 6b 42 6c 6f 63 6b t WSAUnhookBlock
3f50: 69 6e 67 48 6f 6f 6b 28 29 3b 0d 0a 0d 0a 65 78 ingHook();....ex
3f60: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
3f70: 70 6f 72 74 20 46 41 52 50 52 4f 43 20 57 53 41 port FARPROC WSA
3f80: 53 65 74 42 6c 6f 63 6b 69 6e 67 48 6f 6f 6b 28 SetBlockingHook(
3f90: 46 41 52 50 52 4f 43 20 6c 70 42 6c 6f 63 6b 46 FARPROC lpBlockF
3fa0: 75 6e 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 unc);....extern(
3fb0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
3fc0: 69 6e 74 20 57 53 41 43 61 6e 63 65 6c 42 6c 6f int WSACancelBlo
3fd0: 63 6b 69 6e 67 43 61 6c 6c 28 29 3b 0d 0a 0d 0a ckingCall();....
3fe0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 extern(Windows)
3ff0: 65 78 70 6f 72 74 20 48 41 4e 44 4c 45 20 57 53 export HANDLE WS
4000: 41 41 73 79 6e 63 47 65 74 53 65 72 76 42 79 4e AAsyncGetServByN
4010: 61 6d 65 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e ame(.. HWND hWn
4020: 64 2c 0d 0a 20 20 75 5f 69 6e 74 20 77 4d 73 67 d,.. u_int wMsg
4030: 2c 0d 0a 20 20 63 68 61 72 20 2a 20 6e 61 6d 65 ,.. char * name
4040: 2c 0d 0a 20 20 63 68 61 72 20 2a 20 70 72 6f 74 ,.. char * prot
4050: 6f 2c 0d 0a 20 20 63 68 61 72 20 2a 20 62 75 66 o,.. char * buf
4060: 2c 0d 0a 20 20 69 6e 74 20 62 75 66 6c 65 6e 29 ,.. int buflen)
4070: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 ;....extern(Wind
4080: 6f 77 73 29 20 65 78 70 6f 72 74 20 48 41 4e 44 ows) export HAND
4090: 4c 45 20 57 53 41 41 73 79 6e 63 47 65 74 53 65 LE WSAAsyncGetSe
40a0: 72 76 42 79 50 6f 72 74 28 0d 0a 20 20 48 57 4e rvByPort(.. HWN
40b0: 44 20 68 57 6e 64 2c 0d 0a 20 20 75 5f 69 6e 74 D hWnd,.. u_int
40c0: 20 77 4d 73 67 2c 0d 0a 20 20 69 6e 74 20 70 6f wMsg,.. int po
40d0: 72 74 2c 0d 0a 20 20 63 68 61 72 20 2a 20 70 72 rt,.. char * pr
40e0: 6f 74 6f 2c 0d 0a 20 20 63 68 61 72 20 2a 20 62 oto,.. char * b
40f0: 75 66 2c 0d 0a 20 20 69 6e 74 20 62 75 66 6c 65 uf,.. int bufle
4100: 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 n);....extern(Wi
4110: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 41 ndows) export HA
4120: 4e 44 4c 45 20 57 53 41 41 73 79 6e 63 47 65 74 NDLE WSAAsyncGet
4130: 50 72 6f 74 6f 42 79 4e 61 6d 65 28 0d 0a 20 20 ProtoByName(..
4140: 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 75 5f HWND hWnd,.. u_
4150: 69 6e 74 20 77 4d 73 67 2c 0d 0a 20 20 63 68 61 int wMsg,.. cha
4160: 72 20 2a 20 6e 61 6d 65 2c 0d 0a 20 20 63 68 61 r * name,.. cha
4170: 72 20 2a 20 62 75 66 2c 0d 0a 20 20 69 6e 74 20 r * buf,.. int
4180: 62 75 66 6c 65 6e 29 3b 0d 0a 0d 0a 65 78 74 65 buflen);....exte
4190: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f rn(Windows) expo
41a0: 72 74 20 48 41 4e 44 4c 45 20 57 53 41 41 73 79 rt HANDLE WSAAsy
41b0: 6e 63 47 65 74 50 72 6f 74 6f 42 79 4e 75 6d 62 ncGetProtoByNumb
41c0: 65 72 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 er(.. HWND hWnd
41d0: 2c 0d 0a 20 20 75 5f 69 6e 74 20 77 4d 73 67 2c ,.. u_int wMsg,
41e0: 0d 0a 20 20 69 6e 74 20 6e 75 6d 62 65 72 2c 0d .. int number,.
41f0: 0a 20 20 63 68 61 72 20 2a 20 62 75 66 2c 0d 0a . char * buf,..
4200: 20 20 69 6e 74 20 62 75 66 6c 65 6e 29 3b 0d 0a int buflen);..
4210: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
4220: 29 20 65 78 70 6f 72 74 20 48 41 4e 44 4c 45 20 ) export HANDLE
4230: 57 53 41 41 73 79 6e 63 47 65 74 48 6f 73 74 42 WSAAsyncGetHostB
4240: 79 4e 61 6d 65 28 0d 0a 20 20 48 57 4e 44 20 68 yName(.. HWND h
4250: 57 6e 64 2c 0d 0a 20 20 75 5f 69 6e 74 20 77 4d Wnd,.. u_int wM
4260: 73 67 2c 0d 0a 20 20 63 68 61 72 20 2a 20 6e 61 sg,.. char * na
4270: 6d 65 2c 0d 0a 20 20 63 68 61 72 20 2a 20 62 75 me,.. char * bu
4280: 66 2c 0d 0a 20 20 69 6e 74 20 62 75 66 6c 65 6e f,.. int buflen
4290: 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e );....extern(Win
42a0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 41 4e dows) export HAN
42b0: 44 4c 45 20 57 53 41 41 73 79 6e 63 47 65 74 48 DLE WSAAsyncGetH
42c0: 6f 73 74 42 79 41 64 64 72 28 0d 0a 20 20 48 57 ostByAddr(.. HW
42d0: 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 75 5f 69 6e ND hWnd,.. u_in
42e0: 74 20 77 4d 73 67 2c 0d 0a 20 20 63 68 61 72 20 t wMsg,.. char
42f0: 2a 20 61 64 64 72 2c 0d 0a 20 20 69 6e 74 20 6c * addr,.. int l
4300: 65 6e 2c 0d 0a 20 20 69 6e 74 20 74 79 70 65 2c en,.. int type,
4310: 0d 0a 20 20 63 68 61 72 20 2a 20 62 75 66 2c 0d .. char * buf,.
4320: 0a 20 20 69 6e 74 20 62 75 66 6c 65 6e 29 3b 0d . int buflen);.
4330: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window
4340: 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 57 53 s) export int WS
4350: 41 43 61 6e 63 65 6c 41 73 79 6e 63 52 65 71 75 ACancelAsyncRequ
4360: 65 73 74 28 48 41 4e 44 4c 45 20 68 41 73 79 6e est(HANDLE hAsyn
4370: 63 54 61 73 6b 48 61 6e 64 6c 65 29 3b 0d 0a 0d cTaskHandle);...
4380: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 .extern(Windows)
4390: 20 65 78 70 6f 72 74 20 69 6e 74 20 57 53 41 41 export int WSAA
43a0: 73 79 6e 63 53 65 6c 65 63 74 28 0d 0a 20 20 53 syncSelect(.. S
43b0: 4f 43 4b 45 54 20 73 2c 0d 0a 20 20 48 57 4e 44 OCKET s,.. HWND
43c0: 20 68 57 6e 64 2c 0d 0a 20 20 75 5f 69 6e 74 20 hWnd,.. u_int
43d0: 77 4d 73 67 2c 0d 0a 20 20 69 6e 74 20 6c 45 76 wMsg,.. int lEv
43e0: 65 6e 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 ent);....extern(
43f0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
4400: 69 6e 74 20 57 53 41 52 65 63 76 45 78 28 0d 0a int WSARecvEx(..
4410: 20 20 53 4f 43 4b 45 54 20 73 2c 0d 0a 20 20 63 SOCKET s,.. c
4420: 68 61 72 20 2a 20 62 75 66 2c 0d 0a 20 20 69 6e har * buf,.. in
4430: 74 20 6c 65 6e 2c 0d 0a 20 20 69 6e 74 20 2a 66 t len,.. int *f
4440: 6c 61 67 73 29 3b 0d 0a 0d 0a 73 74 72 75 63 74 lags);....struct
4450: 20 5f 54 52 41 4e 53 4d 49 54 5f 46 49 4c 45 5f _TRANSMIT_FILE_
4460: 42 55 46 46 45 52 53 20 7b 0d 0a 20 20 50 56 4f BUFFERS {.. PVO
4470: 49 44 20 48 65 61 64 3b 0d 0a 20 20 44 57 4f 52 ID Head;.. DWOR
4480: 44 20 48 65 61 64 4c 65 6e 67 74 68 3b 0d 0a 20 D HeadLength;..
4490: 20 50 56 4f 49 44 20 54 61 69 6c 3b 0d 0a 20 20 PVOID Tail;..
44a0: 44 57 4f 52 44 20 54 61 69 6c 4c 65 6e 67 74 68 DWORD TailLength
44b0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 52 41 ;..}..alias _TRA
44c0: 4e 53 4d 49 54 5f 46 49 4c 45 5f 42 55 46 46 45 NSMIT_FILE_BUFFE
44d0: 52 53 20 54 52 41 4e 53 4d 49 54 5f 46 49 4c 45 RS TRANSMIT_FILE
44e0: 5f 42 55 46 46 45 52 53 3b 0d 0a 61 6c 69 61 73 _BUFFERS;..alias
44f0: 20 5f 54 52 41 4e 53 4d 49 54 5f 46 49 4c 45 5f _TRANSMIT_FILE_
4500: 42 55 46 46 45 52 53 2a 20 50 54 52 41 4e 53 4d BUFFERS* PTRANSM
4510: 49 54 5f 46 49 4c 45 5f 42 55 46 46 45 52 53 3b IT_FILE_BUFFERS;
4520: 0d 0a 61 6c 69 61 73 20 5f 54 52 41 4e 53 4d 49 ..alias _TRANSMI
4530: 54 5f 46 49 4c 45 5f 42 55 46 46 45 52 53 2a 20 T_FILE_BUFFERS*
4540: 4c 50 54 52 41 4e 53 4d 49 54 5f 46 49 4c 45 5f LPTRANSMIT_FILE_
4550: 42 55 46 46 45 52 53 3b 0d 0a 0d 0a 65 6e 75 6d BUFFERS;....enum
4560: 20 3a 20 75 69 6e 74 20 7b 20 54 46 5f 44 49 53 : uint { TF_DIS
4570: 43 4f 4e 4e 45 43 54 20 3d 20 30 78 30 31 20 7d CONNECT = 0x01 }
4580: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
4590: 54 46 5f 52 45 55 53 45 5f 53 4f 43 4b 45 54 20 TF_REUSE_SOCKET
45a0: 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a = 0x02 }..enum :
45b0: 20 75 69 6e 74 20 7b 20 54 46 5f 57 52 49 54 45 uint { TF_WRITE
45c0: 5f 42 45 48 49 4e 44 20 3d 20 30 78 30 34 20 7d _BEHIND = 0x04 }
45d0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f ....extern(Windo
45e0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 ws) export BOOL
45f0: 54 72 61 6e 73 6d 69 74 46 69 6c 65 28 0d 0a 20 TransmitFile(..
4600: 20 53 4f 43 4b 45 54 20 68 53 6f 63 6b 65 74 2c SOCKET hSocket,
4610: 0d 0a 20 20 48 41 4e 44 4c 45 20 68 46 69 6c 65 .. HANDLE hFile
4620: 2c 0d 0a 20 20 44 57 4f 52 44 20 6e 4e 75 6d 62 ,.. DWORD nNumb
4630: 65 72 4f 66 42 79 74 65 73 54 6f 57 72 69 74 65 erOfBytesToWrite
4640: 2c 0d 0a 20 20 44 57 4f 52 44 20 6e 4e 75 6d 62 ,.. DWORD nNumb
4650: 65 72 4f 66 42 79 74 65 73 50 65 72 53 65 6e 64 erOfBytesPerSend
4660: 2c 0d 0a 20 20 4c 50 4f 56 45 52 4c 41 50 50 45 ,.. LPOVERLAPPE
4670: 44 20 6c 70 4f 76 65 72 6c 61 70 70 65 64 2c 0d D lpOverlapped,.
4680: 0a 20 20 4c 50 54 52 41 4e 53 4d 49 54 5f 46 49 . LPTRANSMIT_FI
4690: 4c 45 5f 42 55 46 46 45 52 53 20 6c 70 54 72 61 LE_BUFFERS lpTra
46a0: 6e 73 6d 69 74 42 75 66 66 65 72 73 2c 0d 0a 20 nsmitBuffers,..
46b0: 20 44 57 4f 52 44 20 64 77 52 65 73 65 72 76 65 DWORD dwReserve
46c0: 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 d);....extern(Wi
46d0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f ndows) export BO
46e0: 4f 4c 20 41 63 63 65 70 74 45 78 28 0d 0a 20 20 OL AcceptEx(..
46f0: 53 4f 43 4b 45 54 20 73 4c 69 73 74 65 6e 53 6f SOCKET sListenSo
4700: 63 6b 65 74 2c 0d 0a 20 20 53 4f 43 4b 45 54 20 cket,.. SOCKET
4710: 73 41 63 63 65 70 74 53 6f 63 6b 65 74 2c 0d 0a sAcceptSocket,..
4720: 20 20 50 56 4f 49 44 20 6c 70 4f 75 74 70 75 74 PVOID lpOutput
4730: 42 75 66 66 65 72 2c 0d 0a 20 20 44 57 4f 52 44 Buffer,.. DWORD
4740: 20 64 77 52 65 63 65 69 76 65 44 61 74 61 4c 65 dwReceiveDataLe
4750: 6e 67 74 68 2c 0d 0a 20 20 44 57 4f 52 44 20 64 ngth,.. DWORD d
4760: 77 4c 6f 63 61 6c 41 64 64 72 65 73 73 4c 65 6e wLocalAddressLen
4770: 67 74 68 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 gth,.. DWORD dw
4780: 52 65 6d 6f 74 65 41 64 64 72 65 73 73 4c 65 6e RemoteAddressLen
4790: 67 74 68 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 gth,.. LPDWORD
47a0: 6c 70 64 77 42 79 74 65 73 52 65 63 65 69 76 65 lpdwBytesReceive
47b0: 64 2c 0d 0a 20 20 4c 50 4f 56 45 52 4c 41 50 50 d,.. LPOVERLAPP
47c0: 45 44 20 6c 70 4f 76 65 72 6c 61 70 70 65 64 29 ED lpOverlapped)
47d0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 ;....extern(Wind
47e0: 6f 77 73 29 20 65 78 70 6f 72 74 20 56 4f 49 44 ows) export VOID
47f0: 20 47 65 74 41 63 63 65 70 74 45 78 53 6f 63 6b GetAcceptExSock
4800: 61 64 64 72 73 28 0d 0a 20 20 50 56 4f 49 44 20 addrs(.. PVOID
4810: 6c 70 4f 75 74 70 75 74 42 75 66 66 65 72 2c 0d lpOutputBuffer,.
4820: 0a 20 20 44 57 4f 52 44 20 64 77 52 65 63 65 69 . DWORD dwRecei
4830: 76 65 44 61 74 61 4c 65 6e 67 74 68 2c 0d 0a 20 veDataLength,..
4840: 20 44 57 4f 52 44 20 64 77 4c 6f 63 61 6c 41 64 DWORD dwLocalAd
4850: 64 72 65 73 73 4c 65 6e 67 74 68 2c 0d 0a 20 20 dressLength,..
4860: 44 57 4f 52 44 20 64 77 52 65 6d 6f 74 65 41 64 DWORD dwRemoteAd
4870: 64 72 65 73 73 4c 65 6e 67 74 68 2c 0d 0a 20 20 dressLength,..
4880: 73 6f 63 6b 61 64 64 72 20 2a 2a 4c 6f 63 61 6c sockaddr **Local
4890: 53 6f 63 6b 61 64 64 72 2c 0d 0a 20 20 4c 50 49 Sockaddr,.. LPI
48a0: 4e 54 20 4c 6f 63 61 6c 53 6f 63 6b 61 64 64 72 NT LocalSockaddr
48b0: 4c 65 6e 67 74 68 2c 0d 0a 20 20 73 6f 63 6b 61 Length,.. socka
48c0: 64 64 72 20 2a 2a 52 65 6d 6f 74 65 53 6f 63 6b ddr **RemoteSock
48d0: 61 64 64 72 2c 0d 0a 20 20 4c 50 49 4e 54 20 52 addr,.. LPINT R
48e0: 65 6d 6f 74 65 53 6f 63 6b 61 64 64 72 4c 65 6e emoteSockaddrLen
48f0: 67 74 68 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 gth);....// #ifd
4900: 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a ef __cplusplus..
4910: 2f 2f 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d // }..// #endif.
4920: 0a 0d 0a 61 6c 69 61 73 20 73 6f 63 6b 61 64 64 ...alias sockadd
4930: 72 20 53 4f 43 4b 41 44 44 52 3b 0d 0a 61 6c 69 r SOCKADDR;..ali
4940: 61 73 20 73 6f 63 6b 61 64 64 72 2a 20 50 53 4f as sockaddr* PSO
4950: 43 4b 41 44 44 52 3b 0d 0a 61 6c 69 61 73 20 73 CKADDR;..alias s
4960: 6f 63 6b 61 64 64 72 2a 20 4c 50 53 4f 43 4b 41 ockaddr* LPSOCKA
4970: 44 44 52 3b 0d 0a 0d 0a 61 6c 69 61 73 20 73 6f DDR;....alias so
4980: 63 6b 61 64 64 72 5f 69 6e 20 53 4f 43 4b 41 44 ckaddr_in SOCKAD
4990: 44 52 5f 49 4e 3b 0d 0a 61 6c 69 61 73 20 73 6f DR_IN;..alias so
49a0: 63 6b 61 64 64 72 5f 69 6e 2a 20 50 53 4f 43 4b ckaddr_in* PSOCK
49b0: 41 44 44 52 5f 49 4e 3b 0d 0a 61 6c 69 61 73 20 ADDR_IN;..alias
49c0: 73 6f 63 6b 61 64 64 72 5f 69 6e 2a 20 4c 50 53 sockaddr_in* LPS
49d0: 4f 43 4b 41 44 44 52 5f 49 4e 3b 0d 0a 0d 0a 61 OCKADDR_IN;....a
49e0: 6c 69 61 73 20 6c 69 6e 67 65 72 20 4c 49 4e 47 lias linger LING
49f0: 45 52 3b 0d 0a 61 6c 69 61 73 20 6c 69 6e 67 65 ER;..alias linge
4a00: 72 2a 20 50 4c 49 4e 47 45 52 3b 0d 0a 61 6c 69 r* PLINGER;..ali
4a10: 61 73 20 6c 69 6e 67 65 72 2a 20 4c 50 4c 49 4e as linger* LPLIN
4a20: 47 45 52 3b 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e GER;....alias in
4a30: 5f 61 64 64 72 20 49 4e 5f 41 44 44 52 3b 0d 0a _addr IN_ADDR;..
4a40: 61 6c 69 61 73 20 69 6e 5f 61 64 64 72 2a 20 50 alias in_addr* P
4a50: 49 4e 5f 41 44 44 52 3b 0d 0a 61 6c 69 61 73 20 IN_ADDR;..alias
4a60: 69 6e 5f 61 64 64 72 2a 20 4c 50 49 4e 5f 41 44 in_addr* LPIN_AD
4a70: 44 52 3b 0d 0a 0d 0a 61 6c 69 61 73 20 66 64 5f DR;....alias fd_
4a80: 73 65 74 20 46 44 5f 53 45 54 3b 0d 0a 61 6c 69 set FD_SET;..ali
4a90: 61 73 20 66 64 5f 73 65 74 2a 20 50 46 44 5f 53 as fd_set* PFD_S
4aa0: 45 54 3b 0d 0a 61 6c 69 61 73 20 66 64 5f 73 65 ET;..alias fd_se
4ab0: 74 2a 20 4c 50 46 44 5f 53 45 54 3b 0d 0a 0d 0a t* LPFD_SET;....
4ac0: 61 6c 69 61 73 20 68 6f 73 74 65 6e 74 20 48 4f alias hostent HO
4ad0: 53 54 45 4e 54 3b 0d 0a 61 6c 69 61 73 20 68 6f STENT;..alias ho
4ae0: 73 74 65 6e 74 2a 20 50 48 4f 53 54 45 4e 54 3b stent* PHOSTENT;
4af0: 0d 0a 61 6c 69 61 73 20 68 6f 73 74 65 6e 74 2a ..alias hostent*
4b00: 20 4c 50 48 4f 53 54 45 4e 54 3b 0d 0a 0d 0a 61 LPHOSTENT;....a
4b10: 6c 69 61 73 20 73 65 72 76 65 6e 74 20 53 45 52 lias servent SER
4b20: 56 45 4e 54 3b 0d 0a 61 6c 69 61 73 20 73 65 72 VENT;..alias ser
4b30: 76 65 6e 74 2a 20 50 53 45 52 56 45 4e 54 3b 0d vent* PSERVENT;.
4b40: 0a 61 6c 69 61 73 20 73 65 72 76 65 6e 74 2a 20 .alias servent*
4b50: 4c 50 53 45 52 56 45 4e 54 3b 0d 0a 0d 0a 61 6c LPSERVENT;....al
4b60: 69 61 73 20 70 72 6f 74 6f 65 6e 74 20 50 52 4f ias protoent PRO
4b70: 54 4f 45 4e 54 3b 0d 0a 61 6c 69 61 73 20 70 72 TOENT;..alias pr
4b80: 6f 74 6f 65 6e 74 2a 20 50 50 52 4f 54 4f 45 4e otoent* PPROTOEN
4b90: 54 3b 0d 0a 61 6c 69 61 73 20 70 72 6f 74 6f 65 T;..alias protoe
4ba0: 6e 74 2a 20 4c 50 50 52 4f 54 4f 45 4e 54 3b 0d nt* LPPROTOENT;.
4bb0: 0a 0d 0a 61 6c 69 61 73 20 74 69 6d 65 76 61 6c ...alias timeval
4bc0: 20 54 49 4d 45 56 41 4c 3b 0d 0a 61 6c 69 61 73 TIMEVAL;..alias
4bd0: 20 74 69 6d 65 76 61 6c 2a 20 50 54 49 4d 45 56 timeval* PTIMEV
4be0: 41 4c 3b 0d 0a 61 6c 69 61 73 20 74 69 6d 65 76 AL;..alias timev
4bf0: 61 6c 2a 20 4c 50 54 49 4d 45 56 41 4c 3b 0d 0a al* LPTIMEVAL;..
4c00: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 57 53 41 ..// #define WSA
4c10: 4d 41 4b 45 41 53 59 4e 43 52 45 50 4c 59 28 62 MAKEASYNCREPLY(b
4c20: 75 66 6c 65 6e 2c 65 72 72 6f 72 29 20 4d 41 4b uflen,error) MAK
4c30: 45 4c 4f 4e 47 28 62 75 66 6c 65 6e 2c 65 72 72 ELONG(buflen,err
4c40: 6f 72 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e or)....// #defin
4c50: 65 20 57 53 41 4d 41 4b 45 53 45 4c 45 43 54 52 e WSAMAKESELECTR
4c60: 45 50 4c 59 28 65 76 65 6e 74 2c 65 72 72 6f 72 EPLY(event,error
4c70: 29 20 4d 41 4b 45 4c 4f 4e 47 28 65 76 65 6e 74 ) MAKELONG(event
4c80: 2c 65 72 72 6f 72 29 0d 0a 0d 0a 2f 2f 20 23 64 ,error)....// #d
4c90: 65 66 69 6e 65 20 57 53 41 47 45 54 41 53 59 4e efine WSAGETASYN
4ca0: 43 42 55 46 4c 45 4e 28 6c 50 61 72 61 6d 29 20 CBUFLEN(lParam)
4cb0: 4c 4f 57 4f 52 44 28 6c 50 61 72 61 6d 29 0d 0a LOWORD(lParam)..
4cc0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 57 53 41 ..// #define WSA
4cd0: 47 45 54 41 53 59 4e 43 45 52 52 4f 52 28 6c 50 GETASYNCERROR(lP
4ce0: 61 72 61 6d 29 20 48 49 57 4f 52 44 28 6c 50 61 aram) HIWORD(lPa
4cf0: 72 61 6d 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 ram)....// #defi
4d00: 6e 65 20 57 53 41 47 45 54 53 45 4c 45 43 54 45 ne WSAGETSELECTE
4d10: 56 45 4e 54 28 6c 50 61 72 61 6d 29 20 4c 4f 57 VENT(lParam) LOW
4d20: 4f 52 44 28 6c 50 61 72 61 6d 29 0d 0a 0d 0a 2f ORD(lParam)..../
4d30: 2f 20 23 64 65 66 69 6e 65 20 57 53 41 47 45 54 / #define WSAGET
4d40: 53 45 4c 45 43 54 45 52 52 4f 52 28 6c 50 61 72 SELECTERROR(lPar
4d50: 61 6d 29 20 48 49 57 4f 52 44 28 6c 50 61 72 61 am) HIWORD(lPara
4d60: 6d 29 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 m)....// #ifdef
4d70: 49 50 56 36 53 54 52 49 43 54 0d 0a 2f 2f 20 23 IPV6STRICT..// #
4d80: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f .....// #endif /
4d90: 2f 20 49 50 56 36 53 54 52 49 43 54 0d 0a 0d 0a / IPV6STRICT....
4da0: 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 5f 57 // #endif /* _W
4db0: 49 4e 53 4f 43 4b 41 50 49 5f 20 2a 2f 0d 0a INSOCKAPI_ */..