Hex Artifact Content

Not logged in

Artifact 4798081e9cfbad324fce77e290f5d829858f2040:


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