Artifact 96d84048875125a509f734f9a0ebafa1a43ba9f2:
- File
src/win32/winsock2.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /*************** 0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..* 0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0060: 20 20 20 20 20 20 20 20 20 20 77 69 6e 73 6f 63 winsoc 0070: 6b 32 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 k2.d 0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..* 00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *. 00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .* 00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows 0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu 0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le 0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..* 0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..* 0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla 0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W 01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers 01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a * 01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..* 01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 01e0: 62 79 20 44 61 6e 69 65 6c 20 4b 65 65 70 20 20 by Daniel Keep 01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 5c 2a 2a *..\** 0210: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0220: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0230: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0240: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0250: 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f 64 75 6c 65 20 77 *****/..module w 0260: 69 6e 33 32 2e 77 69 6e 73 6f 63 6b 32 3b 0d 0a in32.winsock2;.. 0270: 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 57 73 32 pragma(lib, "Ws2 0280: 5f 33 32 22 29 3b 0d 0a 0d 0a 2f 2a 0d 0a 20 20 _32");..../*.. 0290: 44 65 66 69 6e 69 74 69 6f 6e 73 20 66 6f 72 20 Definitions for 02a0: 77 69 6e 73 6f 63 6b 20 32 0d 0a 0d 0a 20 20 43 winsock 2.... C 02b0: 6f 6e 74 72 69 62 75 74 65 64 20 62 79 20 74 68 ontributed by th 02c0: 65 20 57 49 4e 45 20 70 72 6f 6a 65 63 74 2e 0d e WINE project.. 02d0: 0a 0d 0a 20 20 50 6f 72 74 69 6f 6e 73 20 43 6f ... Portions Co 02e0: 70 79 72 69 67 68 74 20 28 63 29 20 31 39 38 30 pyright (c) 1980 02f0: 2c 20 31 39 38 33 2c 20 31 39 38 38 2c 20 31 39 , 1983, 1988, 19 0300: 39 33 0d 0a 20 20 54 68 65 20 52 65 67 65 6e 74 93.. The Regent 0310: 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 s of the Univers 0320: 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 ity of Californi 0330: 61 2e 20 20 41 6c 6c 20 72 69 67 68 74 73 20 72 a. All rights r 0340: 65 73 65 72 76 65 64 2e 0d 0a 0d 0a 20 20 50 6f eserved..... Po 0350: 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 rtions Copyright 0360: 20 28 63 29 20 31 39 39 33 20 62 79 20 44 69 67 (c) 1993 by Dig 0370: 69 74 61 6c 20 45 71 75 69 70 6d 65 6e 74 20 43 ital Equipment C 0380: 6f 72 70 6f 72 61 74 69 6f 6e 2e 0d 0a 20 2a 2f orporation... */ 0390: 0d 0a 0d 0a 2f 2a 09 44 52 4b 3a 20 54 68 69 73 ..../*.DRK: This 03a0: 20 6d 6f 64 75 6c 65 20 73 68 6f 75 6c 64 20 6e module should n 03b0: 6f 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 ot be included i 03c0: 66 20 2d 76 65 72 73 69 6f 6e 3d 57 69 6e 33 32 f -version=Win32 03d0: 5f 57 69 6e 73 6f 63 6b 32 20 68 61 73 0d 0a 20 _Winsock2 has.. 03e0: 2a 09 6e 6f 74 20 62 65 65 6e 20 73 65 74 2e 20 *.not been set. 03f0: 20 49 66 20 69 74 20 68 61 73 2c 20 61 73 73 65 If it has, asse 0400: 72 74 2e 20 20 49 20 74 68 69 6e 6b 20 69 74 27 rt. I think it' 0410: 73 20 62 65 74 74 65 72 20 74 68 69 73 20 77 61 s better this wa 0420: 79 20 74 68 61 6e 0d 0a 20 2a 09 6c 65 74 74 69 y than.. *.letti 0430: 6e 67 20 74 68 65 20 75 73 65 72 20 62 65 6c 69 ng the user beli 0440: 65 76 65 20 74 68 61 74 20 69 74 27 73 20 77 6f eve that it's wo 0450: 72 6b 65 64 2e 0d 0a 20 2a 0d 0a 20 2a 09 53 47 rked... *.. *.SG 0460: 3a 20 49 74 20 68 61 73 20 6e 6f 77 20 62 65 65 : It has now bee 0470: 6e 20 63 68 61 6e 67 65 64 20 73 6f 20 74 68 61 n changed so tha 0480: 74 20 77 69 6e 73 6f 63 6b 32 20 69 73 20 74 68 t winsock2 is th 0490: 65 20 64 65 66 61 75 6c 74 2c 20 61 6e 64 0d 0a e default, and.. 04a0: 20 2a 09 2d 76 65 72 73 69 6f 6e 3d 57 69 6e 33 *.-version=Win3 04b0: 32 5f 57 69 6e 73 6f 63 6b 31 20 6d 75 73 74 20 2_Winsock1 must 04c0: 62 65 20 73 65 74 20 74 6f 20 75 73 65 20 77 69 be set to use wi 04d0: 6e 73 6f 63 6b 2e 0d 0a 20 2a 2f 0d 0a 76 65 72 nsock... */..ver 04e0: 73 69 6f 6e 28 57 69 6e 33 32 5f 57 69 6e 73 6f sion(Win32_Winso 04f0: 63 6b 31 29 20 7b 0d 0a 09 70 72 61 67 6d 61 28 ck1) {...pragma( 0500: 6d 73 67 2c 20 22 43 61 6e 6e 6f 74 20 75 73 65 msg, "Cannot use 0510: 20 77 69 6e 33 32 2e 77 69 6e 73 6f 63 6b 32 20 win32.winsock2 0520: 77 69 74 68 20 57 69 6e 33 32 5f 57 69 6e 73 6f with Win32_Winso 0530: 63 6b 31 20 64 65 66 69 6e 65 64 2e 22 29 3b 0d ck1 defined.");. 0540: 0a 09 73 74 61 74 69 63 20 61 73 73 65 72 74 28 ..static assert( 0550: 66 61 6c 73 65 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6d false);..}....im 0560: 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e 62 61 port win32.winba 0570: 73 65 3b 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 se;..import win3 0580: 32 2e 77 69 6e 64 65 66 3b 0d 0a 69 6d 70 6f 72 2.windef;..impor 0590: 74 20 77 69 6e 33 32 2e 62 61 73 65 74 79 70 73 t win32.basetyps 05a0: 3b 0d 0a 0d 0a 61 6c 69 61 73 20 63 68 61 72 20 ;....alias char 05b0: 75 5f 63 68 61 72 3b 0d 0a 61 6c 69 61 73 20 75 u_char;..alias u 05c0: 73 68 6f 72 74 20 75 5f 73 68 6f 72 74 3b 0d 0a short u_short;.. 05d0: 61 6c 69 61 73 20 75 69 6e 74 20 75 5f 69 6e 74 alias uint u_int 05e0: 2c 20 75 5f 6c 6f 6e 67 2c 20 53 4f 43 4b 45 54 , u_long, SOCKET 05f0: 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 73 69 7a 65 5f ;....const size_ 0600: 74 20 46 44 5f 53 45 54 53 49 5a 45 20 3d 20 36 t FD_SETSIZE = 6 0610: 34 3b 0d 0a 0d 0a 2f 2a 20 73 68 75 74 64 6f 77 4;..../* shutdow 0620: 6e 28 29 20 68 6f 77 20 74 79 70 65 73 20 2a 2f n() how types */ 0630: 0d 0a 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0d 0a ..enum : int {.. 0640: 09 53 44 5f 52 45 43 45 49 56 45 2c 0d 0a 09 53 .SD_RECEIVE,...S 0650: 44 5f 53 45 4e 44 2c 0d 0a 09 53 44 5f 42 4f 54 D_SEND,...SD_BOT 0660: 48 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 47 6f 6f 64 20 H..}..../* Good 0670: 67 72 69 65 66 20 74 68 69 73 20 69 73 20 73 74 grief this is st 0680: 75 70 69 64 2e 2e 2e 20 69 73 20 69 74 20 61 20 upid... is it a 0690: 73 74 72 75 63 74 3f 20 20 41 20 70 72 65 70 72 struct? A prepr 06a0: 6f 63 65 73 73 6f 72 20 6d 61 63 72 6f 3f 20 20 ocessor macro? 06b0: 41 0d 0a 20 20 20 73 74 72 75 63 74 20 74 61 67 A.. struct tag 06c0: 3f 20 20 57 68 6f 20 74 68 65 20 68 65 6c 6c 20 ? Who the hell 06d0: 6b 6e 6f 77 73 21 3f 20 2a 2f 0d 0a 73 74 72 75 knows!? */..stru 06e0: 63 74 20 46 44 5f 53 45 54 20 7b 0d 0a 09 75 5f ct FD_SET {...u_ 06f0: 69 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 20 int 0700: 20 20 66 64 5f 63 6f 75 6e 74 3b 0d 0a 09 53 4f fd_count;...SO 0710: 43 4b 45 54 5b 46 44 5f 53 45 54 53 49 5a 45 5d CKET[FD_SETSIZE] 0720: 20 20 66 64 5f 61 72 72 61 79 3b 0d 0a 0d 0a 09 fd_array;..... 0730: 2f 2a 20 74 68 69 73 20 64 69 66 66 65 72 73 20 /* this differs 0740: 66 72 6f 6d 20 74 68 65 20 64 65 66 69 6e 65 20 from the define 0750: 69 6e 20 77 69 6e 73 6f 63 6b 2e 68 20 61 6e 64 in winsock.h and 0760: 20 69 6e 20 63 79 67 77 69 6e 20 73 79 73 2f 74 in cygwin sys/t 0770: 79 70 65 73 2e 68 20 2a 2f 0d 0a 09 73 74 61 74 ypes.h */...stat 0780: 69 63 20 76 6f 69 64 20 6f 70 43 61 6c 6c 28 53 ic void opCall(S 0790: 4f 43 4b 45 54 20 66 64 2c 20 46 44 5f 53 45 54 OCKET fd, FD_SET 07a0: 20 73 65 74 29 20 7b 0d 0a 09 09 75 5f 69 6e 74 set) {....u_int 07b0: 20 69 3b 0d 0a 09 09 66 6f 72 20 28 69 20 3d 20 i;....for (i = 07c0: 30 3b 20 69 20 3c 20 73 65 74 2e 66 64 5f 63 6f 0; i < set.fd_co 07d0: 75 6e 74 3b 20 69 2b 2b 29 0d 0a 09 09 09 69 66 unt; i++).....if 07e0: 20 28 73 65 74 2e 66 64 5f 61 72 72 61 79 5b 69 (set.fd_array[i 07f0: 5d 20 3d 3d 20 66 64 29 0d 0a 09 09 09 09 62 72 ] == fd)......br 0800: 65 61 6b 3b 0d 0a 09 09 69 66 20 28 69 20 3d 3d eak;....if (i == 0810: 20 73 65 74 2e 66 64 5f 63 6f 75 6e 74 29 0d 0a set.fd_count).. 0820: 09 09 09 69 66 20 28 73 65 74 2e 66 64 5f 63 6f ...if (set.fd_co 0830: 75 6e 74 20 3c 20 46 44 5f 53 45 54 53 49 5a 45 unt < FD_SETSIZE 0840: 29 20 7b 0d 0a 09 09 09 09 73 65 74 2e 66 64 5f ) {......set.fd_ 0850: 61 72 72 61 79 5b 69 5d 20 3d 20 66 64 3b 0d 0a array[i] = fd;.. 0860: 09 09 09 09 73 65 74 2e 66 64 5f 63 6f 75 6e 74 ....set.fd_count 0870: 2b 2b 3b 0d 0a 09 09 09 7d 0d 0a 09 7d 0d 0a 7d ++;.....}...}..} 0880: 0d 0a 61 6c 69 61 73 20 46 44 5f 53 45 54 2a 20 ..alias FD_SET* 0890: 50 46 44 5f 53 45 54 2c 20 4c 50 46 44 5f 53 45 PFD_SET, LPFD_SE 08a0: 54 3b 0d 0a 0d 0a 2f 2f 20 4b 65 65 70 20 74 68 T;....// Keep th 08b0: 69 73 20 61 6c 69 61 73 2c 20 73 69 6e 63 65 20 is alias, since 08c0: 66 64 5f 73 65 74 20 69 73 6e 27 74 20 61 20 74 fd_set isn't a t 08d0: 61 67 20 6e 61 6d 65 20 69 6e 20 74 68 65 20 6f ag name in the o 08e0: 72 69 67 69 6e 61 6c 20 68 65 61 64 65 72 2e 0d riginal header.. 08f0: 0a 61 6c 69 61 73 20 46 44 5f 53 45 54 20 66 64 .alias FD_SET fd 0900: 5f 73 65 74 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 _set;....extern( 0910: 57 69 6e 64 6f 77 73 29 20 69 6e 74 20 5f 5f 57 Windows) int __W 0920: 53 41 46 44 49 73 53 65 74 28 53 4f 43 4b 45 54 SAFDIsSet(SOCKET 0930: 2c 20 46 44 5f 53 45 54 2a 29 3b 0d 0a 61 6c 69 , FD_SET*);..ali 0940: 61 73 20 5f 5f 57 53 41 46 44 49 73 53 65 74 20 as __WSAFDIsSet 0950: 46 44 5f 49 53 53 45 54 3b 0d 0a 0d 0a 76 6f 69 FD_ISSET;....voi 0960: 64 20 46 44 5f 43 4c 52 28 53 4f 43 4b 45 54 20 d FD_CLR(SOCKET 0970: 66 64 2c 20 46 44 5f 53 45 54 2a 20 73 65 74 29 fd, FD_SET* set) 0980: 20 7b 0d 0a 09 66 6f 72 20 28 75 5f 69 6e 74 20 {...for (u_int 0990: 69 20 3d 20 30 3b 20 69 20 3c 20 73 65 74 2e 66 i = 0; i < set.f 09a0: 64 5f 63 6f 75 6e 74 3b 20 69 2b 2b 29 20 7b 0d d_count; i++) {. 09b0: 0a 09 09 69 66 20 28 73 65 74 2e 66 64 5f 61 72 ...if (set.fd_ar 09c0: 72 61 79 5b 69 5d 20 3d 3d 20 66 64 29 20 7b 0d ray[i] == fd) {. 09d0: 0a 09 09 09 77 68 69 6c 65 20 28 69 20 3c 20 73 ....while (i < s 09e0: 65 74 2e 66 64 5f 63 6f 75 6e 74 20 2d 20 31 29 et.fd_count - 1) 09f0: 20 7b 0d 0a 09 09 09 09 73 65 74 2e 66 64 5f 61 {......set.fd_a 0a00: 72 72 61 79 5b 69 5d 20 3d 20 73 65 74 2e 66 64 rray[i] = set.fd 0a10: 5f 61 72 72 61 79 5b 69 2b 31 5d 3b 0d 0a 09 09 _array[i+1];.... 0a20: 09 09 69 2b 2b 3b 0d 0a 09 09 09 7d 0d 0a 09 09 ..i++;.....}.... 0a30: 09 73 65 74 2e 66 64 5f 63 6f 75 6e 74 2d 2d 3b .set.fd_count--; 0a40: 0d 0a 09 09 09 62 72 65 61 6b 3b 0d 0a 09 09 7d .....break;....} 0a50: 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 ...}..}....void 0a60: 46 44 5f 5a 45 52 4f 28 46 44 5f 53 45 54 2a 20 FD_ZERO(FD_SET* 0a70: 73 65 74 29 20 7b 0d 0a 09 73 65 74 2e 66 64 5f set) {...set.fd_ 0a80: 63 6f 75 6e 74 20 3d 20 30 3b 0d 0a 7d 0d 0a 0d count = 0;..}... 0a90: 0a 0d 0a 73 74 72 75 63 74 20 54 49 4d 45 56 41 ...struct TIMEVA 0aa0: 4c 20 7b 0d 0a 09 69 6e 74 20 74 76 5f 73 65 63 L {...int tv_sec 0ab0: 3b 0d 0a 09 69 6e 74 20 74 76 5f 75 73 65 63 3b ;...int tv_usec; 0ac0: 0d 0a 0d 0a 09 69 6e 74 20 6f 70 43 6d 70 28 54 .....int opCmp(T 0ad0: 49 4d 45 56 41 4c 20 74 76 29 20 7b 0d 0a 09 09 IMEVAL tv) {.... 0ae0: 69 66 20 28 74 76 5f 73 65 63 20 3c 20 74 76 2e if (tv_sec < tv. 0af0: 74 76 5f 73 65 63 29 20 20 20 72 65 74 75 72 6e tv_sec) return 0b00: 20 2d 31 3b 0d 0a 09 09 69 66 20 28 74 76 5f 73 -1;....if (tv_s 0b10: 65 63 20 3e 20 74 76 2e 74 76 5f 73 65 63 29 20 ec > tv.tv_sec) 0b20: 20 20 72 65 74 75 72 6e 20 20 31 3b 0d 0a 09 09 return 1;.... 0b30: 69 66 20 28 74 76 5f 75 73 65 63 20 3c 20 74 76 if (tv_usec < tv 0b40: 2e 74 76 5f 75 73 65 63 29 20 72 65 74 75 72 6e .tv_usec) return 0b50: 20 2d 31 3b 0d 0a 09 09 69 66 20 28 74 76 5f 75 -1;....if (tv_u 0b60: 73 65 63 20 3e 20 74 76 2e 74 76 5f 75 73 65 63 sec > tv.tv_usec 0b70: 29 20 72 65 74 75 72 6e 20 20 31 3b 0d 0a 09 09 ) return 1;.... 0b80: 72 65 74 75 72 6e 20 30 3b 0d 0a 09 7d 0d 0a 7d return 0;...}..} 0b90: 0d 0a 61 6c 69 61 73 20 54 49 4d 45 56 41 4c 2a ..alias TIMEVAL* 0ba0: 20 50 54 49 4d 45 56 41 4c 2c 20 4c 50 54 49 4d PTIMEVAL, LPTIM 0bb0: 45 56 41 4c 3b 0d 0a 0d 0a 62 6f 6f 6c 20 74 69 EVAL;....bool ti 0bc0: 6d 65 72 69 73 73 65 74 28 54 49 4d 45 56 41 4c merisset(TIMEVAL 0bd0: 2a 20 74 76 70 29 20 7b 0d 0a 09 72 65 74 75 72 * tvp) {...retur 0be0: 6e 20 74 76 70 2e 74 76 5f 73 65 63 20 7c 7c 20 n tvp.tv_sec || 0bf0: 74 76 70 2e 74 76 5f 75 73 65 63 3b 0d 0a 7d 0d tvp.tv_usec;..}. 0c00: 0a 0d 0a 2f 2b 0d 0a 2f 2a 20 44 52 4b 3a 20 54 .../+../* DRK: T 0c10: 68 65 73 65 20 68 61 76 65 20 62 65 65 6e 20 63 hese have been c 0c20: 6f 6d 6d 65 6e 74 65 64 20 6f 75 74 20 62 65 63 ommented out bec 0c30: 61 75 73 65 20 69 74 20 77 61 73 20 66 65 6c 74 ause it was felt 0c40: 20 74 68 61 74 20 75 73 69 6e 67 0d 0a 20 2a 20 that using.. * 0c50: 6f 6d 43 6d 70 20 6f 6e 20 74 68 65 20 54 49 4d omCmp on the TIM 0c60: 45 56 41 4c 20 73 74 72 75 63 74 20 77 61 73 20 EVAL struct was 0c70: 63 6c 65 61 6e 65 72 2e 20 20 53 74 69 6c 6c 2c cleaner. Still, 0c80: 20 70 65 72 68 61 70 73 20 74 68 65 73 65 20 73 perhaps these s 0c90: 68 6f 75 6c 64 0d 0a 20 2a 20 62 65 20 65 6e 61 hould.. * be ena 0ca0: 62 6c 65 64 20 75 6e 64 65 72 20 61 20 76 65 72 bled under a ver 0cb0: 73 69 6f 6e 20 74 61 67 20 66 6f 72 20 63 6f 6d sion tag for com 0cc0: 70 61 74 69 62 69 6c 69 74 79 27 73 20 73 61 6b patibility's sak 0cd0: 65 3f 0d 0a 20 2a 20 49 66 20 69 74 20 69 73 20 e?.. * If it is 0ce0: 64 65 63 69 64 65 64 20 74 68 61 74 20 69 74 27 decided that it' 0cf0: 73 20 6a 75 73 74 20 75 67 6c 79 20 61 6e 64 20 s just ugly and 0d00: 75 6e 77 61 6e 74 65 64 2c 20 74 68 65 6e 20 66 unwanted, then f 0d10: 65 65 6c 20 66 72 65 65 20 74 6f 0d 0a 20 2a 20 eel free to.. * 0d20: 64 65 6c 65 74 65 20 74 68 69 73 20 73 65 63 74 delete this sect 0d30: 69 6f 6e 20 3a 29 0d 0a 20 2a 2f 0d 0a 69 6e 74 ion :).. */..int 0d40: 20 74 69 6d 65 72 63 6d 70 28 54 49 4d 45 56 41 timercmp(TIMEVA 0d50: 4c 2a 20 74 76 70 2c 20 54 49 4d 45 56 41 4c 2a L* tvp, TIMEVAL* 0d60: 20 75 76 70 29 20 7b 0d 0a 09 72 65 74 75 72 6e uvp) {...return 0d70: 20 74 76 70 2e 74 76 5f 73 65 63 20 21 3d 20 75 tvp.tv_sec != u 0d80: 76 70 2e 74 76 5f 73 65 63 20 3f 0d 0a 09 20 20 vp.tv_sec ?... 0d90: 20 20 28 74 76 70 2e 74 76 5f 73 65 63 20 3c 20 (tvp.tv_sec < 0da0: 75 76 70 2e 74 76 5f 73 65 63 20 3f 20 2d 31 20 uvp.tv_sec ? -1 0db0: 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 :.. ( 0dc0: 74 76 70 2e 74 76 5f 73 65 63 20 3e 20 75 76 70 tvp.tv_sec > uvp 0dd0: 2e 74 76 5f 73 65 63 20 3f 20 31 20 3a 20 30 29 .tv_sec ? 1 : 0) 0de0: 29 20 3a 0d 0a 09 20 20 20 20 28 74 76 70 2e 74 ) :... (tvp.t 0df0: 76 5f 75 73 65 63 20 3c 20 75 76 70 2e 74 76 5f v_usec < uvp.tv_ 0e00: 75 73 65 63 20 3f 20 2d 31 20 3a 0d 0a 09 20 20 usec ? -1 :... 0e10: 20 20 20 20 20 20 28 74 76 70 2e 74 76 5f 75 73 (tvp.tv_us 0e20: 65 63 20 3e 20 75 76 70 2e 74 76 5f 75 73 65 63 ec > uvp.tv_usec 0e30: 20 3f 20 31 20 3a 20 30 29 29 3b 0d 0a 7d 0d 0a ? 1 : 0));..}.. 0e40: 0d 0a 69 6e 74 20 74 69 6d 65 72 63 6d 70 28 54 ..int timercmp(T 0e50: 49 4d 45 56 41 4c 2a 20 74 76 70 2c 20 54 49 4d IMEVAL* tvp, TIM 0e60: 45 56 41 4c 2a 20 75 76 70 2c 20 69 6e 74 20 66 EVAL* uvp, int f 0e70: 75 6e 63 74 69 6f 6e 28 6c 6f 6e 67 2c 6c 6f 6e unction(long,lon 0e80: 67 29 20 63 6d 70 29 20 7b 0d 0a 09 72 65 74 75 g) cmp) {...retu 0e90: 72 6e 20 74 76 70 2e 74 76 5f 73 65 63 20 21 3d rn tvp.tv_sec != 0ea0: 20 75 76 70 2e 74 76 5f 73 65 63 20 3f 0d 0a 09 uvp.tv_sec ?... 0eb0: 20 20 20 20 63 6d 70 28 74 76 70 2e 74 76 5f 73 cmp(tvp.tv_s 0ec0: 65 63 2c 20 75 76 70 2e 74 76 5f 73 65 63 29 20 ec, uvp.tv_sec) 0ed0: 3a 0d 0a 09 20 20 20 20 63 6d 70 28 74 76 70 2e :... cmp(tvp. 0ee0: 74 76 5f 75 73 65 63 2c 20 75 76 70 2e 74 76 5f tv_usec, uvp.tv_ 0ef0: 75 73 65 63 29 3b 0d 0a 7d 2b 2f 0d 0a 0d 0a 76 usec);..}+/....v 0f00: 6f 69 64 20 74 69 6d 65 72 63 6c 65 61 72 28 72 oid timerclear(r 0f10: 65 66 20 54 49 4d 45 56 41 4c 20 74 76 70 29 20 ef TIMEVAL tvp) 0f20: 7b 0d 0a 09 74 76 70 2e 74 76 5f 73 65 63 20 3d {...tvp.tv_sec = 0f30: 20 74 76 70 2e 74 76 5f 75 73 65 63 20 3d 20 30 tvp.tv_usec = 0 0f40: 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 48 ;..}....struct H 0f50: 4f 53 54 45 4e 54 20 7b 0d 0a 09 63 68 61 72 2a OSTENT {...char* 0f60: 20 20 68 5f 6e 61 6d 65 3b 0d 0a 09 63 68 61 72 h_name;...char 0f70: 2a 2a 20 68 5f 61 6c 69 61 73 65 73 3b 0d 0a 09 ** h_aliases;... 0f80: 73 68 6f 72 74 20 20 68 5f 61 64 64 72 74 79 70 short h_addrtyp 0f90: 65 3b 0d 0a 09 73 68 6f 72 74 20 20 68 5f 6c 65 e;...short h_le 0fa0: 6e 67 74 68 3b 0d 0a 09 63 68 61 72 2a 2a 20 68 ngth;...char** h 0fb0: 5f 61 64 64 72 5f 6c 69 73 74 3b 0d 0a 0d 0a 09 _addr_list;..... 0fc0: 63 68 61 72 2a 20 68 5f 61 64 64 72 28 29 20 7b char* h_addr() { 0fd0: 20 72 65 74 75 72 6e 20 68 5f 61 64 64 72 5f 6c return h_addr_l 0fe0: 69 73 74 5b 30 5d 3b 20 7d 0d 0a 09 63 68 61 72 ist[0]; }...char 0ff0: 2a 20 68 5f 61 64 64 72 28 63 68 61 72 2a 20 68 * h_addr(char* h 1000: 29 20 7b 20 72 65 74 75 72 6e 20 68 5f 61 64 64 ) { return h_add 1010: 72 5f 6c 69 73 74 5b 30 5d 20 3d 20 68 3b 20 7d r_list[0] = h; } 1020: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 48 4f 53 54 45 ..}..alias HOSTE 1030: 4e 54 2a 20 50 48 4f 53 54 45 4e 54 2c 20 4c 50 NT* PHOSTENT, LP 1040: 48 4f 53 54 45 4e 54 3b 0d 0a 0d 0a 73 74 72 75 HOSTENT;....stru 1050: 63 74 20 4c 49 4e 47 45 52 20 7b 0d 0a 09 75 5f ct LINGER {...u_ 1060: 73 68 6f 72 74 20 6c 5f 6f 6e 6f 66 66 3b 0d 0a short l_onoff;.. 1070: 09 75 5f 73 68 6f 72 74 20 6c 5f 6c 69 6e 67 65 .u_short l_linge 1080: 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4c 49 4e r;..}..alias LIN 1090: 47 45 52 2a 20 50 4c 49 4e 47 45 52 2c 20 4c 50 GER* PLINGER, LP 10a0: 4c 49 4e 47 45 52 3b 0d 0a 0d 0a 65 6e 75 6d 20 LINGER;....enum 10b0: 3a 20 44 57 4f 52 44 20 7b 0d 0a 09 49 4f 43 50 : DWORD {...IOCP 10c0: 41 52 41 4d 5f 4d 41 53 4b 20 3d 20 30 78 37 66 ARAM_MASK = 0x7f 10d0: 2c 0d 0a 09 49 4f 43 5f 56 4f 49 44 20 20 20 20 ,...IOC_VOID 10e0: 20 20 3d 20 30 78 32 30 30 30 30 30 30 30 2c 0d = 0x20000000,. 10f0: 0a 09 49 4f 43 5f 4f 55 54 20 20 20 20 20 20 20 ..IOC_OUT 1100: 3d 20 30 78 34 30 30 30 30 30 30 30 2c 0d 0a 09 = 0x40000000,... 1110: 49 4f 43 5f 49 4e 20 20 20 20 20 20 20 20 3d 20 IOC_IN = 1120: 30 78 38 30 30 30 30 30 30 30 2c 0d 0a 09 49 4f 0x80000000,...IO 1130: 43 5f 49 4e 4f 55 54 20 20 20 20 20 3d 20 49 4f C_INOUT = IO 1140: 43 5f 49 4e 7c 49 4f 43 5f 4f 55 54 0d 0a 7d 0d C_IN|IOC_OUT..}. 1150: 0a 0d 0a 2f 2f 20 4e 4f 54 45 3a 20 54 68 69 73 ...// NOTE: This 1160: 20 69 73 6e 27 74 20 65 76 65 6e 20 75 73 65 64 isn't even used 1170: 20 61 6e 79 77 68 65 72 65 2e 2e 2e 0d 0a 74 65 anywhere.....te 1180: 6d 70 6c 61 74 65 20 5f 49 4f 28 63 68 61 72 20 mplate _IO(char 1190: 78 2c 20 75 62 79 74 65 20 79 29 20 7b 0d 0a 09 x, ubyte y) {... 11a0: 63 6f 6e 73 74 20 44 57 4f 52 44 20 5f 49 4f 20 const DWORD _IO 11b0: 3d 20 49 4f 43 5f 56 4f 49 44 20 7c 20 28 63 61 = IOC_VOID | (ca 11c0: 73 74 28 75 62 79 74 65 29 78 3c 3c 38 29 20 7c st(ubyte)x<<8) | 11d0: 20 79 3b 0d 0a 7d 0d 0a 0d 0a 74 65 6d 70 6c 61 y;..}....templa 11e0: 74 65 20 5f 49 4f 52 28 63 68 61 72 20 78 2c 20 te _IOR(char x, 11f0: 75 62 79 74 65 20 79 2c 20 74 29 20 7b 0d 0a 09 ubyte y, t) {... 1200: 63 6f 6e 73 74 20 44 57 4f 52 44 20 5f 49 4f 52 const DWORD _IOR 1210: 20 3d 20 49 4f 43 5f 4f 55 54 20 7c 20 28 28 74 = IOC_OUT | ((t 1220: 2e 73 69 7a 65 6f 66 20 26 20 49 4f 43 50 41 52 .sizeof & IOCPAR 1230: 41 4d 5f 4d 41 53 4b 29 3c 3c 31 36 29 0d 0a 09 AM_MASK)<<16)... 1240: 09 7c 20 28 63 61 73 74 28 75 62 79 74 65 29 78 .| (cast(ubyte)x 1250: 3c 3c 38 29 20 7c 20 79 3b 0d 0a 7d 0d 0a 0d 0a <<8) | y;..}.... 1260: 74 65 6d 70 6c 61 74 65 20 5f 49 4f 57 28 63 68 template _IOW(ch 1270: 61 72 20 78 2c 20 75 62 79 74 65 20 79 2c 20 74 ar x, ubyte y, t 1280: 29 20 7b 0d 0a 09 63 6f 6e 73 74 20 44 57 4f 52 ) {...const DWOR 1290: 44 20 5f 49 4f 57 20 3d 20 49 4f 43 5f 49 4e 20 D _IOW = IOC_IN 12a0: 7c 20 28 28 74 2e 73 69 7a 65 6f 66 20 26 20 49 | ((t.sizeof & I 12b0: 4f 43 50 41 52 41 4d 5f 4d 41 53 4b 29 3c 3c 31 OCPARAM_MASK)<<1 12c0: 36 29 0d 0a 09 09 7c 20 28 63 61 73 74 28 75 62 6)....| (cast(ub 12d0: 79 74 65 29 78 3c 3c 38 29 20 7c 20 79 3b 0d 0a yte)x<<8) | y;.. 12e0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 }....enum : DWOR 12f0: 44 20 7b 0d 0a 09 46 49 4f 4e 42 49 4f 20 20 20 D {...FIONBIO 1300: 20 3d 20 5f 49 4f 57 21 28 27 66 27 2c 20 31 32 = _IOW!('f', 12 1310: 36 2c 20 75 5f 6c 6f 6e 67 29 2c 0d 0a 09 46 49 6, u_long),...FI 1320: 4f 4e 52 45 41 44 20 20 20 3d 20 5f 49 4f 52 21 ONREAD = _IOR! 1330: 28 27 66 27 2c 20 31 32 37 2c 20 75 5f 6c 6f 6e ('f', 127, u_lon 1340: 67 29 2c 0d 0a 09 46 49 4f 41 53 59 4e 43 20 20 g),...FIOASYNC 1350: 20 3d 20 5f 49 4f 57 21 28 27 66 27 2c 20 31 32 = _IOW!('f', 12 1360: 35 2c 20 75 5f 6c 6f 6e 67 29 2c 0d 0a 09 53 49 5, u_long),...SI 1370: 4f 43 53 48 49 57 41 54 20 3d 20 5f 49 4f 57 21 OCSHIWAT = _IOW! 1380: 28 27 73 27 2c 20 20 20 30 2c 20 75 5f 6c 6f 6e ('s', 0, u_lon 1390: 67 29 2c 0d 0a 09 53 49 4f 43 47 48 49 57 41 54 g),...SIOCGHIWAT 13a0: 20 3d 20 5f 49 4f 52 21 28 27 73 27 2c 20 20 20 = _IOR!('s', 13b0: 31 2c 20 75 5f 6c 6f 6e 67 29 2c 0d 0a 09 53 49 1, u_long),...SI 13c0: 4f 43 53 4c 4f 57 41 54 20 3d 20 5f 49 4f 57 21 OCSLOWAT = _IOW! 13d0: 28 27 73 27 2c 20 20 20 32 2c 20 75 5f 6c 6f 6e ('s', 2, u_lon 13e0: 67 29 2c 0d 0a 09 53 49 4f 43 47 4c 4f 57 41 54 g),...SIOCGLOWAT 13f0: 20 3d 20 5f 49 4f 52 21 28 27 73 27 2c 20 20 20 = _IOR!('s', 1400: 33 2c 20 75 5f 6c 6f 6e 67 29 2c 0d 0a 09 53 49 3, u_long),...SI 1410: 4f 43 41 54 4d 41 52 4b 20 3d 20 5f 49 4f 52 21 OCATMARK = _IOR! 1420: 28 27 73 27 2c 20 20 20 37 2c 20 75 5f 6c 6f 6e ('s', 7, u_lon 1430: 67 29 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 g)..}....struct 1440: 6e 65 74 65 6e 74 20 7b 0d 0a 09 63 68 61 72 2a netent {...char* 1450: 20 20 6e 5f 6e 61 6d 65 3b 0d 0a 09 63 68 61 72 n_name;...char 1460: 2a 2a 20 6e 5f 61 6c 69 61 73 65 73 3b 0d 0a 09 ** n_aliases;... 1470: 73 68 6f 72 74 20 20 6e 5f 61 64 64 72 74 79 70 short n_addrtyp 1480: 65 3b 0d 0a 09 75 5f 6c 6f 6e 67 20 6e 5f 6e 65 e;...u_long n_ne 1490: 74 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 t;..}....struct 14a0: 53 45 52 56 45 4e 54 20 7b 0d 0a 09 63 68 61 72 SERVENT {...char 14b0: 2a 20 20 73 5f 6e 61 6d 65 3b 0d 0a 09 63 68 61 * s_name;...cha 14c0: 72 2a 2a 20 73 5f 61 6c 69 61 73 65 73 3b 0d 0a r** s_aliases;.. 14d0: 09 73 68 6f 72 74 20 20 73 5f 70 6f 72 74 3b 0d .short s_port;. 14e0: 0a 09 63 68 61 72 2a 20 20 73 5f 70 72 6f 74 6f ..char* s_proto 14f0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 45 52 56 ;..}..alias SERV 1500: 45 4e 54 2a 20 50 53 45 52 56 45 4e 54 2c 20 4c ENT* PSERVENT, L 1510: 50 53 45 52 56 45 4e 54 3b 0d 0a 0d 0a 73 74 72 PSERVENT;....str 1520: 75 63 74 20 50 52 4f 54 4f 45 4e 54 20 7b 0d 0a uct PROTOENT {.. 1530: 09 63 68 61 72 2a 20 20 70 5f 6e 61 6d 65 3b 0d .char* p_name;. 1540: 0a 09 63 68 61 72 2a 2a 20 70 5f 61 6c 69 61 73 ..char** p_alias 1550: 65 73 3b 0d 0a 09 73 68 6f 72 74 20 20 70 5f 70 es;...short p_p 1560: 72 6f 74 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 roto;..}..alias 1570: 50 52 4f 54 4f 45 4e 54 2a 20 50 50 52 4f 54 4f PROTOENT* PPROTO 1580: 45 4e 54 2c 20 4c 50 50 52 4f 54 4f 45 4e 54 3b ENT, LPPROTOENT; 1590: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 69 6e 74 20 7b ....enum : int { 15a0: 0d 0a 09 49 50 50 52 4f 54 4f 5f 49 50 20 20 20 ...IPPROTO_IP 15b0: 3d 20 20 20 30 2c 0d 0a 09 49 50 50 52 4f 54 4f = 0,...IPPROTO 15c0: 5f 49 43 4d 50 20 3d 20 20 20 31 2c 0d 0a 09 49 _ICMP = 1,...I 15d0: 50 50 52 4f 54 4f 5f 49 47 4d 50 20 3d 20 20 20 PPROTO_IGMP = 15e0: 32 2c 0d 0a 09 49 50 50 52 4f 54 4f 5f 47 47 50 2,...IPPROTO_GGP 15f0: 20 20 3d 20 20 20 33 2c 0d 0a 09 49 50 50 52 4f = 3,...IPPRO 1600: 54 4f 5f 54 43 50 20 20 3d 20 20 20 36 2c 0d 0a TO_TCP = 6,.. 1610: 09 49 50 50 52 4f 54 4f 5f 50 55 50 20 20 3d 20 .IPPROTO_PUP = 1620: 20 31 32 2c 0d 0a 09 49 50 50 52 4f 54 4f 5f 55 12,...IPPROTO_U 1630: 44 50 20 20 3d 20 20 31 37 2c 0d 0a 09 49 50 50 DP = 17,...IPP 1640: 52 4f 54 4f 5f 49 44 50 20 20 3d 20 20 32 32 2c ROTO_IDP = 22, 1650: 0d 0a 09 49 50 50 52 4f 54 4f 5f 4e 44 20 20 20 ...IPPROTO_ND 1660: 3d 20 20 37 37 2c 0d 0a 09 49 50 50 52 4f 54 4f = 77,...IPPROTO 1670: 5f 52 41 57 20 20 3d 20 32 35 35 2c 0d 0a 09 49 _RAW = 255,...I 1680: 50 50 52 4f 54 4f 5f 4d 41 58 20 20 3d 20 32 35 PPROTO_MAX = 25 1690: 36 2c 0d 0a 0d 0a 09 2f 2f 20 49 50 76 36 20 6f 6,.....// IPv6 o 16a0: 70 74 69 6f 6e 73 0d 0a 09 49 50 50 52 4f 54 4f ptions...IPPROTO 16b0: 5f 48 4f 50 4f 50 54 53 20 20 3d 20 20 30 2c 20 _HOPOPTS = 0, 16c0: 2f 2f 20 49 50 76 36 20 48 6f 70 2d 62 79 2d 48 // IPv6 Hop-by-H 16d0: 6f 70 20 6f 70 74 69 6f 6e 73 0d 0a 09 49 50 50 op options...IPP 16e0: 52 4f 54 4f 5f 49 50 56 36 20 20 20 20 20 3d 20 ROTO_IPV6 = 16f0: 34 31 2c 20 2f 2f 20 49 50 76 36 20 68 65 61 64 41, // IPv6 head 1700: 65 72 0d 0a 09 49 50 50 52 4f 54 4f 5f 52 4f 55 er...IPPROTO_ROU 1710: 54 49 4e 47 20 20 3d 20 34 33 2c 20 2f 2f 20 49 TING = 43, // I 1720: 50 76 36 20 52 6f 75 74 69 6e 67 20 68 65 61 64 Pv6 Routing head 1730: 65 72 0d 0a 09 49 50 50 52 4f 54 4f 5f 46 52 41 er...IPPROTO_FRA 1740: 47 4d 45 4e 54 20 3d 20 34 34 2c 20 2f 2f 20 49 GMENT = 44, // I 1750: 50 76 36 20 66 72 61 67 6d 65 6e 74 61 74 69 6f Pv6 fragmentatio 1760: 6e 20 68 65 61 64 65 72 0d 0a 09 49 50 50 52 4f n header...IPPRO 1770: 54 4f 5f 45 53 50 20 20 20 20 20 20 3d 20 35 30 TO_ESP = 50 1780: 2c 20 2f 2f 20 65 6e 63 61 70 73 75 6c 61 74 69 , // encapsulati 1790: 6e 67 20 73 65 63 75 72 69 74 79 20 70 61 79 6c ng security payl 17a0: 6f 61 64 0d 0a 09 49 50 50 52 4f 54 4f 5f 41 48 oad...IPPROTO_AH 17b0: 20 20 20 20 20 20 20 3d 20 35 31 2c 20 2f 2f 20 = 51, // 17c0: 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 68 authentication h 17d0: 65 61 64 65 72 0d 0a 09 49 50 50 52 4f 54 4f 5f eader...IPPROTO_ 17e0: 49 43 4d 50 56 36 20 20 20 3d 20 35 38 2c 20 2f ICMPV6 = 58, / 17f0: 2f 20 49 43 4d 50 76 36 0d 0a 09 49 50 50 52 4f / ICMPv6...IPPRO 1800: 54 4f 5f 4e 4f 4e 45 20 20 20 20 20 3d 20 35 39 TO_NONE = 59 1810: 2c 20 2f 2f 20 49 50 76 36 20 6e 6f 20 6e 65 78 , // IPv6 no nex 1820: 74 20 68 65 61 64 65 72 0d 0a 09 49 50 50 52 4f t header...IPPRO 1830: 54 4f 5f 44 53 54 4f 50 54 53 20 20 3d 20 36 30 TO_DSTOPTS = 60 1840: 20 20 2f 2f 20 49 50 76 36 20 44 65 73 74 69 6e // IPv6 Destin 1850: 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 0d 0a 7d ation options..} 1860: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 49 50 50 ....enum {...IPP 1870: 4f 52 54 5f 45 43 48 4f 20 20 20 20 20 20 20 20 ORT_ECHO 1880: 3d 20 20 20 20 37 2c 0d 0a 09 49 50 50 4f 52 54 = 7,...IPPORT 1890: 5f 44 49 53 43 41 52 44 20 20 20 20 20 3d 20 20 _DISCARD = 18a0: 20 20 39 2c 0d 0a 09 49 50 50 4f 52 54 5f 53 59 9,...IPPORT_SY 18b0: 53 54 41 54 20 20 20 20 20 20 3d 20 20 20 31 31 STAT = 11 18c0: 2c 0d 0a 09 49 50 50 4f 52 54 5f 44 41 59 54 49 ,...IPPORT_DAYTI 18d0: 4d 45 20 20 20 20 20 3d 20 20 20 31 33 2c 0d 0a ME = 13,.. 18e0: 09 49 50 50 4f 52 54 5f 4e 45 54 53 54 41 54 20 .IPPORT_NETSTAT 18f0: 20 20 20 20 3d 20 20 20 31 35 2c 0d 0a 09 49 50 = 15,...IP 1900: 50 4f 52 54 5f 46 54 50 20 20 20 20 20 20 20 20 PORT_FTP 1910: 20 3d 20 20 20 32 31 2c 0d 0a 09 49 50 50 4f 52 = 21,...IPPOR 1920: 54 5f 54 45 4c 4e 45 54 20 20 20 20 20 20 3d 20 T_TELNET = 1930: 20 20 32 33 2c 0d 0a 09 49 50 50 4f 52 54 5f 53 23,...IPPORT_S 1940: 4d 54 50 20 20 20 20 20 20 20 20 3d 20 20 20 32 MTP = 2 1950: 35 2c 0d 0a 09 49 50 50 4f 52 54 5f 54 49 4d 45 5,...IPPORT_TIME 1960: 53 45 52 56 45 52 20 20 3d 20 20 20 33 37 2c 0d SERVER = 37,. 1970: 0a 09 49 50 50 4f 52 54 5f 4e 41 4d 45 53 45 52 ..IPPORT_NAMESER 1980: 56 45 52 20 20 3d 20 20 20 34 32 2c 0d 0a 09 49 VER = 42,...I 1990: 50 50 4f 52 54 5f 57 48 4f 49 53 20 20 20 20 20 PPORT_WHOIS 19a0: 20 20 3d 20 20 20 34 33 2c 0d 0a 09 49 50 50 4f = 43,...IPPO 19b0: 52 54 5f 4d 54 50 20 20 20 20 20 20 20 20 20 3d RT_MTP = 19c0: 20 20 20 35 37 2c 0d 0a 09 49 50 50 4f 52 54 5f 57,...IPPORT_ 19d0: 54 46 54 50 20 20 20 20 20 20 20 20 3d 20 20 20 TFTP = 19e0: 36 39 2c 0d 0a 09 49 50 50 4f 52 54 5f 52 4a 45 69,...IPPORT_RJE 19f0: 20 20 20 20 20 20 20 20 20 3d 20 20 20 37 37 2c = 77, 1a00: 0d 0a 09 49 50 50 4f 52 54 5f 46 49 4e 47 45 52 ...IPPORT_FINGER 1a10: 20 20 20 20 20 20 3d 20 20 20 37 39 2c 0d 0a 09 = 79,... 1a20: 49 50 50 4f 52 54 5f 54 54 59 4c 49 4e 4b 20 20 IPPORT_TTYLINK 1a30: 20 20 20 3d 20 20 20 38 37 2c 0d 0a 09 49 50 50 = 87,...IPP 1a40: 4f 52 54 5f 53 55 50 44 55 50 20 20 20 20 20 20 ORT_SUPDUP 1a50: 3d 20 20 20 39 35 2c 0d 0a 09 49 50 50 4f 52 54 = 95,...IPPORT 1a60: 5f 45 58 45 43 53 45 52 56 45 52 20 20 3d 20 20 _EXECSERVER = 1a70: 35 31 32 2c 0d 0a 09 49 50 50 4f 52 54 5f 4c 4f 512,...IPPORT_LO 1a80: 47 49 4e 53 45 52 56 45 52 20 3d 20 20 35 31 33 GINSERVER = 513 1a90: 2c 0d 0a 09 49 50 50 4f 52 54 5f 43 4d 44 53 45 ,...IPPORT_CMDSE 1aa0: 52 56 45 52 20 20 20 3d 20 20 35 31 34 2c 0d 0a RVER = 514,.. 1ab0: 09 49 50 50 4f 52 54 5f 45 46 53 53 45 52 56 45 .IPPORT_EFSSERVE 1ac0: 52 20 20 20 3d 20 20 35 32 30 2c 0d 0a 09 49 50 R = 520,...IP 1ad0: 50 4f 52 54 5f 42 49 46 46 55 44 50 20 20 20 20 PORT_BIFFUDP 1ae0: 20 3d 20 20 35 31 32 2c 0d 0a 09 49 50 50 4f 52 = 512,...IPPOR 1af0: 54 5f 57 48 4f 53 45 52 56 45 52 20 20 20 3d 20 T_WHOSERVER = 1b00: 20 35 31 33 2c 0d 0a 09 49 50 50 4f 52 54 5f 52 513,...IPPORT_R 1b10: 4f 55 54 45 53 45 52 56 45 52 20 3d 20 20 35 32 OUTESERVER = 52 1b20: 30 2c 0d 0a 09 49 50 50 4f 52 54 5f 52 45 53 45 0,...IPPORT_RESE 1b30: 52 56 45 44 20 20 20 20 3d 20 31 30 32 34 0d 0a RVED = 1024.. 1b40: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 49 4d }....enum {...IM 1b50: 50 4c 49 4e 4b 5f 49 50 20 20 20 20 20 20 20 20 PLINK_IP 1b60: 20 3d 20 20 31 35 35 2c 0d 0a 09 49 4d 50 4c 49 = 155,...IMPLI 1b70: 4e 4b 5f 4c 4f 57 45 58 50 45 52 20 20 20 3d 20 NK_LOWEXPER = 1b80: 20 31 35 36 2c 0d 0a 09 49 4d 50 4c 49 4e 4b 5f 156,...IMPLINK_ 1b90: 48 49 47 48 45 58 50 45 52 20 20 3d 20 20 31 35 HIGHEXPER = 15 1ba0: 38 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 49 8..}....struct I 1bb0: 4e 5f 41 44 44 52 20 7b 0d 0a 09 75 6e 69 6f 6e N_ADDR {...union 1bc0: 20 7b 0d 0a 09 09 73 74 72 75 63 74 20 7b 20 75 {....struct { u 1bd0: 5f 63 68 61 72 20 20 73 5f 62 31 2c 20 73 5f 62 _char s_b1, s_b 1be0: 32 2c 20 73 5f 62 33 2c 20 73 5f 62 34 3b 20 7d 2, s_b3, s_b4; } 1bf0: 0d 0a 09 09 73 74 72 75 63 74 20 7b 20 75 5f 63 ....struct { u_c 1c00: 68 61 72 20 20 73 5f 6e 65 74 2c 20 73 5f 68 6f har s_net, s_ho 1c10: 73 74 2c 20 73 5f 6c 68 2c 20 73 5f 69 6d 70 6e st, s_lh, s_impn 1c20: 6f 3b 20 7d 0d 0a 09 09 73 74 72 75 63 74 20 7b o; }....struct { 1c30: 20 75 5f 73 68 6f 72 74 20 73 5f 77 31 2c 20 73 u_short s_w1, s 1c40: 5f 77 32 3b 20 7d 0d 0a 09 09 73 74 72 75 63 74 _w2; }....struct 1c50: 20 7b 20 75 5f 73 68 6f 72 74 20 73 5f 77 5f 2c { u_short s_w_, 1c60: 20 73 5f 69 6d 70 3b 20 7d 20 2f 2f 20 43 61 6e s_imp; } // Can 1c70: 20 49 20 67 65 74 20 72 69 64 20 6f 66 20 73 5f I get rid of s_ 1c80: 77 5f 20 75 73 69 6e 67 20 61 6c 69 67 6e 6d 65 w_ using alignme 1c90: 6e 74 20 74 72 69 63 6b 73 3f 0d 0a 09 09 75 5f nt tricks?....u_ 1ca0: 6c 6f 6e 67 20 53 5f 61 64 64 72 3b 0d 0a 09 09 long S_addr;.... 1cb0: 75 5f 6c 6f 6e 67 20 73 5f 61 64 64 72 3b 0d 0a u_long s_addr;.. 1cc0: 09 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 4e 5f .}..}..alias IN_ 1cd0: 41 44 44 52 2a 20 50 49 4e 5f 41 44 44 52 2c 20 ADDR* PIN_ADDR, 1ce0: 4c 50 49 4e 5f 41 44 44 52 3b 0d 0a 0d 0a 2f 2f LPIN_ADDR;....// 1cf0: 20 49 4e 5f 43 4c 41 53 53 78 20 61 72 65 20 6e IN_CLASSx are n 1d00: 6f 74 20 75 73 65 64 20 61 6e 79 77 68 65 72 65 ot used anywhere 1d10: 20 6f 72 20 64 6f 63 75 6d 65 6e 74 65 64 20 6f or documented o 1d20: 6e 20 4d 53 44 4e 2e 0d 0a 62 6f 6f 6c 20 49 4e n MSDN...bool IN 1d30: 5f 43 4c 41 53 53 41 28 69 6e 74 20 69 29 20 7b _CLASSA(int i) { 1d40: 20 72 65 74 75 72 6e 20 28 69 20 26 20 30 78 38 return (i & 0x8 1d50: 30 30 30 30 30 30 30 29 20 3d 3d 20 30 3b 20 7d 0000000) == 0; } 1d60: 0d 0a 0d 0a 63 6f 6e 73 74 20 49 4e 5f 43 4c 41 ....const IN_CLA 1d70: 53 53 41 5f 4e 45 54 20 20 20 20 3d 20 30 78 66 SSA_NET = 0xf 1d80: 66 30 30 30 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 f000000;..const 1d90: 49 4e 5f 43 4c 41 53 53 41 5f 4e 53 48 49 46 54 IN_CLASSA_NSHIFT 1da0: 20 3d 20 20 20 20 20 20 20 20 20 32 34 3b 0d 0a = 24;.. 1db0: 63 6f 6e 73 74 20 49 4e 5f 43 4c 41 53 53 41 5f const IN_CLASSA_ 1dc0: 48 4f 53 54 20 20 20 3d 20 30 78 30 30 66 66 66 HOST = 0x00fff 1dd0: 66 66 66 3b 0d 0a 63 6f 6e 73 74 20 49 4e 5f 43 fff;..const IN_C 1de0: 4c 41 53 53 41 5f 4d 41 58 20 20 20 20 3d 20 20 LASSA_MAX = 1df0: 20 20 20 20 20 20 31 32 38 3b 0d 0a 0d 0a 62 6f 128;....bo 1e00: 6f 6c 20 49 4e 5f 43 4c 41 53 53 42 28 69 6e 74 ol IN_CLASSB(int 1e10: 20 69 29 20 7b 20 72 65 74 75 72 6e 20 28 69 20 i) { return (i 1e20: 26 20 30 78 63 30 30 30 30 30 30 30 29 20 3d 3d & 0xc0000000) == 1e30: 20 30 78 38 30 30 30 30 30 30 30 3b 20 7d 0d 0a 0x80000000; }.. 1e40: 0d 0a 63 6f 6e 73 74 20 49 4e 5f 43 4c 41 53 53 ..const IN_CLASS 1e50: 42 5f 4e 45 54 20 20 20 20 3d 20 30 78 66 66 66 B_NET = 0xfff 1e60: 66 30 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 49 4e f0000;..const IN 1e70: 5f 43 4c 41 53 53 42 5f 4e 53 48 49 46 54 20 3d _CLASSB_NSHIFT = 1e80: 20 20 20 20 20 20 20 20 20 31 36 3b 0d 0a 63 6f 16;..co 1e90: 6e 73 74 20 49 4e 5f 43 4c 41 53 53 42 5f 48 4f nst IN_CLASSB_HO 1ea0: 53 54 20 20 20 3d 20 30 78 30 30 30 30 66 66 66 ST = 0x0000fff 1eb0: 66 3b 0d 0a 63 6f 6e 73 74 20 49 4e 5f 43 4c 41 f;..const IN_CLA 1ec0: 53 53 42 5f 4d 41 58 20 20 20 20 3d 20 20 20 20 SSB_MAX = 1ed0: 20 20 36 35 35 33 36 3b 0d 0a 0d 0a 62 6f 6f 6c 65536;....bool 1ee0: 20 49 4e 5f 43 4c 41 53 53 43 28 69 6e 74 20 69 IN_CLASSC(int i 1ef0: 29 20 7b 20 72 65 74 75 72 6e 20 28 69 20 26 20 ) { return (i & 1f00: 30 78 65 30 30 30 30 30 30 30 29 20 3d 3d 20 30 0xe0000000) == 0 1f10: 78 63 30 30 30 30 30 30 30 3b 20 7d 0d 0a 0d 0a xc0000000; }.... 1f20: 63 6f 6e 73 74 20 49 4e 5f 43 4c 41 53 53 43 5f const IN_CLASSC_ 1f30: 4e 45 54 20 20 20 20 3d 20 30 78 66 66 66 66 66 NET = 0xfffff 1f40: 66 30 30 3b 0d 0a 63 6f 6e 73 74 20 49 4e 5f 43 f00;..const IN_C 1f50: 4c 41 53 53 43 5f 4e 53 48 49 46 54 20 3d 20 20 LASSC_NSHIFT = 1f60: 20 20 20 20 20 20 20 20 38 3b 0d 0a 63 6f 6e 73 8;..cons 1f70: 74 20 49 4e 5f 43 4c 41 53 53 43 5f 48 4f 53 54 t IN_CLASSC_HOST 1f80: 20 20 20 3d 20 30 78 30 30 30 30 30 30 66 66 3b = 0x000000ff; 1f90: 0d 0a 0d 0a 63 6f 6e 73 74 20 75 5f 6c 6f 6e 67 ....const u_long 1fa0: 0d 0a 09 49 4e 41 44 44 52 5f 41 4e 59 20 20 20 ...INADDR_ANY 1fb0: 20 20 20 20 3d 20 30 2c 0d 0a 09 49 4e 41 44 44 = 0,...INADD 1fc0: 52 5f 4c 4f 4f 50 42 41 43 4b 20 20 3d 20 30 78 R_LOOPBACK = 0x 1fd0: 37 46 30 30 30 30 30 31 2c 0d 0a 09 49 4e 41 44 7F000001,...INAD 1fe0: 44 52 5f 42 52 4f 41 44 43 41 53 54 20 3d 20 30 DR_BROADCAST = 0 1ff0: 78 46 46 46 46 46 46 46 46 2c 0d 0a 09 49 4e 41 xFFFFFFFF,...INA 2000: 44 44 52 5f 4e 4f 4e 45 20 20 20 20 20 20 3d 20 DDR_NONE = 2010: 30 78 46 46 46 46 46 46 46 46 3b 0d 0a 0d 0a 73 0xFFFFFFFF;....s 2020: 74 72 75 63 74 20 53 4f 43 4b 41 44 44 52 5f 49 truct SOCKADDR_I 2030: 4e 20 7b 0d 0a 09 73 68 6f 72 74 20 20 20 73 69 N {...short si 2040: 6e 5f 66 61 6d 69 6c 79 3b 0d 0a 09 75 5f 73 68 n_family;...u_sh 2050: 6f 72 74 20 73 69 6e 5f 70 6f 72 74 3b 0d 0a 09 ort sin_port;... 2060: 49 4e 5f 41 44 44 52 20 73 69 6e 5f 61 64 64 72 IN_ADDR sin_addr 2070: 3b 0d 0a 09 63 68 61 72 5b 38 5d 20 73 69 6e 5f ;...char[8] sin_ 2080: 7a 65 72 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 zero;..}..alias 2090: 53 4f 43 4b 41 44 44 52 5f 49 4e 2a 20 50 53 4f SOCKADDR_IN* PSO 20a0: 43 4b 41 44 44 52 5f 49 4e 2c 20 4c 50 53 4f 43 CKADDR_IN, LPSOC 20b0: 4b 41 44 44 52 5f 49 4e 3b 0d 0a 0d 0a 63 6f 6e KADDR_IN;....con 20c0: 73 74 20 73 69 7a 65 5f 74 0d 0a 09 57 53 41 44 st size_t...WSAD 20d0: 45 53 43 52 49 50 54 49 4f 4e 5f 4c 45 4e 20 3d ESCRIPTION_LEN = 20e0: 20 32 35 36 2c 0d 0a 09 57 53 41 53 59 53 5f 53 256,...WSASYS_S 20f0: 54 41 54 55 53 5f 4c 45 4e 20 20 3d 20 31 32 38 TATUS_LEN = 128 2100: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 57 53 41 44 ;....struct WSAD 2110: 41 54 41 20 7b 0d 0a 09 57 4f 52 44 20 20 20 77 ATA {...WORD w 2120: 56 65 72 73 69 6f 6e 3b 0d 0a 09 57 4f 52 44 20 Version;...WORD 2130: 20 20 77 48 69 67 68 56 65 72 73 69 6f 6e 3b 0d wHighVersion;. 2140: 0a 09 63 68 61 72 5b 57 53 41 44 45 53 43 52 49 ..char[WSADESCRI 2150: 50 54 49 4f 4e 5f 4c 45 4e 2b 31 5d 20 73 7a 44 PTION_LEN+1] szD 2160: 65 73 63 72 69 70 74 69 6f 6e 3b 0d 0a 09 63 68 escription;...ch 2170: 61 72 5b 57 53 41 53 59 53 5f 53 54 41 54 55 53 ar[WSASYS_STATUS 2180: 5f 4c 45 4e 2b 31 5d 20 20 73 7a 53 79 73 74 65 _LEN+1] szSyste 2190: 6d 53 74 61 74 75 73 3b 0d 0a 09 75 73 68 6f 72 mStatus;...ushor 21a0: 74 20 69 4d 61 78 53 6f 63 6b 65 74 73 3b 0d 0a t iMaxSockets;.. 21b0: 09 75 73 68 6f 72 74 20 69 4d 61 78 55 64 70 44 .ushort iMaxUdpD 21c0: 67 3b 0d 0a 09 63 68 61 72 2a 20 20 6c 70 56 65 g;...char* lpVe 21d0: 6e 64 6f 72 49 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c ndorInfo;..}..al 21e0: 69 61 73 20 57 53 41 44 41 54 41 2a 20 4c 50 57 ias WSADATA* LPW 21f0: 53 41 44 41 54 41 3b 0d 0a 0d 0a 2f 2f 20 54 68 SADATA;....// Th 2200: 69 73 20 69 73 20 6e 6f 74 20 64 6f 63 75 6d 65 is is not docume 2210: 6e 74 65 64 20 6f 6e 20 74 68 65 20 4d 53 44 4e nted on the MSDN 2220: 20 73 69 74 65 0d 0a 63 6f 6e 73 74 20 49 50 5f site..const IP_ 2230: 4f 50 54 49 4f 4e 53 20 3d 20 31 3b 0d 0a 0d 0a OPTIONS = 1;.... 2240: 63 6f 6e 73 74 20 69 6e 74 0d 0a 09 53 4f 5f 4f const int...SO_O 2250: 50 54 49 4f 4e 53 20 20 20 20 20 3d 20 20 20 31 PTIONS = 1 2260: 2c 0d 0a 09 53 4f 5f 44 45 42 55 47 20 20 20 20 ,...SO_DEBUG 2270: 20 20 20 3d 20 20 20 31 2c 0d 0a 09 53 4f 5f 41 = 1,...SO_A 2280: 43 43 45 50 54 43 4f 4e 4e 20 20 3d 20 20 20 32 CCEPTCONN = 2 2290: 2c 0d 0a 09 53 4f 5f 52 45 55 53 45 41 44 44 52 ,...SO_REUSEADDR 22a0: 20 20 20 3d 20 20 20 34 2c 0d 0a 09 53 4f 5f 4b = 4,...SO_K 22b0: 45 45 50 41 4c 49 56 45 20 20 20 3d 20 20 20 38 EEPALIVE = 8 22c0: 2c 0d 0a 09 53 4f 5f 44 4f 4e 54 52 4f 55 54 45 ,...SO_DONTROUTE 22d0: 20 20 20 3d 20 20 31 36 2c 0d 0a 09 53 4f 5f 42 = 16,...SO_B 22e0: 52 4f 41 44 43 41 53 54 20 20 20 3d 20 20 33 32 ROADCAST = 32 22f0: 2c 0d 0a 09 53 4f 5f 55 53 45 4c 4f 4f 50 42 41 ,...SO_USELOOPBA 2300: 43 4b 20 3d 20 20 36 34 2c 0d 0a 09 53 4f 5f 4c CK = 64,...SO_L 2310: 49 4e 47 45 52 20 20 20 20 20 20 3d 20 31 32 38 INGER = 128 2320: 2c 0d 0a 09 53 4f 5f 4f 4f 42 49 4e 4c 49 4e 45 ,...SO_OOBINLINE 2330: 20 20 20 3d 20 32 35 36 2c 0d 0a 09 53 4f 5f 44 = 256,...SO_D 2340: 4f 4e 54 4c 49 4e 47 45 52 20 20 3d 20 7e 53 4f ONTLINGER = ~SO 2350: 5f 4c 49 4e 47 45 52 2c 0d 0a 09 53 4f 5f 45 58 _LINGER,...SO_EX 2360: 43 4c 55 53 49 56 45 41 44 44 52 55 53 45 3d 20 CLUSIVEADDRUSE= 2370: 7e 53 4f 5f 52 45 55 53 45 41 44 44 52 3b 0d 0a ~SO_REUSEADDR;.. 2380: 0d 0a 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0d 0a ..enum : int {.. 2390: 09 53 4f 5f 53 4e 44 42 55 46 20 3d 20 30 78 31 .SO_SNDBUF = 0x1 23a0: 30 30 31 2c 0d 0a 09 53 4f 5f 52 43 56 42 55 46 001,...SO_RCVBUF 23b0: 2c 0d 0a 09 53 4f 5f 53 4e 44 4c 4f 57 41 54 2c ,...SO_SNDLOWAT, 23c0: 0d 0a 09 53 4f 5f 52 43 56 4c 4f 57 41 54 2c 0d ...SO_RCVLOWAT,. 23d0: 0a 09 53 4f 5f 53 4e 44 54 49 4d 45 4f 2c 0d 0a ..SO_SNDTIMEO,.. 23e0: 09 53 4f 5f 52 43 56 54 49 4d 45 4f 2c 0d 0a 09 .SO_RCVTIMEO,... 23f0: 53 4f 5f 45 52 52 4f 52 2c 0d 0a 09 53 4f 5f 54 SO_ERROR,...SO_T 2400: 59 50 45 20 2f 2f 20 3d 20 30 78 31 30 30 38 0d YPE // = 0x1008. 2410: 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 53 4f 43 4b .}....const SOCK 2420: 45 54 20 49 4e 56 41 4c 49 44 5f 53 4f 43 4b 45 ET INVALID_SOCKE 2430: 54 20 3d 20 63 61 73 74 28 53 4f 43 4b 45 54 29 T = cast(SOCKET) 2440: 28 7e 30 29 3b 0d 0a 63 6f 6e 73 74 20 69 6e 74 (~0);..const int 2450: 20 53 4f 43 4b 45 54 5f 45 52 52 4f 52 20 3d 20 SOCKET_ERROR = 2460: 2d 31 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 69 6e -1;....enum : in 2470: 74 20 7b 0d 0a 09 53 4f 43 4b 5f 53 54 52 45 41 t {...SOCK_STREA 2480: 4d 20 3d 20 31 2c 0d 0a 09 53 4f 43 4b 5f 44 47 M = 1,...SOCK_DG 2490: 52 41 4d 2c 0d 0a 09 53 4f 43 4b 5f 52 41 57 2c RAM,...SOCK_RAW, 24a0: 0d 0a 09 53 4f 43 4b 5f 52 44 4d 2c 0d 0a 09 53 ...SOCK_RDM,...S 24b0: 4f 43 4b 5f 53 45 51 50 41 43 4b 45 54 0d 0a 7d OCK_SEQPACKET..} 24c0: 0d 0a 0d 0a 63 6f 6e 73 74 20 69 6e 74 20 54 43 ....const int TC 24d0: 50 5f 4e 4f 44 45 4c 41 59 20 3d 20 30 78 30 30 P_NODELAY = 0x00 24e0: 30 31 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 69 6e 01;....enum : in 24f0: 74 20 7b 0d 0a 09 41 46 5f 55 4e 53 50 45 43 2c t {...AF_UNSPEC, 2500: 0d 0a 09 41 46 5f 55 4e 49 58 2c 0d 0a 09 41 46 ...AF_UNIX,...AF 2510: 5f 49 4e 45 54 2c 0d 0a 09 41 46 5f 49 4d 50 4c _INET,...AF_IMPL 2520: 49 4e 4b 2c 0d 0a 09 41 46 5f 50 55 50 2c 0d 0a INK,...AF_PUP,.. 2530: 09 41 46 5f 43 48 41 4f 53 2c 0d 0a 09 41 46 5f .AF_CHAOS,...AF_ 2540: 49 50 58 2c 20 20 2f 2f 20 3d 20 20 36 0d 0a 09 IPX, // = 6... 2550: 41 46 5f 4e 53 20 20 20 20 20 20 20 3d 20 20 36 AF_NS = 6 2560: 2c 0d 0a 09 41 46 5f 49 53 4f 2c 0d 0a 09 41 46 ,...AF_ISO,...AF 2570: 5f 4f 53 49 20 20 20 20 20 20 3d 20 41 46 5f 49 _OSI = AF_I 2580: 53 4f 2c 0d 0a 09 41 46 5f 45 43 4d 41 2c 0d 0a SO,...AF_ECMA,.. 2590: 09 41 46 5f 44 41 54 41 4b 49 54 2c 0d 0a 09 41 .AF_DATAKIT,...A 25a0: 46 5f 43 43 49 54 54 2c 0d 0a 09 41 46 5f 53 4e F_CCITT,...AF_SN 25b0: 41 2c 0d 0a 09 41 46 5f 44 45 43 6e 65 74 2c 0d A,...AF_DECnet,. 25c0: 0a 09 41 46 5f 44 4c 49 2c 0d 0a 09 41 46 5f 4c ..AF_DLI,...AF_L 25d0: 41 54 2c 0d 0a 09 41 46 5f 48 59 4c 49 4e 4b 2c AT,...AF_HYLINK, 25e0: 0d 0a 09 41 46 5f 41 50 50 4c 45 54 41 4c 4b 2c ...AF_APPLETALK, 25f0: 0d 0a 09 41 46 5f 4e 45 54 42 49 4f 53 2c 0d 0a ...AF_NETBIOS,.. 2600: 09 41 46 5f 56 4f 49 43 45 56 49 45 57 2c 0d 0a .AF_VOICEVIEW,.. 2610: 09 41 46 5f 46 49 52 45 46 4f 58 2c 0d 0a 09 41 .AF_FIREFOX,...A 2620: 46 5f 55 4e 4b 4e 4f 57 4e 31 2c 0d 0a 09 41 46 F_UNKNOWN1,...AF 2630: 5f 42 41 4e 2c 0d 0a 09 41 46 5f 41 54 4d 2c 0d _BAN,...AF_ATM,. 2640: 0a 09 41 46 5f 49 4e 45 54 36 2c 0d 0a 09 2f 2f ..AF_INET6,...// 2650: 20 41 46 5f 43 4c 55 53 54 45 52 2c 20 41 46 5f AF_CLUSTER, AF_ 2660: 31 32 38 34 34 20 6e 61 64 20 41 46 5f 4e 45 54 12844 nad AF_NET 2670: 44 45 53 20 61 72 65 20 6e 6f 74 20 64 6f 63 75 DES are not docu 2680: 6d 65 6e 74 65 64 20 6f 6e 20 4d 53 44 4e 0d 0a mented on MSDN.. 2690: 09 41 46 5f 43 4c 55 53 54 45 52 2c 0d 0a 09 41 .AF_CLUSTER,...A 26a0: 46 5f 31 32 38 34 34 2c 0d 0a 09 41 46 5f 49 52 F_12844,...AF_IR 26b0: 44 41 2c 20 2f 2f 20 3d 20 32 36 0d 0a 09 41 46 DA, // = 26...AF 26c0: 5f 4e 45 54 44 45 53 20 20 20 3d 20 32 38 2c 0d _NETDES = 28,. 26d0: 0a 09 41 46 5f 4d 41 58 20 20 20 2f 2f 20 3d 20 ..AF_MAX // = 26e0: 32 39 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 29..}....struct 26f0: 53 4f 43 4b 41 44 44 52 20 7b 0d 0a 09 75 5f 73 SOCKADDR {...u_s 2700: 68 6f 72 74 20 20 73 61 5f 66 61 6d 69 6c 79 3b hort sa_family; 2710: 0d 0a 09 63 68 61 72 5b 31 34 5d 20 73 61 5f 64 ...char[14] sa_d 2720: 61 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 ata;..}..alias S 2730: 4f 43 4b 41 44 44 52 2a 20 50 53 4f 43 4b 41 44 OCKADDR* PSOCKAD 2740: 44 52 2c 20 4c 50 53 4f 43 4b 41 44 44 52 3b 0d DR, LPSOCKADDR;. 2750: 0a 0d 0a 2f 2a 20 50 6f 72 74 61 62 6c 65 20 49 .../* Portable I 2760: 50 76 36 2f 49 50 76 34 20 76 65 72 73 69 6f 6e Pv6/IPv4 version 2770: 20 6f 66 20 73 6f 63 6b 61 64 64 72 2e 0d 0a 20 of sockaddr... 2780: 20 20 55 73 65 73 20 70 61 64 64 69 6e 67 20 74 Uses padding t 2790: 6f 20 66 6f 72 63 65 20 38 20 62 79 74 65 20 61 o force 8 byte a 27a0: 6c 69 67 6e 6d 65 6e 74 0d 0a 20 20 20 61 6e 64 lignment.. and 27b0: 20 6d 61 78 69 6d 75 6d 20 73 69 7a 65 20 6f 66 maximum size of 27c0: 20 31 32 38 20 62 79 74 65 73 20 2a 2f 0d 0a 73 128 bytes */..s 27d0: 74 72 75 63 74 20 53 4f 43 4b 41 44 44 52 5f 53 truct SOCKADDR_S 27e0: 54 4f 52 41 47 45 20 7b 0d 0a 20 20 20 20 73 68 TORAGE {.. sh 27f0: 6f 72 74 20 20 20 20 20 73 73 5f 66 61 6d 69 6c ort ss_famil 2800: 79 3b 0d 0a 20 20 20 20 63 68 61 72 5b 36 5d 20 y;.. char[6] 2810: 20 20 5f 5f 73 73 5f 70 61 64 31 3b 20 20 20 2f __ss_pad1; / 2820: 2f 20 70 61 64 20 74 6f 20 38 0d 0a 20 20 20 20 / pad to 8.. 2830: 6c 6f 6e 67 20 20 20 20 20 20 5f 5f 73 73 5f 61 long __ss_a 2840: 6c 69 67 6e 3b 20 20 2f 2f 20 66 6f 72 63 65 20 lign; // force 2850: 61 6c 69 67 6e 6d 65 6e 74 0d 0a 20 20 20 20 63 alignment.. c 2860: 68 61 72 5b 31 31 32 5d 20 5f 5f 73 73 5f 70 61 har[112] __ss_pa 2870: 64 32 3b 20 20 20 2f 2f 20 70 61 64 20 74 6f 20 d2; // pad to 2880: 31 32 38 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 4f 128..}..alias SO 2890: 43 4b 41 44 44 52 5f 53 54 4f 52 41 47 45 2a 20 CKADDR_STORAGE* 28a0: 50 53 4f 43 4b 41 44 44 52 5f 53 54 4f 52 41 47 PSOCKADDR_STORAG 28b0: 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 73 6f 63 E;....struct soc 28c0: 6b 70 72 6f 74 6f 20 7b 0d 0a 09 75 5f 73 68 6f kproto {...u_sho 28d0: 72 74 20 73 70 5f 66 61 6d 69 6c 79 3b 0d 0a 09 rt sp_family;... 28e0: 75 5f 73 68 6f 72 74 20 73 70 5f 70 72 6f 74 6f u_short sp_proto 28f0: 63 6f 6c 3b 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 col;..}....enum 2900: 3a 20 69 6e 74 20 7b 0d 0a 09 50 46 5f 55 4e 53 : int {...PF_UNS 2910: 50 45 43 20 20 20 20 3d 20 41 46 5f 55 4e 53 50 PEC = AF_UNSP 2920: 45 43 2c 0d 0a 09 50 46 5f 55 4e 49 58 20 20 20 EC,...PF_UNIX 2930: 20 20 20 3d 20 41 46 5f 55 4e 49 58 2c 0d 0a 09 = AF_UNIX,... 2940: 50 46 5f 49 4e 45 54 20 20 20 20 20 20 3d 20 41 PF_INET = A 2950: 46 5f 49 4e 45 54 2c 0d 0a 09 50 46 5f 49 4d 50 F_INET,...PF_IMP 2960: 4c 49 4e 4b 20 20 20 3d 20 41 46 5f 49 4d 50 4c LINK = AF_IMPL 2970: 49 4e 4b 2c 0d 0a 09 50 46 5f 50 55 50 20 20 20 INK,...PF_PUP 2980: 20 20 20 20 3d 20 41 46 5f 50 55 50 2c 0d 0a 09 = AF_PUP,... 2990: 50 46 5f 43 48 41 4f 53 20 20 20 20 20 3d 20 41 PF_CHAOS = A 29a0: 46 5f 43 48 41 4f 53 2c 0d 0a 09 50 46 5f 4e 53 F_CHAOS,...PF_NS 29b0: 20 20 20 20 20 20 20 20 3d 20 41 46 5f 4e 53 2c = AF_NS, 29c0: 0d 0a 09 50 46 5f 49 50 58 20 20 20 20 20 20 20 ...PF_IPX 29d0: 3d 20 41 46 5f 49 50 58 2c 0d 0a 09 50 46 5f 49 = AF_IPX,...PF_I 29e0: 53 4f 20 20 20 20 20 20 20 3d 20 41 46 5f 49 53 SO = AF_IS 29f0: 4f 2c 0d 0a 09 50 46 5f 4f 53 49 20 20 20 20 20 O,...PF_OSI 2a00: 20 20 3d 20 41 46 5f 4f 53 49 2c 0d 0a 09 50 46 = AF_OSI,...PF 2a10: 5f 45 43 4d 41 20 20 20 20 20 20 3d 20 41 46 5f _ECMA = AF_ 2a20: 45 43 4d 41 2c 0d 0a 09 50 46 5f 44 41 54 41 4b ECMA,...PF_DATAK 2a30: 49 54 20 20 20 3d 20 41 46 5f 44 41 54 41 4b 49 IT = AF_DATAKI 2a40: 54 2c 0d 0a 09 50 46 5f 43 43 49 54 54 20 20 20 T,...PF_CCITT 2a50: 20 20 3d 20 41 46 5f 43 43 49 54 54 2c 0d 0a 09 = AF_CCITT,... 2a60: 50 46 5f 53 4e 41 20 20 20 20 20 20 20 3d 20 41 PF_SNA = A 2a70: 46 5f 53 4e 41 2c 0d 0a 09 50 46 5f 44 45 43 6e F_SNA,...PF_DECn 2a80: 65 74 20 20 20 20 3d 20 41 46 5f 44 45 43 6e 65 et = AF_DECne 2a90: 74 2c 0d 0a 09 50 46 5f 44 4c 49 20 20 20 20 20 t,...PF_DLI 2aa0: 20 20 3d 20 41 46 5f 44 4c 49 2c 0d 0a 09 50 46 = AF_DLI,...PF 2ab0: 5f 4c 41 54 20 20 20 20 20 20 20 3d 20 41 46 5f _LAT = AF_ 2ac0: 4c 41 54 2c 0d 0a 09 50 46 5f 48 59 4c 49 4e 4b LAT,...PF_HYLINK 2ad0: 20 20 20 20 3d 20 41 46 5f 48 59 4c 49 4e 4b 2c = AF_HYLINK, 2ae0: 0d 0a 09 50 46 5f 41 50 50 4c 45 54 41 4c 4b 20 ...PF_APPLETALK 2af0: 3d 20 41 46 5f 41 50 50 4c 45 54 41 4c 4b 2c 0d = AF_APPLETALK,. 2b00: 0a 09 50 46 5f 56 4f 49 43 45 56 49 45 57 20 3d ..PF_VOICEVIEW = 2b10: 20 41 46 5f 56 4f 49 43 45 56 49 45 57 2c 0d 0a AF_VOICEVIEW,.. 2b20: 09 50 46 5f 46 49 52 45 46 4f 58 20 20 20 3d 20 .PF_FIREFOX = 2b30: 41 46 5f 46 49 52 45 46 4f 58 2c 0d 0a 09 50 46 AF_FIREFOX,...PF 2b40: 5f 55 4e 4b 4e 4f 57 4e 31 20 20 3d 20 41 46 5f _UNKNOWN1 = AF_ 2b50: 55 4e 4b 4e 4f 57 4e 31 2c 0d 0a 09 50 46 5f 42 UNKNOWN1,...PF_B 2b60: 41 4e 20 20 20 20 20 20 20 3d 20 41 46 5f 42 41 AN = AF_BA 2b70: 4e 2c 0d 0a 09 50 46 5f 41 54 4d 20 20 20 20 20 N,...PF_ATM 2b80: 20 20 3d 20 41 46 5f 41 54 4d 2c 0d 0a 09 50 46 = AF_ATM,...PF 2b90: 5f 49 4e 45 54 36 20 20 20 20 20 3d 20 41 46 5f _INET6 = AF_ 2ba0: 49 4e 45 54 36 2c 0d 0a 09 50 46 5f 4d 41 58 20 INET6,...PF_MAX 2bb0: 20 20 20 20 20 20 3d 20 41 46 5f 4d 41 58 0d 0a = AF_MAX.. 2bc0: 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 69 6e 74 20 53 }....const int S 2bd0: 4f 4c 5f 53 4f 43 4b 45 54 20 3d 20 30 78 46 46 OL_SOCKET = 0xFF 2be0: 46 46 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 69 6e 74 FF;....const int 2bf0: 20 53 4f 4d 41 58 43 4f 4e 4e 20 3d 20 35 3b 0d SOMAXCONN = 5;. 2c00: 0a 0d 0a 63 6f 6e 73 74 20 69 6e 74 0d 0a 09 4d ...const int...M 2c10: 53 47 5f 4f 4f 42 20 20 20 20 20 20 20 3d 20 31 SG_OOB = 1 2c20: 2c 0d 0a 09 4d 53 47 5f 50 45 45 4b 20 20 20 20 ,...MSG_PEEK 2c30: 20 20 3d 20 32 2c 0d 0a 09 4d 53 47 5f 44 4f 4e = 2,...MSG_DON 2c40: 54 52 4f 55 54 45 20 3d 20 34 2c 0d 0a 09 4d 53 TROUTE = 4,...MS 2c50: 47 5f 4d 41 58 49 4f 56 4c 45 4e 20 3d 20 31 36 G_MAXIOVLEN = 16 2c60: 2c 0d 0a 09 4d 53 47 5f 50 41 52 54 49 41 4c 20 ,...MSG_PARTIAL 2c70: 20 20 3d 20 30 78 38 30 30 30 3b 0d 0a 0d 0a 63 = 0x8000;....c 2c80: 6f 6e 73 74 20 73 69 7a 65 5f 74 20 4d 41 58 47 onst size_t MAXG 2c90: 45 54 48 4f 53 54 53 54 52 55 43 54 20 3d 20 31 ETHOSTSTRUCT = 1 2ca0: 30 32 34 3b 0d 0a 0d 0a 2f 2f 20 4e 6f 74 20 64 024;....// Not d 2cb0: 6f 63 75 6d 65 6e 74 65 64 20 6f 6e 20 4d 53 44 ocumented on MSD 2cc0: 4e 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 46 44 5f 52 N..enum {...FD_R 2cd0: 45 41 44 5f 42 49 54 2c 0d 0a 09 46 44 5f 57 52 EAD_BIT,...FD_WR 2ce0: 49 54 45 5f 42 49 54 2c 0d 0a 09 46 44 5f 4f 4f ITE_BIT,...FD_OO 2cf0: 42 5f 42 49 54 2c 0d 0a 09 46 44 5f 41 43 43 45 B_BIT,...FD_ACCE 2d00: 50 54 5f 42 49 54 2c 0d 0a 09 46 44 5f 43 4f 4e PT_BIT,...FD_CON 2d10: 4e 45 43 54 5f 42 49 54 2c 0d 0a 09 46 44 5f 43 NECT_BIT,...FD_C 2d20: 4c 4f 53 45 5f 42 49 54 2c 0d 0a 09 46 44 5f 51 LOSE_BIT,...FD_Q 2d30: 4f 53 5f 42 49 54 2c 0d 0a 09 46 44 5f 47 52 4f OS_BIT,...FD_GRO 2d40: 55 50 5f 51 4f 53 5f 42 49 54 2c 0d 0a 09 46 44 UP_QOS_BIT,...FD 2d50: 5f 52 4f 55 54 49 4e 47 5f 49 4e 54 45 52 46 41 _ROUTING_INTERFA 2d60: 43 45 5f 43 48 41 4e 47 45 5f 42 49 54 2c 0d 0a CE_CHANGE_BIT,.. 2d70: 09 46 44 5f 41 44 44 52 45 53 53 5f 4c 49 53 54 .FD_ADDRESS_LIST 2d80: 5f 43 48 41 4e 47 45 5f 42 49 54 2c 0d 0a 09 46 _CHANGE_BIT,...F 2d90: 44 5f 4d 41 58 5f 45 56 45 4e 54 53 20 2f 2f 20 D_MAX_EVENTS // 2da0: 3d 20 31 30 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 = 10..}....const 2db0: 20 69 6e 74 0d 0a 09 46 44 5f 52 45 41 44 20 20 int...FD_READ 2dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2dd0: 20 20 20 3d 20 31 20 3c 3c 20 46 44 5f 52 45 41 = 1 << FD_REA 2de0: 44 5f 42 49 54 2c 0d 0a 09 46 44 5f 57 52 49 54 D_BIT,...FD_WRIT 2df0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E 2e00: 20 20 20 20 20 3d 20 31 20 3c 3c 20 46 44 5f 57 = 1 << FD_W 2e10: 52 49 54 45 5f 42 49 54 2c 0d 0a 09 46 44 5f 4f RITE_BIT,...FD_O 2e20: 4f 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 OB 2e30: 20 20 20 20 20 20 20 20 3d 20 31 20 3c 3c 20 46 = 1 << F 2e40: 44 5f 4f 4f 42 5f 42 49 54 2c 0d 0a 09 46 44 5f D_OOB_BIT,...FD_ 2e50: 41 43 43 45 50 54 20 20 20 20 20 20 20 20 20 20 ACCEPT 2e60: 20 20 20 20 20 20 20 20 20 3d 20 31 20 3c 3c 20 = 1 << 2e70: 46 44 5f 41 43 43 45 50 54 5f 42 49 54 2c 0d 0a FD_ACCEPT_BIT,.. 2e80: 09 46 44 5f 43 4f 4e 4e 45 43 54 20 20 20 20 20 .FD_CONNECT 2e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 31 = 1 2ea0: 20 3c 3c 20 46 44 5f 43 4f 4e 4e 45 43 54 5f 42 << FD_CONNECT_B 2eb0: 49 54 2c 0d 0a 09 46 44 5f 43 4c 4f 53 45 20 20 IT,...FD_CLOSE 2ec0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2ed0: 20 20 3d 20 31 20 3c 3c 20 46 44 5f 43 4c 4f 53 = 1 << FD_CLOS 2ee0: 45 5f 42 49 54 2c 0d 0a 09 46 44 5f 51 4f 53 20 E_BIT,...FD_QOS 2ef0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f00: 20 20 20 20 20 3d 20 31 20 3c 3c 20 46 44 5f 51 = 1 << FD_Q 2f10: 4f 53 5f 42 49 54 2c 0d 0a 09 46 44 5f 47 52 4f OS_BIT,...FD_GRO 2f20: 55 50 5f 51 4f 53 20 20 20 20 20 20 20 20 20 20 UP_QOS 2f30: 20 20 20 20 20 20 3d 20 31 20 3c 3c 20 46 44 5f = 1 << FD_ 2f40: 47 52 4f 55 50 5f 51 4f 53 5f 42 49 54 2c 0d 0a GROUP_QOS_BIT,.. 2f50: 09 46 44 5f 52 4f 55 54 49 4e 47 5f 49 4e 54 45 .FD_ROUTING_INTE 2f60: 52 46 41 43 45 5f 43 48 41 4e 47 45 20 3d 20 31 RFACE_CHANGE = 1 2f70: 20 3c 3c 20 46 44 5f 52 4f 55 54 49 4e 47 5f 49 << FD_ROUTING_I 2f80: 4e 54 45 52 46 41 43 45 5f 43 48 41 4e 47 45 5f NTERFACE_CHANGE_ 2f90: 42 49 54 2c 0d 0a 09 46 44 5f 41 44 44 52 45 53 BIT,...FD_ADDRES 2fa0: 53 5f 4c 49 53 54 5f 43 48 41 4e 47 45 20 20 20 S_LIST_CHANGE 2fb0: 20 20 20 3d 20 31 20 3c 3c 20 46 44 5f 41 44 44 = 1 << FD_ADD 2fc0: 52 45 53 53 5f 4c 49 53 54 5f 43 48 41 4e 47 45 RESS_LIST_CHANGE 2fd0: 5f 42 49 54 2c 0d 0a 09 46 44 5f 41 4c 4c 5f 45 _BIT,...FD_ALL_E 2fe0: 56 45 4e 54 53 20 20 20 20 20 20 20 20 20 20 20 VENTS 2ff0: 20 20 20 20 3d 20 28 31 20 3c 3c 20 46 44 5f 4d = (1 << FD_M 3000: 41 58 5f 45 56 45 4e 54 53 29 20 2d 20 31 3b 0d AX_EVENTS) - 1;. 3010: 0a 0d 0a 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0d ...enum : int {. 3020: 0a 09 57 53 41 42 41 53 45 45 52 52 20 20 20 20 ..WSABASEERR 3030: 20 20 20 20 20 3d 20 31 30 30 30 30 2c 0d 0a 09 = 10000,... 3040: 57 53 41 45 49 4e 54 52 20 20 20 20 20 20 20 20 WSAEINTR 3050: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3060: 2b 20 34 2c 0d 0a 09 57 53 41 45 42 41 44 46 20 + 4,...WSAEBADF 3070: 20 20 20 20 20 20 20 20 20 20 3d 20 57 53 41 42 = WSAB 3080: 41 53 45 45 52 52 20 2b 20 39 2c 0d 0a 09 57 53 ASEERR + 9,...WS 3090: 41 45 41 43 43 45 53 20 20 20 20 20 20 20 20 20 AEACCES 30a0: 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 = WSABASEERR + 30b0: 31 33 2c 0d 0a 09 57 53 41 45 46 41 55 4c 54 20 13,...WSAEFAULT 30c0: 20 20 20 20 20 20 20 20 20 3d 20 57 53 41 42 41 = WSABA 30d0: 53 45 45 52 52 20 2b 20 31 34 2c 0d 0a 09 57 53 SEERR + 14,...WS 30e0: 41 45 49 4e 56 41 4c 20 20 20 20 20 20 20 20 20 AEINVAL 30f0: 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 = WSABASEERR + 3100: 32 32 2c 0d 0a 09 57 53 41 45 4d 46 49 4c 45 20 22,...WSAEMFILE 3110: 20 20 20 20 20 20 20 20 20 3d 20 57 53 41 42 41 = WSABA 3120: 53 45 45 52 52 20 2b 20 32 34 2c 0d 0a 09 57 53 SEERR + 24,...WS 3130: 41 45 57 4f 55 4c 44 42 4c 4f 43 4b 20 20 20 20 AEWOULDBLOCK 3140: 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 = WSABASEERR + 3150: 33 35 2c 0d 0a 09 57 53 41 45 49 4e 50 52 4f 47 35,...WSAEINPROG 3160: 52 45 53 53 20 20 20 20 20 3d 20 57 53 41 42 41 RESS = WSABA 3170: 53 45 45 52 52 20 2b 20 33 36 2c 20 2f 2f 20 64 SEERR + 36, // d 3180: 65 70 72 65 63 61 74 65 64 20 6f 6e 20 57 69 6e eprecated on Win 3190: 53 6f 63 6b 32 0d 0a 09 57 53 41 45 41 4c 52 45 Sock2...WSAEALRE 31a0: 41 44 59 20 20 20 20 20 20 20 20 3d 20 57 53 41 ADY = WSA 31b0: 42 41 53 45 45 52 52 20 2b 20 33 37 2c 0d 0a 09 BASEERR + 37,... 31c0: 57 53 41 45 4e 4f 54 53 4f 43 4b 20 20 20 20 20 WSAENOTSOCK 31d0: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 31e0: 2b 20 33 38 2c 0d 0a 09 57 53 41 45 44 45 53 54 + 38,...WSAEDEST 31f0: 41 44 44 52 52 45 51 20 20 20 20 3d 20 57 53 41 ADDRREQ = WSA 3200: 42 41 53 45 45 52 52 20 2b 20 33 39 2c 0d 0a 09 BASEERR + 39,... 3210: 57 53 41 45 4d 53 47 53 49 5a 45 20 20 20 20 20 WSAEMSGSIZE 3220: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3230: 2b 20 34 30 2c 0d 0a 09 57 53 41 45 50 52 4f 54 + 40,...WSAEPROT 3240: 4f 54 59 50 45 20 20 20 20 20 20 3d 20 57 53 41 OTYPE = WSA 3250: 42 41 53 45 45 52 52 20 2b 20 34 31 2c 0d 0a 09 BASEERR + 41,... 3260: 57 53 41 45 4e 4f 50 52 4f 54 4f 4f 50 54 20 20 WSAENOPROTOOPT 3270: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3280: 2b 20 34 32 2c 0d 0a 09 57 53 41 45 50 52 4f 54 + 42,...WSAEPROT 3290: 4f 4e 4f 53 55 50 50 4f 52 54 20 3d 20 57 53 41 ONOSUPPORT = WSA 32a0: 42 41 53 45 45 52 52 20 2b 20 34 33 2c 0d 0a 09 BASEERR + 43,... 32b0: 57 53 41 45 53 4f 43 4b 54 4e 4f 53 55 50 50 4f WSAESOCKTNOSUPPO 32c0: 52 54 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 RT = WSABASEERR 32d0: 2b 20 34 34 2c 0d 0a 09 57 53 41 45 4f 50 4e 4f + 44,...WSAEOPNO 32e0: 54 53 55 50 50 20 20 20 20 20 20 3d 20 57 53 41 TSUPP = WSA 32f0: 42 41 53 45 45 52 52 20 2b 20 34 35 2c 0d 0a 09 BASEERR + 45,... 3300: 57 53 41 45 50 46 4e 4f 53 55 50 50 4f 52 54 20 WSAEPFNOSUPPORT 3310: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3320: 2b 20 34 36 2c 0d 0a 09 57 53 41 45 41 46 4e 4f + 46,...WSAEAFNO 3330: 53 55 50 50 4f 52 54 20 20 20 20 3d 20 57 53 41 SUPPORT = WSA 3340: 42 41 53 45 45 52 52 20 2b 20 34 37 2c 0d 0a 09 BASEERR + 47,... 3350: 57 53 41 45 41 44 44 52 49 4e 55 53 45 20 20 20 WSAEADDRINUSE 3360: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3370: 2b 20 34 38 2c 0d 0a 09 57 53 41 45 41 44 44 52 + 48,...WSAEADDR 3380: 4e 4f 54 41 56 41 49 4c 20 20 20 3d 20 57 53 41 NOTAVAIL = WSA 3390: 42 41 53 45 45 52 52 20 2b 20 34 39 2c 0d 0a 09 BASEERR + 49,... 33a0: 57 53 41 45 4e 45 54 44 4f 57 4e 20 20 20 20 20 WSAENETDOWN 33b0: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 33c0: 2b 20 35 30 2c 0d 0a 09 57 53 41 45 4e 45 54 55 + 50,...WSAENETU 33d0: 4e 52 45 41 43 48 20 20 20 20 20 3d 20 57 53 41 NREACH = WSA 33e0: 42 41 53 45 45 52 52 20 2b 20 35 31 2c 0d 0a 09 BASEERR + 51,... 33f0: 57 53 41 45 4e 45 54 52 45 53 45 54 20 20 20 20 WSAENETRESET 3400: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3410: 2b 20 35 32 2c 0d 0a 09 57 53 41 45 43 4f 4e 4e + 52,...WSAECONN 3420: 41 42 4f 52 54 45 44 20 20 20 20 3d 20 57 53 41 ABORTED = WSA 3430: 42 41 53 45 45 52 52 20 2b 20 35 33 2c 0d 0a 09 BASEERR + 53,... 3440: 57 53 41 45 43 4f 4e 4e 52 45 53 45 54 20 20 20 WSAECONNRESET 3450: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3460: 2b 20 35 34 2c 0d 0a 09 57 53 41 45 4e 4f 42 55 + 54,...WSAENOBU 3470: 46 53 20 20 20 20 20 20 20 20 20 3d 20 57 53 41 FS = WSA 3480: 42 41 53 45 45 52 52 20 2b 20 35 35 2c 0d 0a 09 BASEERR + 55,... 3490: 57 53 41 45 49 53 43 4f 4e 4e 20 20 20 20 20 20 WSAEISCONN 34a0: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 34b0: 2b 20 35 36 2c 0d 0a 09 57 53 41 45 4e 4f 54 43 + 56,...WSAENOTC 34c0: 4f 4e 4e 20 20 20 20 20 20 20 20 3d 20 57 53 41 ONN = WSA 34d0: 42 41 53 45 45 52 52 20 2b 20 35 37 2c 0d 0a 09 BASEERR + 57,... 34e0: 57 53 41 45 53 48 55 54 44 4f 57 4e 20 20 20 20 WSAESHUTDOWN 34f0: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3500: 2b 20 35 38 2c 0d 0a 09 57 53 41 45 54 4f 4f 4d + 58,...WSAETOOM 3510: 41 4e 59 52 45 46 53 20 20 20 20 3d 20 57 53 41 ANYREFS = WSA 3520: 42 41 53 45 45 52 52 20 2b 20 35 39 2c 0d 0a 09 BASEERR + 59,... 3530: 57 53 41 45 54 49 4d 45 44 4f 55 54 20 20 20 20 WSAETIMEDOUT 3540: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3550: 2b 20 36 30 2c 0d 0a 09 57 53 41 45 43 4f 4e 4e + 60,...WSAECONN 3560: 52 45 46 55 53 45 44 20 20 20 20 3d 20 57 53 41 REFUSED = WSA 3570: 42 41 53 45 45 52 52 20 2b 20 36 31 2c 0d 0a 09 BASEERR + 61,... 3580: 57 53 41 45 4c 4f 4f 50 20 20 20 20 20 20 20 20 WSAELOOP 3590: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 35a0: 2b 20 36 32 2c 0d 0a 09 57 53 41 45 4e 41 4d 45 + 62,...WSAENAME 35b0: 54 4f 4f 4c 4f 4e 47 20 20 20 20 3d 20 57 53 41 TOOLONG = WSA 35c0: 42 41 53 45 45 52 52 20 2b 20 36 33 2c 0d 0a 09 BASEERR + 63,... 35d0: 57 53 41 45 48 4f 53 54 44 4f 57 4e 20 20 20 20 WSAEHOSTDOWN 35e0: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 35f0: 2b 20 36 34 2c 0d 0a 09 57 53 41 45 48 4f 53 54 + 64,...WSAEHOST 3600: 55 4e 52 45 41 43 48 20 20 20 20 3d 20 57 53 41 UNREACH = WSA 3610: 42 41 53 45 45 52 52 20 2b 20 36 35 2c 0d 0a 09 BASEERR + 65,... 3620: 57 53 41 45 4e 4f 54 45 4d 50 54 59 20 20 20 20 WSAENOTEMPTY 3630: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3640: 2b 20 36 36 2c 0d 0a 09 57 53 41 45 50 52 4f 43 + 66,...WSAEPROC 3650: 4c 49 4d 20 20 20 20 20 20 20 20 3d 20 57 53 41 LIM = WSA 3660: 42 41 53 45 45 52 52 20 2b 20 36 37 2c 0d 0a 09 BASEERR + 67,... 3670: 57 53 41 45 55 53 45 52 53 20 20 20 20 20 20 20 WSAEUSERS 3680: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3690: 2b 20 36 38 2c 0d 0a 09 57 53 41 45 44 51 55 4f + 68,...WSAEDQUO 36a0: 54 20 20 20 20 20 20 20 20 20 20 3d 20 57 53 41 T = WSA 36b0: 42 41 53 45 45 52 52 20 2b 20 36 39 2c 0d 0a 09 BASEERR + 69,... 36c0: 57 53 41 45 53 54 41 4c 45 20 20 20 20 20 20 20 WSAESTALE 36d0: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 36e0: 2b 20 37 30 2c 0d 0a 09 57 53 41 45 52 45 4d 4f + 70,...WSAEREMO 36f0: 54 45 20 20 20 20 20 20 20 20 20 3d 20 57 53 41 TE = WSA 3700: 42 41 53 45 45 52 52 20 2b 20 37 31 2c 0d 0a 09 BASEERR + 71,... 3710: 57 53 41 45 44 49 53 43 4f 4e 20 20 20 20 20 20 WSAEDISCON 3720: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3730: 2b 20 31 30 31 2c 0d 0a 09 57 53 41 53 59 53 4e + 101,...WSASYSN 3740: 4f 54 52 45 41 44 59 20 20 20 20 20 3d 20 57 53 OTREADY = WS 3750: 41 42 41 53 45 45 52 52 20 2b 20 39 31 2c 0d 0a ABASEERR + 91,.. 3760: 09 57 53 41 56 45 52 4e 4f 54 53 55 50 50 4f 52 .WSAVERNOTSUPPOR 3770: 54 45 44 20 3d 20 57 53 41 42 41 53 45 45 52 52 TED = WSABASEERR 3780: 20 2b 20 39 32 2c 0d 0a 09 57 53 41 4e 4f 54 49 + 92,...WSANOTI 3790: 4e 49 54 49 41 4c 49 53 45 44 20 20 3d 20 57 53 NITIALISED = WS 37a0: 41 42 41 53 45 45 52 52 20 2b 20 39 33 2c 0d 0a ABASEERR + 93,.. 37b0: 09 57 53 41 48 4f 53 54 5f 4e 4f 54 5f 46 4f 55 .WSAHOST_NOT_FOU 37c0: 4e 44 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 ND = WSABASEERR 37d0: 20 2b 20 31 30 30 31 2c 0d 0a 09 57 53 41 54 52 + 1001,...WSATR 37e0: 59 5f 41 47 41 49 4e 20 20 20 20 20 20 20 3d 20 Y_AGAIN = 37f0: 57 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 30 WSABASEERR + 100 3800: 32 2c 0d 0a 09 57 53 41 4e 4f 5f 52 45 43 4f 56 2,...WSANO_RECOV 3810: 45 52 59 20 20 20 20 20 3d 20 57 53 41 42 41 53 ERY = WSABAS 3820: 45 45 52 52 20 2b 20 31 30 30 33 2c 0d 0a 09 57 EERR + 1003,...W 3830: 53 41 4e 4f 5f 44 41 54 41 20 20 20 20 20 20 20 SANO_DATA 3840: 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b = WSABASEERR + 3850: 20 31 30 30 34 2c 0d 0a 09 57 53 41 4e 4f 5f 41 1004,...WSANO_A 3860: 44 44 52 45 53 53 20 20 20 20 20 20 3d 20 57 53 DDRESS = WS 3870: 41 4e 4f 5f 44 41 54 41 2c 0d 0a 0d 0a 09 2f 2f ANO_DATA,.....// 3880: 20 57 69 6e 53 6f 63 6b 32 20 73 70 65 63 69 66 WinSock2 specif 3890: 69 63 20 65 72 72 6f 72 20 63 6f 64 65 73 0d 0a ic error codes.. 38a0: 09 57 53 41 45 4e 4f 4d 4f 52 45 20 20 20 20 20 .WSAENOMORE 38b0: 20 20 20 20 20 20 20 20 3d 20 57 53 41 42 41 53 = WSABAS 38c0: 45 45 52 52 20 2b 20 31 30 32 2c 0d 0a 09 57 53 EERR + 102,...WS 38d0: 41 45 43 41 4e 43 45 4c 4c 45 44 20 20 20 20 20 AECANCELLED 38e0: 20 20 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 = WSABASEER 38f0: 52 20 2b 20 31 30 33 2c 0d 0a 09 57 53 41 45 49 R + 103,...WSAEI 3900: 4e 56 41 4c 49 44 50 52 4f 43 54 41 42 4c 45 20 NVALIDPROCTABLE 3910: 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b = WSABASEERR + 3920: 20 31 30 34 2c 0d 0a 09 57 53 41 45 49 4e 56 41 104,...WSAEINVA 3930: 4c 49 44 50 52 4f 56 49 44 45 52 20 20 20 20 3d LIDPROVIDER = 3940: 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 WSABASEERR + 10 3950: 35 2c 0d 0a 09 57 53 41 45 50 52 4f 56 49 44 45 5,...WSAEPROVIDE 3960: 52 46 41 49 4c 45 44 49 4e 49 54 20 3d 20 57 53 RFAILEDINIT = WS 3970: 41 42 41 53 45 45 52 52 20 2b 20 31 30 36 2c 0d ABASEERR + 106,. 3980: 0a 09 57 53 41 53 59 53 43 41 4c 4c 46 41 49 4c ..WSASYSCALLFAIL 3990: 55 52 45 20 20 20 20 20 20 3d 20 57 53 41 42 41 URE = WSABA 39a0: 53 45 45 52 52 20 2b 20 31 30 37 2c 0d 0a 09 57 SEERR + 107,...W 39b0: 53 41 53 45 52 56 49 43 45 5f 4e 4f 54 5f 46 4f SASERVICE_NOT_FO 39c0: 55 4e 44 20 20 20 3d 20 57 53 41 42 41 53 45 45 UND = WSABASEE 39d0: 52 52 20 2b 20 31 30 38 2c 0d 0a 09 57 53 41 54 RR + 108,...WSAT 39e0: 59 50 45 5f 4e 4f 54 5f 46 4f 55 4e 44 20 20 20 YPE_NOT_FOUND 39f0: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3a00: 2b 20 31 30 39 2c 0d 0a 09 57 53 41 5f 45 5f 4e + 109,...WSA_E_N 3a10: 4f 5f 4d 4f 52 45 20 20 20 20 20 20 20 20 20 20 O_MORE 3a20: 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 31 = WSABASEERR + 1 3a30: 31 30 2c 0d 0a 09 57 53 41 5f 45 5f 43 41 4e 43 10,...WSA_E_CANC 3a40: 45 4c 4c 45 44 20 20 20 20 20 20 20 20 3d 20 57 ELLED = W 3a50: 53 41 42 41 53 45 45 52 52 20 2b 20 31 31 31 2c SABASEERR + 111, 3a60: 0d 0a 09 57 53 41 45 52 45 46 55 53 45 44 20 20 ...WSAEREFUSED 3a70: 20 20 20 20 20 20 20 20 20 20 3d 20 57 53 41 42 = WSAB 3a80: 41 53 45 45 52 52 20 2b 20 31 31 32 2c 0d 0a 0d ASEERR + 112,... 3a90: 0a 09 2f 2f 20 57 53 20 51 75 61 6c 69 74 79 6f ..// WS Qualityo 3aa0: 66 53 65 72 76 69 63 65 20 65 72 72 6f 72 73 0d fService errors. 3ab0: 0a 09 57 53 41 5f 51 4f 53 5f 52 45 43 45 49 56 ..WSA_QOS_RECEIV 3ac0: 45 52 53 20 20 20 20 20 20 20 20 20 20 3d 20 57 ERS = W 3ad0: 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 30 35 SABASEERR + 1005 3ae0: 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 53 45 4e 44 ,...WSA_QOS_SEND 3af0: 45 52 53 20 20 20 20 20 20 20 20 20 20 20 20 3d ERS = 3b00: 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 WSABASEERR + 10 3b10: 30 36 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 4e 4f 06,...WSA_QOS_NO 3b20: 5f 53 45 4e 44 45 52 53 20 20 20 20 20 20 20 20 _SENDERS 3b30: 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 = WSABASEERR + 3b40: 31 30 30 37 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 1007,...WSA_QOS_ 3b50: 4e 4f 5f 52 45 43 45 49 56 45 52 53 20 20 20 20 NO_RECEIVERS 3b60: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3b70: 2b 20 31 30 30 38 2c 0d 0a 09 57 53 41 5f 51 4f + 1008,...WSA_QO 3b80: 53 5f 52 45 51 55 45 53 54 5f 43 4f 4e 46 49 52 S_REQUEST_CONFIR 3b90: 4d 45 44 20 20 3d 20 57 53 41 42 41 53 45 45 52 MED = WSABASEER 3ba0: 52 20 2b 20 31 30 30 39 2c 0d 0a 09 57 53 41 5f R + 1009,...WSA_ 3bb0: 51 4f 53 5f 41 44 4d 49 53 53 49 4f 4e 5f 46 41 QOS_ADMISSION_FA 3bc0: 49 4c 55 52 45 20 20 3d 20 57 53 41 42 41 53 45 ILURE = WSABASE 3bd0: 45 52 52 20 2b 20 31 30 31 30 2c 0d 0a 09 57 53 ERR + 1010,...WS 3be0: 41 5f 51 4f 53 5f 50 4f 4c 49 43 59 5f 46 41 49 A_QOS_POLICY_FAI 3bf0: 4c 55 52 45 20 20 20 20 20 3d 20 57 53 41 42 41 LURE = WSABA 3c00: 53 45 45 52 52 20 2b 20 31 30 31 31 2c 0d 0a 09 SEERR + 1011,... 3c10: 57 53 41 5f 51 4f 53 5f 42 41 44 5f 53 54 59 4c WSA_QOS_BAD_STYL 3c20: 45 20 20 20 20 20 20 20 20 20 20 3d 20 57 53 41 E = WSA 3c30: 42 41 53 45 45 52 52 20 2b 20 31 30 31 32 2c 0d BASEERR + 1012,. 3c40: 0a 09 57 53 41 5f 51 4f 53 5f 42 41 44 5f 4f 42 ..WSA_QOS_BAD_OB 3c50: 4a 45 43 54 20 20 20 20 20 20 20 20 20 3d 20 57 JECT = W 3c60: 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 31 33 SABASEERR + 1013 3c70: 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 54 52 41 46 ,...WSA_QOS_TRAF 3c80: 46 49 43 5f 43 54 52 4c 5f 45 52 52 4f 52 20 3d FIC_CTRL_ERROR = 3c90: 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 WSABASEERR + 10 3ca0: 31 34 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 47 45 14,...WSA_QOS_GE 3cb0: 4e 45 52 49 43 5f 45 52 52 4f 52 20 20 20 20 20 NERIC_ERROR 3cc0: 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 = WSABASEERR + 3cd0: 31 30 31 35 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 1015,...WSA_QOS_ 3ce0: 45 53 45 52 56 49 43 45 54 59 50 45 20 20 20 20 ESERVICETYPE 3cf0: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3d00: 2b 20 31 30 31 36 2c 0d 0a 09 57 53 41 5f 51 4f + 1016,...WSA_QO 3d10: 53 5f 45 46 4c 4f 57 53 50 45 43 20 20 20 20 20 S_EFLOWSPEC 3d20: 20 20 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 = WSABASEER 3d30: 52 20 2b 20 31 30 31 37 2c 0d 0a 09 57 53 41 5f R + 1017,...WSA_ 3d40: 51 4f 53 5f 45 50 52 4f 56 53 50 45 43 42 55 46 QOS_EPROVSPECBUF 3d50: 20 20 20 20 20 20 20 3d 20 57 53 41 42 41 53 45 = WSABASE 3d60: 45 52 52 20 2b 20 31 30 31 38 2c 0d 0a 09 57 53 ERR + 1018,...WS 3d70: 41 5f 51 4f 53 5f 45 46 49 4c 54 45 52 53 54 59 A_QOS_EFILTERSTY 3d80: 4c 45 20 20 20 20 20 20 20 3d 20 57 53 41 42 41 LE = WSABA 3d90: 53 45 45 52 52 20 2b 20 31 30 31 39 2c 0d 0a 09 SEERR + 1019,... 3da0: 57 53 41 5f 51 4f 53 5f 45 46 49 4c 54 45 52 54 WSA_QOS_EFILTERT 3db0: 59 50 45 20 20 20 20 20 20 20 20 3d 20 57 53 41 YPE = WSA 3dc0: 42 41 53 45 45 52 52 20 2b 20 31 30 32 30 2c 0d BASEERR + 1020,. 3dd0: 0a 09 57 53 41 5f 51 4f 53 5f 45 46 49 4c 54 45 ..WSA_QOS_EFILTE 3de0: 52 43 4f 55 4e 54 20 20 20 20 20 20 20 3d 20 57 RCOUNT = W 3df0: 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 32 31 SABASEERR + 1021 3e00: 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 45 4f 42 4a ,...WSA_QOS_EOBJ 3e10: 4c 45 4e 47 54 48 20 20 20 20 20 20 20 20 20 3d LENGTH = 3e20: 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 WSABASEERR + 10 3e30: 32 32 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 45 46 22,...WSA_QOS_EF 3e40: 4c 4f 57 43 4f 55 4e 54 20 20 20 20 20 20 20 20 LOWCOUNT 3e50: 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 = WSABASEERR + 3e60: 31 30 32 33 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 1023,...WSA_QOS_ 3e70: 45 55 4e 4b 4f 57 4e 50 53 4f 42 4a 20 20 20 20 EUNKOWNPSOBJ 3e80: 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 = WSABASEERR 3e90: 2b 20 31 30 32 34 2c 0d 0a 09 57 53 41 5f 51 4f + 1024,...WSA_QO 3ea0: 53 5f 45 50 4f 4c 49 43 59 4f 42 4a 20 20 20 20 S_EPOLICYOBJ 3eb0: 20 20 20 20 20 3d 20 57 53 41 42 41 53 45 45 52 = WSABASEER 3ec0: 52 20 2b 20 31 30 32 35 2c 0d 0a 09 57 53 41 5f R + 1025,...WSA_ 3ed0: 51 4f 53 5f 45 46 4c 4f 57 44 45 53 43 20 20 20 QOS_EFLOWDESC 3ee0: 20 20 20 20 20 20 20 3d 20 57 53 41 42 41 53 45 = WSABASE 3ef0: 45 52 52 20 2b 20 31 30 32 36 2c 0d 0a 09 57 53 ERR + 1026,...WS 3f00: 41 5f 51 4f 53 5f 45 50 53 46 4c 4f 57 53 50 45 A_QOS_EPSFLOWSPE 3f10: 43 20 20 20 20 20 20 20 20 3d 20 57 53 41 42 41 C = WSABA 3f20: 53 45 45 52 52 20 2b 20 31 30 32 37 2c 0d 0a 09 SEERR + 1027,... 3f30: 57 53 41 5f 51 4f 53 5f 45 50 53 46 49 4c 54 45 WSA_QOS_EPSFILTE 3f40: 52 53 50 45 43 20 20 20 20 20 20 3d 20 57 53 41 RSPEC = WSA 3f50: 42 41 53 45 45 52 52 20 2b 20 31 30 32 38 2c 0d BASEERR + 1028,. 3f60: 0a 09 57 53 41 5f 51 4f 53 5f 45 53 44 4d 4f 44 ..WSA_QOS_ESDMOD 3f70: 45 4f 42 4a 20 20 20 20 20 20 20 20 20 3d 20 57 EOBJ = W 3f80: 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 32 39 SABASEERR + 1029 3f90: 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 45 53 48 41 ,...WSA_QOS_ESHA 3fa0: 50 45 52 41 54 45 4f 42 4a 20 20 20 20 20 20 3d PERATEOBJ = 3fb0: 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 31 30 WSABASEERR + 10 3fc0: 33 30 2c 0d 0a 09 57 53 41 5f 51 4f 53 5f 52 45 30,...WSA_QOS_RE 3fd0: 53 45 52 56 45 44 5f 50 45 54 59 50 45 20 20 20 SERVED_PETYPE 3fe0: 20 3d 20 57 53 41 42 41 53 45 45 52 52 20 2b 20 = WSABASEERR + 3ff0: 31 30 33 31 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 1031..}....alias 4000: 20 57 53 41 47 65 74 4c 61 73 74 45 72 72 6f 72 WSAGetLastError 4010: 20 68 5f 65 72 72 6e 6f 3b 0d 0a 0d 0a 65 6e 75 h_errno;....enu 4020: 6d 20 3a 20 69 6e 74 20 7b 0d 0a 09 48 4f 53 54 m : int {...HOST 4030: 5f 4e 4f 54 5f 46 4f 55 4e 44 20 3d 20 57 53 41 _NOT_FOUND = WSA 4040: 48 4f 53 54 5f 4e 4f 54 5f 46 4f 55 4e 44 2c 0d HOST_NOT_FOUND,. 4050: 0a 09 54 52 59 5f 41 47 41 49 4e 20 20 20 20 20 ..TRY_AGAIN 4060: 20 3d 20 57 53 41 54 52 59 5f 41 47 41 49 4e 2c = WSATRY_AGAIN, 4070: 0d 0a 09 4e 4f 5f 52 45 43 4f 56 45 52 59 20 20 ...NO_RECOVERY 4080: 20 20 3d 20 57 53 41 4e 4f 5f 52 45 43 4f 56 45 = WSANO_RECOVE 4090: 52 59 2c 0d 0a 09 4e 4f 5f 44 41 54 41 20 20 20 RY,...NO_DATA 40a0: 20 20 20 20 20 3d 20 57 53 41 4e 4f 5f 44 41 54 = WSANO_DAT 40b0: 41 2c 0d 0a 09 4e 4f 5f 41 44 44 52 45 53 53 20 A,...NO_ADDRESS 40c0: 20 20 20 20 3d 20 57 53 41 4e 4f 5f 41 44 44 52 = WSANO_ADDR 40d0: 45 53 53 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e ESS..}....extern 40e0: 20 28 57 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 53 (Windows) {...S 40f0: 4f 43 4b 45 54 20 61 63 63 65 70 74 28 53 4f 43 OCKET accept(SOC 4100: 4b 45 54 2c 20 53 4f 43 4b 41 44 44 52 2a 2c 20 KET, SOCKADDR*, 4110: 69 6e 74 2a 29 3b 0d 0a 09 69 6e 74 20 62 69 6e int*);...int bin 4120: 64 28 53 4f 43 4b 45 54 2c 20 63 6f 6e 73 74 28 d(SOCKET, const( 4130: 53 4f 43 4b 41 44 44 52 29 2a 2c 20 69 6e 74 29 SOCKADDR)*, int) 4140: 3b 0d 0a 09 69 6e 74 20 63 6c 6f 73 65 73 6f 63 ;...int closesoc 4150: 6b 65 74 28 53 4f 43 4b 45 54 29 3b 0d 0a 09 69 ket(SOCKET);...i 4160: 6e 74 20 63 6f 6e 6e 65 63 74 28 53 4f 43 4b 45 nt connect(SOCKE 4170: 54 2c 20 63 6f 6e 73 74 28 53 4f 43 4b 41 44 44 T, const(SOCKADD 4180: 52 29 2a 2c 20 69 6e 74 29 3b 0d 0a 09 69 6e 74 R)*, int);...int 4190: 20 69 6f 63 74 6c 73 6f 63 6b 65 74 28 53 4f 43 ioctlsocket(SOC 41a0: 4b 45 54 2c 20 69 6e 74 2c 20 75 5f 6c 6f 6e 67 KET, int, u_long 41b0: 2a 29 3b 0d 0a 09 69 6e 74 20 67 65 74 70 65 65 *);...int getpee 41c0: 72 6e 61 6d 65 28 53 4f 43 4b 45 54 2c 20 53 4f rname(SOCKET, SO 41d0: 43 4b 41 44 44 52 2a 2c 20 69 6e 74 2a 29 3b 0d CKADDR*, int*);. 41e0: 0a 09 69 6e 74 20 67 65 74 73 6f 63 6b 6e 61 6d ..int getsocknam 41f0: 65 28 53 4f 43 4b 45 54 2c 20 53 4f 43 4b 41 44 e(SOCKET, SOCKAD 4200: 44 52 2a 2c 20 69 6e 74 2a 29 3b 0d 0a 09 69 6e DR*, int*);...in 4210: 74 20 67 65 74 73 6f 63 6b 6f 70 74 28 53 4f 43 t getsockopt(SOC 4220: 4b 45 54 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 76 KET, int, int, v 4230: 6f 69 64 2a 2c 20 69 6e 74 2a 29 3b 0d 0a 09 75 oid*, int*);...u 4240: 69 6e 74 20 69 6e 65 74 5f 61 64 64 72 28 63 6f int inet_addr(co 4250: 6e 73 74 28 63 68 61 72 29 2a 29 3b 0d 0a 09 69 nst(char)*);...i 4260: 6e 74 20 6c 69 73 74 65 6e 28 53 4f 43 4b 45 54 nt listen(SOCKET 4270: 2c 20 69 6e 74 29 3b 0d 0a 09 69 6e 74 20 72 65 , int);...int re 4280: 63 76 28 53 4f 43 4b 45 54 2c 20 75 62 79 74 65 cv(SOCKET, ubyte 4290: 2a 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0d 0a 09 *, int, int);... 42a0: 69 6e 74 20 72 65 63 76 66 72 6f 6d 28 53 4f 43 int recvfrom(SOC 42b0: 4b 45 54 2c 20 75 62 79 74 65 2a 2c 20 69 6e 74 KET, ubyte*, int 42c0: 2c 20 69 6e 74 2c 20 53 4f 43 4b 41 44 44 52 2a , int, SOCKADDR* 42d0: 2c 20 69 6e 74 2a 29 3b 0d 0a 09 69 6e 74 20 73 , int*);...int s 42e0: 65 6e 64 28 53 4f 43 4b 45 54 2c 20 63 6f 6e 73 end(SOCKET, cons 42f0: 74 28 75 62 79 74 65 29 2a 2c 20 69 6e 74 2c 20 t(ubyte)*, int, 4300: 69 6e 74 29 3b 0d 0a 09 69 6e 74 20 73 65 6e 64 int);...int send 4310: 74 6f 28 53 4f 43 4b 45 54 2c 20 63 6f 6e 73 74 to(SOCKET, const 4320: 28 75 62 79 74 65 29 2a 2c 20 69 6e 74 2c 20 69 (ubyte)*, int, i 4330: 6e 74 2c 20 63 6f 6e 73 74 28 53 4f 43 4b 41 44 nt, const(SOCKAD 4340: 44 52 29 2a 2c 20 69 6e 74 29 3b 0d 0a 09 69 6e DR)*, int);...in 4350: 74 20 73 65 74 73 6f 63 6b 6f 70 74 28 53 4f 43 t setsockopt(SOC 4360: 4b 45 54 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 63 KET, int, int, c 4370: 6f 6e 73 74 28 76 6f 69 64 29 2a 2c 20 69 6e 74 onst(void)*, int 4380: 29 3b 0d 0a 09 69 6e 74 20 73 68 75 74 64 6f 77 );...int shutdow 4390: 6e 28 53 4f 43 4b 45 54 2c 20 69 6e 74 29 3b 0d n(SOCKET, int);. 43a0: 0a 09 53 4f 43 4b 45 54 20 73 6f 63 6b 65 74 28 ..SOCKET socket( 43b0: 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0d int, int, int);. 43c0: 0a 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 ....alias typeof 43d0: 28 26 61 63 63 65 70 74 29 20 4c 50 46 4e 5f 41 (&accept) LPFN_A 43e0: 43 43 45 50 54 3b 0d 0a 09 61 6c 69 61 73 20 74 CCEPT;...alias t 43f0: 79 70 65 6f 66 28 26 62 69 6e 64 29 20 4c 50 46 ypeof(&bind) LPF 4400: 4e 5f 42 49 4e 44 3b 0d 0a 09 61 6c 69 61 73 20 N_BIND;...alias 4410: 74 79 70 65 6f 66 28 26 63 6c 6f 73 65 73 6f 63 typeof(&closesoc 4420: 6b 65 74 29 20 4c 50 46 4e 5f 43 4c 4f 53 45 53 ket) LPFN_CLOSES 4430: 4f 43 4b 45 54 3b 0d 0a 09 61 6c 69 61 73 20 74 OCKET;...alias t 4440: 79 70 65 6f 66 28 26 63 6f 6e 6e 65 63 74 29 20 ypeof(&connect) 4450: 4c 50 46 4e 5f 43 4f 4e 4e 45 43 54 3b 0d 0a 09 LPFN_CONNECT;... 4460: 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 69 6f alias typeof(&io 4470: 63 74 6c 73 6f 63 6b 65 74 29 20 4c 50 46 4e 5f ctlsocket) LPFN_ 4480: 49 4f 43 54 4c 53 4f 43 4b 45 54 3b 0d 0a 09 61 IOCTLSOCKET;...a 4490: 6c 69 61 73 20 74 79 70 65 6f 66 28 26 67 65 74 lias typeof(&get 44a0: 70 65 65 72 6e 61 6d 65 29 20 4c 50 46 4e 5f 47 peername) LPFN_G 44b0: 45 54 50 45 45 52 4e 41 4d 45 3b 0d 0a 09 61 6c ETPEERNAME;...al 44c0: 69 61 73 20 74 79 70 65 6f 66 28 26 67 65 74 73 ias typeof(&gets 44d0: 6f 63 6b 6e 61 6d 65 29 20 4c 50 46 4e 5f 47 45 ockname) LPFN_GE 44e0: 54 53 4f 43 4b 4e 41 4d 45 3b 0d 0a 09 61 6c 69 TSOCKNAME;...ali 44f0: 61 73 20 74 79 70 65 6f 66 28 26 67 65 74 73 6f as typeof(&getso 4500: 63 6b 6f 70 74 29 20 4c 50 46 4e 5f 47 45 54 53 ckopt) LPFN_GETS 4510: 4f 43 4b 4f 50 54 3b 0d 0a 09 61 6c 69 61 73 20 OCKOPT;...alias 4520: 74 79 70 65 6f 66 28 26 69 6e 65 74 5f 61 64 64 typeof(&inet_add 4530: 72 29 20 4c 50 46 4e 5f 49 4e 45 54 5f 41 44 44 r) LPFN_INET_ADD 4540: 52 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f R;...alias typeo 4550: 66 28 26 6c 69 73 74 65 6e 29 20 4c 50 46 4e 5f f(&listen) LPFN_ 4560: 4c 49 53 54 45 4e 3b 0d 0a 09 61 6c 69 61 73 20 LISTEN;...alias 4570: 74 79 70 65 6f 66 28 26 72 65 63 76 29 20 4c 50 typeof(&recv) LP 4580: 46 4e 5f 52 45 43 56 3b 0d 0a 09 61 6c 69 61 73 FN_RECV;...alias 4590: 20 74 79 70 65 6f 66 28 26 72 65 63 76 66 72 6f typeof(&recvfro 45a0: 6d 29 20 4c 50 46 4e 5f 52 45 43 56 46 52 4f 4d m) LPFN_RECVFROM 45b0: 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 ;...alias typeof 45c0: 28 26 73 65 6e 64 29 20 4c 50 46 4e 5f 53 45 4e (&send) LPFN_SEN 45d0: 44 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f D;...alias typeo 45e0: 66 28 26 73 65 6e 64 74 6f 29 20 4c 50 46 4e 5f f(&sendto) LPFN_ 45f0: 53 45 4e 44 54 4f 3b 0d 0a 09 61 6c 69 61 73 20 SENDTO;...alias 4600: 74 79 70 65 6f 66 28 26 73 65 74 73 6f 63 6b 6f typeof(&setsocko 4610: 70 74 29 20 4c 50 46 4e 5f 53 45 54 53 4f 43 4b pt) LPFN_SETSOCK 4620: 4f 50 54 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 OPT;...alias typ 4630: 65 6f 66 28 26 73 68 75 74 64 6f 77 6e 29 20 4c eof(&shutdown) L 4640: 50 46 4e 5f 53 48 55 54 44 4f 57 4e 3b 0d 0a 09 PFN_SHUTDOWN;... 4650: 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 73 6f alias typeof(&so 4660: 63 6b 65 74 29 20 4c 50 46 4e 5f 53 4f 43 4b 45 cket) LPFN_SOCKE 4670: 54 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 T;..}....extern( 4680: 57 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 63 68 61 Windows) {...cha 4690: 72 2a 20 69 6e 65 74 5f 6e 74 6f 61 28 49 4e 5f r* inet_ntoa(IN_ 46a0: 41 44 44 52 29 3b 0d 0a 09 48 4f 53 54 45 4e 54 ADDR);...HOSTENT 46b0: 2a 20 67 65 74 68 6f 73 74 62 79 61 64 64 72 28 * gethostbyaddr( 46c0: 63 6f 6e 73 74 28 63 68 61 72 29 2a 2c 20 69 6e const(char)*, in 46d0: 74 2c 20 69 6e 74 29 3b 0d 0a 09 48 4f 53 54 45 t, int);...HOSTE 46e0: 4e 54 2a 20 67 65 74 68 6f 73 74 62 79 6e 61 6d NT* gethostbynam 46f0: 65 28 63 6f 6e 73 74 28 63 68 61 72 29 2a 29 3b e(const(char)*); 4700: 0d 0a 09 53 45 52 56 45 4e 54 2a 20 67 65 74 73 ...SERVENT* gets 4710: 65 72 76 62 79 70 6f 72 74 28 69 6e 74 2c 20 63 ervbyport(int, c 4720: 6f 6e 73 74 28 63 68 61 72 29 2a 29 3b 0d 0a 09 onst(char)*);... 4730: 53 45 52 56 45 4e 54 2a 20 67 65 74 73 65 72 76 SERVENT* getserv 4740: 62 79 6e 61 6d 65 28 63 6f 6e 73 74 28 63 68 61 byname(const(cha 4750: 72 29 2a 2c 20 63 6f 6e 73 74 28 63 68 61 72 29 r)*, const(char) 4760: 2a 29 3b 0d 0a 09 50 52 4f 54 4f 45 4e 54 2a 20 *);...PROTOENT* 4770: 67 65 74 70 72 6f 74 6f 62 79 6e 75 6d 62 65 72 getprotobynumber 4780: 28 69 6e 74 29 3b 0d 0a 09 50 52 4f 54 4f 45 4e (int);...PROTOEN 4790: 54 2a 20 67 65 74 70 72 6f 74 6f 62 79 6e 61 6d T* getprotobynam 47a0: 65 28 63 6f 6e 73 74 28 63 68 61 72 29 2a 29 3b e(const(char)*); 47b0: 0d 0a 0d 0a 09 2f 2a 20 4e 4f 54 45 3a 20 44 4b ...../* NOTE: DK 47c0: 3a 20 69 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 : in the origina 47d0: 6c 20 68 65 61 64 65 72 73 2c 20 74 68 65 73 65 l headers, these 47e0: 20 77 65 72 65 20 64 65 63 6c 61 72 65 64 20 77 were declared w 47f0: 69 74 68 0d 0a 09 20 20 20 50 41 53 43 41 4c 20 ith... PASCAL 4800: 6c 69 6e 6b 61 67 65 2e 20 20 53 69 6e 63 65 20 linkage. Since 4810: 74 68 69 73 20 69 73 20 61 74 20 6f 64 64 73 20 this is at odds 4820: 77 69 74 68 20 74 68 65 20 64 65 66 69 6e 69 74 with the definit 4830: 69 6f 6e 0d 0a 09 20 20 20 6f 66 20 74 68 65 20 ion... of the 4840: 66 75 6e 63 74 69 6f 6e 73 20 74 68 65 6d 73 65 functions themse 4850: 6c 76 65 73 2c 20 61 6e 64 20 61 6c 73 6f 20 73 lves, and also s 4860: 69 6e 63 65 20 4d 69 6e 47 57 20 73 65 65 6d 73 ince MinGW seems 4870: 20 74 6f 0d 0a 09 20 20 20 74 72 65 61 74 20 74 to... treat t 4880: 68 65 20 74 77 6f 20 69 6e 74 65 72 63 68 61 6e he two interchan 4890: 67 61 62 6c 79 2c 20 49 20 68 61 76 65 20 6d 6f gably, I have mo 48a0: 76 65 64 20 74 68 65 6d 20 68 65 72 65 2e 20 2a ved them here. * 48b0: 2f 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 /...alias typeof 48c0: 28 26 69 6e 65 74 5f 6e 74 6f 61 29 20 4c 50 46 (&inet_ntoa) LPF 48d0: 4e 5f 49 4e 45 54 5f 4e 54 4f 41 3b 0d 0a 09 61 N_INET_NTOA;...a 48e0: 6c 69 61 73 20 74 79 70 65 6f 66 28 26 67 65 74 lias typeof(&get 48f0: 68 6f 73 74 62 79 61 64 64 72 29 20 4c 50 46 4e hostbyaddr) LPFN 4900: 5f 47 45 54 48 4f 53 54 42 59 41 44 44 52 3b 0d _GETHOSTBYADDR;. 4910: 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 ..alias typeof(& 4920: 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 29 20 4c gethostbyname) L 4930: 50 46 4e 5f 47 45 54 48 4f 53 54 42 59 4e 41 4d PFN_GETHOSTBYNAM 4940: 45 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f E;...alias typeo 4950: 66 28 26 67 65 74 73 65 72 76 62 79 70 6f 72 74 f(&getservbyport 4960: 29 20 4c 50 46 4e 5f 47 45 54 53 45 52 56 42 59 ) LPFN_GETSERVBY 4970: 50 4f 52 54 3b 0d 0a 09 61 6c 69 61 73 20 74 79 PORT;...alias ty 4980: 70 65 6f 66 28 26 67 65 74 73 65 72 76 62 79 6e peof(&getservbyn 4990: 61 6d 65 29 20 4c 50 46 4e 5f 47 45 54 53 45 52 ame) LPFN_GETSER 49a0: 56 42 59 4e 41 4d 45 3b 0d 0a 09 61 6c 69 61 73 VBYNAME;...alias 49b0: 20 74 79 70 65 6f 66 28 26 67 65 74 70 72 6f 74 typeof(&getprot 49c0: 6f 62 79 6e 75 6d 62 65 72 29 20 4c 50 46 4e 5f obynumber) LPFN_ 49d0: 47 45 54 50 52 4f 54 4f 42 59 4e 55 4d 42 45 52 GETPROTOBYNUMBER 49e0: 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 ;...alias typeof 49f0: 28 26 67 65 74 70 72 6f 74 6f 62 79 6e 61 6d 65 (&getprotobyname 4a00: 29 20 4c 50 46 4e 5f 47 45 54 50 52 4f 54 4f 42 ) LPFN_GETPROTOB 4a10: 59 4e 41 4d 45 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 YNAME;..}....ext 4a20: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 7b 0d 0a ern(Windows) {.. 4a30: 09 69 6e 74 20 57 53 41 53 74 61 72 74 75 70 28 .int WSAStartup( 4a40: 57 4f 52 44 2c 20 4c 50 57 53 41 44 41 54 41 29 WORD, LPWSADATA) 4a50: 3b 0d 0a 09 69 6e 74 20 57 53 41 43 6c 65 61 6e ;...int WSAClean 4a60: 75 70 28 29 3b 0d 0a 09 76 6f 69 64 20 57 53 41 up();...void WSA 4a70: 53 65 74 4c 61 73 74 45 72 72 6f 72 28 69 6e 74 SetLastError(int 4a80: 29 3b 0d 0a 09 69 6e 74 20 57 53 41 47 65 74 4c );...int WSAGetL 4a90: 61 73 74 45 72 72 6f 72 28 29 3b 0d 0a 0d 0a 09 astError();..... 4aa0: 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 alias typeof(&WS 4ab0: 41 53 74 61 72 74 75 70 29 20 4c 50 46 4e 5f 57 AStartup) LPFN_W 4ac0: 53 41 53 54 41 52 54 55 50 3b 0d 0a 09 61 6c 69 SASTARTUP;...ali 4ad0: 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 43 6c as typeof(&WSACl 4ae0: 65 61 6e 75 70 29 20 4c 50 46 4e 5f 57 53 41 43 eanup) LPFN_WSAC 4af0: 4c 45 41 4e 55 50 3b 0d 0a 09 61 6c 69 61 73 20 LEANUP;...alias 4b00: 74 79 70 65 6f 66 28 26 57 53 41 53 65 74 4c 61 typeof(&WSASetLa 4b10: 73 74 45 72 72 6f 72 29 20 4c 50 46 4e 5f 57 53 stError) LPFN_WS 4b20: 41 53 45 54 4c 41 53 54 45 52 52 4f 52 3b 0d 0a ASETLASTERROR;.. 4b30: 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 .alias typeof(&W 4b40: 53 41 47 65 74 4c 61 73 74 45 72 72 6f 72 29 20 SAGetLastError) 4b50: 4c 50 46 4e 5f 57 53 41 47 45 54 4c 41 53 54 45 LPFN_WSAGETLASTE 4b60: 52 52 4f 52 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 0d 0a RROR;..}..../*.. 4b70: 20 2a 20 50 73 65 75 64 6f 2d 62 6c 6f 63 6b 69 * Pseudo-blocki 4b80: 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 ng functions are 4b90: 20 64 65 70 72 65 63 61 74 65 64 20 69 6e 20 57 deprecated in W 4ba0: 69 6e 53 6f 63 6b 32 0d 0a 20 2a 20 73 70 65 63 inSock2.. * spec 4bb0: 2e 20 55 73 65 20 74 68 72 65 61 64 73 20 69 6e . Use threads in 4bc0: 73 74 65 61 64 2e 0d 0a 20 2a 2f 0d 0a 64 65 70 stead... */..dep 4bd0: 72 65 63 61 74 65 64 20 65 78 74 65 72 6e 28 57 recated extern(W 4be0: 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 42 4f 4f 4c indows) {...BOOL 4bf0: 20 57 53 41 49 73 42 6c 6f 63 6b 69 6e 67 28 29 WSAIsBlocking() 4c00: 3b 0d 0a 09 69 6e 74 20 57 53 41 55 6e 68 6f 6f ;...int WSAUnhoo 4c10: 6b 42 6c 6f 63 6b 69 6e 67 48 6f 6f 6b 28 29 3b kBlockingHook(); 4c20: 0d 0a 09 46 41 52 50 52 4f 43 20 57 53 41 53 65 ...FARPROC WSASe 4c30: 74 42 6c 6f 63 6b 69 6e 67 48 6f 6f 6b 28 46 41 tBlockingHook(FA 4c40: 52 50 52 4f 43 29 3b 0d 0a 09 69 6e 74 20 57 53 RPROC);...int WS 4c50: 41 43 61 6e 63 65 6c 42 6c 6f 63 6b 69 6e 67 43 ACancelBlockingC 4c60: 61 6c 6c 28 29 3b 0d 0a 0d 0a 09 61 6c 69 61 73 all();.....alias 4c70: 20 74 79 70 65 6f 66 28 26 57 53 41 49 73 42 6c typeof(&WSAIsBl 4c80: 6f 63 6b 69 6e 67 29 20 4c 50 46 4e 5f 57 53 41 ocking) LPFN_WSA 4c90: 49 53 42 4c 4f 43 4b 49 4e 47 3b 0d 0a 09 61 6c ISBLOCKING;...al 4ca0: 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 55 ias typeof(&WSAU 4cb0: 6e 68 6f 6f 6b 42 6c 6f 63 6b 69 6e 67 48 6f 6f nhookBlockingHoo 4cc0: 6b 29 20 4c 50 46 4e 5f 57 53 41 55 4e 48 4f 4f k) LPFN_WSAUNHOO 4cd0: 4b 42 4c 4f 43 4b 49 4e 47 48 4f 4f 4b 3b 0d 0a KBLOCKINGHOOK;.. 4ce0: 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 .alias typeof(&W 4cf0: 53 41 53 65 74 42 6c 6f 63 6b 69 6e 67 48 6f 6f SASetBlockingHoo 4d00: 6b 29 20 4c 50 46 4e 5f 57 53 41 53 45 54 42 4c k) LPFN_WSASETBL 4d10: 4f 43 4b 49 4e 47 48 4f 4f 4b 3b 0d 0a 09 61 6c OCKINGHOOK;...al 4d20: 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 43 ias typeof(&WSAC 4d30: 61 6e 63 65 6c 42 6c 6f 63 6b 69 6e 67 43 61 6c ancelBlockingCal 4d40: 6c 29 20 4c 50 46 4e 5f 57 53 41 43 41 4e 43 45 l) LPFN_WSACANCE 4d50: 4c 42 4c 4f 43 4b 49 4e 47 43 41 4c 4c 3b 0d 0a LBLOCKINGCALL;.. 4d60: 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 }....extern(Wind 4d70: 6f 77 73 29 20 7b 0d 0a 09 48 41 4e 44 4c 45 20 ows) {...HANDLE 4d80: 57 53 41 41 73 79 6e 63 47 65 74 53 65 72 76 42 WSAAsyncGetServB 4d90: 79 4e 61 6d 65 28 48 57 4e 44 2c 20 75 5f 69 6e yName(HWND, u_in 4da0: 74 2c 20 63 6f 6e 73 74 28 63 68 61 72 29 2a 2c t, const(char)*, 4db0: 20 63 6f 6e 73 74 28 63 68 61 72 29 2a 2c 20 63 const(char)*, c 4dc0: 68 61 72 2a 2c 20 69 6e 74 29 3b 0d 0a 09 48 41 har*, int);...HA 4dd0: 4e 44 4c 45 20 57 53 41 41 73 79 6e 63 47 65 74 NDLE WSAAsyncGet 4de0: 53 65 72 76 42 79 50 6f 72 74 28 48 57 4e 44 2c ServByPort(HWND, 4df0: 20 75 5f 69 6e 74 2c 20 69 6e 74 2c 20 63 6f 6e u_int, int, con 4e00: 73 74 28 63 68 61 72 29 2a 2c 20 63 68 61 72 2a st(char)*, char* 4e10: 2c 20 69 6e 74 29 3b 0d 0a 09 48 41 4e 44 4c 45 , int);...HANDLE 4e20: 20 57 53 41 41 73 79 6e 63 47 65 74 50 72 6f 74 WSAAsyncGetProt 4e30: 6f 42 79 4e 61 6d 65 28 48 57 4e 44 2c 20 75 5f oByName(HWND, u_ 4e40: 69 6e 74 2c 20 63 6f 6e 73 74 28 63 68 61 72 29 int, const(char) 4e50: 2a 2c 20 63 68 61 72 2a 2c 20 69 6e 74 29 3b 0d *, char*, int);. 4e60: 0a 09 48 41 4e 44 4c 45 20 57 53 41 41 73 79 6e ..HANDLE WSAAsyn 4e70: 63 47 65 74 50 72 6f 74 6f 42 79 4e 75 6d 62 65 cGetProtoByNumbe 4e80: 72 28 48 57 4e 44 2c 20 75 5f 69 6e 74 2c 20 69 r(HWND, u_int, i 4e90: 6e 74 2c 20 63 68 61 72 2a 2c 20 69 6e 74 29 3b nt, char*, int); 4ea0: 0d 0a 09 48 41 4e 44 4c 45 20 57 53 41 41 73 79 ...HANDLE WSAAsy 4eb0: 6e 63 47 65 74 48 6f 73 74 42 79 4e 61 6d 65 28 ncGetHostByName( 4ec0: 48 57 4e 44 2c 20 75 5f 69 6e 74 2c 20 63 6f 6e HWND, u_int, con 4ed0: 73 74 28 63 68 61 72 29 2a 2c 20 63 68 61 72 2a st(char)*, char* 4ee0: 2c 20 69 6e 74 29 3b 0d 0a 09 48 41 4e 44 4c 45 , int);...HANDLE 4ef0: 20 57 53 41 41 73 79 6e 63 47 65 74 48 6f 73 74 WSAAsyncGetHost 4f00: 42 79 41 64 64 72 28 48 57 4e 44 2c 20 75 5f 69 ByAddr(HWND, u_i 4f10: 6e 74 2c 20 63 6f 6e 73 74 28 63 68 61 72 29 2a nt, const(char)* 4f20: 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 63 68 61 72 , int, int, char 4f30: 2a 2c 20 69 6e 74 29 3b 0d 0a 09 69 6e 74 20 57 *, int);...int W 4f40: 53 41 43 61 6e 63 65 6c 41 73 79 6e 63 52 65 71 SACancelAsyncReq 4f50: 75 65 73 74 28 48 41 4e 44 4c 45 29 3b 0d 0a 09 uest(HANDLE);... 4f60: 69 6e 74 20 57 53 41 41 73 79 6e 63 53 65 6c 65 int WSAAsyncSele 4f70: 63 74 28 53 4f 43 4b 45 54 2c 20 48 57 4e 44 2c ct(SOCKET, HWND, 4f80: 20 75 5f 69 6e 74 2c 20 6c 6f 6e 67 29 3b 0d 0a u_int, long);.. 4f90: 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 ...alias typeof( 4fa0: 26 57 53 41 41 73 79 6e 63 47 65 74 53 65 72 76 &WSAAsyncGetServ 4fb0: 42 79 4e 61 6d 65 29 20 4c 50 46 4e 5f 57 53 41 ByName) LPFN_WSA 4fc0: 41 73 79 6e 63 47 65 74 53 65 72 76 42 79 4e 61 AsyncGetServByNa 4fd0: 6d 65 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 me;...alias type 4fe0: 6f 66 28 26 57 53 41 41 73 79 6e 63 47 65 74 53 of(&WSAAsyncGetS 4ff0: 65 72 76 42 79 50 6f 72 74 29 20 4c 50 46 4e 5f ervByPort) LPFN_ 5000: 57 53 41 41 53 59 4e 43 47 45 54 53 45 52 56 42 WSAASYNCGETSERVB 5010: 59 50 4f 52 54 3b 0d 0a 09 61 6c 69 61 73 20 74 YPORT;...alias t 5020: 79 70 65 6f 66 28 26 57 53 41 41 73 79 6e 63 47 ypeof(&WSAAsyncG 5030: 65 74 50 72 6f 74 6f 42 79 4e 61 6d 65 29 20 4c etProtoByName) L 5040: 50 46 4e 5f 57 53 41 41 53 59 4e 43 47 45 54 50 PFN_WSAASYNCGETP 5050: 52 4f 54 4f 42 59 4e 41 4d 45 3b 0d 0a 09 61 6c ROTOBYNAME;...al 5060: 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 41 ias typeof(&WSAA 5070: 73 79 6e 63 47 65 74 50 72 6f 74 6f 42 79 4e 75 syncGetProtoByNu 5080: 6d 62 65 72 29 20 4c 50 46 4e 5f 57 53 41 41 53 mber) LPFN_WSAAS 5090: 59 4e 43 47 45 54 50 52 4f 54 4f 42 59 4e 55 4d YNCGETPROTOBYNUM 50a0: 42 45 52 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 BER;...alias typ 50b0: 65 6f 66 28 26 57 53 41 41 73 79 6e 63 47 65 74 eof(&WSAAsyncGet 50c0: 48 6f 73 74 42 79 4e 61 6d 65 29 20 4c 50 46 4e HostByName) LPFN 50d0: 5f 57 53 41 41 53 59 4e 43 47 45 54 48 4f 53 54 _WSAASYNCGETHOST 50e0: 42 59 4e 41 4d 45 3b 0d 0a 09 61 6c 69 61 73 20 BYNAME;...alias 50f0: 74 79 70 65 6f 66 28 26 57 53 41 41 73 79 6e 63 typeof(&WSAAsync 5100: 47 65 74 48 6f 73 74 42 79 41 64 64 72 29 20 4c GetHostByAddr) L 5110: 50 46 4e 5f 57 53 41 41 53 59 4e 43 47 45 54 48 PFN_WSAASYNCGETH 5120: 4f 53 54 42 59 41 44 44 52 3b 0d 0a 09 61 6c 69 OSTBYADDR;...ali 5130: 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 43 61 as typeof(&WSACa 5140: 6e 63 65 6c 41 73 79 6e 63 52 65 71 75 65 73 74 ncelAsyncRequest 5150: 29 20 4c 50 46 4e 5f 57 53 41 43 41 4e 43 45 4c ) LPFN_WSACANCEL 5160: 41 53 59 4e 43 52 45 51 55 45 53 54 3b 0d 0a 09 ASYNCREQUEST;... 5170: 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 alias typeof(&WS 5180: 41 41 73 79 6e 63 53 65 6c 65 63 74 29 20 4c 50 AAsyncSelect) LP 5190: 46 4e 5f 57 53 41 41 53 59 4e 43 53 45 4c 45 43 FN_WSAASYNCSELEC 51a0: 54 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 T;..}....extern( 51b0: 57 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 75 5f 6c Windows) {...u_l 51c0: 6f 6e 67 20 68 74 6f 6e 6c 28 75 5f 6c 6f 6e 67 ong htonl(u_long 51d0: 29 3b 0d 0a 09 75 5f 6c 6f 6e 67 20 6e 74 6f 68 );...u_long ntoh 51e0: 6c 28 75 5f 6c 6f 6e 67 29 3b 0d 0a 09 75 5f 73 l(u_long);...u_s 51f0: 68 6f 72 74 20 68 74 6f 6e 73 28 75 5f 73 68 6f hort htons(u_sho 5200: 72 74 29 3b 0d 0a 09 75 5f 73 68 6f 72 74 20 6e rt);...u_short n 5210: 74 6f 68 73 28 75 5f 73 68 6f 72 74 29 3b 0d 0a tohs(u_short);.. 5220: 09 69 6e 74 20 73 65 6c 65 63 74 28 69 6e 74 20 .int select(int 5230: 6e 66 64 73 2c 20 66 64 5f 73 65 74 2a 2c 20 66 nfds, fd_set*, f 5240: 64 5f 73 65 74 2a 2c 20 66 64 5f 73 65 74 2a 2c d_set*, fd_set*, 5250: 20 63 6f 6e 73 74 28 54 49 4d 45 56 41 4c 29 2a const(TIMEVAL)* 5260: 29 3b 0d 0a 0d 0a 09 61 6c 69 61 73 20 74 79 70 );.....alias typ 5270: 65 6f 66 28 26 68 74 6f 6e 6c 29 20 4c 50 46 4e eof(&htonl) LPFN 5280: 5f 48 54 4f 4e 4c 3b 0d 0a 09 61 6c 69 61 73 20 _HTONL;...alias 5290: 74 79 70 65 6f 66 28 26 6e 74 6f 68 6c 29 20 4c typeof(&ntohl) L 52a0: 50 46 4e 5f 4e 54 4f 48 4c 3b 0d 0a 09 61 6c 69 PFN_NTOHL;...ali 52b0: 61 73 20 74 79 70 65 6f 66 28 26 68 74 6f 6e 73 as typeof(&htons 52c0: 29 20 4c 50 46 4e 5f 48 54 4f 4e 53 3b 0d 0a 09 ) LPFN_HTONS;... 52d0: 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 6e 74 alias typeof(&nt 52e0: 6f 68 73 29 20 4c 50 46 4e 5f 4e 54 4f 48 53 3b ohs) LPFN_NTOHS; 52f0: 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 ...alias typeof( 5300: 26 73 65 6c 65 63 74 29 20 4c 50 46 4e 5f 53 45 &select) LPFN_SE 5310: 4c 45 43 54 3b 0d 0a 0d 0a 09 69 6e 74 20 67 65 LECT;.....int ge 5320: 74 68 6f 73 74 6e 61 6d 65 28 63 68 61 72 2a 2c thostname(char*, 5330: 20 69 6e 74 29 3b 0d 0a 09 61 6c 69 61 73 20 74 int);...alias t 5340: 79 70 65 6f 66 28 26 67 65 74 68 6f 73 74 6e 61 ypeof(&gethostna 5350: 6d 65 29 20 4c 50 46 4e 5f 47 45 54 48 4f 53 54 me) LPFN_GETHOST 5360: 4e 41 4d 45 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 NAME;..}....alia 5370: 73 20 4d 41 4b 45 4c 4f 4e 47 20 57 53 41 4d 41 s MAKELONG WSAMA 5380: 4b 45 41 53 59 4e 43 52 45 50 4c 59 2c 20 57 53 KEASYNCREPLY, WS 5390: 41 4d 41 4b 45 53 45 4c 45 43 54 52 45 50 4c 59 AMAKESELECTREPLY 53a0: 3b 0d 0a 61 6c 69 61 73 20 4c 4f 57 4f 52 44 20 ;..alias LOWORD 53b0: 57 53 41 47 45 54 41 53 59 4e 43 42 55 46 4c 45 WSAGETASYNCBUFLE 53c0: 4e 2c 20 57 53 41 47 45 54 53 45 4c 45 43 54 45 N, WSAGETSELECTE 53d0: 56 45 4e 54 3b 0d 0a 61 6c 69 61 73 20 48 49 57 VENT;..alias HIW 53e0: 4f 52 44 20 57 53 41 47 45 54 41 53 59 4e 43 45 ORD WSAGETASYNCE 53f0: 52 52 4f 52 2c 20 57 53 41 47 45 54 53 45 4c 45 RROR, WSAGETSELE 5400: 43 54 45 52 52 4f 52 3b 0d 0a 0d 0a 0d 0a 61 6c CTERROR;......al 5410: 69 61 73 20 49 4e 41 44 44 52 5f 41 4e 59 20 41 ias INADDR_ANY A 5420: 44 44 52 5f 41 4e 59 3b 0d 0a 0d 0a 62 6f 6f 6c DDR_ANY;....bool 5430: 20 49 4e 5f 43 4c 41 53 53 44 28 69 6e 74 20 69 IN_CLASSD(int i 5440: 29 20 7b 20 72 65 74 75 72 6e 20 28 69 20 26 20 ) { return (i & 5450: 30 78 66 30 30 30 30 30 30 30 29 20 3d 3d 20 30 0xf0000000) == 0 5460: 78 65 30 30 30 30 30 30 30 3b 20 7d 0d 0a 0d 0a xe0000000; }.... 5470: 63 6f 6e 73 74 20 49 4e 5f 43 4c 41 53 53 44 5f const IN_CLASSD_ 5480: 4e 45 54 20 20 20 20 3d 20 30 78 66 30 30 30 30 NET = 0xf0000 5490: 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 49 4e 5f 43 000;..const IN_C 54a0: 4c 41 53 53 44 5f 4e 53 48 49 46 54 20 3d 20 20 LASSD_NSHIFT = 54b0: 20 20 20 20 20 20 20 32 38 3b 0d 0a 63 6f 6e 73 28;..cons 54c0: 74 20 49 4e 5f 43 4c 41 53 53 44 5f 48 4f 53 54 t IN_CLASSD_HOST 54d0: 20 20 20 3d 20 30 78 30 66 66 66 66 66 66 66 3b = 0x0fffffff; 54e0: 0d 0a 0d 0a 61 6c 69 61 73 20 49 4e 5f 43 4c 41 ....alias IN_CLA 54f0: 53 53 44 20 49 4e 5f 4d 55 4c 54 49 43 41 53 54 SSD IN_MULTICAST 5500: 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 46 52 4f 4d 5f ;....const FROM_ 5510: 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 20 3d 20 PROTOCOL_INFO = 5520: 2d 31 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 69 6e -1;....enum : in 5530: 74 20 7b 0d 0a 09 53 4f 5f 47 52 4f 55 50 5f 49 t {...SO_GROUP_I 5540: 44 20 3d 20 30 78 32 30 30 31 2c 0d 0a 09 53 4f D = 0x2001,...SO 5550: 5f 47 52 4f 55 50 5f 50 52 49 4f 52 49 54 59 2c _GROUP_PRIORITY, 5560: 0d 0a 09 53 4f 5f 4d 41 58 5f 4d 53 47 5f 53 49 ...SO_MAX_MSG_SI 5570: 5a 45 2c 0d 0a 09 53 4f 5f 50 52 4f 54 4f 43 4f ZE,...SO_PROTOCO 5580: 4c 5f 49 4e 46 4f 41 2c 0d 0a 09 53 4f 5f 50 52 L_INFOA,...SO_PR 5590: 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 57 0d 0a 7d 0d OTOCOL_INFOW..}. 55a0: 0a 2f 2f 20 4e 4f 54 45 3a 20 54 68 65 73 65 20 .// NOTE: These 55b0: 61 72 65 20 6c 6f 67 69 63 61 6c 6c 79 20 70 61 are logically pa 55c0: 72 74 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f rt of the previo 55d0: 75 73 20 65 6e 75 6d 2c 20 62 75 74 20 79 6f 75 us enum, but you 55e0: 20 63 61 6e 27 74 0d 0a 2f 2f 20 68 61 76 65 20 can't..// have 55f0: 76 65 72 73 69 6f 6e 20 73 74 61 74 65 6d 65 6e version statemen 5600: 74 73 20 69 6e 20 61 6e 20 65 6e 75 6d 20 62 6f ts in an enum bo 5610: 64 79 2e 2e 2e 0d 0a 76 65 72 73 69 6f 6e 28 55 dy.....version(U 5620: 6e 69 63 6f 64 65 29 0d 0a 09 63 6f 6e 73 74 20 nicode)...const 5630: 69 6e 74 20 53 4f 5f 50 52 4f 54 4f 43 4f 4c 5f int SO_PROTOCOL_ 5640: 49 4e 46 4f 20 3d 20 53 4f 5f 50 52 4f 54 4f 43 INFO = SO_PROTOC 5650: 4f 4c 5f 49 4e 46 4f 57 3b 0d 0a 65 6c 73 65 0d OL_INFOW;..else. 5660: 0a 09 63 6f 6e 73 74 20 69 6e 74 20 53 4f 5f 50 ..const int SO_P 5670: 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 20 3d 20 53 ROTOCOL_INFO = S 5680: 4f 5f 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 41 O_PROTOCOL_INFOA 5690: 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 50 56 44 5f 43 ;....const PVD_C 56a0: 4f 4e 46 49 47 20 3d 20 30 78 33 30 30 31 3b 0d ONFIG = 0x3001;. 56b0: 0a 0d 0a 63 6f 6e 73 74 20 4d 53 47 5f 49 4e 54 ...const MSG_INT 56c0: 45 52 52 55 50 54 20 3d 20 30 78 31 30 3b 0d 0a ERRUPT = 0x10;.. 56d0: 2f 2f 63 6f 6e 73 74 20 4d 53 47 5f 4d 41 58 49 //const MSG_MAXI 56e0: 4f 56 4c 45 4e 20 3d 20 31 36 3b 20 2f 2f 20 41 OVLEN = 16; // A 56f0: 6c 72 65 61 64 79 20 64 65 63 6c 61 72 65 64 20 lready declared 5700: 61 62 6f 76 65 0d 0a 0d 0a 6d 69 78 69 6e 20 44 above....mixin D 5710: 45 43 4c 41 52 45 5f 48 41 4e 44 4c 45 21 28 22 ECLARE_HANDLE!(" 5720: 57 53 41 45 56 45 4e 54 22 29 3b 0d 0a 61 6c 69 WSAEVENT");..ali 5730: 61 73 20 57 53 41 45 56 45 4e 54 2a 20 4c 50 57 as WSAEVENT* LPW 5740: 53 41 45 56 45 4e 54 3b 0d 0a 61 6c 69 61 73 20 SAEVENT;..alias 5750: 4f 56 45 52 4c 41 50 50 45 44 20 57 53 41 4f 56 OVERLAPPED WSAOV 5760: 45 52 4c 41 50 50 45 44 3b 0d 0a 61 6c 69 61 73 ERLAPPED;..alias 5770: 20 4f 56 45 52 4c 41 50 50 45 44 2a 20 4c 50 57 OVERLAPPED* LPW 5780: 53 41 4f 56 45 52 4c 41 50 50 45 44 3b 0d 0a 0d SAOVERLAPPED;... 5790: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 .private import 57a0: 77 69 6e 33 32 2e 77 69 6e 65 72 72 6f 72 3b 0d win32.winerror;. 57b0: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 .private import 57c0: 77 69 6e 33 32 2e 77 69 6e 62 61 73 65 3b 0d 0a win32.winbase;.. 57d0: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 57 53 41 5f 49 ..enum {...WSA_I 57e0: 4f 5f 50 45 4e 44 49 4e 47 20 20 20 20 20 20 20 O_PENDING 57f0: 20 3d 20 45 52 52 4f 52 5f 49 4f 5f 50 45 4e 44 = ERROR_IO_PEND 5800: 49 4e 47 2c 0d 0a 09 57 53 41 5f 49 4f 5f 49 4e ING,...WSA_IO_IN 5810: 43 4f 4d 50 4c 45 54 45 20 20 20 20 20 3d 20 45 COMPLETE = E 5820: 52 52 4f 52 5f 49 4f 5f 49 4e 43 4f 4d 50 4c 45 RROR_IO_INCOMPLE 5830: 54 45 2c 0d 0a 09 57 53 41 5f 49 4e 56 41 4c 49 TE,...WSA_INVALI 5840: 44 5f 48 41 4e 44 4c 45 20 20 20 20 3d 20 45 52 D_HANDLE = ER 5850: 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 48 41 4e 44 ROR_INVALID_HAND 5860: 4c 45 2c 0d 0a 09 57 53 41 5f 49 4e 56 41 4c 49 LE,...WSA_INVALI 5870: 44 5f 50 41 52 41 4d 45 54 45 52 20 3d 20 45 52 D_PARAMETER = ER 5880: 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 50 41 52 41 ROR_INVALID_PARA 5890: 4d 45 54 45 52 2c 0d 0a 09 57 53 41 5f 4e 4f 54 METER,...WSA_NOT 58a0: 5f 45 4e 4f 55 47 48 5f 4d 45 4d 4f 52 59 20 3d _ENOUGH_MEMORY = 58b0: 20 45 52 52 4f 52 5f 4e 4f 54 5f 45 4e 4f 55 47 ERROR_NOT_ENOUG 58c0: 48 5f 4d 45 4d 4f 52 59 2c 0d 0a 09 57 53 41 5f H_MEMORY,...WSA_ 58d0: 4f 50 45 52 41 54 49 4f 4e 5f 41 42 4f 52 54 45 OPERATION_ABORTE 58e0: 44 20 3d 20 45 52 52 4f 52 5f 4f 50 45 52 41 54 D = ERROR_OPERAT 58f0: 49 4f 4e 5f 41 42 4f 52 54 45 44 0d 0a 7d 0d 0a ION_ABORTED..}.. 5900: 0d 0a 63 6f 6e 73 74 20 57 53 41 5f 49 4e 56 41 ..const WSA_INVA 5910: 4c 49 44 5f 45 56 45 4e 54 20 3d 20 63 61 73 74 LID_EVENT = cast 5920: 28 57 53 41 45 56 45 4e 54 29 48 41 4e 44 4c 45 (WSAEVENT)HANDLE 5930: 2e 69 6e 69 74 3b 0d 0a 63 6f 6e 73 74 20 57 53 .init;..const WS 5940: 41 5f 4d 41 58 49 4d 55 4d 5f 57 41 49 54 5f 45 A_MAXIMUM_WAIT_E 5950: 56 45 4e 54 53 20 3d 20 4d 41 58 49 4d 55 4d 5f VENTS = MAXIMUM_ 5960: 57 41 49 54 5f 4f 42 4a 45 43 54 53 3b 0d 0a 63 WAIT_OBJECTS;..c 5970: 6f 6e 73 74 20 57 53 41 5f 57 41 49 54 5f 46 41 onst WSA_WAIT_FA 5980: 49 4c 45 44 20 3d 20 63 61 73 74 28 44 57 4f 52 ILED = cast(DWOR 5990: 44 29 2d 31 3b 0d 0a 63 6f 6e 73 74 20 57 53 41 D)-1;..const WSA 59a0: 5f 57 41 49 54 5f 45 56 45 4e 54 5f 30 20 3d 20 _WAIT_EVENT_0 = 59b0: 57 41 49 54 5f 4f 42 4a 45 43 54 5f 30 3b 0d 0a WAIT_OBJECT_0;.. 59c0: 63 6f 6e 73 74 20 57 53 41 5f 57 41 49 54 5f 49 const WSA_WAIT_I 59d0: 4f 5f 43 4f 4d 50 4c 45 54 49 4f 4e 20 3d 20 57 O_COMPLETION = W 59e0: 41 49 54 5f 49 4f 5f 43 4f 4d 50 4c 45 54 49 4f AIT_IO_COMPLETIO 59f0: 4e 3b 0d 0a 63 6f 6e 73 74 20 57 53 41 5f 57 41 N;..const WSA_WA 5a00: 49 54 5f 54 49 4d 45 4f 55 54 20 3d 20 57 41 49 IT_TIMEOUT = WAI 5a10: 54 5f 54 49 4d 45 4f 55 54 3b 0d 0a 63 6f 6e 73 T_TIMEOUT;..cons 5a20: 74 20 57 53 41 5f 49 4e 46 49 4e 49 54 45 20 3d t WSA_INFINITE = 5a30: 20 49 4e 46 49 4e 49 54 45 3b 0d 0a 0d 0a 73 74 INFINITE;....st 5a40: 72 75 63 74 20 57 53 41 42 55 46 20 7b 0d 0a 09 ruct WSABUF {... 5a50: 75 69 6e 74 20 20 6c 65 6e 3b 0d 0a 09 63 68 61 uint len;...cha 5a60: 72 2a 20 62 75 66 3b 0d 0a 7d 0d 0a 0d 0a 61 6c r* buf;..}....al 5a70: 69 61 73 20 57 53 41 42 55 46 2a 20 4c 50 57 53 ias WSABUF* LPWS 5a80: 41 42 55 46 3b 0d 0a 0d 0a 65 6e 75 6d 20 47 55 ABUF;....enum GU 5a90: 41 52 41 4e 54 45 45 20 7b 0d 0a 09 42 65 73 74 ARANTEE {...Best 5aa0: 45 66 66 6f 72 74 53 65 72 76 69 63 65 2c 0d 0a EffortService,.. 5ab0: 09 43 6f 6e 74 72 6f 6c 6c 65 64 4c 6f 61 64 53 .ControlledLoadS 5ac0: 65 72 76 69 63 65 2c 0d 0a 09 50 72 65 64 69 63 ervice,...Predic 5ad0: 74 69 76 65 53 65 72 76 69 63 65 2c 0d 0a 09 47 tiveService,...G 5ae0: 75 61 72 61 6e 74 65 65 64 44 65 6c 61 79 53 65 uaranteedDelaySe 5af0: 72 76 69 63 65 2c 0d 0a 09 47 75 61 72 61 6e 74 rvice,...Guarant 5b00: 65 65 64 53 65 72 76 69 63 65 0d 0a 7d 0d 0a 0d eedService..}... 5b10: 0a 2f 2a 20 54 4f 44 4f 3a 20 46 4c 4f 57 53 50 ./* TODO: FLOWSP 5b20: 45 43 20 61 6e 64 20 72 65 6c 61 74 65 64 20 64 EC and related d 5b30: 65 66 69 6e 69 74 69 6f 6e 73 20 62 65 6c 6f 6e efinitions belon 5b40: 67 20 69 6e 20 71 6f 73 2e 68 20 2a 2f 0d 0a 0d g in qos.h */... 5b50: 0a 2f 2a 0d 0a 20 20 20 57 69 6e 64 6f 77 73 20 ./*.. Windows 5b60: 53 6f 63 6b 65 74 73 20 32 20 41 70 70 6c 69 63 Sockets 2 Applic 5b70: 61 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e ation Programmin 5b80: 67 20 49 6e 74 65 72 66 61 63 65 2c 0d 0a 20 20 g Interface,.. 5b90: 20 72 65 76 69 73 69 6f 6e 20 32 2e 32 2e 32 20 revision 2.2.2 5ba0: 28 31 39 39 37 29 20 75 73 65 73 20 74 68 65 20 (1997) uses the 5bb0: 74 79 70 65 20 75 69 6e 74 33 32 20 66 6f 72 20 type uint32 for 5bc0: 53 45 52 56 49 43 45 54 59 50 45 0d 0a 20 20 20 SERVICETYPE.. 5bd0: 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 and the elements 5be0: 20 6f 66 20 5f 66 6c 6f 77 73 70 65 63 2c 20 62 of _flowspec, b 5bf0: 75 74 20 74 68 65 20 74 79 70 65 20 75 69 6e 74 ut the type uint 5c00: 33 32 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 32 is not define 5c10: 64 0d 0a 20 20 20 6f 72 20 75 73 65 64 20 61 6e d.. or used an 5c20: 79 77 68 65 72 65 20 65 6c 73 65 20 69 6e 20 74 ywhere else in t 5c30: 68 65 20 77 33 32 61 70 69 2e 20 46 6f 72 20 6e he w32api. For n 5c40: 6f 77 2c 20 6a 75 73 74 20 75 73 65 0d 0a 20 20 ow, just use.. 5c50: 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 2c 20 77 unsigned int, w 5c60: 68 69 63 68 20 69 73 20 33 32 20 62 69 74 73 20 hich is 32 bits 5c70: 6f 6e 20 5f 57 49 4e 33 32 20 61 6e 64 20 5f 57 on _WIN32 and _W 5c80: 49 4e 36 34 2e 0d 0a 2a 2f 0d 0a 0d 0a 61 6c 69 IN64...*/....ali 5c90: 61 73 20 75 69 6e 74 20 53 45 52 56 49 43 45 54 as uint SERVICET 5ca0: 59 50 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 46 YPE;....struct F 5cb0: 4c 4f 57 53 50 45 43 20 7b 0d 0a 09 75 69 6e 74 LOWSPEC {...uint 5cc0: 20 20 20 20 20 20 20 20 54 6f 6b 65 6e 52 61 74 TokenRat 5cd0: 65 3b 0d 0a 09 75 69 6e 74 20 20 20 20 20 20 20 e;...uint 5ce0: 20 54 6f 6b 65 6e 42 75 63 6b 65 74 53 69 7a 65 TokenBucketSize 5cf0: 3b 0d 0a 09 75 69 6e 74 20 20 20 20 20 20 20 20 ;...uint 5d00: 50 65 61 6b 42 61 6e 64 77 69 64 74 68 3b 0d 0a PeakBandwidth;.. 5d10: 09 75 69 6e 74 20 20 20 20 20 20 20 20 4c 61 74 .uint Lat 5d20: 65 6e 63 79 3b 0d 0a 09 75 69 6e 74 20 20 20 20 ency;...uint 5d30: 20 20 20 20 44 65 6c 61 79 56 61 72 69 61 74 69 DelayVariati 5d40: 6f 6e 3b 0d 0a 09 53 45 52 56 49 43 45 54 59 50 on;...SERVICETYP 5d50: 45 20 53 65 72 76 69 63 65 54 79 70 65 3b 0d 0a E ServiceType;.. 5d60: 09 75 69 6e 74 20 20 20 20 20 20 20 20 4d 61 78 .uint Max 5d70: 53 64 75 53 69 7a 65 3b 0d 0a 09 75 69 6e 74 20 SduSize;...uint 5d80: 20 20 20 20 20 20 20 4d 69 6e 69 6d 75 6d 50 6f MinimumPo 5d90: 6c 69 63 65 64 53 69 7a 65 3b 0d 0a 7d 0d 0a 0d licedSize;..}... 5da0: 0a 61 6c 69 61 73 20 46 4c 4f 57 53 50 45 43 2a .alias FLOWSPEC* 5db0: 20 50 46 4c 4f 57 53 50 45 43 2c 20 4c 50 46 4c PFLOWSPEC, LPFL 5dc0: 4f 57 53 50 45 43 3b 0d 0a 0d 0a 73 74 72 75 63 OWSPEC;....struc 5dd0: 74 20 51 4f 53 0d 0a 7b 0d 0a 09 46 4c 4f 57 53 t QOS..{...FLOWS 5de0: 50 45 43 20 53 65 6e 64 69 6e 67 46 6c 6f 77 73 PEC SendingFlows 5df0: 70 65 63 3b 0d 0a 09 46 4c 4f 57 53 50 45 43 20 pec;...FLOWSPEC 5e00: 52 65 63 65 69 76 69 6e 67 46 6c 6f 77 73 70 65 ReceivingFlowspe 5e10: 63 3b 0d 0a 09 57 53 41 42 55 46 20 20 20 50 72 c;...WSABUF Pr 5e20: 6f 76 69 64 65 72 53 70 65 63 69 66 69 63 3b 0d oviderSpecific;. 5e30: 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 51 4f 53 2a .}....alias QOS* 5e40: 20 4c 50 51 4f 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 LPQOS;....enum 5e50: 7b 0d 0a 09 43 46 5f 41 43 43 45 50 54 2c 0d 0a {...CF_ACCEPT,.. 5e60: 09 43 46 5f 52 45 4a 45 43 54 2c 0d 0a 09 43 46 .CF_REJECT,...CF 5e70: 5f 44 45 46 45 52 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 _DEFER..}....// 5e80: 52 45 4d 3a 20 41 6c 72 65 61 64 79 20 64 65 66 REM: Already def 5e90: 69 6e 65 64 20 61 62 6f 76 65 0d 0a 2f 2a 65 6e ined above../*en 5ea0: 75 6d 20 7b 0d 0a 09 53 44 5f 52 45 43 45 49 56 um {...SD_RECEIV 5eb0: 45 2c 0d 0a 09 53 44 5f 53 45 4e 44 2c 0d 0a 09 E,...SD_SEND,... 5ec0: 53 44 5f 42 4f 54 48 0d 0a 7d 2a 2f 0d 0a 0d 0a SD_BOTH..}*/.... 5ed0: 61 6c 69 61 73 20 75 69 6e 74 20 47 52 4f 55 50 alias uint GROUP 5ee0: 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 53 47 ;....enum {...SG 5ef0: 5f 55 4e 43 4f 4e 53 54 52 41 49 4e 45 44 5f 47 _UNCONSTRAINED_G 5f00: 52 4f 55 50 20 3d 20 30 78 30 31 2c 0d 0a 09 53 ROUP = 0x01,...S 5f10: 47 5f 43 4f 4e 53 54 52 41 49 4e 45 44 5f 47 52 G_CONSTRAINED_GR 5f20: 4f 55 50 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 OUP..}....struct 5f30: 20 57 53 41 4e 45 54 57 4f 52 4b 45 56 45 4e 54 WSANETWORKEVENT 5f40: 53 20 7b 0d 0a 09 69 6e 74 20 6c 4e 65 74 77 6f S {...int lNetwo 5f50: 72 6b 45 76 65 6e 74 73 3b 0d 0a 09 69 6e 74 5b rkEvents;...int[ 5f60: 46 44 5f 4d 41 58 5f 45 56 45 4e 54 53 5d 20 69 FD_MAX_EVENTS] i 5f70: 45 72 72 6f 72 43 6f 64 65 3b 0d 0a 7d 0d 0a 0d ErrorCode;..}... 5f80: 0a 61 6c 69 61 73 20 57 53 41 4e 45 54 57 4f 52 .alias WSANETWOR 5f90: 4b 45 56 45 4e 54 53 2a 20 4c 50 57 53 41 4e 45 KEVENTS* LPWSANE 5fa0: 54 57 4f 52 4b 45 56 45 4e 54 53 3b 0d 0a 0d 0a TWORKEVENTS;.... 5fb0: 63 6f 6e 73 74 20 4d 41 58 5f 50 52 4f 54 4f 43 const MAX_PROTOC 5fc0: 4f 4c 5f 43 48 41 49 4e 20 3d 20 37 3b 0d 0a 0d OL_CHAIN = 7;... 5fd0: 0a 63 6f 6e 73 74 20 42 41 53 45 5f 50 52 4f 54 .const BASE_PROT 5fe0: 4f 43 4f 4c 20 20 20 20 3d 20 31 3b 0d 0a 63 6f OCOL = 1;..co 5ff0: 6e 73 74 20 4c 41 59 45 52 45 44 5f 50 52 4f 54 nst LAYERED_PROT 6000: 4f 43 4f 4c 20 3d 20 30 3b 0d 0a 0d 0a 65 6e 75 OCOL = 0;....enu 6010: 6d 20 57 53 41 45 53 45 54 53 45 52 56 49 43 45 m WSAESETSERVICE 6020: 4f 50 0d 0a 7b 0d 0a 09 52 4e 52 53 45 52 56 49 OP..{...RNRSERVI 6030: 43 45 5f 52 45 47 49 53 54 45 52 20 3d 20 30 2c CE_REGISTER = 0, 6040: 0d 0a 09 52 4e 52 53 45 52 56 49 43 45 5f 44 45 ...RNRSERVICE_DE 6050: 52 45 47 49 53 54 45 52 2c 0d 0a 09 52 4e 52 53 REGISTER,...RNRS 6060: 45 52 56 49 43 45 5f 44 45 4c 45 54 45 0d 0a 7d ERVICE_DELETE..} 6070: 0d 0a 0d 0a 61 6c 69 61 73 20 57 53 41 45 53 45 ....alias WSAESE 6080: 54 53 45 52 56 49 43 45 4f 50 2a 20 50 57 53 41 TSERVICEOP* PWSA 6090: 45 53 45 54 53 45 52 56 49 43 45 4f 50 2c 20 4c ESETSERVICEOP, L 60a0: 50 57 53 41 45 53 45 54 53 45 52 56 49 43 45 4f PWSAESETSERVICEO 60b0: 50 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 41 46 50 P;....struct AFP 60c0: 52 4f 54 4f 43 4f 4c 53 20 7b 0d 0a 09 49 4e 54 ROTOCOLS {...INT 60d0: 20 69 41 64 64 72 65 73 73 46 61 6d 69 6c 79 3b iAddressFamily; 60e0: 0d 0a 09 49 4e 54 20 69 50 72 6f 74 6f 63 6f 6c ...INT iProtocol 60f0: 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 41 46 ;..}....alias AF 6100: 50 52 4f 54 4f 43 4f 4c 53 2a 20 50 41 46 50 52 PROTOCOLS* PAFPR 6110: 4f 54 4f 43 4f 4c 53 2c 20 4c 50 41 46 50 52 4f OTOCOLS, LPAFPRO 6120: 54 4f 43 4f 4c 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 TOCOLS;....enum 6130: 57 53 41 45 43 4f 4d 50 41 52 41 54 4f 52 0d 0a WSAECOMPARATOR.. 6140: 7b 0d 0a 09 43 4f 4d 50 5f 45 51 55 41 4c 20 3d {...COMP_EQUAL = 6150: 20 30 2c 0d 0a 09 43 4f 4d 50 5f 4e 4f 54 4c 45 0,...COMP_NOTLE 6160: 53 53 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 57 SS..}....alias W 6170: 53 41 45 43 4f 4d 50 41 52 41 54 4f 52 2a 20 50 SAECOMPARATOR* P 6180: 57 53 41 45 43 4f 4d 50 41 52 41 54 4f 52 2c 20 WSAECOMPARATOR, 6190: 4c 50 57 53 41 45 43 4f 4d 50 41 52 41 54 4f 52 LPWSAECOMPARATOR 61a0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 57 53 41 56 ;....struct WSAV 61b0: 45 52 53 49 4f 4e 0d 0a 7b 0d 0a 09 44 57 4f 52 ERSION..{...DWOR 61c0: 44 20 20 20 20 20 20 20 20 20 20 64 77 56 65 72 D dwVer 61d0: 73 69 6f 6e 3b 0d 0a 09 57 53 41 45 43 4f 4d 50 sion;...WSAECOMP 61e0: 41 52 41 54 4f 52 20 65 63 48 6f 77 3b 0d 0a 7d ARATOR ecHow;..} 61f0: 0d 0a 0d 0a 61 6c 69 61 73 20 57 53 41 56 45 52 ....alias WSAVER 6200: 53 49 4f 4e 2a 20 50 57 53 41 56 45 52 53 49 4f SION* PWSAVERSIO 6210: 4e 2c 20 4c 50 57 53 41 56 45 52 53 49 4f 4e 3b N, LPWSAVERSION; 6220: 0d 0a 0d 0a 2f 2f 20 49 6d 70 6f 72 74 20 66 6f ....// Import fo 6230: 72 20 53 4f 43 4b 45 54 5f 41 44 44 52 45 53 53 r SOCKET_ADDRESS 6240: 2c 20 43 53 41 44 44 52 5f 49 4e 46 4f 0d 0a 2f , CSADDR_INFO../ 6250: 2f 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 6e / import win32.n 6260: 73 70 61 70 69 3b 0d 0a 2f 2f 23 69 66 6e 64 65 spapi;..//#ifnde 6270: 66 20 5f 5f 43 53 41 44 44 52 5f 54 5f 44 45 46 f __CSADDR_T_DEF 6280: 49 4e 45 44 20 2f 2a 20 61 6c 73 6f 20 69 6e 20 INED /* also in 6290: 6e 73 70 61 70 69 2e 68 20 2a 2f 0d 0a 2f 2f 23 nspapi.h */..//# 62a0: 64 65 66 69 6e 65 20 5f 5f 43 53 41 44 44 52 5f define __CSADDR_ 62b0: 54 5f 44 45 46 49 4e 45 44 0d 0a 0d 0a 73 74 72 T_DEFINED....str 62c0: 75 63 74 20 53 4f 43 4b 45 54 5f 41 44 44 52 45 uct SOCKET_ADDRE 62d0: 53 53 20 7b 0d 0a 09 4c 50 53 4f 43 4b 41 44 44 SS {...LPSOCKADD 62e0: 52 20 6c 70 53 6f 63 6b 61 64 64 72 3b 0d 0a 09 R lpSockaddr;... 62f0: 49 4e 54 20 20 20 20 20 20 20 20 69 53 6f 63 6b INT iSock 6300: 61 64 64 72 4c 65 6e 67 74 68 3b 0d 0a 7d 0d 0a addrLength;..}.. 6310: 0d 0a 61 6c 69 61 73 20 53 4f 43 4b 45 54 5f 41 ..alias SOCKET_A 6320: 44 44 52 45 53 53 2a 20 50 53 4f 43 4b 45 54 5f DDRESS* PSOCKET_ 6330: 41 44 44 52 45 53 53 2c 20 4c 50 53 4f 43 4b 45 ADDRESS, LPSOCKE 6340: 54 5f 41 44 44 52 45 53 53 3b 0d 0a 0d 0a 73 74 T_ADDRESS;....st 6350: 72 75 63 74 20 43 53 41 44 44 52 5f 49 4e 46 4f ruct CSADDR_INFO 6360: 20 7b 0d 0a 09 53 4f 43 4b 45 54 5f 41 44 44 52 {...SOCKET_ADDR 6370: 45 53 53 20 4c 6f 63 61 6c 41 64 64 72 3b 0d 0a ESS LocalAddr;.. 6380: 09 53 4f 43 4b 45 54 5f 41 44 44 52 45 53 53 20 .SOCKET_ADDRESS 6390: 52 65 6d 6f 74 65 41 64 64 72 3b 0d 0a 09 49 4e RemoteAddr;...IN 63a0: 54 20 20 20 20 20 20 20 20 20 20 20 20 69 53 6f T iSo 63b0: 63 6b 65 74 54 79 70 65 3b 0d 0a 09 49 4e 54 20 cketType;...INT 63c0: 20 20 20 20 20 20 20 20 20 20 20 69 50 72 6f 74 iProt 63d0: 6f 63 6f 6c 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 ocol;..}....alia 63e0: 73 20 43 53 41 44 44 52 5f 49 4e 46 4f 2a 20 50 s CSADDR_INFO* P 63f0: 43 53 41 44 44 52 5f 49 4e 46 4f 2c 20 4c 50 43 CSADDR_INFO, LPC 6400: 53 41 44 44 52 5f 49 4e 46 4f 3b 0d 0a 0d 0a 2f SADDR_INFO;..../ 6410: 2f 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 /#endif....struc 6420: 74 20 53 4f 43 4b 45 54 5f 41 44 44 52 45 53 53 t SOCKET_ADDRESS 6430: 5f 4c 49 53 54 20 7b 0d 0a 20 20 20 20 49 4e 54 _LIST {.. INT 6440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 i 6450: 41 64 64 72 65 73 73 43 6f 75 6e 74 3b 0d 0a 20 AddressCount;.. 6460: 20 20 20 53 4f 43 4b 45 54 5f 41 44 44 52 45 53 SOCKET_ADDRES 6470: 53 5b 31 5d 20 5f 41 64 64 72 65 73 73 3b 0d 0a S[1] _Address;.. 6480: 20 20 20 20 53 4f 43 4b 45 54 5f 41 44 44 52 45 SOCKET_ADDRE 6490: 53 53 2a 20 41 64 64 72 65 73 73 28 29 20 7b 20 SS* Address() { 64a0: 72 65 74 75 72 6e 20 5f 41 64 64 72 65 73 73 2e return _Address. 64b0: 70 74 72 3b 20 7d 0d 0a 7d 0d 0a 0d 0a 61 6c 69 ptr; }..}....ali 64c0: 61 73 20 53 4f 43 4b 45 54 5f 41 44 44 52 45 53 as SOCKET_ADDRES 64d0: 53 5f 4c 49 53 54 2a 20 4c 50 53 4f 43 4b 45 54 S_LIST* LPSOCKET 64e0: 5f 41 44 44 52 45 53 53 5f 4c 49 53 54 3b 0d 0a _ADDRESS_LIST;.. 64f0: 0d 0a 2f 2f 20 54 4f 44 4f 3a 20 49 6d 70 6f 72 ..// TODO: Impor 6500: 74 20 77 74 79 70 65 73 2f 6e 73 70 61 70 69 3f t wtypes/nspapi? 6510: 0d 0a 2f 2f 23 69 66 6e 64 65 66 20 5f 5f 42 4c ..//#ifndef __BL 6520: 4f 42 5f 54 5f 44 45 46 49 4e 45 44 20 2f 2a 20 OB_T_DEFINED /* 6530: 61 6c 73 6f 20 69 6e 20 77 74 79 70 65 73 2e 68 also in wtypes.h 6540: 20 61 6e 64 20 6e 73 70 61 70 69 2e 68 20 2a 2f and nspapi.h */ 6550: 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 5f 5f 42 4c ..//#define __BL 6560: 4f 42 5f 54 5f 44 45 46 49 4e 45 44 0d 0a 73 74 OB_T_DEFINED..st 6570: 72 75 63 74 20 42 4c 4f 42 20 7b 0d 0a 09 55 4c ruct BLOB {...UL 6580: 4f 4e 47 20 63 62 53 69 7a 65 3b 0d 0a 09 42 59 ONG cbSize;...BY 6590: 54 45 2a 20 70 42 6c 6f 62 44 61 74 61 3b 0d 0a TE* pBlobData;.. 65a0: 7d 0d 0a 0d 0a 61 6c 69 61 73 20 42 4c 4f 42 2a }....alias BLOB* 65b0: 20 50 42 4c 4f 42 2c 20 4c 50 42 4c 4f 42 3b 0d PBLOB, LPBLOB;. 65c0: 0a 2f 2f 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 .//#endif....str 65d0: 75 63 74 20 57 53 41 51 55 45 52 59 53 45 54 41 uct WSAQUERYSETA 65e0: 0d 0a 7b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 ..{...DWORD 65f0: 20 20 20 20 64 77 53 69 7a 65 3b 0d 0a 09 4c 50 dwSize;...LP 6600: 53 54 52 20 20 20 20 20 20 20 20 20 6c 70 73 7a STR lpsz 6610: 53 65 72 76 69 63 65 49 6e 73 74 61 6e 63 65 4e ServiceInstanceN 6620: 61 6d 65 3b 0d 0a 09 4c 50 47 55 49 44 20 20 20 ame;...LPGUID 6630: 20 20 20 20 20 6c 70 53 65 72 76 69 63 65 43 6c lpServiceCl 6640: 61 73 73 49 64 3b 0d 0a 09 4c 50 57 53 41 56 45 assId;...LPWSAVE 6650: 52 53 49 4f 4e 20 20 6c 70 56 65 72 73 69 6f 6e RSION lpVersion 6660: 3b 0d 0a 09 4c 50 53 54 52 20 20 20 20 20 20 20 ;...LPSTR 6670: 20 20 6c 70 73 7a 43 6f 6d 6d 65 6e 74 3b 0d 0a lpszComment;.. 6680: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 64 .DWORD d 6690: 77 4e 61 6d 65 53 70 61 63 65 3b 0d 0a 09 4c 50 wNameSpace;...LP 66a0: 47 55 49 44 20 20 20 20 20 20 20 20 6c 70 4e 53 GUID lpNS 66b0: 50 72 6f 76 69 64 65 72 49 64 3b 0d 0a 09 4c 50 ProviderId;...LP 66c0: 53 54 52 20 20 20 20 20 20 20 20 20 6c 70 73 7a STR lpsz 66d0: 43 6f 6e 74 65 78 74 3b 0d 0a 09 44 57 4f 52 44 Context;...DWORD 66e0: 20 20 20 20 20 20 20 20 20 64 77 4e 75 6d 62 65 dwNumbe 66f0: 72 4f 66 50 72 6f 74 6f 63 6f 6c 73 3b 0d 0a 09 rOfProtocols;... 6700: 4c 50 41 46 50 52 4f 54 4f 43 4f 4c 53 20 6c 70 LPAFPROTOCOLS lp 6710: 61 66 70 50 72 6f 74 6f 63 6f 6c 73 3b 0d 0a 09 afpProtocols;... 6720: 4c 50 53 54 52 20 20 20 20 20 20 20 20 20 6c 70 LPSTR lp 6730: 73 7a 51 75 65 72 79 53 74 72 69 6e 67 3b 0d 0a szQueryString;.. 6740: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 64 .DWORD d 6750: 77 4e 75 6d 62 65 72 4f 66 43 73 41 64 64 72 73 wNumberOfCsAddrs 6760: 3b 0d 0a 09 4c 50 43 53 41 44 44 52 5f 49 4e 46 ;...LPCSADDR_INF 6770: 4f 20 6c 70 63 73 61 42 75 66 66 65 72 3b 0d 0a O lpcsaBuffer;.. 6780: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 64 .DWORD d 6790: 77 4f 75 74 70 75 74 46 6c 61 67 73 3b 0d 0a 09 wOutputFlags;... 67a0: 4c 50 42 4c 4f 42 20 20 20 20 20 20 20 20 6c 70 LPBLOB lp 67b0: 42 6c 6f 62 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 Blob;..}....alia 67c0: 73 20 57 53 41 51 55 45 52 59 53 45 54 41 2a 20 s WSAQUERYSETA* 67d0: 50 57 53 41 51 55 45 52 59 53 45 54 41 2c 20 4c PWSAQUERYSETA, L 67e0: 50 57 53 41 51 55 45 52 59 53 45 54 41 3b 0d 0a PWSAQUERYSETA;.. 67f0: 0d 0a 73 74 72 75 63 74 20 57 53 41 51 55 45 52 ..struct WSAQUER 6800: 59 53 45 54 57 0d 0a 7b 0d 0a 09 44 57 4f 52 44 YSETW..{...DWORD 6810: 20 20 20 20 20 20 20 20 20 64 77 53 69 7a 65 3b dwSize; 6820: 0d 0a 09 4c 50 57 53 54 52 20 20 20 20 20 20 20 ...LPWSTR 6830: 20 6c 70 73 7a 53 65 72 76 69 63 65 49 6e 73 74 lpszServiceInst 6840: 61 6e 63 65 4e 61 6d 65 3b 0d 0a 09 4c 50 47 55 anceName;...LPGU 6850: 49 44 20 20 20 20 20 20 20 20 6c 70 53 65 72 76 ID lpServ 6860: 69 63 65 43 6c 61 73 73 49 64 3b 0d 0a 09 4c 50 iceClassId;...LP 6870: 57 53 41 56 45 52 53 49 4f 4e 20 20 6c 70 56 65 WSAVERSION lpVe 6880: 72 73 69 6f 6e 3b 0d 0a 09 4c 50 57 53 54 52 20 rsion;...LPWSTR 6890: 20 20 20 20 20 20 20 6c 70 73 7a 43 6f 6d 6d 65 lpszComme 68a0: 6e 74 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 nt;...DWORD 68b0: 20 20 20 20 64 77 4e 61 6d 65 53 70 61 63 65 3b dwNameSpace; 68c0: 0d 0a 09 4c 50 47 55 49 44 20 20 20 20 20 20 20 ...LPGUID 68d0: 20 6c 70 4e 53 50 72 6f 76 69 64 65 72 49 64 3b lpNSProviderId; 68e0: 0d 0a 09 4c 50 57 53 54 52 20 20 20 20 20 20 20 ...LPWSTR 68f0: 20 6c 70 73 7a 43 6f 6e 74 65 78 74 3b 0d 0a 09 lpszContext;... 6900: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 64 77 DWORD dw 6910: 4e 75 6d 62 65 72 4f 66 50 72 6f 74 6f 63 6f 6c NumberOfProtocol 6920: 73 3b 0d 0a 09 4c 50 41 46 50 52 4f 54 4f 43 4f s;...LPAFPROTOCO 6930: 4c 53 20 6c 70 61 66 70 50 72 6f 74 6f 63 6f 6c LS lpafpProtocol 6940: 73 3b 0d 0a 09 4c 50 57 53 54 52 20 20 20 20 20 s;...LPWSTR 6950: 20 20 20 6c 70 73 7a 51 75 65 72 79 53 74 72 69 lpszQueryStri 6960: 6e 67 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 ng;...DWORD 6970: 20 20 20 20 64 77 4e 75 6d 62 65 72 4f 66 43 73 dwNumberOfCs 6980: 41 64 64 72 73 3b 0d 0a 09 4c 50 43 53 41 44 44 Addrs;...LPCSADD 6990: 52 5f 49 4e 46 4f 20 6c 70 63 73 61 42 75 66 66 R_INFO lpcsaBuff 69a0: 65 72 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 er;...DWORD 69b0: 20 20 20 20 64 77 4f 75 74 70 75 74 46 6c 61 67 dwOutputFlag 69c0: 73 3b 0d 0a 09 4c 50 42 4c 4f 42 20 20 20 20 20 s;...LPBLOB 69d0: 20 20 20 6c 70 42 6c 6f 62 3b 0d 0a 7d 0d 0a 0d lpBlob;..}... 69e0: 0a 0d 0a 61 6c 69 61 73 20 57 53 41 51 55 45 52 ...alias WSAQUER 69f0: 59 53 45 54 57 2a 20 50 57 53 41 51 55 45 52 59 YSETW* PWSAQUERY 6a00: 53 45 54 57 2c 20 4c 50 57 53 41 51 55 45 52 59 SETW, LPWSAQUERY 6a10: 53 45 54 57 3b 0d 0a 0d 0a 76 65 72 73 69 6f 6e SETW;....version 6a20: 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 61 6c (Unicode) {...al 6a30: 69 61 73 20 57 53 41 51 55 45 52 59 53 45 54 57 ias WSAQUERYSETW 6a40: 20 57 53 41 51 55 45 52 59 53 45 54 3b 0d 0a 09 WSAQUERYSET;... 6a50: 61 6c 69 61 73 20 50 57 53 41 51 55 45 52 59 53 alias PWSAQUERYS 6a60: 45 54 57 20 50 57 53 41 51 55 45 52 59 53 45 54 ETW PWSAQUERYSET 6a70: 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 57 53 41 51 ;...alias LPWSAQ 6a80: 55 45 52 59 53 45 54 57 20 4c 50 57 53 41 51 55 UERYSETW LPWSAQU 6a90: 45 52 59 53 45 54 3b 0d 0a 7d 20 65 6c 73 65 20 ERYSET;..} else 6aa0: 7b 0d 0a 09 61 6c 69 61 73 20 57 53 41 51 55 45 {...alias WSAQUE 6ab0: 52 59 53 45 54 41 20 57 53 41 51 55 45 52 59 53 RYSETA WSAQUERYS 6ac0: 45 54 3b 0d 0a 09 61 6c 69 61 73 20 50 57 53 41 ET;...alias PWSA 6ad0: 51 55 45 52 59 53 45 54 41 20 50 57 53 41 51 55 QUERYSETA PWSAQU 6ae0: 45 52 59 53 45 54 3b 0d 0a 09 61 6c 69 61 73 20 ERYSET;...alias 6af0: 4c 50 57 53 41 51 55 45 52 59 53 45 54 41 20 4c LPWSAQUERYSETA L 6b00: 50 57 53 41 51 55 45 52 59 53 45 54 3b 0d 0a 7d PWSAQUERYSET;..} 6b10: 0d 0a 0d 0a 63 6f 6e 73 74 20 69 6e 74 0d 0a 09 ....const int... 6b20: 4c 55 50 5f 44 45 45 50 20 20 20 20 20 20 20 20 LUP_DEEP 6b30: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 = 0x0001 6b40: 2c 0d 0a 09 4c 55 50 5f 43 4f 4e 54 41 49 4e 45 ,...LUP_CONTAINE 6b50: 52 53 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 RS = 0x 6b60: 30 30 30 32 2c 0d 0a 09 4c 55 50 5f 4e 4f 43 4f 0002,...LUP_NOCO 6b70: 4e 54 41 49 4e 45 52 53 20 20 20 20 20 20 20 20 NTAINERS 6b80: 3d 20 30 78 30 30 30 34 2c 0d 0a 09 4c 55 50 5f = 0x0004,...LUP_ 6b90: 4e 45 41 52 45 53 54 20 20 20 20 20 20 20 20 20 NEAREST 6ba0: 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0d 0a 09 = 0x0008,... 6bb0: 4c 55 50 5f 52 45 54 55 52 4e 5f 4e 41 4d 45 20 LUP_RETURN_NAME 6bc0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 = 0x0010 6bd0: 2c 0d 0a 09 4c 55 50 5f 52 45 54 55 52 4e 5f 54 ,...LUP_RETURN_T 6be0: 59 50 45 20 20 20 20 20 20 20 20 20 3d 20 30 78 YPE = 0x 6bf0: 30 30 32 30 2c 0d 0a 09 4c 55 50 5f 52 45 54 55 0020,...LUP_RETU 6c00: 52 4e 5f 56 45 52 53 49 4f 4e 20 20 20 20 20 20 RN_VERSION 6c10: 3d 20 30 78 30 30 34 30 2c 0d 0a 09 4c 55 50 5f = 0x0040,...LUP_ 6c20: 52 45 54 55 52 4e 5f 43 4f 4d 4d 45 4e 54 20 20 RETURN_COMMENT 6c30: 20 20 20 20 3d 20 30 78 30 30 38 30 2c 0d 0a 09 = 0x0080,... 6c40: 4c 55 50 5f 52 45 54 55 52 4e 5f 41 44 44 52 20 LUP_RETURN_ADDR 6c50: 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 = 0x0100 6c60: 2c 0d 0a 09 4c 55 50 5f 52 45 54 55 52 4e 5f 42 ,...LUP_RETURN_B 6c70: 4c 4f 42 20 20 20 20 20 20 20 20 20 3d 20 30 78 LOB = 0x 6c80: 30 32 30 30 2c 0d 0a 09 4c 55 50 5f 52 45 54 55 0200,...LUP_RETU 6c90: 52 4e 5f 41 4c 49 41 53 45 53 20 20 20 20 20 20 RN_ALIASES 6ca0: 3d 20 30 78 30 34 30 30 2c 0d 0a 09 4c 55 50 5f = 0x0400,...LUP_ 6cb0: 52 45 54 55 52 4e 5f 51 55 45 52 59 5f 53 54 52 RETURN_QUERY_STR 6cc0: 49 4e 47 20 3d 20 30 78 30 38 30 30 2c 0d 0a 09 ING = 0x0800,... 6cd0: 4c 55 50 5f 52 45 54 55 52 4e 5f 41 4c 4c 20 20 LUP_RETURN_ALL 6ce0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 46 46 30 = 0x0FF0 6cf0: 2c 0d 0a 09 4c 55 50 5f 52 45 53 5f 53 45 52 56 ,...LUP_RES_SERV 6d00: 49 43 45 20 20 20 20 20 20 20 20 20 3d 20 30 78 ICE = 0x 6d10: 38 30 30 30 2c 0d 0a 09 4c 55 50 5f 46 4c 55 53 8000,...LUP_FLUS 6d20: 48 43 41 43 48 45 20 20 20 20 20 20 20 20 20 20 HCACHE 6d30: 3d 20 30 78 31 30 30 30 2c 0d 0a 09 4c 55 50 5f = 0x1000,...LUP_ 6d40: 46 4c 55 53 48 50 52 45 56 49 4f 55 53 20 20 20 FLUSHPREVIOUS 6d50: 20 20 20 20 3d 20 30 78 32 30 30 30 3b 0d 0a 0d = 0x2000;... 6d60: 0a 73 74 72 75 63 74 20 57 53 41 4e 53 43 4c 41 .struct WSANSCLA 6d70: 53 53 49 4e 46 4f 41 0d 0a 7b 0d 0a 09 4c 50 53 SSINFOA..{...LPS 6d80: 54 52 20 20 6c 70 73 7a 4e 61 6d 65 3b 0d 0a 09 TR lpszName;... 6d90: 44 57 4f 52 44 20 20 64 77 4e 61 6d 65 53 70 61 DWORD dwNameSpa 6da0: 63 65 3b 0d 0a 09 44 57 4f 52 44 20 20 64 77 56 ce;...DWORD dwV 6db0: 61 6c 75 65 54 79 70 65 3b 0d 0a 09 44 57 4f 52 alueType;...DWOR 6dc0: 44 20 20 64 77 56 61 6c 75 65 53 69 7a 65 3b 0d D dwValueSize;. 6dd0: 0a 09 4c 50 56 4f 49 44 20 6c 70 56 61 6c 75 65 ..LPVOID lpValue 6de0: 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 57 53 ;..}....alias WS 6df0: 41 4e 53 43 4c 41 53 53 49 4e 46 4f 41 2a 20 50 ANSCLASSINFOA* P 6e00: 57 53 41 4e 53 43 4c 41 53 53 49 4e 46 4f 41 2c WSANSCLASSINFOA, 6e10: 20 4c 50 57 53 41 4e 53 43 4c 41 53 53 49 4e 46 LPWSANSCLASSINF 6e20: 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 57 53 OA;....struct WS 6e30: 41 4e 53 43 4c 41 53 53 49 4e 46 4f 57 0d 0a 7b ANSCLASSINFOW..{ 6e40: 0d 0a 09 4c 50 57 53 54 52 20 6c 70 73 7a 4e 61 ...LPWSTR lpszNa 6e50: 6d 65 3b 0d 0a 09 44 57 4f 52 44 20 20 64 77 4e me;...DWORD dwN 6e60: 61 6d 65 53 70 61 63 65 3b 0d 0a 09 44 57 4f 52 ameSpace;...DWOR 6e70: 44 20 20 64 77 56 61 6c 75 65 54 79 70 65 3b 0d D dwValueType;. 6e80: 0a 09 44 57 4f 52 44 20 20 64 77 56 61 6c 75 65 ..DWORD dwValue 6e90: 53 69 7a 65 3b 0d 0a 09 4c 50 56 4f 49 44 20 6c Size;...LPVOID l 6ea0: 70 56 61 6c 75 65 3b 0d 0a 7d 0d 0a 0d 0a 61 6c pValue;..}....al 6eb0: 69 61 73 20 57 53 41 4e 53 43 4c 41 53 53 49 4e ias WSANSCLASSIN 6ec0: 46 4f 57 2a 20 50 57 53 41 4e 53 43 4c 41 53 53 FOW* PWSANSCLASS 6ed0: 49 4e 46 4f 57 2c 20 4c 50 57 53 41 4e 53 43 4c INFOW, LPWSANSCL 6ee0: 41 53 53 49 4e 46 4f 57 3b 0d 0a 0d 0a 76 65 72 ASSINFOW;....ver 6ef0: 73 69 6f 6e 28 55 6e 69 63 6f 64 65 29 20 7b 0d sion(Unicode) {. 6f00: 0a 09 61 6c 69 61 73 20 57 53 41 4e 53 43 4c 41 ..alias WSANSCLA 6f10: 53 53 49 4e 46 4f 57 20 57 53 41 4e 53 43 4c 41 SSINFOW WSANSCLA 6f20: 53 53 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 SSINFO;...alias 6f30: 50 57 53 41 4e 53 43 4c 41 53 53 49 4e 46 4f 57 PWSANSCLASSINFOW 6f40: 20 50 57 53 41 4e 53 43 4c 41 53 53 49 4e 46 4f PWSANSCLASSINFO 6f50: 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 57 53 41 4e ;...alias LPWSAN 6f60: 53 43 4c 41 53 53 49 4e 46 4f 57 20 4c 50 57 53 SCLASSINFOW LPWS 6f70: 41 4e 53 43 4c 41 53 53 49 4e 46 4f 3b 0d 0a 7d ANSCLASSINFO;..} 6f80: 20 65 6c 73 65 20 7b 0d 0a 09 61 6c 69 61 73 20 else {...alias 6f90: 57 53 41 4e 53 43 4c 41 53 53 49 4e 46 4f 41 20 WSANSCLASSINFOA 6fa0: 57 53 41 4e 53 43 4c 41 53 53 49 4e 46 4f 3b 0d WSANSCLASSINFO;. 6fb0: 0a 09 61 6c 69 61 73 20 50 57 53 41 4e 53 43 4c ..alias PWSANSCL 6fc0: 41 53 53 49 4e 46 4f 41 20 50 57 53 41 4e 53 43 ASSINFOA PWSANSC 6fd0: 4c 41 53 53 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 LASSINFO;...alia 6fe0: 73 20 4c 50 57 53 41 4e 53 43 4c 41 53 53 49 4e s LPWSANSCLASSIN 6ff0: 46 4f 41 20 4c 50 57 53 41 4e 53 43 4c 41 53 53 FOA LPWSANSCLASS 7000: 49 4e 46 4f 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 INFO;..}....stru 7010: 63 74 20 57 53 41 53 45 52 56 49 43 45 43 4c 41 ct WSASERVICECLA 7020: 53 53 49 4e 46 4f 41 0d 0a 7b 0d 0a 09 4c 50 47 SSINFOA..{...LPG 7030: 55 49 44 20 20 20 20 20 20 20 20 20 20 20 20 6c UID l 7040: 70 53 65 72 76 69 63 65 43 6c 61 73 73 49 64 3b pServiceClassId; 7050: 0d 0a 09 4c 50 53 54 52 20 20 20 20 20 20 20 20 ...LPSTR 7060: 20 20 20 20 20 6c 70 73 7a 53 65 72 76 69 63 65 lpszService 7070: 43 6c 61 73 73 4e 61 6d 65 3b 0d 0a 09 44 57 4f ClassName;...DWO 7080: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 64 RD d 7090: 77 43 6f 75 6e 74 3b 0d 0a 09 4c 50 57 53 41 4e wCount;...LPWSAN 70a0: 53 43 4c 41 53 53 49 4e 46 4f 41 20 6c 70 43 6c SCLASSINFOA lpCl 70b0: 61 73 73 49 6e 66 6f 73 3b 0d 0a 7d 0d 0a 0d 0a assInfos;..}.... 70c0: 61 6c 69 61 73 20 57 53 41 53 45 52 56 49 43 45 alias WSASERVICE 70d0: 43 4c 41 53 53 49 4e 46 4f 41 2a 20 50 57 53 41 CLASSINFOA* PWSA 70e0: 53 45 52 56 49 43 45 43 4c 41 53 53 49 4e 46 4f SERVICECLASSINFO 70f0: 41 2c 20 4c 50 57 53 41 53 45 52 56 49 43 45 43 A, LPWSASERVICEC 7100: 4c 41 53 53 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 LASSINFOA;....st 7110: 72 75 63 74 20 57 53 41 53 45 52 56 49 43 45 43 ruct WSASERVICEC 7120: 4c 41 53 53 49 4e 46 4f 57 0d 0a 7b 0d 0a 09 4c LASSINFOW..{...L 7130: 50 47 55 49 44 20 20 20 20 20 20 20 20 20 20 20 PGUID 7140: 20 6c 70 53 65 72 76 69 63 65 43 6c 61 73 73 49 lpServiceClassI 7150: 64 3b 0d 0a 09 4c 50 57 53 54 52 20 20 20 20 20 d;...LPWSTR 7160: 20 20 20 20 20 20 20 6c 70 73 7a 53 65 72 76 69 lpszServi 7170: 63 65 43 6c 61 73 73 4e 61 6d 65 3b 0d 0a 09 44 ceClassName;...D 7180: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 WORD 7190: 20 64 77 43 6f 75 6e 74 3b 0d 0a 09 4c 50 57 53 dwCount;...LPWS 71a0: 41 4e 53 43 4c 41 53 53 49 4e 46 4f 57 20 6c 70 ANSCLASSINFOW lp 71b0: 43 6c 61 73 73 49 6e 66 6f 73 3b 0d 0a 7d 0d 0a ClassInfos;..}.. 71c0: 0d 0a 61 6c 69 61 73 20 57 53 41 53 45 52 56 49 ..alias WSASERVI 71d0: 43 45 43 4c 41 53 53 49 4e 46 4f 57 2a 20 50 57 CECLASSINFOW* PW 71e0: 53 41 53 45 52 56 49 43 45 43 4c 41 53 53 49 4e SASERVICECLASSIN 71f0: 46 4f 57 2c 20 4c 50 57 53 41 53 45 52 56 49 43 FOW, LPWSASERVIC 7200: 45 43 4c 41 53 53 49 4e 46 4f 57 3b 0d 0a 0d 0a ECLASSINFOW;.... 7210: 76 65 72 73 69 6f 6e 28 55 6e 69 63 6f 64 65 29 version(Unicode) 7220: 20 7b 0d 0a 09 61 6c 69 61 73 20 57 53 41 53 45 {...alias WSASE 7230: 52 56 49 43 45 43 4c 41 53 53 49 4e 46 4f 57 20 RVICECLASSINFOW 7240: 57 53 41 53 45 52 56 49 43 45 43 4c 41 53 53 49 WSASERVICECLASSI 7250: 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 50 57 53 NFO;...alias PWS 7260: 41 53 45 52 56 49 43 45 43 4c 41 53 53 49 4e 46 ASERVICECLASSINF 7270: 4f 57 20 50 57 53 41 53 45 52 56 49 43 45 43 4c OW PWSASERVICECL 7280: 41 53 53 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 ASSINFO;...alias 7290: 20 4c 50 57 53 41 53 45 52 56 49 43 45 43 4c 41 LPWSASERVICECLA 72a0: 53 53 49 4e 46 4f 57 20 4c 50 57 53 41 53 45 52 SSINFOW LPWSASER 72b0: 56 49 43 45 43 4c 41 53 53 49 4e 46 4f 3b 0d 0a VICECLASSINFO;.. 72c0: 7d 20 65 6c 73 65 20 7b 0d 0a 09 61 6c 69 61 73 } else {...alias 72d0: 20 57 53 41 53 45 52 56 49 43 45 43 4c 41 53 53 WSASERVICECLASS 72e0: 49 4e 46 4f 41 20 57 53 41 53 45 52 56 49 43 45 INFOA WSASERVICE 72f0: 43 4c 41 53 53 49 4e 46 4f 3b 0d 0a 09 61 6c 69 CLASSINFO;...ali 7300: 61 73 20 50 57 53 41 53 45 52 56 49 43 45 43 4c as PWSASERVICECL 7310: 41 53 53 49 4e 46 4f 41 20 50 57 53 41 53 45 52 ASSINFOA PWSASER 7320: 56 49 43 45 43 4c 41 53 53 49 4e 46 4f 3b 0d 0a VICECLASSINFO;.. 7330: 09 61 6c 69 61 73 20 4c 50 57 53 41 53 45 52 56 .alias LPWSASERV 7340: 49 43 45 43 4c 41 53 53 49 4e 46 4f 41 20 4c 50 ICECLASSINFOA LP 7350: 57 53 41 53 45 52 56 49 43 45 43 4c 41 53 53 49 WSASERVICECLASSI 7360: 4e 46 4f 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 NFO;..}....struc 7370: 74 20 57 53 41 4e 41 4d 45 53 50 41 43 45 5f 49 t WSANAMESPACE_I 7380: 4e 46 4f 41 20 7b 0d 0a 09 47 55 49 44 20 20 4e NFOA {...GUID N 7390: 53 50 72 6f 76 69 64 65 72 49 64 3b 0d 0a 09 44 SProviderId;...D 73a0: 57 4f 52 44 20 64 77 4e 61 6d 65 53 70 61 63 65 WORD dwNameSpace 73b0: 3b 0d 0a 09 42 4f 4f 4c 20 20 66 41 63 74 69 76 ;...BOOL fActiv 73c0: 65 3b 0d 0a 09 44 57 4f 52 44 20 64 77 56 65 72 e;...DWORD dwVer 73d0: 73 69 6f 6e 3b 0d 0a 09 4c 50 53 54 52 20 6c 70 sion;...LPSTR lp 73e0: 73 7a 49 64 65 6e 74 69 66 69 65 72 3b 0d 0a 7d szIdentifier;..} 73f0: 0d 0a 0d 0a 61 6c 69 61 73 20 57 53 41 4e 41 4d ....alias WSANAM 7400: 45 53 50 41 43 45 5f 49 4e 46 4f 41 2a 20 50 57 ESPACE_INFOA* PW 7410: 53 41 4e 41 4d 45 53 50 41 43 45 5f 49 4e 46 4f SANAMESPACE_INFO 7420: 41 2c 20 4c 50 57 53 41 4e 41 4d 45 53 50 41 43 A, LPWSANAMESPAC 7430: 45 5f 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 E_INFOA;....stru 7440: 63 74 20 57 53 41 4e 41 4d 45 53 50 41 43 45 5f ct WSANAMESPACE_ 7450: 49 4e 46 4f 57 20 7b 0d 0a 09 47 55 49 44 20 20 INFOW {...GUID 7460: 20 4e 53 50 72 6f 76 69 64 65 72 49 64 3b 0d 0a NSProviderId;.. 7470: 09 44 57 4f 52 44 20 20 64 77 4e 61 6d 65 53 70 .DWORD dwNameSp 7480: 61 63 65 3b 0d 0a 09 42 4f 4f 4c 20 20 20 66 41 ace;...BOOL fA 7490: 63 74 69 76 65 3b 0d 0a 09 44 57 4f 52 44 20 20 ctive;...DWORD 74a0: 64 77 56 65 72 73 69 6f 6e 3b 0d 0a 09 4c 50 57 dwVersion;...LPW 74b0: 53 54 52 20 6c 70 73 7a 49 64 65 6e 74 69 66 69 STR lpszIdentifi 74c0: 65 72 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 er;..}....alias 74d0: 57 53 41 4e 41 4d 45 53 50 41 43 45 5f 49 4e 46 WSANAMESPACE_INF 74e0: 4f 57 2a 20 50 57 53 41 4e 41 4d 45 53 50 41 43 OW* PWSANAMESPAC 74f0: 45 5f 49 4e 46 4f 57 2c 20 4c 50 57 53 41 4e 41 E_INFOW, LPWSANA 7500: 4d 45 53 50 41 43 45 5f 49 4e 46 4f 57 3b 0d 0a MESPACE_INFOW;.. 7510: 0d 0a 76 65 72 73 69 6f 6e 28 55 6e 69 63 6f 64 ..version(Unicod 7520: 65 29 20 7b 0d 0a 09 61 6c 69 61 73 20 57 53 41 e) {...alias WSA 7530: 4e 41 4d 45 53 50 41 43 45 5f 49 4e 46 4f 57 20 NAMESPACE_INFOW 7540: 57 53 41 4e 41 4d 45 53 50 41 43 45 5f 49 4e 46 WSANAMESPACE_INF 7550: 4f 3b 0d 0a 09 61 6c 69 61 73 20 50 57 53 41 4e O;...alias PWSAN 7560: 41 4d 45 53 50 41 43 45 5f 49 4e 46 4f 57 20 50 AMESPACE_INFOW P 7570: 57 53 41 4e 41 4d 45 53 50 41 43 45 5f 49 4e 46 WSANAMESPACE_INF 7580: 4f 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 57 53 41 O;...alias LPWSA 7590: 4e 41 4d 45 53 50 41 43 45 5f 49 4e 46 4f 57 20 NAMESPACE_INFOW 75a0: 4c 50 57 53 41 4e 41 4d 45 53 50 41 43 45 5f 49 LPWSANAMESPACE_I 75b0: 4e 46 4f 3b 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a NFO;..} else {.. 75c0: 09 61 6c 69 61 73 20 57 53 41 4e 41 4d 45 53 50 .alias WSANAMESP 75d0: 41 43 45 5f 49 4e 46 4f 41 20 57 53 41 4e 41 4d ACE_INFOA WSANAM 75e0: 45 53 50 41 43 45 5f 49 4e 46 4f 3b 0d 0a 09 61 ESPACE_INFO;...a 75f0: 6c 69 61 73 20 50 57 53 41 4e 41 4d 45 53 50 41 lias PWSANAMESPA 7600: 43 45 5f 49 4e 46 4f 41 20 50 57 53 41 4e 41 4d CE_INFOA PWSANAM 7610: 45 53 50 41 43 45 5f 49 4e 46 4f 3b 0d 0a 09 61 ESPACE_INFO;...a 7620: 6c 69 61 73 20 4c 50 57 53 41 4e 41 4d 45 53 50 lias LPWSANAMESP 7630: 41 43 45 5f 49 4e 46 4f 41 20 4c 50 57 53 41 4e ACE_INFOA LPWSAN 7640: 41 4d 45 53 50 41 43 45 5f 49 4e 46 4f 3b 0d 0a AMESPACE_INFO;.. 7650: 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 57 53 41 50 }....struct WSAP 7660: 52 4f 54 4f 43 4f 4c 43 48 41 49 4e 20 7b 0d 0a ROTOCOLCHAIN {.. 7670: 09 69 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 .int 7680: 20 20 20 20 20 20 20 20 20 20 20 43 68 61 69 6e Chain 7690: 4c 65 6e 3b 0d 0a 09 44 57 4f 52 44 5b 4d 41 58 Len;...DWORD[MAX 76a0: 5f 50 52 4f 54 4f 43 4f 4c 5f 43 48 41 49 4e 5d _PROTOCOL_CHAIN] 76b0: 20 43 68 61 69 6e 45 6e 74 72 69 65 73 3b 0d 0a ChainEntries;.. 76c0: 7d 0d 0a 0d 0a 61 6c 69 61 73 20 57 53 41 50 52 }....alias WSAPR 76d0: 4f 54 4f 43 4f 4c 43 48 41 49 4e 2a 20 4c 50 57 OTOCOLCHAIN* LPW 76e0: 53 41 50 52 4f 54 4f 43 4f 4c 43 48 41 49 4e 3b SAPROTOCOLCHAIN; 76f0: 0d 0a 0d 0a 63 6f 6e 73 74 20 57 53 41 50 52 4f ....const WSAPRO 7700: 54 4f 43 4f 4c 5f 4c 45 4e 20 3d 20 32 35 35 3b TOCOL_LEN = 255; 7710: 0d 0a 0d 0a 73 74 72 75 63 74 20 57 53 41 50 52 ....struct WSAPR 7720: 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 41 20 7b 0d 0a OTOCOL_INFOA {.. 7730: 09 44 57 4f 52 44 20 64 77 53 65 72 76 69 63 65 .DWORD dwService 7740: 46 6c 61 67 73 31 3b 0d 0a 09 44 57 4f 52 44 20 Flags1;...DWORD 7750: 64 77 53 65 72 76 69 63 65 46 6c 61 67 73 32 3b dwServiceFlags2; 7760: 0d 0a 09 44 57 4f 52 44 20 64 77 53 65 72 76 69 ...DWORD dwServi 7770: 63 65 46 6c 61 67 73 33 3b 0d 0a 09 44 57 4f 52 ceFlags3;...DWOR 7780: 44 20 64 77 53 65 72 76 69 63 65 46 6c 61 67 73 D dwServiceFlags 7790: 34 3b 0d 0a 09 44 57 4f 52 44 20 64 77 50 72 6f 4;...DWORD dwPro 77a0: 76 69 64 65 72 46 6c 61 67 73 3b 0d 0a 09 47 55 viderFlags;...GU 77b0: 49 44 20 50 72 6f 76 69 64 65 72 49 64 3b 0d 0a ID ProviderId;.. 77c0: 09 44 57 4f 52 44 20 64 77 43 61 74 61 6c 6f 67 .DWORD dwCatalog 77d0: 45 6e 74 72 79 49 64 3b 0d 0a 09 57 53 41 50 52 EntryId;...WSAPR 77e0: 4f 54 4f 43 4f 4c 43 48 41 49 4e 20 50 72 6f 74 OTOCOLCHAIN Prot 77f0: 6f 63 6f 6c 43 68 61 69 6e 3b 0d 0a 09 69 6e 74 ocolChain;...int 7800: 20 69 56 65 72 73 69 6f 6e 3b 0d 0a 09 69 6e 74 iVersion;...int 7810: 20 69 41 64 64 72 65 73 73 46 61 6d 69 6c 79 3b iAddressFamily; 7820: 0d 0a 09 69 6e 74 20 69 4d 61 78 53 6f 63 6b 41 ...int iMaxSockA 7830: 64 64 72 3b 0d 0a 09 69 6e 74 20 69 4d 69 6e 53 ddr;...int iMinS 7840: 6f 63 6b 41 64 64 72 3b 0d 0a 09 69 6e 74 20 69 ockAddr;...int i 7850: 53 6f 63 6b 65 74 54 79 70 65 3b 0d 0a 09 69 6e SocketType;...in 7860: 74 20 69 50 72 6f 74 6f 63 6f 6c 3b 0d 0a 09 69 t iProtocol;...i 7870: 6e 74 20 69 50 72 6f 74 6f 63 6f 6c 4d 61 78 4f nt iProtocolMaxO 7880: 66 66 73 65 74 3b 0d 0a 09 69 6e 74 20 69 4e 65 ffset;...int iNe 7890: 74 77 6f 72 6b 42 79 74 65 4f 72 64 65 72 3b 0d tworkByteOrder;. 78a0: 0a 09 69 6e 74 20 69 53 65 63 75 72 69 74 79 53 ..int iSecurityS 78b0: 63 68 65 6d 65 3b 0d 0a 09 44 57 4f 52 44 20 64 cheme;...DWORD d 78c0: 77 4d 65 73 73 61 67 65 53 69 7a 65 3b 0d 0a 09 wMessageSize;... 78d0: 44 57 4f 52 44 20 64 77 50 72 6f 76 69 64 65 72 DWORD dwProvider 78e0: 52 65 73 65 72 76 65 64 3b 0d 0a 09 43 48 41 52 Reserved;...CHAR 78f0: 5b 57 53 41 50 52 4f 54 4f 43 4f 4c 5f 4c 45 4e [WSAPROTOCOL_LEN 7900: 2b 31 5d 20 73 7a 50 72 6f 74 6f 63 6f 6c 3b 0d +1] szProtocol;. 7910: 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 57 53 41 50 .}....alias WSAP 7920: 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 41 2a 20 4c ROTOCOL_INFOA* L 7930: 50 57 53 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 PWSAPROTOCOL_INF 7940: 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 57 53 OA;....struct WS 7950: 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 57 20 APROTOCOL_INFOW 7960: 7b 0d 0a 09 44 57 4f 52 44 20 64 77 53 65 72 76 {...DWORD dwServ 7970: 69 63 65 46 6c 61 67 73 31 3b 0d 0a 09 44 57 4f iceFlags1;...DWO 7980: 52 44 20 64 77 53 65 72 76 69 63 65 46 6c 61 67 RD dwServiceFlag 7990: 73 32 3b 0d 0a 09 44 57 4f 52 44 20 64 77 53 65 s2;...DWORD dwSe 79a0: 72 76 69 63 65 46 6c 61 67 73 33 3b 0d 0a 09 44 rviceFlags3;...D 79b0: 57 4f 52 44 20 64 77 53 65 72 76 69 63 65 46 6c WORD dwServiceFl 79c0: 61 67 73 34 3b 0d 0a 09 44 57 4f 52 44 20 64 77 ags4;...DWORD dw 79d0: 50 72 6f 76 69 64 65 72 46 6c 61 67 73 3b 0d 0a ProviderFlags;.. 79e0: 09 47 55 49 44 20 50 72 6f 76 69 64 65 72 49 64 .GUID ProviderId 79f0: 3b 0d 0a 09 44 57 4f 52 44 20 64 77 43 61 74 61 ;...DWORD dwCata 7a00: 6c 6f 67 45 6e 74 72 79 49 64 3b 0d 0a 09 57 53 logEntryId;...WS 7a10: 41 50 52 4f 54 4f 43 4f 4c 43 48 41 49 4e 20 50 APROTOCOLCHAIN P 7a20: 72 6f 74 6f 63 6f 6c 43 68 61 69 6e 3b 0d 0a 09 rotocolChain;... 7a30: 69 6e 74 20 69 56 65 72 73 69 6f 6e 3b 0d 0a 09 int iVersion;... 7a40: 69 6e 74 20 69 41 64 64 72 65 73 73 46 61 6d 69 int iAddressFami 7a50: 6c 79 3b 0d 0a 09 69 6e 74 20 69 4d 61 78 53 6f ly;...int iMaxSo 7a60: 63 6b 41 64 64 72 3b 0d 0a 09 69 6e 74 20 69 4d ckAddr;...int iM 7a70: 69 6e 53 6f 63 6b 41 64 64 72 3b 0d 0a 09 69 6e inSockAddr;...in 7a80: 74 20 69 53 6f 63 6b 65 74 54 79 70 65 3b 0d 0a t iSocketType;.. 7a90: 09 69 6e 74 20 69 50 72 6f 74 6f 63 6f 6c 3b 0d .int iProtocol;. 7aa0: 0a 09 69 6e 74 20 69 50 72 6f 74 6f 63 6f 6c 4d ..int iProtocolM 7ab0: 61 78 4f 66 66 73 65 74 3b 0d 0a 09 69 6e 74 20 axOffset;...int 7ac0: 69 4e 65 74 77 6f 72 6b 42 79 74 65 4f 72 64 65 iNetworkByteOrde 7ad0: 72 3b 0d 0a 09 69 6e 74 20 69 53 65 63 75 72 69 r;...int iSecuri 7ae0: 74 79 53 63 68 65 6d 65 3b 0d 0a 09 44 57 4f 52 tyScheme;...DWOR 7af0: 44 20 64 77 4d 65 73 73 61 67 65 53 69 7a 65 3b D dwMessageSize; 7b00: 0d 0a 09 44 57 4f 52 44 20 64 77 50 72 6f 76 69 ...DWORD dwProvi 7b10: 64 65 72 52 65 73 65 72 76 65 64 3b 0d 0a 09 57 derReserved;...W 7b20: 43 48 41 52 5b 57 53 41 50 52 4f 54 4f 43 4f 4c CHAR[WSAPROTOCOL 7b30: 5f 4c 45 4e 2b 31 5d 20 73 7a 50 72 6f 74 6f 63 _LEN+1] szProtoc 7b40: 6f 6c 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 ol;..}....alias 7b50: 57 53 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f WSAPROTOCOL_INFO 7b60: 57 2a 20 4c 50 57 53 41 50 52 4f 54 4f 43 4f 4c W* LPWSAPROTOCOL 7b70: 5f 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 54 4f _INFOW;....// TO 7b80: 44 4f 3a 20 42 65 6c 6f 77 20 66 70 74 72 20 77 DO: Below fptr w 7b90: 61 73 20 64 65 66 69 6e 65 64 20 61 73 20 22 43 as defined as "C 7ba0: 41 4c 4c 42 41 43 4b 22 20 66 6f 72 20 6c 69 6e ALLBACK" for lin 7bb0: 6b 61 67 65 3b 20 69 73 20 74 68 69 73 20 72 69 kage; is this ri 7bc0: 67 68 74 3f 0d 0a 65 78 74 65 72 6e 28 43 29 20 ght?..extern(C) 7bd0: 7b 0d 0a 09 61 6c 69 61 73 20 69 6e 74 20 66 75 {...alias int fu 7be0: 6e 63 74 69 6f 6e 28 4c 50 57 53 41 42 55 46 2c nction(LPWSABUF, 7bf0: 20 4c 50 57 53 41 42 55 46 2c 20 4c 50 51 4f 53 LPWSABUF, LPQOS 7c00: 2c 20 4c 50 51 4f 53 2c 20 4c 50 57 53 41 42 55 , LPQOS, LPWSABU 7c10: 46 2c 20 4c 50 57 53 41 42 55 46 2c 20 47 52 4f F, LPWSABUF, GRO 7c20: 55 50 20 2a 2c 20 44 57 4f 52 44 29 20 4c 50 43 UP *, DWORD) LPC 7c30: 4f 4e 44 49 54 49 4f 4e 50 52 4f 43 3b 0d 0a 7d ONDITIONPROC;..} 7c40: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f ....extern(Windo 7c50: 77 73 29 20 7b 0d 0a 09 61 6c 69 61 73 20 76 6f ws) {...alias vo 7c60: 69 64 20 66 75 6e 63 74 69 6f 6e 28 44 57 4f 52 id function(DWOR 7c70: 44 2c 20 44 57 4f 52 44 2c 20 4c 50 57 53 41 4f D, DWORD, LPWSAO 7c80: 56 45 52 4c 41 50 50 45 44 2c 20 44 57 4f 52 44 VERLAPPED, DWORD 7c90: 29 20 4c 50 57 53 41 4f 56 45 52 4c 41 50 50 45 ) LPWSAOVERLAPPE 7ca0: 44 5f 43 4f 4d 50 4c 45 54 49 4f 4e 5f 52 4f 55 D_COMPLETION_ROU 7cb0: 54 49 4e 45 3b 0d 0a 7d 0d 0a 0d 0a 76 65 72 73 TINE;..}....vers 7cc0: 69 6f 6e 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a ion(Unicode) {.. 7cd0: 09 61 6c 69 61 73 20 57 53 41 50 52 4f 54 4f 43 .alias WSAPROTOC 7ce0: 4f 4c 5f 49 4e 46 4f 57 20 57 53 41 50 52 4f 54 OL_INFOW WSAPROT 7cf0: 4f 43 4f 4c 5f 49 4e 46 4f 3b 0d 0a 09 61 6c 69 OCOL_INFO;...ali 7d00: 61 73 20 4c 50 57 53 41 50 52 4f 54 4f 43 4f 4c as LPWSAPROTOCOL 7d10: 5f 49 4e 46 4f 57 20 4c 50 57 53 41 50 52 4f 54 _INFOW LPWSAPROT 7d20: 4f 43 4f 4c 5f 49 4e 46 4f 3b 0d 0a 7d 20 65 6c OCOL_INFO;..} el 7d30: 73 65 20 7b 0d 0a 09 61 6c 69 61 73 20 57 53 41 se {...alias WSA 7d40: 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 41 20 57 PROTOCOL_INFOA W 7d50: 53 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 3b SAPROTOCOL_INFO; 7d60: 0d 0a 09 61 6c 69 61 73 20 4c 50 57 53 41 50 52 ...alias LPWSAPR 7d70: 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 41 20 4c 50 57 OTOCOL_INFOA LPW 7d80: 53 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 3b SAPROTOCOL_INFO; 7d90: 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 4e 65 65 64 65 64 ..}..../* Needed 7da0: 20 66 6f 72 20 58 50 20 26 20 2e 4e 45 54 20 53 for XP & .NET S 7db0: 65 72 76 65 72 20 66 75 6e 63 74 69 6f 6e 20 57 erver function W 7dc0: 53 41 4e 53 50 49 6f 63 74 6c 2e 20 20 2a 2f 0d SANSPIoctl. */. 7dd0: 0a 65 6e 75 6d 20 57 53 41 43 4f 4d 50 4c 45 54 .enum WSACOMPLET 7de0: 49 4f 4e 54 59 50 45 20 7b 0d 0a 20 20 20 20 4e IONTYPE {.. N 7df0: 53 50 5f 4e 4f 54 49 46 59 5f 49 4d 4d 45 44 49 SP_NOTIFY_IMMEDI 7e00: 41 54 45 4c 59 20 3d 20 30 2c 0d 0a 20 20 20 20 ATELY = 0,.. 7e10: 4e 53 50 5f 4e 4f 54 49 46 59 5f 48 57 4e 44 2c NSP_NOTIFY_HWND, 7e20: 0d 0a 20 20 20 20 4e 53 50 5f 4e 4f 54 49 46 59 .. NSP_NOTIFY 7e30: 5f 45 56 45 4e 54 2c 0d 0a 20 20 20 20 4e 53 50 _EVENT,.. NSP 7e40: 5f 4e 4f 54 49 46 59 5f 50 4f 52 54 2c 0d 0a 20 _NOTIFY_PORT,.. 7e50: 20 20 20 4e 53 50 5f 4e 4f 54 49 46 59 5f 41 50 NSP_NOTIFY_AP 7e60: 43 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 57 53 C..}....alias WS 7e70: 41 43 4f 4d 50 4c 45 54 49 4f 4e 54 59 50 45 2a ACOMPLETIONTYPE* 7e80: 20 50 57 53 41 43 4f 4d 50 4c 45 54 49 4f 4e 54 PWSACOMPLETIONT 7e90: 59 50 45 2c 20 4c 50 57 53 41 43 4f 4d 50 4c 45 YPE, LPWSACOMPLE 7ea0: 54 49 4f 4e 54 59 50 45 3b 0d 0a 0d 0a 73 74 72 TIONTYPE;....str 7eb0: 75 63 74 20 57 53 41 43 4f 4d 50 4c 45 54 49 4f uct WSACOMPLETIO 7ec0: 4e 20 7b 0d 0a 20 20 20 20 57 53 41 43 4f 4d 50 N {.. WSACOMP 7ed0: 4c 45 54 49 4f 4e 54 59 50 45 20 54 79 70 65 3b LETIONTYPE Type; 7ee0: 0d 0a 20 20 20 20 75 6e 69 6f 6e 20 57 53 41 43 .. union WSAC 7ef0: 4f 4d 50 4c 45 54 49 4f 4e 5f 50 41 52 41 4d 45 OMPLETION_PARAME 7f00: 54 45 52 53 20 7b 0d 0a 20 20 20 20 20 20 20 20 TERS {.. 7f10: 73 74 72 75 63 74 20 57 53 41 43 4f 4d 50 4c 45 struct WSACOMPLE 7f20: 54 49 4f 4e 5f 57 49 4e 44 4f 57 4d 45 53 53 41 TION_WINDOWMESSA 7f30: 47 45 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 GE {.. 7f40: 20 20 48 57 4e 44 20 68 57 6e 64 3b 0d 0a 20 20 HWND hWnd;.. 7f50: 20 20 20 20 20 20 20 20 20 20 55 49 4e 54 20 75 UINT u 7f60: 4d 73 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 Msg;.. 7f70: 20 20 57 50 41 52 41 4d 20 63 6f 6e 74 65 78 74 WPARAM context 7f80: 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 09 09 ;.. }.... 7f90: 57 53 41 43 4f 4d 50 4c 45 54 49 4f 4e 5f 57 49 WSACOMPLETION_WI 7fa0: 4e 44 4f 57 4d 45 53 53 41 47 45 20 57 69 6e 64 NDOWMESSAGE Wind 7fb0: 6f 77 4d 65 73 73 61 67 65 3b 0d 0a 20 20 20 20 owMessage;.. 7fc0: 20 20 20 20 73 74 72 75 63 74 20 57 53 41 43 4f struct WSACO 7fd0: 4d 50 4c 45 54 49 4f 4e 5f 45 56 45 4e 54 20 7b MPLETION_EVENT { 7fe0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 50 .. LP 7ff0: 57 53 41 4f 56 45 52 4c 41 50 50 45 44 20 6c 70 WSAOVERLAPPED lp 8000: 4f 76 65 72 6c 61 70 70 65 64 3b 0d 0a 20 20 20 Overlapped;.. 8010: 20 20 20 20 20 7d 0d 0a 09 09 57 53 41 43 4f 4d }....WSACOM 8020: 50 4c 45 54 49 4f 4e 5f 45 56 45 4e 54 20 45 76 PLETION_EVENT Ev 8030: 65 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 73 74 ent;.. st 8040: 72 75 63 74 20 57 53 41 43 4f 4d 50 4c 45 54 49 ruct WSACOMPLETI 8050: 4f 4e 5f 41 50 43 20 7b 0d 0a 20 20 20 20 20 20 ON_APC {.. 8060: 20 20 20 20 20 20 4c 50 57 53 41 4f 56 45 52 4c LPWSAOVERL 8070: 41 50 50 45 44 20 6c 70 4f 76 65 72 6c 61 70 70 APPED lpOverlapp 8080: 65 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ed;.. 8090: 20 4c 50 57 53 41 4f 56 45 52 4c 41 50 50 45 44 LPWSAOVERLAPPED 80a0: 5f 43 4f 4d 50 4c 45 54 49 4f 4e 5f 52 4f 55 54 _COMPLETION_ROUT 80b0: 49 4e 45 20 6c 70 66 6e 43 6f 6d 70 6c 65 74 69 INE lpfnCompleti 80c0: 6f 6e 50 72 6f 63 3b 0d 0a 20 20 20 20 20 20 20 onProc;.. 80d0: 20 7d 0d 0a 09 09 57 53 41 43 4f 4d 50 4c 45 54 }....WSACOMPLET 80e0: 49 4f 4e 5f 41 50 43 20 41 70 63 3b 0d 0a 20 20 ION_APC Apc;.. 80f0: 20 20 20 20 20 20 73 74 72 75 63 74 20 57 53 41 struct WSA 8100: 43 4f 4d 50 4c 45 54 49 4f 4e 5f 50 4f 52 54 20 COMPLETION_PORT 8110: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c {.. L 8120: 50 57 53 41 4f 56 45 52 4c 41 50 50 45 44 20 6c PWSAOVERLAPPED l 8130: 70 4f 76 65 72 6c 61 70 70 65 64 3b 0d 0a 20 20 pOverlapped;.. 8140: 20 20 20 20 20 20 20 20 20 20 48 41 4e 44 4c 45 HANDLE 8150: 20 68 50 6f 72 74 3b 0d 0a 20 20 20 20 20 20 20 hPort;.. 8160: 20 20 20 20 20 55 4c 4f 4e 47 5f 50 54 52 20 4b ULONG_PTR K 8170: 65 79 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a ey;.. }.. 8180: 09 09 57 53 41 43 4f 4d 50 4c 45 54 49 4f 4e 5f ..WSACOMPLETION_ 8190: 50 4f 52 54 20 50 6f 72 74 3b 0d 0a 20 20 20 20 PORT Port;.. 81a0: 7d 0d 0a 09 57 53 41 43 4f 4d 50 4c 45 54 49 4f }...WSACOMPLETIO 81b0: 4e 5f 50 41 52 41 4d 45 54 45 52 53 20 50 61 72 N_PARAMETERS Par 81c0: 61 6d 65 74 65 72 73 3b 0d 0a 7d 0d 0a 0d 0a 61 ameters;..}....a 81d0: 6c 69 61 73 20 57 53 41 43 4f 4d 50 4c 45 54 49 lias WSACOMPLETI 81e0: 4f 4e 2a 20 50 57 53 41 43 4f 4d 50 4c 45 54 49 ON* PWSACOMPLETI 81f0: 4f 4e 2c 20 4c 50 57 53 41 43 4f 4d 50 4c 45 54 ON, LPWSACOMPLET 8200: 49 4f 4e 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 69 6e ION;....const in 8210: 74 0d 0a 09 50 46 4c 5f 4d 55 4c 54 49 50 4c 45 t...PFL_MULTIPLE 8220: 5f 50 52 4f 54 4f 5f 45 4e 54 52 49 45 53 20 20 _PROTO_ENTRIES 8230: 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0d 0a 09 = 0x00000001,... 8240: 50 46 4c 5f 52 45 43 4f 4d 4d 45 4e 44 45 44 5f PFL_RECOMMENDED_ 8250: 50 52 4f 54 4f 5f 45 4e 54 52 59 20 3d 20 30 78 PROTO_ENTRY = 0x 8260: 30 30 30 30 30 30 30 32 2c 0d 0a 09 50 46 4c 5f 00000002,...PFL_ 8270: 48 49 44 44 45 4e 20 20 20 20 20 20 20 20 20 20 HIDDEN 8280: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000 8290: 30 30 30 34 2c 0d 0a 09 50 46 4c 5f 4d 41 54 43 0004,...PFL_MATC 82a0: 48 45 53 5f 50 52 4f 54 4f 43 4f 4c 5f 5a 45 52 HES_PROTOCOL_ZER 82b0: 4f 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 38 O = 0x00000008 82c0: 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 69 6e 74 0d 0a ;....const int.. 82d0: 09 58 50 31 5f 43 4f 4e 4e 45 43 54 49 4f 4e 4c .XP1_CONNECTIONL 82e0: 45 53 53 20 20 20 20 20 20 20 20 20 20 20 3d 20 ESS = 82f0: 30 78 30 30 30 30 30 30 30 31 2c 0d 0a 09 58 50 0x00000001,...XP 8300: 31 5f 47 55 41 52 41 4e 54 45 45 44 5f 44 45 4c 1_GUARANTEED_DEL 8310: 49 56 45 52 59 20 20 20 20 20 20 3d 20 30 78 30 IVERY = 0x0 8320: 30 30 30 30 30 30 32 2c 0d 0a 09 58 50 31 5f 47 0000002,...XP1_G 8330: 55 41 52 41 4e 54 45 45 44 5f 4f 52 44 45 52 20 UARANTEED_ORDER 8340: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000 8350: 30 30 30 34 2c 0d 0a 09 58 50 31 5f 4d 45 53 53 0004,...XP1_MESS 8360: 41 47 45 5f 4f 52 49 45 4e 54 45 44 20 20 20 20 AGE_ORIENTED 8370: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 = 0x0000000 8380: 38 2c 0d 0a 09 58 50 31 5f 50 53 45 55 44 4f 5f 8,...XP1_PSEUDO_ 8390: 53 54 52 45 41 4d 20 20 20 20 20 20 20 20 20 20 STREAM 83a0: 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0d = 0x00000010,. 83b0: 0a 09 58 50 31 5f 47 52 41 43 45 46 55 4c 5f 43 ..XP1_GRACEFUL_C 83c0: 4c 4f 53 45 20 20 20 20 20 20 20 20 20 20 20 3d LOSE = 83d0: 20 30 78 30 30 30 30 30 30 32 30 2c 0d 0a 09 58 0x00000020,...X 83e0: 50 31 5f 45 58 50 45 44 49 54 45 44 5f 44 41 54 P1_EXPEDITED_DAT 83f0: 41 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 A = 0x 8400: 30 30 30 30 30 30 34 30 2c 0d 0a 09 58 50 31 5f 00000040,...XP1_ 8410: 43 4f 4e 4e 45 43 54 5f 44 41 54 41 20 20 20 20 CONNECT_DATA 8420: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000 8430: 30 30 30 38 30 2c 0d 0a 09 58 50 31 5f 44 49 53 00080,...XP1_DIS 8440: 43 4f 4e 4e 45 43 54 5f 44 41 54 41 20 20 20 20 CONNECT_DATA 8450: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 = 0x000001 8460: 30 30 2c 0d 0a 09 58 50 31 5f 53 55 50 50 4f 52 00,...XP1_SUPPOR 8470: 54 5f 42 52 4f 41 44 43 41 53 54 20 20 20 20 20 T_BROADCAST 8480: 20 20 20 3d 20 30 78 30 30 30 30 30 32 30 30 2c = 0x00000200, 8490: 0d 0a 09 58 50 31 5f 53 55 50 50 4f 52 54 5f 4d ...XP1_SUPPORT_M 84a0: 55 4c 54 49 50 4f 49 4e 54 20 20 20 20 20 20 20 ULTIPOINT 84b0: 3d 20 30 78 30 30 30 30 30 34 30 30 2c 0d 0a 09 = 0x00000400,... 84c0: 58 50 31 5f 4d 55 4c 54 49 50 4f 49 4e 54 5f 43 XP1_MULTIPOINT_C 84d0: 4f 4e 54 52 4f 4c 5f 50 4c 41 4e 45 20 3d 20 30 ONTROL_PLANE = 0 84e0: 78 30 30 30 30 30 38 30 30 2c 0d 0a 09 58 50 31 x00000800,...XP1 84f0: 5f 4d 55 4c 54 49 50 4f 49 4e 54 5f 44 41 54 41 _MULTIPOINT_DATA 8500: 5f 50 4c 41 4e 45 20 20 20 20 3d 20 30 78 30 30 _PLANE = 0x00 8510: 30 30 31 30 30 30 2c 0d 0a 09 58 50 31 5f 51 4f 001000,...XP1_QO 8520: 53 5f 53 55 50 50 4f 52 54 45 44 20 20 20 20 20 S_SUPPORTED 8530: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 32 = 0x00002 8540: 30 30 30 2c 0d 0a 09 58 50 31 5f 49 4e 54 45 52 000,...XP1_INTER 8550: 52 55 50 54 20 20 20 20 20 20 20 20 20 20 20 20 RUPT 8560: 20 20 20 20 3d 20 30 78 30 30 30 30 34 30 30 30 = 0x00004000 8570: 2c 0d 0a 09 58 50 31 5f 55 4e 49 5f 53 45 4e 44 ,...XP1_UNI_SEND 8580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8590: 20 3d 20 30 78 30 30 30 30 38 30 30 30 2c 0d 0a = 0x00008000,.. 85a0: 09 58 50 31 5f 55 4e 49 5f 52 45 43 56 20 20 20 .XP1_UNI_RECV 85b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 = 85c0: 30 78 30 30 30 31 30 30 30 30 2c 0d 0a 09 58 50 0x00010000,...XP 85d0: 31 5f 49 46 53 5f 48 41 4e 44 4c 45 53 20 20 20 1_IFS_HANDLES 85e0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0 85f0: 30 30 32 30 30 30 30 2c 0d 0a 09 58 50 31 5f 50 0020000,...XP1_P 8600: 41 52 54 49 41 4c 5f 4d 45 53 53 41 47 45 20 20 ARTIAL_MESSAGE 8610: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 34 = 0x0004 8620: 30 30 30 30 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 0000;....enum : 8630: 69 6e 74 20 7b 0d 0a 09 42 49 47 45 4e 44 49 41 int {...BIGENDIA 8640: 4e 20 20 20 20 3d 20 30 78 30 30 30 30 2c 0d 0a N = 0x0000,.. 8650: 09 4c 49 54 54 4c 45 45 4e 44 49 41 4e 20 3d 20 .LITTLEENDIAN = 8660: 30 78 30 30 30 31 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 0x0001..}....con 8670: 73 74 20 53 45 43 55 52 49 54 59 5f 50 52 4f 54 st SECURITY_PROT 8680: 4f 43 4f 4c 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 OCOL_NONE = 0x00 8690: 30 30 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 4a 4c 5f 00;....const JL_ 86a0: 53 45 4e 44 45 52 5f 4f 4e 4c 59 20 3d 20 30 78 SENDER_ONLY = 0x 86b0: 30 31 3b 0d 0a 63 6f 6e 73 74 20 4a 4c 5f 52 45 01;..const JL_RE 86c0: 43 45 49 56 45 52 5f 4f 4e 4c 59 20 3d 20 30 78 CEIVER_ONLY = 0x 86d0: 30 32 3b 0d 0a 63 6f 6e 73 74 20 4a 4c 5f 42 4f 02;..const JL_BO 86e0: 54 48 20 3d 20 30 78 30 34 3b 0d 0a 0d 0a 63 6f TH = 0x04;....co 86f0: 6e 73 74 20 57 53 41 5f 46 4c 41 47 5f 4f 56 45 nst WSA_FLAG_OVE 8700: 52 4c 41 50 50 45 44 20 3d 20 30 78 30 31 3b 0d RLAPPED = 0x01;. 8710: 0a 63 6f 6e 73 74 20 57 53 41 5f 46 4c 41 47 5f .const WSA_FLAG_ 8720: 4d 55 4c 54 49 50 4f 49 4e 54 5f 43 5f 52 4f 4f MULTIPOINT_C_ROO 8730: 54 20 3d 20 30 78 30 32 3b 0d 0a 63 6f 6e 73 74 T = 0x02;..const 8740: 20 57 53 41 5f 46 4c 41 47 5f 4d 55 4c 54 49 50 WSA_FLAG_MULTIP 8750: 4f 49 4e 54 5f 43 5f 4c 45 41 46 20 3d 20 30 78 OINT_C_LEAF = 0x 8760: 30 34 3b 0d 0a 63 6f 6e 73 74 20 57 53 41 5f 46 04;..const WSA_F 8770: 4c 41 47 5f 4d 55 4c 54 49 50 4f 49 4e 54 5f 44 LAG_MULTIPOINT_D 8780: 5f 52 4f 4f 54 20 3d 20 30 78 30 38 3b 0d 0a 63 _ROOT = 0x08;..c 8790: 6f 6e 73 74 20 57 53 41 5f 46 4c 41 47 5f 4d 55 onst WSA_FLAG_MU 87a0: 4c 54 49 50 4f 49 4e 54 5f 44 5f 4c 45 41 46 20 LTIPOINT_D_LEAF 87b0: 3d 20 30 78 31 30 3b 0d 0a 0d 0a 63 6f 6e 73 74 = 0x10;....const 87c0: 20 69 6e 74 20 49 4f 43 5f 55 4e 49 58 20 3d 20 int IOC_UNIX = 87d0: 30 78 30 30 30 30 30 30 30 30 3b 0d 0a 63 6f 6e 0x00000000;..con 87e0: 73 74 20 69 6e 74 20 49 4f 43 5f 57 53 32 20 3d st int IOC_WS2 = 87f0: 20 30 78 30 38 30 30 30 30 30 30 3b 0d 0a 63 6f 0x08000000;..co 8800: 6e 73 74 20 69 6e 74 20 49 4f 43 5f 50 52 4f 54 nst int IOC_PROT 8810: 4f 43 4f 4c 20 3d 20 30 78 31 30 30 30 30 30 30 OCOL = 0x1000000 8820: 30 3b 0d 0a 63 6f 6e 73 74 20 69 6e 74 20 49 4f 0;..const int IO 8830: 43 5f 56 45 4e 44 4f 52 20 3d 20 30 78 31 38 30 C_VENDOR = 0x180 8840: 30 30 30 30 30 3b 0d 0a 0d 0a 74 65 6d 70 6c 61 00000;....templa 8850: 74 65 20 5f 57 53 41 49 4f 28 69 6e 74 20 78 2c te _WSAIO(int x, 8860: 20 69 6e 74 20 79 29 20 7b 20 63 6f 6e 73 74 20 int y) { const 8870: 69 6e 74 20 5f 57 53 41 49 4f 20 3d 20 49 4f 43 int _WSAIO = IOC 8880: 5f 56 4f 49 44 20 7c 20 78 20 7c 20 79 3b 20 7d _VOID | x | y; } 8890: 0d 0a 74 65 6d 70 6c 61 74 65 20 5f 57 53 41 49 ..template _WSAI 88a0: 4f 52 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 OR(int x, int y) 88b0: 20 7b 20 63 6f 6e 73 74 20 69 6e 74 20 5f 57 53 { const int _WS 88c0: 41 49 4f 52 20 3d 20 49 4f 43 5f 4f 55 54 20 7c AIOR = IOC_OUT | 88d0: 20 78 20 7c 20 79 3b 20 7d 0d 0a 74 65 6d 70 6c x | y; }..templ 88e0: 61 74 65 20 5f 57 53 41 49 4f 57 28 69 6e 74 20 ate _WSAIOW(int 88f0: 78 2c 20 69 6e 74 20 79 29 20 7b 20 63 6f 6e 73 x, int y) { cons 8900: 74 20 69 6e 74 20 5f 57 53 41 49 4f 57 20 3d 20 t int _WSAIOW = 8910: 49 4f 43 5f 49 4e 20 7c 20 78 20 7c 20 79 3b 20 IOC_IN | x | y; 8920: 7d 0d 0a 74 65 6d 70 6c 61 74 65 20 5f 57 53 41 }..template _WSA 8930: 49 4f 52 57 28 69 6e 74 20 78 2c 20 69 6e 74 20 IORW(int x, int 8940: 79 29 20 7b 20 63 6f 6e 73 74 20 69 6e 74 20 5f y) { const int _ 8950: 57 53 41 49 4f 52 57 20 3d 20 49 4f 43 5f 49 4e WSAIORW = IOC_IN 8960: 4f 55 54 20 7c 20 78 20 7c 20 79 3b 20 7d 0d 0a OUT | x | y; }.. 8970: 0d 0a 63 6f 6e 73 74 20 69 6e 74 20 53 49 4f 5f ..const int SIO_ 8980: 41 53 53 4f 43 49 41 54 45 5f 48 41 4e 44 4c 45 ASSOCIATE_HANDLE 8990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d = 89a0: 20 5f 57 53 41 49 4f 57 21 28 49 4f 43 5f 57 53 _WSAIOW!(IOC_WS 89b0: 32 2c 31 29 3b 0d 0a 63 6f 6e 73 74 20 69 6e 74 2,1);..const int 89c0: 20 53 49 4f 5f 45 4e 41 42 4c 45 5f 43 49 52 43 SIO_ENABLE_CIRC 89d0: 55 4c 41 52 5f 51 55 45 55 45 49 4e 47 20 20 20 ULAR_QUEUEING 89e0: 20 20 20 20 3d 20 5f 57 53 41 49 4f 21 28 49 4f = _WSAIO!(IO 89f0: 43 5f 57 53 32 2c 32 29 3b 0d 0a 63 6f 6e 73 74 C_WS2,2);..const 8a00: 20 69 6e 74 20 53 49 4f 5f 46 49 4e 44 5f 52 4f int SIO_FIND_RO 8a10: 55 54 45 20 20 20 20 20 20 20 20 20 20 20 20 20 UTE 8a20: 20 20 20 20 20 20 20 20 3d 20 5f 57 53 41 49 4f = _WSAIO 8a30: 52 21 28 49 4f 43 5f 57 53 32 2c 33 29 3b 0d 0a R!(IOC_WS2,3);.. 8a40: 63 6f 6e 73 74 20 69 6e 74 20 53 49 4f 5f 46 4c const int SIO_FL 8a50: 55 53 48 20 20 20 20 20 20 20 20 20 20 20 20 20 USH 8a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 5f = _ 8a70: 57 53 41 49 4f 21 28 49 4f 43 5f 57 53 32 2c 34 WSAIO!(IOC_WS2,4 8a80: 29 3b 0d 0a 63 6f 6e 73 74 20 69 6e 74 20 53 49 );..const int SI 8a90: 4f 5f 47 45 54 5f 42 52 4f 41 44 43 41 53 54 5f O_GET_BROADCAST_ 8aa0: 41 44 44 52 45 53 53 20 20 20 20 20 20 20 20 20 ADDRESS 8ab0: 20 3d 20 5f 57 53 41 49 4f 52 21 28 49 4f 43 5f = _WSAIOR!(IOC_ 8ac0: 57 53 32 2c 35 29 3b 0d 0a 63 6f 6e 73 74 20 69 WS2,5);..const i 8ad0: 6e 74 20 53 49 4f 5f 47 45 54 5f 45 58 54 45 4e nt SIO_GET_EXTEN 8ae0: 53 49 4f 4e 5f 46 55 4e 43 54 49 4f 4e 5f 50 4f SION_FUNCTION_PO 8af0: 49 4e 54 45 52 20 3d 20 5f 57 53 41 49 4f 52 57 INTER = _WSAIORW 8b00: 21 28 49 4f 43 5f 57 53 32 2c 36 29 3b 0d 0a 63 !(IOC_WS2,6);..c 8b10: 6f 6e 73 74 20 69 6e 74 20 53 49 4f 5f 47 45 54 onst int SIO_GET 8b20: 5f 51 4f 53 20 20 20 20 20 20 20 20 20 20 20 20 _QOS 8b30: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 5f 57 = _W 8b40: 53 41 49 4f 52 57 21 28 49 4f 43 5f 57 53 32 2c SAIORW!(IOC_WS2, 8b50: 37 29 3b 0d 0a 63 6f 6e 73 74 20 69 6e 74 20 53 7);..const int S 8b60: 49 4f 5f 47 45 54 5f 47 52 4f 55 50 5f 51 4f 53 IO_GET_GROUP_QOS 8b70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8b80: 20 20 3d 20 5f 57 53 41 49 4f 52 57 21 28 49 4f = _WSAIORW!(IO 8b90: 43 5f 57 53 32 2c 38 29 3b 0d 0a 63 6f 6e 73 74 C_WS2,8);..const 8ba0: 20 69 6e 74 20 53 49 4f 5f 4d 55 4c 54 49 50 4f int SIO_MULTIPO 8bb0: 49 4e 54 5f 4c 4f 4f 50 42 41 43 4b 20 20 20 20 INT_LOOPBACK 8bc0: 20 20 20 20 20 20 20 20 3d 20 5f 57 53 41 49 4f = _WSAIO 8bd0: 57 21 28 49 4f 43 5f 57 53 32 2c 39 29 3b 0d 0a W!(IOC_WS2,9);.. 8be0: 63 6f 6e 73 74 20 69 6e 74 20 53 49 4f 5f 4d 55 const int SIO_MU 8bf0: 4c 54 49 43 41 53 54 5f 53 43 4f 50 45 20 20 20 LTICAST_SCOPE 8c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 5f = _ 8c10: 57 53 41 49 4f 57 21 28 49 4f 43 5f 57 53 32 2c WSAIOW!(IOC_WS2, 8c20: 31 30 29 3b 0d 0a 63 6f 6e 73 74 20 69 6e 74 20 10);..const int 8c30: 53 49 4f 5f 53 45 54 5f 51 4f 53 20 20 20 20 20 SIO_SET_QOS 8c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8c50: 20 20 20 3d 20 5f 57 53 41 49 4f 57 21 28 49 4f = _WSAIOW!(IO 8c60: 43 5f 57 53 32 2c 31 31 29 3b 0d 0a 63 6f 6e 73 C_WS2,11);..cons 8c70: 74 20 69 6e 74 20 53 49 4f 5f 53 45 54 5f 47 52 t int SIO_SET_GR 8c80: 4f 55 50 5f 51 4f 53 20 20 20 20 20 20 20 20 20 OUP_QOS 8c90: 20 20 20 20 20 20 20 20 20 3d 20 5f 57 53 41 49 = _WSAI 8ca0: 4f 57 21 28 49 4f 43 5f 57 53 32 2c 31 32 29 3b OW!(IOC_WS2,12); 8cb0: 0d 0a 63 6f 6e 73 74 20 69 6e 74 20 53 49 4f 5f ..const int SIO_ 8cc0: 54 52 41 4e 53 4c 41 54 45 5f 48 41 4e 44 4c 45 TRANSLATE_HANDLE 8cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d = 8ce0: 20 5f 57 53 41 49 4f 52 57 21 28 49 4f 43 5f 57 _WSAIORW!(IOC_W 8cf0: 53 32 2c 31 33 29 3b 0d 0a 63 6f 6e 73 74 20 69 S2,13);..const i 8d00: 6e 74 20 53 49 4f 5f 52 4f 55 54 49 4e 47 5f 49 nt SIO_ROUTING_I 8d10: 4e 54 45 52 46 41 43 45 5f 51 55 45 52 59 20 20 NTERFACE_QUERY 8d20: 20 20 20 20 20 20 3d 20 5f 57 53 41 49 4f 52 57 = _WSAIORW 8d30: 21 28 49 4f 43 5f 57 53 32 2c 32 30 29 3b 0d 0a !(IOC_WS2,20);.. 8d40: 63 6f 6e 73 74 20 69 6e 74 20 53 49 4f 5f 52 4f const int SIO_RO 8d50: 55 54 49 4e 47 5f 49 4e 54 45 52 46 41 43 45 5f UTING_INTERFACE_ 8d60: 43 48 41 4e 47 45 20 20 20 20 20 20 20 3d 20 5f CHANGE = _ 8d70: 57 53 41 49 4f 57 21 28 49 4f 43 5f 57 53 32 2c WSAIOW!(IOC_WS2, 8d80: 32 31 29 3b 0d 0a 63 6f 6e 73 74 20 69 6e 74 20 21);..const int 8d90: 53 49 4f 5f 41 44 44 52 45 53 53 5f 4c 49 53 54 SIO_ADDRESS_LIST 8da0: 5f 51 55 45 52 59 20 20 20 20 20 20 20 20 20 20 _QUERY 8db0: 20 20 20 3d 20 5f 57 53 41 49 4f 52 21 28 49 4f = _WSAIOR!(IO 8dc0: 43 5f 57 53 32 2c 32 32 29 3b 0d 0a 63 6f 6e 73 C_WS2,22);..cons 8dd0: 74 20 69 6e 74 20 53 49 4f 5f 41 44 44 52 45 53 t int SIO_ADDRES 8de0: 53 5f 4c 49 53 54 5f 43 48 41 4e 47 45 20 20 20 S_LIST_CHANGE 8df0: 20 20 20 20 20 20 20 20 20 3d 20 5f 57 53 41 49 = _WSAI 8e00: 4f 21 28 49 4f 43 5f 57 53 32 2c 32 33 29 3b 0d O!(IOC_WS2,23);. 8e10: 0a 63 6f 6e 73 74 20 69 6e 74 20 53 49 4f 5f 51 .const int SIO_Q 8e20: 55 45 52 59 5f 54 41 52 47 45 54 5f 50 4e 50 5f UERY_TARGET_PNP_ 8e30: 48 41 4e 44 4c 45 20 20 20 20 20 20 20 20 3d 20 HANDLE = 8e40: 5f 57 53 41 49 4f 52 21 28 49 4f 43 5f 57 53 32 _WSAIOR!(IOC_WS2 8e50: 2c 32 34 29 3b 0d 0a 63 6f 6e 73 74 20 69 6e 74 ,24);..const int 8e60: 20 53 49 4f 5f 4e 53 50 5f 4e 4f 54 49 46 59 5f SIO_NSP_NOTIFY_ 8e70: 43 48 41 4e 47 45 20 20 20 20 20 20 20 20 20 20 CHANGE 8e80: 20 20 20 20 3d 20 5f 57 53 41 49 4f 57 21 28 49 = _WSAIOW!(I 8e90: 4f 43 5f 57 53 32 2c 32 35 29 3b 0d 0a 0d 0a 63 OC_WS2,25);....c 8ea0: 6f 6e 73 74 20 69 6e 74 20 54 48 5f 4e 45 54 44 onst int TH_NETD 8eb0: 45 56 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 69 EV = 1;..const i 8ec0: 6e 74 20 54 48 5f 54 41 50 49 20 20 20 3d 20 32 nt TH_TAPI = 2 8ed0: 3b 0d 0a 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 ;......extern(Wi 8ee0: 6e 64 6f 77 73 29 20 7b 0d 0a 09 53 4f 43 4b 45 ndows) {...SOCKE 8ef0: 54 20 57 53 41 41 63 63 65 70 74 28 53 4f 43 4b T WSAAccept(SOCK 8f00: 45 54 2c 20 53 4f 43 4b 41 44 44 52 2a 2c 20 4c ET, SOCKADDR*, L 8f10: 50 49 4e 54 2c 20 4c 50 43 4f 4e 44 49 54 49 4f PINT, LPCONDITIO 8f20: 4e 50 52 4f 43 2c 20 44 57 4f 52 44 29 3b 0d 0a NPROC, DWORD);.. 8f30: 09 49 4e 54 20 57 53 41 41 64 64 72 65 73 73 54 .INT WSAAddressT 8f40: 6f 53 74 72 69 6e 67 41 28 4c 50 53 4f 43 4b 41 oStringA(LPSOCKA 8f50: 44 44 52 2c 20 44 57 4f 52 44 2c 20 4c 50 57 53 DDR, DWORD, LPWS 8f60: 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 41 2c APROTOCOL_INFOA, 8f70: 20 4c 50 53 54 52 2c 20 4c 50 44 57 4f 52 44 29 LPSTR, LPDWORD) 8f80: 3b 0d 0a 09 49 4e 54 20 57 53 41 41 64 64 72 65 ;...INT WSAAddre 8f90: 73 73 54 6f 53 74 72 69 6e 67 57 28 4c 50 53 4f ssToStringW(LPSO 8fa0: 43 4b 41 44 44 52 2c 20 44 57 4f 52 44 2c 20 4c CKADDR, DWORD, L 8fb0: 50 57 53 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 PWSAPROTOCOL_INF 8fc0: 4f 57 2c 20 4c 50 57 53 54 52 2c 20 4c 50 44 57 OW, LPWSTR, LPDW 8fd0: 4f 52 44 29 3b 0d 0a 09 42 4f 4f 4c 20 57 53 41 ORD);...BOOL WSA 8fe0: 43 6c 6f 73 65 45 76 65 6e 74 28 57 53 41 45 56 CloseEvent(WSAEV 8ff0: 45 4e 54 29 3b 0d 0a 09 69 6e 74 20 57 53 41 43 ENT);...int WSAC 9000: 6f 6e 6e 65 63 74 28 53 4f 43 4b 45 54 2c 20 63 onnect(SOCKET, c 9010: 6f 6e 73 74 28 53 4f 43 4b 41 44 44 52 29 2a 2c onst(SOCKADDR)*, 9020: 20 69 6e 74 2c 20 4c 50 57 53 41 42 55 46 2c 20 int, LPWSABUF, 9030: 4c 50 57 53 41 42 55 46 2c 20 4c 50 51 4f 53 2c LPWSABUF, LPQOS, 9040: 20 4c 50 51 4f 53 29 3b 0d 0a 09 57 53 41 45 56 LPQOS);...WSAEV 9050: 45 4e 54 20 57 53 41 43 72 65 61 74 65 45 76 65 ENT WSACreateEve 9060: 6e 74 28 29 3b 0d 0a 09 69 6e 74 20 57 53 41 44 nt();...int WSAD 9070: 75 70 6c 69 63 61 74 65 53 6f 63 6b 65 74 41 28 uplicateSocketA( 9080: 53 4f 43 4b 45 54 2c 20 44 57 4f 52 44 2c 20 4c SOCKET, DWORD, L 9090: 50 57 53 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 PWSAPROTOCOL_INF 90a0: 4f 41 29 3b 0d 0a 09 69 6e 74 20 57 53 41 44 75 OA);...int WSADu 90b0: 70 6c 69 63 61 74 65 53 6f 63 6b 65 74 57 28 53 plicateSocketW(S 90c0: 4f 43 4b 45 54 2c 20 44 57 4f 52 44 2c 20 4c 50 OCKET, DWORD, LP 90d0: 57 53 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 4f WSAPROTOCOL_INFO 90e0: 57 29 3b 0d 0a 09 49 4e 54 20 57 53 41 45 6e 75 W);...INT WSAEnu 90f0: 6d 4e 61 6d 65 53 70 61 63 65 50 72 6f 76 69 64 mNameSpaceProvid 9100: 65 72 73 41 28 4c 50 44 57 4f 52 44 2c 20 4c 50 ersA(LPDWORD, LP 9110: 57 53 41 4e 41 4d 45 53 50 41 43 45 5f 49 4e 46 WSANAMESPACE_INF 9120: 4f 41 29 3b 0d 0a 09 49 4e 54 20 57 53 41 45 6e OA);...INT WSAEn 9130: 75 6d 4e 61 6d 65 53 70 61 63 65 50 72 6f 76 69 umNameSpaceProvi 9140: 64 65 72 73 57 28 4c 50 44 57 4f 52 44 2c 20 4c dersW(LPDWORD, L 9150: 50 57 53 41 4e 41 4d 45 53 50 41 43 45 5f 49 4e PWSANAMESPACE_IN 9160: 46 4f 57 29 3b 0d 0a 09 69 6e 74 20 57 53 41 45 FOW);...int WSAE 9170: 6e 75 6d 4e 65 74 77 6f 72 6b 45 76 65 6e 74 73 numNetworkEvents 9180: 28 53 4f 43 4b 45 54 2c 20 57 53 41 45 56 45 4e (SOCKET, WSAEVEN 9190: 54 2c 20 4c 50 57 53 41 4e 45 54 57 4f 52 4b 45 T, LPWSANETWORKE 91a0: 56 45 4e 54 53 29 3b 0d 0a 09 69 6e 74 20 57 53 VENTS);...int WS 91b0: 41 45 6e 75 6d 50 72 6f 74 6f 63 6f 6c 73 41 28 AEnumProtocolsA( 91c0: 4c 50 49 4e 54 2c 20 4c 50 57 53 41 50 52 4f 54 LPINT, LPWSAPROT 91d0: 4f 43 4f 4c 5f 49 4e 46 4f 41 2c 20 4c 50 44 57 OCOL_INFOA, LPDW 91e0: 4f 52 44 29 3b 0d 0a 09 69 6e 74 20 57 53 41 45 ORD);...int WSAE 91f0: 6e 75 6d 50 72 6f 74 6f 63 6f 6c 73 57 28 4c 50 numProtocolsW(LP 9200: 49 4e 54 2c 20 4c 50 57 53 41 50 52 4f 54 4f 43 INT, LPWSAPROTOC 9210: 4f 4c 5f 49 4e 46 4f 57 2c 20 4c 50 44 57 4f 52 OL_INFOW, LPDWOR 9220: 44 29 3b 0d 0a 09 69 6e 74 20 57 53 41 45 76 65 D);...int WSAEve 9230: 6e 74 53 65 6c 65 63 74 28 53 4f 43 4b 45 54 2c ntSelect(SOCKET, 9240: 20 57 53 41 45 56 45 4e 54 2c 20 69 6e 74 29 3b WSAEVENT, int); 9250: 0d 0a 09 42 4f 4f 4c 20 57 53 41 47 65 74 4f 76 ...BOOL WSAGetOv 9260: 65 72 6c 61 70 70 65 64 52 65 73 75 6c 74 28 53 erlappedResult(S 9270: 4f 43 4b 45 54 2c 20 4c 50 57 53 41 4f 56 45 52 OCKET, LPWSAOVER 9280: 4c 41 50 50 45 44 2c 20 4c 50 44 57 4f 52 44 2c LAPPED, LPDWORD, 9290: 20 42 4f 4f 4c 2c 20 4c 50 44 57 4f 52 44 29 3b BOOL, LPDWORD); 92a0: 0d 0a 09 42 4f 4f 4c 20 57 53 41 47 65 74 51 4f ...BOOL WSAGetQO 92b0: 53 42 79 4e 61 6d 65 28 53 4f 43 4b 45 54 2c 20 SByName(SOCKET, 92c0: 4c 50 57 53 41 42 55 46 2c 20 4c 50 51 4f 53 29 LPWSABUF, LPQOS) 92d0: 3b 0d 0a 09 49 4e 54 20 57 53 41 47 65 74 53 65 ;...INT WSAGetSe 92e0: 72 76 69 63 65 43 6c 61 73 73 49 6e 66 6f 41 28 rviceClassInfoA( 92f0: 4c 50 47 55 49 44 2c 20 4c 50 47 55 49 44 2c 20 LPGUID, LPGUID, 9300: 4c 50 44 57 4f 52 44 2c 20 4c 50 57 53 41 53 45 LPDWORD, LPWSASE 9310: 52 56 49 43 45 43 4c 41 53 53 49 4e 46 4f 41 29 RVICECLASSINFOA) 9320: 3b 0d 0a 09 49 4e 54 20 57 53 41 47 65 74 53 65 ;...INT WSAGetSe 9330: 72 76 69 63 65 43 6c 61 73 73 49 6e 66 6f 57 28 rviceClassInfoW( 9340: 4c 50 47 55 49 44 2c 20 4c 50 47 55 49 44 2c 20 LPGUID, LPGUID, 9350: 4c 50 44 57 4f 52 44 2c 20 4c 50 57 53 41 53 45 LPDWORD, LPWSASE 9360: 52 56 49 43 45 43 4c 41 53 53 49 4e 46 4f 57 29 RVICECLASSINFOW) 9370: 3b 0d 0a 09 49 4e 54 20 57 53 41 47 65 74 53 65 ;...INT WSAGetSe 9380: 72 76 69 63 65 43 6c 61 73 73 4e 61 6d 65 42 79 rviceClassNameBy 9390: 43 6c 61 73 73 49 64 41 28 4c 50 47 55 49 44 2c ClassIdA(LPGUID, 93a0: 20 4c 50 53 54 52 2c 20 4c 50 44 57 4f 52 44 29 LPSTR, LPDWORD) 93b0: 3b 0d 0a 09 49 4e 54 20 57 53 41 47 65 74 53 65 ;...INT WSAGetSe 93c0: 72 76 69 63 65 43 6c 61 73 73 4e 61 6d 65 42 79 rviceClassNameBy 93d0: 43 6c 61 73 73 49 64 57 28 4c 50 47 55 49 44 2c ClassIdW(LPGUID, 93e0: 20 4c 50 57 53 54 52 2c 20 4c 50 44 57 4f 52 44 LPWSTR, LPDWORD 93f0: 29 3b 0d 0a 09 69 6e 74 20 57 53 41 48 74 6f 6e );...int WSAHton 9400: 6c 28 53 4f 43 4b 45 54 2c 20 75 69 6e 74 2c 20 l(SOCKET, uint, 9410: 75 69 6e 74 2a 29 3b 0d 0a 09 69 6e 74 20 57 53 uint*);...int WS 9420: 41 48 74 6f 6e 73 28 53 4f 43 4b 45 54 2c 20 75 AHtons(SOCKET, u 9430: 73 68 6f 72 74 2c 20 75 73 68 6f 72 74 2a 29 3b short, ushort*); 9440: 0d 0a 09 49 4e 54 20 57 53 41 49 6e 73 74 61 6c ...INT WSAInstal 9450: 6c 53 65 72 76 69 63 65 43 6c 61 73 73 41 28 4c lServiceClassA(L 9460: 50 57 53 41 53 45 52 56 49 43 45 43 4c 41 53 53 PWSASERVICECLASS 9470: 49 4e 46 4f 41 29 3b 0d 0a 09 49 4e 54 20 57 53 INFOA);...INT WS 9480: 41 49 6e 73 74 61 6c 6c 53 65 72 76 69 63 65 43 AInstallServiceC 9490: 6c 61 73 73 57 28 4c 50 57 53 41 53 45 52 56 49 lassW(LPWSASERVI 94a0: 43 45 43 4c 41 53 53 49 4e 46 4f 57 29 3b 0d 0a CECLASSINFOW);.. 94b0: 09 69 6e 74 20 57 53 41 49 6f 63 74 6c 28 53 4f .int WSAIoctl(SO 94c0: 43 4b 45 54 2c 20 44 57 4f 52 44 2c 20 4c 50 56 CKET, DWORD, LPV 94d0: 4f 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50 56 4f OID, DWORD, LPVO 94e0: 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50 44 57 4f ID, DWORD, LPDWO 94f0: 52 44 2c 20 4c 50 57 53 41 4f 56 45 52 4c 41 50 RD, LPWSAOVERLAP 9500: 50 45 44 2c 20 4c 50 57 53 41 4f 56 45 52 4c 41 PED, LPWSAOVERLA 9510: 50 50 45 44 5f 43 4f 4d 50 4c 45 54 49 4f 4e 5f PPED_COMPLETION_ 9520: 52 4f 55 54 49 4e 45 29 3b 0d 0a 09 53 4f 43 4b ROUTINE);...SOCK 9530: 45 54 20 57 53 41 4a 6f 69 6e 4c 65 61 66 28 53 ET WSAJoinLeaf(S 9540: 4f 43 4b 45 54 2c 20 63 6f 6e 73 74 28 53 4f 43 OCKET, const(SOC 9550: 4b 41 44 44 52 29 2a 2c 20 69 6e 74 2c 20 4c 50 KADDR)*, int, LP 9560: 57 53 41 42 55 46 2c 20 4c 50 57 53 41 42 55 46 WSABUF, LPWSABUF 9570: 2c 20 4c 50 51 4f 53 2c 20 4c 50 51 4f 53 2c 20 , LPQOS, LPQOS, 9580: 44 57 4f 52 44 29 3b 0d 0a 09 49 4e 54 20 57 53 DWORD);...INT WS 9590: 41 4c 6f 6f 6b 75 70 53 65 72 76 69 63 65 42 65 ALookupServiceBe 95a0: 67 69 6e 41 28 4c 50 57 53 41 51 55 45 52 59 53 ginA(LPWSAQUERYS 95b0: 45 54 41 2c 20 44 57 4f 52 44 2c 20 4c 50 48 41 ETA, DWORD, LPHA 95c0: 4e 44 4c 45 29 3b 0d 0a 09 49 4e 54 20 57 53 41 NDLE);...INT WSA 95d0: 4c 6f 6f 6b 75 70 53 65 72 76 69 63 65 42 65 67 LookupServiceBeg 95e0: 69 6e 57 28 4c 50 57 53 41 51 55 45 52 59 53 45 inW(LPWSAQUERYSE 95f0: 54 57 20 6c 70 71 73 52 65 73 74 72 69 63 74 69 TW lpqsRestricti 9600: 6f 6e 73 2c 20 44 57 4f 52 44 2c 20 4c 50 48 41 ons, DWORD, LPHA 9610: 4e 44 4c 45 29 3b 0d 0a 09 49 4e 54 20 57 53 41 NDLE);...INT WSA 9620: 4c 6f 6f 6b 75 70 53 65 72 76 69 63 65 4e 65 78 LookupServiceNex 9630: 74 41 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 tA(HANDLE, DWORD 9640: 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 57 53 41 , LPDWORD, LPWSA 9650: 51 55 45 52 59 53 45 54 41 29 3b 0d 0a 09 49 4e QUERYSETA);...IN 9660: 54 20 57 53 41 4c 6f 6f 6b 75 70 53 65 72 76 69 T WSALookupServi 9670: 63 65 4e 65 78 74 57 28 48 41 4e 44 4c 45 2c 20 ceNextW(HANDLE, 9680: 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 2c 20 DWORD, LPDWORD, 9690: 4c 50 57 53 41 51 55 45 52 59 53 45 54 57 29 3b LPWSAQUERYSETW); 96a0: 0d 0a 09 49 4e 54 20 57 53 41 4c 6f 6f 6b 75 70 ...INT WSALookup 96b0: 53 65 72 76 69 63 65 45 6e 64 28 48 41 4e 44 4c ServiceEnd(HANDL 96c0: 45 29 3b 0d 0a 09 69 6e 74 20 57 53 41 4e 53 50 E);...int WSANSP 96d0: 49 6f 63 74 6c 28 48 41 4e 44 4c 45 2c 44 57 4f Ioctl(HANDLE,DWO 96e0: 52 44 2c 4c 50 56 4f 49 44 2c 44 57 4f 52 44 2c RD,LPVOID,DWORD, 96f0: 4c 50 56 4f 49 44 2c 44 57 4f 52 44 2c 4c 50 44 LPVOID,DWORD,LPD 9700: 57 4f 52 44 2c 4c 50 57 53 41 43 4f 4d 50 4c 45 WORD,LPWSACOMPLE 9710: 54 49 4f 4e 29 3b 20 2f 2a 20 58 50 20 6f 72 20 TION); /* XP or 9720: 2e 4e 45 54 20 53 65 72 76 65 72 20 2a 2f 0d 0a .NET Server */.. 9730: 09 69 6e 74 20 57 53 41 4e 74 6f 68 6c 28 53 4f .int WSANtohl(SO 9740: 43 4b 45 54 2c 20 75 69 6e 74 2c 20 75 69 6e 74 CKET, uint, uint 9750: 2a 29 3b 0d 0a 09 69 6e 74 20 57 53 41 4e 74 6f *);...int WSANto 9760: 68 73 28 53 4f 43 4b 45 54 2c 20 75 73 68 6f 72 hs(SOCKET, ushor 9770: 74 2c 20 75 73 68 6f 72 74 2a 29 3b 0d 0a 09 69 t, ushort*);...i 9780: 6e 74 20 57 53 41 52 65 63 76 28 53 4f 43 4b 45 nt WSARecv(SOCKE 9790: 54 2c 20 4c 50 57 53 41 42 55 46 2c 20 44 57 4f T, LPWSABUF, DWO 97a0: 52 44 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 44 RD, LPDWORD, LPD 97b0: 57 4f 52 44 2c 20 4c 50 57 53 41 4f 56 45 52 4c WORD, LPWSAOVERL 97c0: 41 50 50 45 44 2c 20 4c 50 57 53 41 4f 56 45 52 APPED, LPWSAOVER 97d0: 4c 41 50 50 45 44 5f 43 4f 4d 50 4c 45 54 49 4f LAPPED_COMPLETIO 97e0: 4e 5f 52 4f 55 54 49 4e 45 29 3b 0d 0a 09 69 6e N_ROUTINE);...in 97f0: 74 20 57 53 41 52 65 63 76 44 69 73 63 6f 6e 6e t WSARecvDisconn 9800: 65 63 74 28 53 4f 43 4b 45 54 2c 20 4c 50 57 53 ect(SOCKET, LPWS 9810: 41 42 55 46 29 3b 0d 0a 09 69 6e 74 20 57 53 41 ABUF);...int WSA 9820: 52 65 63 76 46 72 6f 6d 28 53 4f 43 4b 45 54 2c RecvFrom(SOCKET, 9830: 20 4c 50 57 53 41 42 55 46 2c 20 44 57 4f 52 44 LPWSABUF, DWORD 9840: 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f , LPDWORD, LPDWO 9850: 52 44 2c 20 53 4f 43 4b 41 44 44 52 2a 2c 20 4c RD, SOCKADDR*, L 9860: 50 49 4e 54 2c 20 4c 50 57 53 41 4f 56 45 52 4c PINT, LPWSAOVERL 9870: 41 50 50 45 44 2c 20 4c 50 57 53 41 4f 56 45 52 APPED, LPWSAOVER 9880: 4c 41 50 50 45 44 5f 43 4f 4d 50 4c 45 54 49 4f LAPPED_COMPLETIO 9890: 4e 5f 52 4f 55 54 49 4e 45 29 3b 0d 0a 09 49 4e N_ROUTINE);...IN 98a0: 54 20 57 53 41 52 65 6d 6f 76 65 53 65 72 76 69 T WSARemoveServi 98b0: 63 65 43 6c 61 73 73 28 4c 50 47 55 49 44 29 3b ceClass(LPGUID); 98c0: 0d 0a 09 42 4f 4f 4c 20 57 53 41 52 65 73 65 74 ...BOOL WSAReset 98d0: 45 76 65 6e 74 28 57 53 41 45 56 45 4e 54 29 3b Event(WSAEVENT); 98e0: 0d 0a 09 69 6e 74 20 57 53 41 53 65 6e 64 28 53 ...int WSASend(S 98f0: 4f 43 4b 45 54 2c 20 4c 50 57 53 41 42 55 46 2c OCKET, LPWSABUF, 9900: 20 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 2c DWORD, LPDWORD, 9910: 20 44 57 4f 52 44 2c 20 4c 50 57 53 41 4f 56 45 DWORD, LPWSAOVE 9920: 52 4c 41 50 50 45 44 2c 20 4c 50 57 53 41 4f 56 RLAPPED, LPWSAOV 9930: 45 52 4c 41 50 50 45 44 5f 43 4f 4d 50 4c 45 54 ERLAPPED_COMPLET 9940: 49 4f 4e 5f 52 4f 55 54 49 4e 45 29 3b 0d 0a 09 ION_ROUTINE);... 9950: 69 6e 74 20 57 53 41 53 65 6e 64 44 69 73 63 6f int WSASendDisco 9960: 6e 6e 65 63 74 28 53 4f 43 4b 45 54 2c 20 4c 50 nnect(SOCKET, LP 9970: 57 53 41 42 55 46 29 3b 0d 0a 09 69 6e 74 20 57 WSABUF);...int W 9980: 53 41 53 65 6e 64 54 6f 28 53 4f 43 4b 45 54 2c SASendTo(SOCKET, 9990: 20 4c 50 57 53 41 42 55 46 2c 20 44 57 4f 52 44 LPWSABUF, DWORD 99a0: 2c 20 4c 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 , LPDWORD, DWORD 99b0: 2c 20 63 6f 6e 73 74 28 53 4f 43 4b 41 44 44 52 , const(SOCKADDR 99c0: 29 2a 2c 20 69 6e 74 2c 20 4c 50 57 53 41 4f 56 )*, int, LPWSAOV 99d0: 45 52 4c 41 50 50 45 44 2c 20 4c 50 57 53 41 4f ERLAPPED, LPWSAO 99e0: 56 45 52 4c 41 50 50 45 44 5f 43 4f 4d 50 4c 45 VERLAPPED_COMPLE 99f0: 54 49 4f 4e 5f 52 4f 55 54 49 4e 45 29 3b 0d 0a TION_ROUTINE);.. 9a00: 09 42 4f 4f 4c 20 57 53 41 53 65 74 45 76 65 6e .BOOL WSASetEven 9a10: 74 28 57 53 41 45 56 45 4e 54 29 3b 0d 0a 09 49 t(WSAEVENT);...I 9a20: 4e 54 20 57 53 41 53 65 74 53 65 72 76 69 63 65 NT WSASetService 9a30: 41 28 4c 50 57 53 41 51 55 45 52 59 53 45 54 41 A(LPWSAQUERYSETA 9a40: 2c 20 57 53 41 45 53 45 54 53 45 52 56 49 43 45 , WSAESETSERVICE 9a50: 4f 50 2c 20 44 57 4f 52 44 29 3b 20 2f 2f 20 4e OP, DWORD); // N 9a60: 42 3a 20 77 61 73 20 64 65 63 6c 61 72 65 64 20 B: was declared 9a70: 77 69 74 68 20 22 57 53 41 41 50 49 22 20 6c 69 with "WSAAPI" li 9a80: 6e 6b 61 67 65 0d 0a 09 49 4e 54 20 57 53 41 53 nkage...INT WSAS 9a90: 65 74 53 65 72 76 69 63 65 57 28 4c 50 57 53 41 etServiceW(LPWSA 9aa0: 51 55 45 52 59 53 45 54 57 2c 20 57 53 41 45 53 QUERYSETW, WSAES 9ab0: 45 54 53 45 52 56 49 43 45 4f 50 2c 20 44 57 4f ETSERVICEOP, DWO 9ac0: 52 44 29 3b 0d 0a 09 53 4f 43 4b 45 54 20 57 53 RD);...SOCKET WS 9ad0: 41 53 6f 63 6b 65 74 41 28 69 6e 74 2c 20 69 6e ASocketA(int, in 9ae0: 74 2c 20 69 6e 74 2c 20 4c 50 57 53 41 50 52 4f t, int, LPWSAPRO 9af0: 54 4f 43 4f 4c 5f 49 4e 46 4f 41 2c 20 47 52 4f TOCOL_INFOA, GRO 9b00: 55 50 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 53 4f UP, DWORD);...SO 9b10: 43 4b 45 54 20 57 53 41 53 6f 63 6b 65 74 57 28 CKET WSASocketW( 9b20: 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 4c int, int, int, L 9b30: 50 57 53 41 50 52 4f 54 4f 43 4f 4c 5f 49 4e 46 PWSAPROTOCOL_INF 9b40: 4f 57 2c 20 47 52 4f 55 50 2c 20 44 57 4f 52 44 OW, GROUP, DWORD 9b50: 29 3b 0d 0a 09 49 4e 54 20 57 53 41 53 74 72 69 );...INT WSAStri 9b60: 6e 67 54 6f 41 64 64 72 65 73 73 41 28 4c 50 53 ngToAddressA(LPS 9b70: 54 52 2c 20 49 4e 54 2c 20 4c 50 57 53 41 50 52 TR, INT, LPWSAPR 9b80: 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 41 2c 20 4c 50 OTOCOL_INFOA, LP 9b90: 53 4f 43 4b 41 44 44 52 2c 20 4c 50 49 4e 54 29 SOCKADDR, LPINT) 9ba0: 3b 0d 0a 09 49 4e 54 20 57 53 41 53 74 72 69 6e ;...INT WSAStrin 9bb0: 67 54 6f 41 64 64 72 65 73 73 57 28 4c 50 57 53 gToAddressW(LPWS 9bc0: 54 52 2c 20 49 4e 54 2c 20 4c 50 57 53 41 50 52 TR, INT, LPWSAPR 9bd0: 4f 54 4f 43 4f 4c 5f 49 4e 46 4f 57 2c 20 4c 50 OTOCOL_INFOW, LP 9be0: 53 4f 43 4b 41 44 44 52 2c 20 4c 50 49 4e 54 29 SOCKADDR, LPINT) 9bf0: 3b 0d 0a 09 44 57 4f 52 44 20 57 53 41 57 61 69 ;...DWORD WSAWai 9c00: 74 46 6f 72 4d 75 6c 74 69 70 6c 65 45 76 65 6e tForMultipleEven 9c10: 74 73 28 44 57 4f 52 44 2c 20 63 6f 6e 73 74 28 ts(DWORD, const( 9c20: 57 53 41 45 56 45 4e 54 29 2a 2c 20 42 4f 4f 4c WSAEVENT)*, BOOL 9c30: 2c 20 44 57 4f 52 44 2c 20 42 4f 4f 4c 29 3b 0d , DWORD, BOOL);. 9c40: 0a 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 ....alias typeof 9c50: 28 26 57 53 41 41 63 63 65 70 74 29 20 4c 50 46 (&WSAAccept) LPF 9c60: 4e 5f 57 53 41 41 43 43 45 50 54 3b 0d 0a 09 61 N_WSAACCEPT;...a 9c70: 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 lias typeof(&WSA 9c80: 41 64 64 72 65 73 73 54 6f 53 74 72 69 6e 67 41 AddressToStringA 9c90: 29 20 4c 50 46 4e 5f 57 53 41 41 44 44 52 45 53 ) LPFN_WSAADDRES 9ca0: 53 54 4f 53 54 52 49 4e 47 41 3b 0d 0a 09 61 6c STOSTRINGA;...al 9cb0: 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 41 ias typeof(&WSAA 9cc0: 64 64 72 65 73 73 54 6f 53 74 72 69 6e 67 57 29 ddressToStringW) 9cd0: 20 4c 50 46 4e 5f 57 53 41 41 44 44 52 45 53 53 LPFN_WSAADDRESS 9ce0: 54 4f 53 54 52 49 4e 47 57 3b 0d 0a 09 61 6c 69 TOSTRINGW;...ali 9cf0: 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 43 6c as typeof(&WSACl 9d00: 6f 73 65 45 76 65 6e 74 29 20 4c 50 46 4e 5f 57 oseEvent) LPFN_W 9d10: 53 41 43 4c 4f 53 45 45 56 45 4e 54 3b 0d 0a 09 SACLOSEEVENT;... 9d20: 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 alias typeof(&WS 9d30: 41 43 6f 6e 6e 65 63 74 29 20 4c 50 46 4e 5f 57 AConnect) LPFN_W 9d40: 53 41 43 4f 4e 4e 45 43 54 3b 0d 0a 09 61 6c 69 SACONNECT;...ali 9d50: 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 43 72 as typeof(&WSACr 9d60: 65 61 74 65 45 76 65 6e 74 29 20 4c 50 46 4e 5f eateEvent) LPFN_ 9d70: 57 53 41 43 52 45 41 54 45 45 56 45 4e 54 3b 0d WSACREATEEVENT;. 9d80: 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 ..alias typeof(& 9d90: 57 53 41 44 75 70 6c 69 63 61 74 65 53 6f 63 6b WSADuplicateSock 9da0: 65 74 41 29 20 4c 50 46 4e 5f 57 53 41 44 55 50 etA) LPFN_WSADUP 9db0: 4c 49 43 41 54 45 53 4f 43 4b 45 54 41 3b 0d 0a LICATESOCKETA;.. 9dc0: 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 .alias typeof(&W 9dd0: 53 41 44 75 70 6c 69 63 61 74 65 53 6f 63 6b 65 SADuplicateSocke 9de0: 74 57 29 20 4c 50 46 4e 5f 57 53 41 44 55 50 4c tW) LPFN_WSADUPL 9df0: 49 43 41 54 45 53 4f 43 4b 45 54 57 3b 0d 0a 09 ICATESOCKETW;... 9e00: 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 alias typeof(&WS 9e10: 41 45 6e 75 6d 4e 61 6d 65 53 70 61 63 65 50 72 AEnumNameSpacePr 9e20: 6f 76 69 64 65 72 73 41 29 20 4c 50 46 4e 5f 57 ovidersA) LPFN_W 9e30: 53 41 45 4e 55 4d 4e 41 4d 45 53 50 41 43 45 50 SAENUMNAMESPACEP 9e40: 52 4f 56 49 44 45 52 53 41 3b 0d 0a 09 61 6c 69 ROVIDERSA;...ali 9e50: 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 45 6e as typeof(&WSAEn 9e60: 75 6d 4e 61 6d 65 53 70 61 63 65 50 72 6f 76 69 umNameSpaceProvi 9e70: 64 65 72 73 57 29 20 4c 50 46 4e 5f 57 53 41 45 dersW) LPFN_WSAE 9e80: 4e 55 4d 4e 41 4d 45 53 50 41 43 45 50 52 4f 56 NUMNAMESPACEPROV 9e90: 49 44 45 52 53 57 3b 0d 0a 09 61 6c 69 61 73 20 IDERSW;...alias 9ea0: 74 79 70 65 6f 66 28 26 57 53 41 45 6e 75 6d 4e typeof(&WSAEnumN 9eb0: 65 74 77 6f 72 6b 45 76 65 6e 74 73 29 20 4c 50 etworkEvents) LP 9ec0: 46 4e 5f 57 53 41 45 4e 55 4d 4e 45 54 57 4f 52 FN_WSAENUMNETWOR 9ed0: 4b 45 56 45 4e 54 53 3b 0d 0a 09 61 6c 69 61 73 KEVENTS;...alias 9ee0: 20 74 79 70 65 6f 66 28 26 57 53 41 45 6e 75 6d typeof(&WSAEnum 9ef0: 50 72 6f 74 6f 63 6f 6c 73 41 29 20 4c 50 46 4e ProtocolsA) LPFN 9f00: 5f 57 53 41 45 4e 55 4d 50 52 4f 54 4f 43 4f 4c _WSAENUMPROTOCOL 9f10: 53 41 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 SA;...alias type 9f20: 6f 66 28 26 57 53 41 45 6e 75 6d 50 72 6f 74 6f of(&WSAEnumProto 9f30: 63 6f 6c 73 57 29 20 4c 50 46 4e 5f 57 53 41 45 colsW) LPFN_WSAE 9f40: 4e 55 4d 50 52 4f 54 4f 43 4f 4c 53 57 3b 0d 0a NUMPROTOCOLSW;.. 9f50: 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 .alias typeof(&W 9f60: 53 41 45 76 65 6e 74 53 65 6c 65 63 74 29 20 4c SAEventSelect) L 9f70: 50 46 4e 5f 57 53 41 45 56 45 4e 54 53 45 4c 45 PFN_WSAEVENTSELE 9f80: 43 54 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 CT;...alias type 9f90: 6f 66 28 26 57 53 41 47 65 74 4f 76 65 72 6c 61 of(&WSAGetOverla 9fa0: 70 70 65 64 52 65 73 75 6c 74 29 20 4c 50 46 4e ppedResult) LPFN 9fb0: 5f 57 53 41 47 45 54 4f 56 45 52 4c 41 50 50 45 _WSAGETOVERLAPPE 9fc0: 44 52 45 53 55 4c 54 3b 0d 0a 09 61 6c 69 61 73 DRESULT;...alias 9fd0: 20 74 79 70 65 6f 66 28 26 57 53 41 47 65 74 51 typeof(&WSAGetQ 9fe0: 4f 53 42 79 4e 61 6d 65 29 20 4c 50 46 4e 5f 57 OSByName) LPFN_W 9ff0: 53 41 47 45 54 51 4f 53 42 59 4e 41 4d 45 3b 0d SAGETQOSBYNAME;. a000: 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 ..alias typeof(& a010: 57 53 41 47 65 74 53 65 72 76 69 63 65 43 6c 61 WSAGetServiceCla a020: 73 73 49 6e 66 6f 41 29 20 4c 50 46 4e 5f 57 53 ssInfoA) LPFN_WS a030: 41 47 45 54 53 45 52 56 49 43 45 43 4c 41 53 53 AGETSERVICECLASS a040: 49 4e 46 4f 41 3b 0d 0a 09 61 6c 69 61 73 20 74 INFOA;...alias t a050: 79 70 65 6f 66 28 26 57 53 41 47 65 74 53 65 72 ypeof(&WSAGetSer a060: 76 69 63 65 43 6c 61 73 73 49 6e 66 6f 57 29 20 viceClassInfoW) a070: 4c 50 46 4e 5f 57 53 41 47 45 54 53 45 52 56 49 LPFN_WSAGETSERVI a080: 43 45 43 4c 41 53 53 49 4e 46 4f 57 3b 0d 0a 09 CECLASSINFOW;... a090: 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 alias typeof(&WS a0a0: 41 47 65 74 53 65 72 76 69 63 65 43 6c 61 73 73 AGetServiceClass a0b0: 4e 61 6d 65 42 79 43 6c 61 73 73 49 64 41 29 20 NameByClassIdA) a0c0: 4c 50 46 4e 5f 57 53 41 47 45 54 53 45 52 56 49 LPFN_WSAGETSERVI a0d0: 43 45 43 4c 41 53 53 4e 41 4d 45 42 59 43 4c 41 CECLASSNAMEBYCLA a0e0: 53 53 49 44 41 3b 0d 0a 09 61 6c 69 61 73 20 74 SSIDA;...alias t a0f0: 79 70 65 6f 66 28 26 57 53 41 47 65 74 53 65 72 ypeof(&WSAGetSer a100: 76 69 63 65 43 6c 61 73 73 4e 61 6d 65 42 79 43 viceClassNameByC a110: 6c 61 73 73 49 64 57 29 20 4c 50 46 4e 5f 57 53 lassIdW) LPFN_WS a120: 41 47 45 54 53 45 52 56 49 43 45 43 4c 41 53 53 AGETSERVICECLASS a130: 4e 41 4d 45 42 59 43 4c 41 53 53 49 44 57 3b 0d NAMEBYCLASSIDW;. a140: 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 ..alias typeof(& a150: 57 53 41 48 74 6f 6e 6c 29 20 4c 50 46 4e 5f 57 WSAHtonl) LPFN_W a160: 53 41 48 54 4f 4e 4c 3b 0d 0a 09 61 6c 69 61 73 SAHTONL;...alias a170: 20 74 79 70 65 6f 66 28 26 57 53 41 48 74 6f 6e typeof(&WSAHton a180: 73 29 20 4c 50 46 4e 5f 57 53 41 48 54 4f 4e 53 s) LPFN_WSAHTONS a190: 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 ;...alias typeof a1a0: 28 26 57 53 41 49 6e 73 74 61 6c 6c 53 65 72 76 (&WSAInstallServ a1b0: 69 63 65 43 6c 61 73 73 41 29 20 4c 50 46 4e 5f iceClassA) LPFN_ a1c0: 57 53 41 49 4e 53 54 41 4c 4c 53 45 52 56 49 43 WSAINSTALLSERVIC a1d0: 45 43 4c 41 53 53 41 3b 0d 0a 09 61 6c 69 61 73 ECLASSA;...alias a1e0: 20 74 79 70 65 6f 66 28 26 57 53 41 49 6e 73 74 typeof(&WSAInst a1f0: 61 6c 6c 53 65 72 76 69 63 65 43 6c 61 73 73 57 allServiceClassW a200: 29 20 4c 50 46 4e 5f 57 53 41 49 4e 53 54 41 4c ) LPFN_WSAINSTAL a210: 4c 53 45 52 56 49 43 45 43 4c 41 53 53 57 3b 0d LSERVICECLASSW;. a220: 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 ..alias typeof(& a230: 57 53 41 49 6f 63 74 6c 29 20 4c 50 46 4e 5f 57 WSAIoctl) LPFN_W a240: 53 41 49 4f 43 54 4c 3b 0d 0a 09 61 6c 69 61 73 SAIOCTL;...alias a250: 20 74 79 70 65 6f 66 28 26 57 53 41 4a 6f 69 6e typeof(&WSAJoin a260: 4c 65 61 66 29 20 4c 50 46 4e 5f 57 53 41 4a 4f Leaf) LPFN_WSAJO a270: 49 4e 4c 45 41 46 3b 0d 0a 09 61 6c 69 61 73 20 INLEAF;...alias a280: 74 79 70 65 6f 66 28 26 57 53 41 4c 6f 6f 6b 75 typeof(&WSALooku a290: 70 53 65 72 76 69 63 65 42 65 67 69 6e 41 29 20 pServiceBeginA) a2a0: 4c 50 46 4e 5f 57 53 41 4c 4f 4f 4b 55 50 53 45 LPFN_WSALOOKUPSE a2b0: 52 56 49 43 45 42 45 47 49 4e 41 3b 0d 0a 09 61 RVICEBEGINA;...a a2c0: 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 lias typeof(&WSA a2d0: 4c 6f 6f 6b 75 70 53 65 72 76 69 63 65 42 65 67 LookupServiceBeg a2e0: 69 6e 57 29 20 4c 50 46 4e 5f 57 53 41 4c 4f 4f inW) LPFN_WSALOO a2f0: 4b 55 50 53 45 52 56 49 43 45 42 45 47 49 4e 57 KUPSERVICEBEGINW a300: 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 ;...alias typeof a310: 28 26 57 53 41 4c 6f 6f 6b 75 70 53 65 72 76 69 (&WSALookupServi a320: 63 65 4e 65 78 74 41 29 20 4c 50 46 4e 5f 57 53 ceNextA) LPFN_WS a330: 41 4c 4f 4f 4b 55 50 53 45 52 56 49 43 45 4e 45 ALOOKUPSERVICENE a340: 58 54 41 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 XTA;...alias typ a350: 65 6f 66 28 26 57 53 41 4c 6f 6f 6b 75 70 53 65 eof(&WSALookupSe a360: 72 76 69 63 65 4e 65 78 74 57 29 20 4c 50 46 4e rviceNextW) LPFN a370: 5f 57 53 41 4c 4f 4f 4b 55 50 53 45 52 56 49 43 _WSALOOKUPSERVIC a380: 45 4e 45 58 54 57 3b 0d 0a 09 61 6c 69 61 73 20 ENEXTW;...alias a390: 74 79 70 65 6f 66 28 26 57 53 41 4c 6f 6f 6b 75 typeof(&WSALooku a3a0: 70 53 65 72 76 69 63 65 45 6e 64 29 20 4c 50 46 pServiceEnd) LPF a3b0: 4e 5f 57 53 41 4c 4f 4f 4b 55 50 53 45 52 56 49 N_WSALOOKUPSERVI a3c0: 43 45 45 4e 44 3b 0d 0a 09 61 6c 69 61 73 20 74 CEEND;...alias t a3d0: 79 70 65 6f 66 28 26 57 53 41 4e 53 50 49 6f 63 ypeof(&WSANSPIoc a3e0: 74 6c 29 20 4c 50 46 4e 5f 57 53 41 4e 53 50 49 tl) LPFN_WSANSPI a3f0: 6f 63 74 6c 3b 0d 0a 09 61 6c 69 61 73 20 74 79 octl;...alias ty a400: 70 65 6f 66 28 26 57 53 41 4e 74 6f 68 6c 29 20 peof(&WSANtohl) a410: 4c 50 46 4e 5f 57 53 41 4e 54 4f 48 4c 3b 0d 0a LPFN_WSANTOHL;.. a420: 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 .alias typeof(&W a430: 53 41 4e 74 6f 68 73 29 20 4c 50 46 4e 5f 57 53 SANtohs) LPFN_WS a440: 41 4e 54 4f 48 53 3b 0d 0a 09 61 6c 69 61 73 20 ANTOHS;...alias a450: 74 79 70 65 6f 66 28 26 57 53 41 52 65 63 76 29 typeof(&WSARecv) a460: 20 4c 50 46 4e 5f 57 53 41 52 45 43 56 3b 0d 0a LPFN_WSARECV;.. a470: 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 .alias typeof(&W a480: 53 41 52 65 63 76 44 69 73 63 6f 6e 6e 65 63 74 SARecvDisconnect a490: 29 20 4c 50 46 4e 5f 57 53 41 52 45 43 56 44 49 ) LPFN_WSARECVDI a4a0: 53 43 4f 4e 4e 45 43 54 3b 0d 0a 09 61 6c 69 61 SCONNECT;...alia a4b0: 73 20 74 79 70 65 6f 66 28 26 57 53 41 52 65 63 s typeof(&WSARec a4c0: 76 46 72 6f 6d 29 20 4c 50 46 4e 5f 57 53 41 52 vFrom) LPFN_WSAR a4d0: 45 43 56 46 52 4f 4d 3b 0d 0a 09 61 6c 69 61 73 ECVFROM;...alias a4e0: 20 74 79 70 65 6f 66 28 26 57 53 41 52 65 6d 6f typeof(&WSARemo a4f0: 76 65 53 65 72 76 69 63 65 43 6c 61 73 73 29 20 veServiceClass) a500: 4c 50 46 4e 5f 57 53 41 52 45 4d 4f 56 45 53 45 LPFN_WSAREMOVESE a510: 52 56 49 43 45 43 4c 41 53 53 3b 0d 0a 09 61 6c RVICECLASS;...al a520: 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 52 ias typeof(&WSAR a530: 65 73 65 74 45 76 65 6e 74 29 20 4c 50 46 4e 5f esetEvent) LPFN_ a540: 57 53 41 52 45 53 45 54 45 56 45 4e 54 3b 0d 0a WSARESETEVENT;.. a550: 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 .alias typeof(&W a560: 53 41 53 65 6e 64 29 20 4c 50 46 4e 5f 57 53 41 SASend) LPFN_WSA a570: 53 45 4e 44 3b 0d 0a 09 61 6c 69 61 73 20 74 79 SEND;...alias ty a580: 70 65 6f 66 28 26 57 53 41 53 65 6e 64 44 69 73 peof(&WSASendDis a590: 63 6f 6e 6e 65 63 74 29 20 4c 50 46 4e 5f 57 53 connect) LPFN_WS a5a0: 41 53 45 4e 44 44 49 53 43 4f 4e 4e 45 43 54 3b ASENDDISCONNECT; a5b0: 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 ...alias typeof( a5c0: 26 57 53 41 53 65 6e 64 54 6f 29 20 4c 50 46 4e &WSASendTo) LPFN a5d0: 5f 57 53 41 53 45 4e 44 54 4f 3b 0d 0a 09 61 6c _WSASENDTO;...al a5e0: 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 53 ias typeof(&WSAS a5f0: 65 74 45 76 65 6e 74 29 20 4c 50 46 4e 5f 57 53 etEvent) LPFN_WS a600: 41 53 45 54 45 56 45 4e 54 3b 0d 0a 09 61 6c 69 ASETEVENT;...ali a610: 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 53 65 as typeof(&WSASe a620: 74 53 65 72 76 69 63 65 41 29 20 4c 50 46 4e 5f tServiceA) LPFN_ a630: 57 53 41 53 45 54 53 45 52 56 49 43 45 41 3b 0d WSASETSERVICEA;. a640: 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 ..alias typeof(& a650: 57 53 41 53 65 74 53 65 72 76 69 63 65 57 29 20 WSASetServiceW) a660: 4c 50 46 4e 5f 57 53 41 53 45 54 53 45 52 56 49 LPFN_WSASETSERVI a670: 43 45 57 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 CEW;...alias typ a680: 65 6f 66 28 26 57 53 41 53 6f 63 6b 65 74 41 29 eof(&WSASocketA) a690: 20 4c 50 46 4e 5f 57 53 41 53 4f 43 4b 45 54 41 LPFN_WSASOCKETA a6a0: 3b 0d 0a 09 61 6c 69 61 73 20 74 79 70 65 6f 66 ;...alias typeof a6b0: 28 26 57 53 41 53 6f 63 6b 65 74 57 29 20 4c 50 (&WSASocketW) LP a6c0: 46 4e 5f 57 53 41 53 4f 43 4b 45 54 57 3b 0d 0a FN_WSASOCKETW;.. a6d0: 09 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 .alias typeof(&W a6e0: 53 41 53 74 72 69 6e 67 54 6f 41 64 64 72 65 73 SAStringToAddres a6f0: 73 41 29 20 4c 50 46 4e 5f 57 53 41 53 54 52 49 sA) LPFN_WSASTRI a700: 4e 47 54 4f 41 44 44 52 45 53 53 41 3b 0d 0a 09 NGTOADDRESSA;... a710: 61 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 alias typeof(&WS a720: 41 53 74 72 69 6e 67 54 6f 41 64 64 72 65 73 73 AStringToAddress a730: 57 29 20 4c 50 46 4e 5f 57 53 41 53 54 52 49 4e W) LPFN_WSASTRIN a740: 47 54 4f 41 44 44 52 45 53 53 57 3b 0d 0a 09 61 GTOADDRESSW;...a a750: 6c 69 61 73 20 74 79 70 65 6f 66 28 26 57 53 41 lias typeof(&WSA a760: 57 61 69 74 46 6f 72 4d 75 6c 74 69 70 6c 65 45 WaitForMultipleE a770: 76 65 6e 74 73 29 20 4c 50 46 4e 5f 57 53 41 57 vents) LPFN_WSAW a780: 41 49 54 46 4f 52 4d 55 4c 54 49 50 4c 45 45 56 AITFORMULTIPLEEV a790: 45 4e 54 53 3b 0d 0a 7d 0d 0a 0d 0a 76 65 72 73 ENTS;..}....vers a7a0: 69 6f 6e 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a ion(Unicode) {.. a7b0: 09 61 6c 69 61 73 20 4c 50 46 4e 5f 57 53 41 41 .alias LPFN_WSAA a7c0: 44 44 52 45 53 53 54 4f 53 54 52 49 4e 47 57 20 DDRESSTOSTRINGW a7d0: 4c 50 46 4e 5f 57 53 41 41 44 44 52 45 53 53 54 LPFN_WSAADDRESST a7e0: 4f 53 54 52 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 OSTRING;...alias a7f0: 20 4c 50 46 4e 5f 57 53 41 44 55 50 4c 49 43 41 LPFN_WSADUPLICA a800: 54 45 53 4f 43 4b 45 54 57 20 4c 50 46 4e 5f 57 TESOCKETW LPFN_W a810: 53 41 44 55 50 4c 49 43 41 54 45 53 4f 43 4b 45 SADUPLICATESOCKE a820: 54 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 46 4e 5f T;...alias LPFN_ a830: 57 53 41 45 4e 55 4d 4e 41 4d 45 53 50 41 43 45 WSAENUMNAMESPACE a840: 50 52 4f 56 49 44 45 52 53 57 20 4c 50 46 4e 5f PROVIDERSW LPFN_ a850: 57 53 41 45 4e 55 4d 4e 41 4d 45 53 50 41 43 45 WSAENUMNAMESPACE a860: 50 52 4f 56 49 44 45 52 53 3b 0d 0a 09 61 6c 69 PROVIDERS;...ali a870: 61 73 20 4c 50 46 4e 5f 57 53 41 45 4e 55 4d 50 as LPFN_WSAENUMP a880: 52 4f 54 4f 43 4f 4c 53 57 20 4c 50 46 4e 5f 57 ROTOCOLSW LPFN_W a890: 53 41 45 4e 55 4d 50 52 4f 54 4f 43 4f 4c 53 3b SAENUMPROTOCOLS; a8a0: 0d 0a 09 61 6c 69 61 73 20 4c 50 46 4e 5f 57 53 ...alias LPFN_WS a8b0: 41 47 45 54 53 45 52 56 49 43 45 43 4c 41 53 53 AGETSERVICECLASS a8c0: 49 4e 46 4f 57 20 4c 50 46 4e 5f 57 53 41 47 45 INFOW LPFN_WSAGE a8d0: 54 53 45 52 56 49 43 45 43 4c 41 53 53 49 4e 46 TSERVICECLASSINF a8e0: 4f 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 46 4e 5f O;...alias LPFN_ a8f0: 57 53 41 47 45 54 53 45 52 56 49 43 45 43 4c 41 WSAGETSERVICECLA a900: 53 53 4e 41 4d 45 42 59 43 4c 41 53 53 49 44 57 SSNAMEBYCLASSIDW a910: 20 4c 50 46 4e 5f 57 53 41 47 45 54 53 45 52 56 LPFN_WSAGETSERV a920: 49 43 45 43 4c 41 53 53 4e 41 4d 45 42 59 43 4c ICECLASSNAMEBYCL a930: 41 53 53 49 44 3b 0d 0a 09 61 6c 69 61 73 20 4c ASSID;...alias L a940: 50 46 4e 5f 57 53 41 49 4e 53 54 41 4c 4c 53 45 PFN_WSAINSTALLSE a950: 52 56 49 43 45 43 4c 41 53 53 57 20 4c 50 46 4e RVICECLASSW LPFN a960: 5f 57 53 41 49 4e 53 54 41 4c 4c 53 45 52 56 49 _WSAINSTALLSERVI a970: 43 45 43 4c 41 53 53 3b 0d 0a 09 61 6c 69 61 73 CECLASS;...alias a980: 20 4c 50 46 4e 5f 57 53 41 4c 4f 4f 4b 55 50 53 LPFN_WSALOOKUPS a990: 45 52 56 49 43 45 42 45 47 49 4e 57 20 4c 50 46 ERVICEBEGINW LPF a9a0: 4e 5f 57 53 41 4c 4f 4f 4b 55 50 53 45 52 56 49 N_WSALOOKUPSERVI a9b0: 43 45 42 45 47 49 4e 3b 0d 0a 09 61 6c 69 61 73 CEBEGIN;...alias a9c0: 20 4c 50 46 4e 5f 57 53 41 4c 4f 4f 4b 55 50 53 LPFN_WSALOOKUPS a9d0: 45 52 56 49 43 45 4e 45 58 54 57 20 4c 50 46 4e ERVICENEXTW LPFN a9e0: 5f 57 53 41 4c 4f 4f 4b 55 50 53 45 52 56 49 43 _WSALOOKUPSERVIC a9f0: 45 4e 45 58 54 3b 0d 0a 09 61 6c 69 61 73 20 4c ENEXT;...alias L aa00: 50 46 4e 5f 57 53 41 53 45 54 53 45 52 56 49 43 PFN_WSASETSERVIC aa10: 45 57 20 4c 50 46 4e 5f 57 53 41 53 45 54 53 45 EW LPFN_WSASETSE aa20: 52 56 49 43 45 3b 0d 0a 09 61 6c 69 61 73 20 4c RVICE;...alias L aa30: 50 46 4e 5f 57 53 41 53 4f 43 4b 45 54 57 20 4c PFN_WSASOCKETW L aa40: 50 46 4e 5f 57 53 41 53 4f 43 4b 45 54 3b 0d 0a PFN_WSASOCKET;.. aa50: 09 61 6c 69 61 73 20 4c 50 46 4e 5f 57 53 41 53 .alias LPFN_WSAS aa60: 54 52 49 4e 47 54 4f 41 44 44 52 45 53 53 57 20 TRINGTOADDRESSW aa70: 4c 50 46 4e 5f 57 53 41 53 54 52 49 4e 47 54 4f LPFN_WSASTRINGTO aa80: 41 44 44 52 45 53 53 3b 0d 0a 09 61 6c 69 61 73 ADDRESS;...alias aa90: 20 57 53 41 41 64 64 72 65 73 73 54 6f 53 74 72 WSAAddressToStr aaa0: 69 6e 67 57 20 57 53 41 41 64 64 72 65 73 73 54 ingW WSAAddressT aab0: 6f 53 74 72 69 6e 67 3b 0d 0a 09 61 6c 69 61 73 oString;...alias aac0: 20 57 53 41 44 75 70 6c 69 63 61 74 65 53 6f 63 WSADuplicateSoc aad0: 6b 65 74 57 20 57 53 41 44 75 70 6c 69 63 61 74 ketW WSADuplicat aae0: 65 53 6f 63 6b 65 74 3b 0d 0a 09 61 6c 69 61 73 eSocket;...alias aaf0: 20 57 53 41 45 6e 75 6d 4e 61 6d 65 53 70 61 63 WSAEnumNameSpac ab00: 65 50 72 6f 76 69 64 65 72 73 57 20 57 53 41 45 eProvidersW WSAE ab10: 6e 75 6d 4e 61 6d 65 53 70 61 63 65 50 72 6f 76 numNameSpaceProv ab20: 69 64 65 72 73 3b 0d 0a 09 61 6c 69 61 73 20 57 iders;...alias W ab30: 53 41 45 6e 75 6d 50 72 6f 74 6f 63 6f 6c 73 57 SAEnumProtocolsW ab40: 20 57 53 41 45 6e 75 6d 50 72 6f 74 6f 63 6f 6c WSAEnumProtocol ab50: 73 3b 0d 0a 09 61 6c 69 61 73 20 57 53 41 47 65 s;...alias WSAGe ab60: 74 53 65 72 76 69 63 65 43 6c 61 73 73 49 6e 66 tServiceClassInf ab70: 6f 57 20 57 53 41 47 65 74 53 65 72 76 69 63 65 oW WSAGetService ab80: 43 6c 61 73 73 49 6e 66 6f 3b 0d 0a 09 61 6c 69 ClassInfo;...ali ab90: 61 73 20 57 53 41 47 65 74 53 65 72 76 69 63 65 as WSAGetService aba0: 43 6c 61 73 73 4e 61 6d 65 42 79 43 6c 61 73 73 ClassNameByClass abb0: 49 64 57 20 57 53 41 47 65 74 53 65 72 76 69 63 IdW WSAGetServic abc0: 65 43 6c 61 73 73 4e 61 6d 65 42 79 43 6c 61 73 eClassNameByClas abd0: 73 49 64 3b 0d 0a 09 61 6c 69 61 73 20 57 53 41 sId;...alias WSA abe0: 53 65 74 53 65 72 76 69 63 65 57 20 57 53 41 53 SetServiceW WSAS abf0: 65 74 53 65 72 76 69 63 65 3b 0d 0a 09 61 6c 69 etService;...ali ac00: 61 73 20 57 53 41 53 6f 63 6b 65 74 57 20 57 53 as WSASocketW WS ac10: 41 53 6f 63 6b 65 74 3b 0d 0a 09 61 6c 69 61 73 ASocket;...alias ac20: 20 57 53 41 53 74 72 69 6e 67 54 6f 41 64 64 72 WSAStringToAddr ac30: 65 73 73 57 20 57 53 41 53 74 72 69 6e 67 54 6f essW WSAStringTo ac40: 41 64 64 72 65 73 73 3b 0d 0a 09 61 6c 69 61 73 Address;...alias ac50: 20 57 53 41 4c 6f 6f 6b 75 70 53 65 72 76 69 63 WSALookupServic ac60: 65 42 65 67 69 6e 57 20 57 53 41 4c 6f 6f 6b 75 eBeginW WSALooku ac70: 70 53 65 72 76 69 63 65 42 65 67 69 6e 3b 0d 0a pServiceBegin;.. ac80: 09 61 6c 69 61 73 20 57 53 41 4c 6f 6f 6b 75 70 .alias WSALookup ac90: 53 65 72 76 69 63 65 4e 65 78 74 57 20 57 53 41 ServiceNextW WSA aca0: 4c 6f 6f 6b 75 70 53 65 72 76 69 63 65 4e 65 78 LookupServiceNex acb0: 74 3b 0d 0a 09 61 6c 69 61 73 20 57 53 41 49 6e t;...alias WSAIn acc0: 73 74 61 6c 6c 53 65 72 76 69 63 65 43 6c 61 73 stallServiceClas acd0: 73 57 20 57 53 41 49 6e 73 74 61 6c 6c 53 65 72 sW WSAInstallSer ace0: 76 69 63 65 43 6c 61 73 73 3b 0d 0a 7d 20 65 6c viceClass;..} el acf0: 73 65 20 7b 0d 0a 09 61 6c 69 61 73 20 4c 50 46 se {...alias LPF ad00: 4e 5f 57 53 41 41 44 44 52 45 53 53 54 4f 53 54 N_WSAADDRESSTOST ad10: 52 49 4e 47 41 20 4c 50 46 4e 5f 57 53 41 41 44 RINGA LPFN_WSAAD ad20: 44 52 45 53 53 54 4f 53 54 52 49 4e 47 3b 0d 0a DRESSTOSTRING;.. ad30: 09 61 6c 69 61 73 20 4c 50 46 4e 5f 57 53 41 44 .alias LPFN_WSAD ad40: 55 50 4c 49 43 41 54 45 53 4f 43 4b 45 54 57 20 UPLICATESOCKETW ad50: 4c 50 46 4e 5f 57 53 41 44 55 50 4c 49 43 41 54 LPFN_WSADUPLICAT ad60: 45 53 4f 43 4b 45 54 3b 0d 0a 09 61 6c 69 61 73 ESOCKET;...alias ad70: 20 4c 50 46 4e 5f 57 53 41 45 4e 55 4d 4e 41 4d LPFN_WSAENUMNAM ad80: 45 53 50 41 43 45 50 52 4f 56 49 44 45 52 53 41 ESPACEPROVIDERSA ad90: 20 4c 50 46 4e 5f 57 53 41 45 4e 55 4d 4e 41 4d LPFN_WSAENUMNAM ada0: 45 53 50 41 43 45 50 52 4f 56 49 44 45 52 53 3b ESPACEPROVIDERS; adb0: 0d 0a 09 61 6c 69 61 73 20 4c 50 46 4e 5f 57 53 ...alias LPFN_WS adc0: 41 45 4e 55 4d 50 52 4f 54 4f 43 4f 4c 53 41 20 AENUMPROTOCOLSA add0: 4c 50 46 4e 5f 57 53 41 45 4e 55 4d 50 52 4f 54 LPFN_WSAENUMPROT ade0: 4f 43 4f 4c 53 3b 0d 0a 09 61 6c 69 61 73 20 4c OCOLS;...alias L adf0: 50 46 4e 5f 57 53 41 47 45 54 53 45 52 56 49 43 PFN_WSAGETSERVIC ae00: 45 43 4c 41 53 53 49 4e 46 4f 41 20 4c 50 46 4e ECLASSINFOA LPFN ae10: 5f 57 53 41 47 45 54 53 45 52 56 49 43 45 43 4c _WSAGETSERVICECL ae20: 41 53 53 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 ASSINFO;...alias ae30: 20 4c 50 46 4e 5f 57 53 41 47 45 54 53 45 52 56 LPFN_WSAGETSERV ae40: 49 43 45 43 4c 41 53 53 4e 41 4d 45 42 59 43 4c ICECLASSNAMEBYCL ae50: 41 53 53 49 44 41 20 4c 50 46 4e 5f 57 53 41 47 ASSIDA LPFN_WSAG ae60: 45 54 53 45 52 56 49 43 45 43 4c 41 53 53 4e 41 ETSERVICECLASSNA ae70: 4d 45 42 59 43 4c 41 53 53 49 44 3b 0d 0a 09 61 MEBYCLASSID;...a ae80: 6c 69 61 73 20 4c 50 46 4e 5f 57 53 41 49 4e 53 lias LPFN_WSAINS ae90: 54 41 4c 4c 53 45 52 56 49 43 45 43 4c 41 53 53 TALLSERVICECLASS aea0: 41 20 4c 50 46 4e 5f 57 53 41 49 4e 53 54 41 4c A LPFN_WSAINSTAL aeb0: 4c 53 45 52 56 49 43 45 43 4c 41 53 53 3b 0d 0a LSERVICECLASS;.. aec0: 09 61 6c 69 61 73 20 4c 50 46 4e 5f 57 53 41 4c .alias LPFN_WSAL aed0: 4f 4f 4b 55 50 53 45 52 56 49 43 45 42 45 47 49 OOKUPSERVICEBEGI aee0: 4e 41 20 4c 50 46 4e 5f 57 53 41 4c 4f 4f 4b 55 NA LPFN_WSALOOKU aef0: 50 53 45 52 56 49 43 45 42 45 47 49 4e 3b 0d 0a PSERVICEBEGIN;.. af00: 09 61 6c 69 61 73 20 4c 50 46 4e 5f 57 53 41 4c .alias LPFN_WSAL af10: 4f 4f 4b 55 50 53 45 52 56 49 43 45 4e 45 58 54 OOKUPSERVICENEXT af20: 41 20 4c 50 46 4e 5f 57 53 41 4c 4f 4f 4b 55 50 A LPFN_WSALOOKUP af30: 53 45 52 56 49 43 45 4e 45 58 54 3b 0d 0a 09 61 SERVICENEXT;...a af40: 6c 69 61 73 20 4c 50 46 4e 5f 57 53 41 53 45 54 lias LPFN_WSASET af50: 53 45 52 56 49 43 45 41 20 4c 50 46 4e 5f 57 53 SERVICEA LPFN_WS af60: 41 53 45 54 53 45 52 56 49 43 45 3b 0d 0a 09 61 ASETSERVICE;...a af70: 6c 69 61 73 20 4c 50 46 4e 5f 57 53 41 53 4f 43 lias LPFN_WSASOC af80: 4b 45 54 41 20 4c 50 46 4e 5f 57 53 41 53 4f 43 KETA LPFN_WSASOC af90: 4b 45 54 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 46 KET;...alias LPF afa0: 4e 5f 57 53 41 53 54 52 49 4e 47 54 4f 41 44 44 N_WSASTRINGTOADD afb0: 52 45 53 53 41 20 4c 50 46 4e 5f 57 53 41 53 54 RESSA LPFN_WSAST afc0: 52 49 4e 47 54 4f 41 44 44 52 45 53 53 3b 0d 0a RINGTOADDRESS;.. afd0: 09 61 6c 69 61 73 20 57 53 41 41 64 64 72 65 73 .alias WSAAddres afe0: 73 54 6f 53 74 72 69 6e 67 41 20 57 53 41 41 64 sToStringA WSAAd aff0: 64 72 65 73 73 54 6f 53 74 72 69 6e 67 3b 0d 0a dressToString;.. b000: 09 61 6c 69 61 73 20 57 53 41 44 75 70 6c 69 63 .alias WSADuplic b010: 61 74 65 53 6f 63 6b 65 74 41 20 57 53 41 44 75 ateSocketA WSADu b020: 70 6c 69 63 61 74 65 53 6f 63 6b 65 74 3b 0d 0a plicateSocket;.. b030: 09 61 6c 69 61 73 20 57 53 41 45 6e 75 6d 4e 61 .alias WSAEnumNa b040: 6d 65 53 70 61 63 65 50 72 6f 76 69 64 65 72 73 meSpaceProviders b050: 41 20 57 53 41 45 6e 75 6d 4e 61 6d 65 53 70 61 A WSAEnumNameSpa b060: 63 65 50 72 6f 76 69 64 65 72 73 3b 0d 0a 09 61 ceProviders;...a b070: 6c 69 61 73 20 57 53 41 45 6e 75 6d 50 72 6f 74 lias WSAEnumProt b080: 6f 63 6f 6c 73 41 20 57 53 41 45 6e 75 6d 50 72 ocolsA WSAEnumPr b090: 6f 74 6f 63 6f 6c 73 3b 0d 0a 09 61 6c 69 61 73 otocols;...alias b0a0: 20 57 53 41 47 65 74 53 65 72 76 69 63 65 43 6c WSAGetServiceCl b0b0: 61 73 73 49 6e 66 6f 41 20 57 53 41 47 65 74 53 assInfoA WSAGetS b0c0: 65 72 76 69 63 65 43 6c 61 73 73 49 6e 66 6f 3b erviceClassInfo; b0d0: 0d 0a 09 61 6c 69 61 73 20 57 53 41 47 65 74 53 ...alias WSAGetS b0e0: 65 72 76 69 63 65 43 6c 61 73 73 4e 61 6d 65 42 erviceClassNameB b0f0: 79 43 6c 61 73 73 49 64 41 20 57 53 41 47 65 74 yClassIdA WSAGet b100: 53 65 72 76 69 63 65 43 6c 61 73 73 4e 61 6d 65 ServiceClassName b110: 42 79 43 6c 61 73 73 49 64 3b 0d 0a 09 61 6c 69 ByClassId;...ali b120: 61 73 20 57 53 41 49 6e 73 74 61 6c 6c 53 65 72 as WSAInstallSer b130: 76 69 63 65 43 6c 61 73 73 41 20 57 53 41 49 6e viceClassA WSAIn b140: 73 74 61 6c 6c 53 65 72 76 69 63 65 43 6c 61 73 stallServiceClas b150: 73 3b 0d 0a 09 61 6c 69 61 73 20 57 53 41 4c 6f s;...alias WSALo b160: 6f 6b 75 70 53 65 72 76 69 63 65 42 65 67 69 6e okupServiceBegin b170: 41 20 57 53 41 4c 6f 6f 6b 75 70 53 65 72 76 69 A WSALookupServi b180: 63 65 42 65 67 69 6e 3b 0d 0a 09 61 6c 69 61 73 ceBegin;...alias b190: 20 57 53 41 4c 6f 6f 6b 75 70 53 65 72 76 69 63 WSALookupServic b1a0: 65 4e 65 78 74 41 20 57 53 41 4c 6f 6f 6b 75 70 eNextA WSALookup b1b0: 53 65 72 76 69 63 65 4e 65 78 74 3b 0d 0a 09 61 ServiceNext;...a b1c0: 6c 69 61 73 20 57 53 41 53 6f 63 6b 65 74 41 20 lias WSASocketA b1d0: 57 53 41 53 6f 63 6b 65 74 3b 0d 0a 09 61 6c 69 WSASocket;...ali b1e0: 61 73 20 57 53 41 53 74 72 69 6e 67 54 6f 41 64 as WSAStringToAd b1f0: 64 72 65 73 73 41 20 57 53 41 53 74 72 69 6e 67 dressA WSAString b200: 54 6f 41 64 64 72 65 73 73 3b 0d 0a 09 61 6c 69 ToAddress;...ali b210: 61 73 20 57 53 41 53 65 74 53 65 72 76 69 63 65 as WSASetService b220: 41 20 57 53 41 53 65 74 53 65 72 76 69 63 65 3b A WSASetService; b230: 0d 0a 7d 0d 0a ..}..