File Annotation

Not logged in
c2b7a98c21 2011-02-23        kinaba: module win32.winsock;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // Translated from Microsoft Platform SDK August 2001 Edition
c2b7a98c21 2011-02-23        kinaba: // by Y.Tomino (demoonlit@inter7.jp)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef _WINSOCKAPI_
c2b7a98c21 2011-02-23        kinaba: // #define _WINSOCKAPI_
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if _MSC_VER > 1000
c2b7a98c21 2011-02-23        kinaba: // #pragma once
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef _INC_WINDOWS
c2b7a98c21 2011-02-23        kinaba: import win32.windows;
c2b7a98c21 2011-02-23        kinaba: // #endif /* _INC_WINDOWS */
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias ubyte u_char;
c2b7a98c21 2011-02-23        kinaba: alias ushort u_short;
c2b7a98c21 2011-02-23        kinaba: alias uint u_int;
c2b7a98c21 2011-02-23        kinaba: alias uint u_long;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias UINT_PTR SOCKET;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef FD_SETSIZE
c2b7a98c21 2011-02-23        kinaba: enum : uint { FD_SETSIZE = 64 }
c2b7a98c21 2011-02-23        kinaba: // #endif /* FD_SETSIZE */
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct fd_set {
c2b7a98c21 2011-02-23        kinaba:   u_int fd_count;
c2b7a98c21 2011-02-23        kinaba:   SOCKET fd_array[FD_SETSIZE];
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef __cplusplus
c2b7a98c21 2011-02-23        kinaba: // extern "C" {
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int __WSAFDIsSet(SOCKET, fd_set *);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef __cplusplus
c2b7a98c21 2011-02-23        kinaba: // }
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define FD_CLR(fd, set) do { u_int __i; for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count ; __i++) { if (((fd_set FAR *)(set))->fd_array[__i] == fd) { while (__i < ((fd_set FAR *)(set))->fd_count-1) { ((fd_set FAR *)(set))->fd_array[__i] = ((fd_set FAR *)(set))->fd_array[__i+1]; __i++; } ((fd_set FAR *)(set))->fd_count--; break; } } } while(0)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: void FD_SET(int fd, fd_set* set){ if(set.fd_count < FD_SETSIZE){ set.fd_array[set.fd_count++] = fd; }}
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: void FD_ZERO(fd_set* set){ set.fd_count = 0; }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR *)(set))
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct timeval {
c2b7a98c21 2011-02-23        kinaba:   int tv_sec;
c2b7a98c21 2011-02-23        kinaba:   int tv_usec;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
c2b7a98c21 2011-02-23        kinaba: // #define timercmp(tvp, uvp, cmp) ((tvp)->tv_sec cmp (uvp)->tv_sec || (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)
c2b7a98c21 2011-02-23        kinaba: // #define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IOCPARM_MASK = 0x7f }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IOC_VOID = 0x20000000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IOC_OUT = 0x40000000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IOC_IN = 0x80000000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IOC_INOUT = IOC_IN|IOC_OUT }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define _IO(x,y) (IOC_VOID|((x)<<8)|(y))
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define FIONREAD _IOR('f', 127, u_long)
c2b7a98c21 2011-02-23        kinaba: // #define FIONBIO _IOW('f', 126, u_long)
c2b7a98c21 2011-02-23        kinaba: // #define FIOASYNC _IOW('f', 125, u_long)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define SIOCSHIWAT _IOW('s', 0, u_long)
c2b7a98c21 2011-02-23        kinaba: // #define SIOCGHIWAT _IOR('s', 1, u_long)
c2b7a98c21 2011-02-23        kinaba: // #define SIOCSLOWAT _IOW('s', 2, u_long)
c2b7a98c21 2011-02-23        kinaba: // #define SIOCGLOWAT _IOR('s', 3, u_long)
c2b7a98c21 2011-02-23        kinaba: // #define SIOCATMARK _IOR('s', 7, u_long)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct hostent {
c2b7a98c21 2011-02-23        kinaba:   char * h_name;
c2b7a98c21 2011-02-23        kinaba:   char** h_aliases;
c2b7a98c21 2011-02-23        kinaba:   short h_addrtype;
c2b7a98c21 2011-02-23        kinaba:   short h_length;
c2b7a98c21 2011-02-23        kinaba:   char** h_addr_list;
c2b7a98c21 2011-02-23        kinaba: // #define h_addr h_addr_list[0]
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct netent {
c2b7a98c21 2011-02-23        kinaba:   char * n_name;
c2b7a98c21 2011-02-23        kinaba:   char** n_aliases;
c2b7a98c21 2011-02-23        kinaba:   short n_addrtype;
c2b7a98c21 2011-02-23        kinaba:   u_long n_net;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct servent {
c2b7a98c21 2011-02-23        kinaba:   char * s_name;
c2b7a98c21 2011-02-23        kinaba:   char** s_aliases;
c2b7a98c21 2011-02-23        kinaba: // #ifdef _WIN64
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba:   short s_port;
c2b7a98c21 2011-02-23        kinaba:   char * s_proto;
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct protoent {
c2b7a98c21 2011-02-23        kinaba:   char * p_name;
c2b7a98c21 2011-02-23        kinaba:   char** p_aliases;
c2b7a98c21 2011-02-23        kinaba:   short p_proto;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_IP = 0 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_ICMP = 1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_IGMP = 2 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_GGP = 3 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_TCP = 6 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_PUP = 12 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_UDP = 17 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_IDP = 22 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_ND = 77 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_RAW = 255 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPROTO_MAX = 256 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_ECHO = 7 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_DISCARD = 9 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_SYSTAT = 11 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_DAYTIME = 13 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_NETSTAT = 15 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_FTP = 21 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_TELNET = 23 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_SMTP = 25 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_TIMESERVER = 37 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_NAMESERVER = 42 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_WHOIS = 43 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_MTP = 57 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_TFTP = 69 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_RJE = 77 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_FINGER = 79 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_TTYLINK = 87 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_SUPDUP = 95 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_EXECSERVER = 512 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_LOGINSERVER = 513 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_CMDSERVER = 514 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_EFSSERVER = 520 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_BIFFUDP = 512 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_WHOSERVER = 513 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_ROUTESERVER = 520 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IPPORT_RESERVED = 1024 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IMPLINK_IP = 155 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IMPLINK_LOWEXPER = 156 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IMPLINK_HIGHEXPER = 158 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct in_addr {
c2b7a98c21 2011-02-23        kinaba: union {
c2b7a98c21 2011-02-23        kinaba:   struct { u_char s_b1,s_b2,s_b3,s_b4; }
c2b7a98c21 2011-02-23        kinaba:   struct { u_short s_w1,s_w2; }
c2b7a98c21 2011-02-23        kinaba:   u_long S_addr;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define s_addr S_un.S_addr
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define s_host S_un.S_un_b.s_b2
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define s_net S_un.S_un_b.s_b1
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define s_imp S_un.S_un_w.s_w2
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define s_impno S_un.S_un_b.s_b4
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define s_lh S_un.S_un_b.s_b3
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define IN_CLASSA(i) (((long)(i) & 0x80000000) == 0)
c2b7a98c21 2011-02-23        kinaba: enum : uint { IN_CLASSA_NET = 0xff000000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IN_CLASSA_NSHIFT = 24 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IN_CLASSA_HOST = 0x00ffffff }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IN_CLASSA_MAX = 128 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define IN_CLASSB(i) (((long)(i) & 0xc0000000) == 0x80000000)
c2b7a98c21 2011-02-23        kinaba: // #define IN_CLASSB_NET 0xffff0000
c2b7a98c21 2011-02-23        kinaba: // #define IN_CLASSB_NSHIFT 16
c2b7a98c21 2011-02-23        kinaba: enum : uint { IN_CLASSB_HOST = 0x0000ffff }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IN_CLASSB_MAX = 65536 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define IN_CLASSC(i) (((long)(i) & 0xe0000000) == 0xc0000000)
c2b7a98c21 2011-02-23        kinaba: // #define IN_CLASSC_NET 0xffffff00
c2b7a98c21 2011-02-23        kinaba: // #define IN_CLASSC_NSHIFT 8
c2b7a98c21 2011-02-23        kinaba: enum : uint { IN_CLASSC_HOST = 0x000000ff }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { INADDR_ANY = 0 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { INADDR_LOOPBACK = 0x7f000001 }
c2b7a98c21 2011-02-23        kinaba: // #define INADDR_BROADCAST (u_long)0xffffffff
c2b7a98c21 2011-02-23        kinaba: enum : uint { INADDR_NONE = uint.max }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct sockaddr_in {
c2b7a98c21 2011-02-23        kinaba:   short sin_family;
c2b7a98c21 2011-02-23        kinaba:   u_short sin_port;
c2b7a98c21 2011-02-23        kinaba:   in_addr sin_addr;
c2b7a98c21 2011-02-23        kinaba:   char sin_zero[8];
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSADESCRIPTION_LEN = 256 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSASYS_STATUS_LEN = 128 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct WSAData {
c2b7a98c21 2011-02-23        kinaba:   WORD wVersion;
c2b7a98c21 2011-02-23        kinaba:   WORD wHighVersion;
c2b7a98c21 2011-02-23        kinaba: // #ifdef _WIN64
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba:   char szDescription[WSADESCRIPTION_LEN+1];
c2b7a98c21 2011-02-23        kinaba:   char szSystemStatus[WSASYS_STATUS_LEN+1];
c2b7a98c21 2011-02-23        kinaba:   ushort iMaxSockets;
c2b7a98c21 2011-02-23        kinaba:   ushort iMaxUdpDg;
c2b7a98c21 2011-02-23        kinaba:   char *              lpVendorInfo;
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias WSAData WSADATA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias WSADATA* LPWSADATA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_OPTIONS = 1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_MULTICAST_IF = 2 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_MULTICAST_TTL = 3 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_MULTICAST_LOOP = 4 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_ADD_MEMBERSHIP = 5 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_DROP_MEMBERSHIP = 6 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_TTL = 7 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_TOS = 8 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_DONTFRAGMENT = 9 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_DEFAULT_MULTICAST_TTL = 1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_DEFAULT_MULTICAST_LOOP = 1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { IP_MAX_MEMBERSHIPS = 20 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct ip_mreq {
c2b7a98c21 2011-02-23        kinaba:   in_addr imr_multiaddr;
c2b7a98c21 2011-02-23        kinaba:   in_addr imr_interface;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { INVALID_SOCKET = uint.max }
c2b7a98c21 2011-02-23        kinaba: enum { SOCKET_ERROR = -1 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SOCK_STREAM = 1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SOCK_DGRAM = 2 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SOCK_RAW = 3 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SOCK_RDM = 4 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SOCK_SEQPACKET = 5 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_DEBUG = 0x0001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_ACCEPTCONN = 0x0002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_REUSEADDR = 0x0004 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_KEEPALIVE = 0x0008 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_DONTROUTE = 0x0010 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_BROADCAST = 0x0020 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_USELOOPBACK = 0x0040 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_LINGER = 0x0080 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_OOBINLINE = 0x0100 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_DONTLINGER = ~SO_LINGER }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_SNDBUF = 0x1001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_RCVBUF = 0x1002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_SNDLOWAT = 0x1003 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_RCVLOWAT = 0x1004 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_SNDTIMEO = 0x1005 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_RCVTIMEO = 0x1006 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_ERROR = 0x1007 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_TYPE = 0x1008 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_CONNDATA = 0x7000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_CONNOPT = 0x7001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_DISCDATA = 0x7002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_DISCOPT = 0x7003 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_CONNDATALEN = 0x7004 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_CONNOPTLEN = 0x7005 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_DISCDATALEN = 0x7006 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_DISCOPTLEN = 0x7007 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_OPENTYPE = 0x7008 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_SYNCHRONOUS_ALERT = 0x10 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_SYNCHRONOUS_NONALERT = 0x20 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_MAXDG = 0x7009 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_MAXPATHDG = 0x700A }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_UPDATE_ACCEPT_CONTEXT = 0x700B }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SO_CONNECT_TIME = 0x700C }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { TCP_NODELAY = 0x0001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { TCP_BSDURGENT = 0x7000 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_UNSPEC = 0 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_UNIX = 1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_INET = 2 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_IMPLINK = 3 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_PUP = 4 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_CHAOS = 5 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_IPX = 6 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_NS = 6 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_ISO = 7 }
c2b7a98c21 2011-02-23        kinaba: alias AF_ISO AF_OSI;
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_ECMA = 8 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_DATAKIT = 9 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_CCITT = 10 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_SNA = 11 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_DECnet = 12 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_DLI = 13 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_LAT = 14 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_HYLINK = 15 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_APPLETALK = 16 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_NETBIOS = 17 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_VOICEVIEW = 18 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_FIREFOX = 19 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_UNKNOWN1 = 20 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_BAN = 21 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { AF_MAX = 22 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct sockaddr {
c2b7a98c21 2011-02-23        kinaba:   u_short sa_family;
c2b7a98c21 2011-02-23        kinaba:   char sa_data[14];
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct sockproto {
c2b7a98c21 2011-02-23        kinaba:   u_short sp_family;
c2b7a98c21 2011-02-23        kinaba:   u_short sp_protocol;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias AF_UNSPEC PF_UNSPEC;
c2b7a98c21 2011-02-23        kinaba: alias AF_UNIX PF_UNIX;
c2b7a98c21 2011-02-23        kinaba: alias AF_INET PF_INET;
c2b7a98c21 2011-02-23        kinaba: alias AF_IMPLINK PF_IMPLINK;
c2b7a98c21 2011-02-23        kinaba: alias AF_PUP PF_PUP;
c2b7a98c21 2011-02-23        kinaba: alias AF_CHAOS PF_CHAOS;
c2b7a98c21 2011-02-23        kinaba: alias AF_NS PF_NS;
c2b7a98c21 2011-02-23        kinaba: alias AF_IPX PF_IPX;
c2b7a98c21 2011-02-23        kinaba: alias AF_ISO PF_ISO;
c2b7a98c21 2011-02-23        kinaba: alias AF_OSI PF_OSI;
c2b7a98c21 2011-02-23        kinaba: alias AF_ECMA PF_ECMA;
c2b7a98c21 2011-02-23        kinaba: alias AF_DATAKIT PF_DATAKIT;
c2b7a98c21 2011-02-23        kinaba: alias AF_CCITT PF_CCITT;
c2b7a98c21 2011-02-23        kinaba: alias AF_SNA PF_SNA;
c2b7a98c21 2011-02-23        kinaba: alias AF_DECnet PF_DECnet;
c2b7a98c21 2011-02-23        kinaba: alias AF_DLI PF_DLI;
c2b7a98c21 2011-02-23        kinaba: alias AF_LAT PF_LAT;
c2b7a98c21 2011-02-23        kinaba: alias AF_HYLINK PF_HYLINK;
c2b7a98c21 2011-02-23        kinaba: alias AF_APPLETALK PF_APPLETALK;
c2b7a98c21 2011-02-23        kinaba: alias AF_VOICEVIEW PF_VOICEVIEW;
c2b7a98c21 2011-02-23        kinaba: alias AF_FIREFOX PF_FIREFOX;
c2b7a98c21 2011-02-23        kinaba: alias AF_UNKNOWN1 PF_UNKNOWN1;
c2b7a98c21 2011-02-23        kinaba: alias AF_BAN PF_BAN;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias AF_MAX PF_MAX;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct linger {
c2b7a98c21 2011-02-23        kinaba:   u_short l_onoff;
c2b7a98c21 2011-02-23        kinaba:   u_short l_linger;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SOL_SOCKET = 0xffff }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SOMAXCONN = 5 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { MSG_OOB = 0x1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { MSG_PEEK = 0x2 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { MSG_DONTROUTE = 0x4 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { MSG_MAXIOVLEN = 16 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { MSG_PARTIAL = 0x8000 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { MAXGETHOSTSTRUCT = 1024 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { FD_READ = 0x01 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FD_WRITE = 0x02 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FD_OOB = 0x04 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FD_ACCEPT = 0x08 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FD_CONNECT = 0x10 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FD_CLOSE = 0x20 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef WSABASEERR
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSABASEERR = 10000 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEINTR = WSABASEERR+4 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEBADF = WSABASEERR+9 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEACCES = WSABASEERR+13 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEFAULT = WSABASEERR+14 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEINVAL = WSABASEERR+22 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEMFILE = WSABASEERR+24 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEWOULDBLOCK = WSABASEERR+35 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEINPROGRESS = WSABASEERR+36 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEALREADY = WSABASEERR+37 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAENOTSOCK = WSABASEERR+38 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEDESTADDRREQ = WSABASEERR+39 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEMSGSIZE = WSABASEERR+40 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEPROTOTYPE = WSABASEERR+41 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAENOPROTOOPT = WSABASEERR+42 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEPROTONOSUPPORT = WSABASEERR+43 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAESOCKTNOSUPPORT = WSABASEERR+44 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEOPNOTSUPP = WSABASEERR+45 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEPFNOSUPPORT = WSABASEERR+46 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEAFNOSUPPORT = WSABASEERR+47 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEADDRINUSE = WSABASEERR+48 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEADDRNOTAVAIL = WSABASEERR+49 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAENETDOWN = WSABASEERR+50 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAENETUNREACH = WSABASEERR+51 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAENETRESET = WSABASEERR+52 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAECONNABORTED = WSABASEERR+53 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAECONNRESET = WSABASEERR+54 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAENOBUFS = WSABASEERR+55 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEISCONN = WSABASEERR+56 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAENOTCONN = WSABASEERR+57 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAESHUTDOWN = WSABASEERR+58 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAETOOMANYREFS = WSABASEERR+59 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAETIMEDOUT = WSABASEERR+60 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAECONNREFUSED = WSABASEERR+61 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAELOOP = WSABASEERR+62 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAENAMETOOLONG = WSABASEERR+63 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEHOSTDOWN = WSABASEERR+64 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEHOSTUNREACH = WSABASEERR+65 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAENOTEMPTY = WSABASEERR+66 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEPROCLIM = WSABASEERR+67 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEUSERS = WSABASEERR+68 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEDQUOT = WSABASEERR+69 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAESTALE = WSABASEERR+70 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEREMOTE = WSABASEERR+71 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAEDISCON = WSABASEERR+101 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSASYSNOTREADY = WSABASEERR+91 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAVERNOTSUPPORTED = WSABASEERR+92 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSANOTINITIALISED = WSABASEERR+93 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSAHOST_NOT_FOUND = WSABASEERR+1001 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSATRY_AGAIN = WSABASEERR+1002 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSANO_RECOVERY = WSABASEERR+1003 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { WSANO_DATA = WSABASEERR+1004 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif /* ifdef WSABASEERR */
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define h_errno WSAGetLastError()
c2b7a98c21 2011-02-23        kinaba: alias WSAHOST_NOT_FOUND HOST_NOT_FOUND;
c2b7a98c21 2011-02-23        kinaba: alias WSATRY_AGAIN TRY_AGAIN;
c2b7a98c21 2011-02-23        kinaba: alias WSANO_RECOVERY NO_RECOVERY;
c2b7a98c21 2011-02-23        kinaba: alias WSANO_DATA NO_DATA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias WSANO_DATA WSANO_ADDRESS;
c2b7a98c21 2011-02-23        kinaba: alias WSANO_ADDRESS NO_ADDRESS;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if 0
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef __cplusplus
c2b7a98c21 2011-02-23        kinaba: // extern "C" {
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export SOCKET accept(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   sockaddr *addr,
c2b7a98c21 2011-02-23        kinaba:   int *addrlen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int bind(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   sockaddr *addr,
c2b7a98c21 2011-02-23        kinaba:   int namelen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int closesocket(SOCKET s);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int connect(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   sockaddr *name,
c2b7a98c21 2011-02-23        kinaba:   int namelen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int ioctlsocket(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   int cmd,
c2b7a98c21 2011-02-23        kinaba:   u_long *argp);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int getpeername(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   sockaddr *name,
c2b7a98c21 2011-02-23        kinaba:   int * namelen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int getsockname(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   sockaddr *name,
c2b7a98c21 2011-02-23        kinaba:   int * namelen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int getsockopt(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   int level,
c2b7a98c21 2011-02-23        kinaba:   int optname,
c2b7a98c21 2011-02-23        kinaba:   char * optval,
c2b7a98c21 2011-02-23        kinaba:   int *optlen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export u_long htonl(u_long hostlong);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export u_short htons(u_short hostshort);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export uint inet_addr(  char  * cp);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export char* inet_ntoa(uint in_);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int listen(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   int backlog);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export u_long ntohl(u_long netlong);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export u_short ntohs(u_short netshort);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int recv(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int len,
c2b7a98c21 2011-02-23        kinaba:   int flags);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int recvfrom(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int len,
c2b7a98c21 2011-02-23        kinaba:   int flags,
c2b7a98c21 2011-02-23        kinaba:   sockaddr *from,
c2b7a98c21 2011-02-23        kinaba:   int * fromlen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int select(
c2b7a98c21 2011-02-23        kinaba:   int nfds,
c2b7a98c21 2011-02-23        kinaba:   fd_set *readfds,
c2b7a98c21 2011-02-23        kinaba:   fd_set *writefds,
c2b7a98c21 2011-02-23        kinaba:   fd_set *exceptfds,
c2b7a98c21 2011-02-23        kinaba:   timeval *timeout);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int send(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int len,
c2b7a98c21 2011-02-23        kinaba:   int flags);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int sendto(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int len,
c2b7a98c21 2011-02-23        kinaba:   int flags,
c2b7a98c21 2011-02-23        kinaba:   sockaddr *to,
c2b7a98c21 2011-02-23        kinaba:   int tolen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int setsockopt(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   int level,
c2b7a98c21 2011-02-23        kinaba:   int optname,
c2b7a98c21 2011-02-23        kinaba:   char * optval,
c2b7a98c21 2011-02-23        kinaba:   int optlen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int shutdown(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   int how);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export SOCKET socket(
c2b7a98c21 2011-02-23        kinaba:   int af,
c2b7a98c21 2011-02-23        kinaba:   int type,
c2b7a98c21 2011-02-23        kinaba:   int protocol);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export hostent* gethostbyaddr(
c2b7a98c21 2011-02-23        kinaba:   char  * addr,
c2b7a98c21 2011-02-23        kinaba:   int len,
c2b7a98c21 2011-02-23        kinaba:   int type);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export hostent* gethostbyname(  char  * name);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int gethostname(
c2b7a98c21 2011-02-23        kinaba:   char * name,
c2b7a98c21 2011-02-23        kinaba:   int namelen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export servent* getservbyport(
c2b7a98c21 2011-02-23        kinaba:   int port,
c2b7a98c21 2011-02-23        kinaba:   char  * proto);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export servent* getservbyname(
c2b7a98c21 2011-02-23        kinaba:   char  * name,
c2b7a98c21 2011-02-23        kinaba:   char  * proto);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export protoent* getprotobynumber( int proto);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export protoent* getprotobyname(  char  * name);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int WSAStartup(
c2b7a98c21 2011-02-23        kinaba:   WORD wVersionRequired,
c2b7a98c21 2011-02-23        kinaba:   LPWSADATA lpWSAData);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int WSACleanup();
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export void WSASetLastError(int iError);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int WSAGetLastError();
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL WSAIsBlocking();
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int WSAUnhookBlockingHook();
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export FARPROC WSASetBlockingHook(FARPROC lpBlockFunc);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int WSACancelBlockingCall();
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HANDLE WSAAsyncGetServByName(
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd,
c2b7a98c21 2011-02-23        kinaba:   u_int wMsg,
c2b7a98c21 2011-02-23        kinaba:   char * name,
c2b7a98c21 2011-02-23        kinaba:   char * proto,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int buflen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HANDLE WSAAsyncGetServByPort(
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd,
c2b7a98c21 2011-02-23        kinaba:   u_int wMsg,
c2b7a98c21 2011-02-23        kinaba:   int port,
c2b7a98c21 2011-02-23        kinaba:   char * proto,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int buflen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HANDLE WSAAsyncGetProtoByName(
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd,
c2b7a98c21 2011-02-23        kinaba:   u_int wMsg,
c2b7a98c21 2011-02-23        kinaba:   char * name,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int buflen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HANDLE WSAAsyncGetProtoByNumber(
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd,
c2b7a98c21 2011-02-23        kinaba:   u_int wMsg,
c2b7a98c21 2011-02-23        kinaba:   int number,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int buflen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HANDLE WSAAsyncGetHostByName(
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd,
c2b7a98c21 2011-02-23        kinaba:   u_int wMsg,
c2b7a98c21 2011-02-23        kinaba:   char * name,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int buflen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HANDLE WSAAsyncGetHostByAddr(
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd,
c2b7a98c21 2011-02-23        kinaba:   u_int wMsg,
c2b7a98c21 2011-02-23        kinaba:   char * addr,
c2b7a98c21 2011-02-23        kinaba:   int len,
c2b7a98c21 2011-02-23        kinaba:   int type,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int buflen);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int WSACancelAsyncRequest(HANDLE hAsyncTaskHandle);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int WSAAsyncSelect(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd,
c2b7a98c21 2011-02-23        kinaba:   u_int wMsg,
c2b7a98c21 2011-02-23        kinaba:   int lEvent);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int WSARecvEx(
c2b7a98c21 2011-02-23        kinaba:   SOCKET s,
c2b7a98c21 2011-02-23        kinaba:   char * buf,
c2b7a98c21 2011-02-23        kinaba:   int len,
c2b7a98c21 2011-02-23        kinaba:   int *flags);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _TRANSMIT_FILE_BUFFERS {
c2b7a98c21 2011-02-23        kinaba:   PVOID Head;
c2b7a98c21 2011-02-23        kinaba:   DWORD HeadLength;
c2b7a98c21 2011-02-23        kinaba:   PVOID Tail;
c2b7a98c21 2011-02-23        kinaba:   DWORD TailLength;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _TRANSMIT_FILE_BUFFERS TRANSMIT_FILE_BUFFERS;
c2b7a98c21 2011-02-23        kinaba: alias _TRANSMIT_FILE_BUFFERS* PTRANSMIT_FILE_BUFFERS;
c2b7a98c21 2011-02-23        kinaba: alias _TRANSMIT_FILE_BUFFERS* LPTRANSMIT_FILE_BUFFERS;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { TF_DISCONNECT = 0x01 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { TF_REUSE_SOCKET = 0x02 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { TF_WRITE_BEHIND = 0x04 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL TransmitFile(
c2b7a98c21 2011-02-23        kinaba:   SOCKET hSocket,
c2b7a98c21 2011-02-23        kinaba:   HANDLE hFile,
c2b7a98c21 2011-02-23        kinaba:   DWORD nNumberOfBytesToWrite,
c2b7a98c21 2011-02-23        kinaba:   DWORD nNumberOfBytesPerSend,
c2b7a98c21 2011-02-23        kinaba:   LPOVERLAPPED lpOverlapped,
c2b7a98c21 2011-02-23        kinaba:   LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers,
c2b7a98c21 2011-02-23        kinaba:   DWORD dwReserved);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL AcceptEx(
c2b7a98c21 2011-02-23        kinaba:   SOCKET sListenSocket,
c2b7a98c21 2011-02-23        kinaba:   SOCKET sAcceptSocket,
c2b7a98c21 2011-02-23        kinaba:   PVOID lpOutputBuffer,
c2b7a98c21 2011-02-23        kinaba:   DWORD dwReceiveDataLength,
c2b7a98c21 2011-02-23        kinaba:   DWORD dwLocalAddressLength,
c2b7a98c21 2011-02-23        kinaba:   DWORD dwRemoteAddressLength,
c2b7a98c21 2011-02-23        kinaba:   LPDWORD lpdwBytesReceived,
c2b7a98c21 2011-02-23        kinaba:   LPOVERLAPPED lpOverlapped);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export VOID GetAcceptExSockaddrs(
c2b7a98c21 2011-02-23        kinaba:   PVOID lpOutputBuffer,
c2b7a98c21 2011-02-23        kinaba:   DWORD dwReceiveDataLength,
c2b7a98c21 2011-02-23        kinaba:   DWORD dwLocalAddressLength,
c2b7a98c21 2011-02-23        kinaba:   DWORD dwRemoteAddressLength,
c2b7a98c21 2011-02-23        kinaba:   sockaddr **LocalSockaddr,
c2b7a98c21 2011-02-23        kinaba:   LPINT LocalSockaddrLength,
c2b7a98c21 2011-02-23        kinaba:   sockaddr **RemoteSockaddr,
c2b7a98c21 2011-02-23        kinaba:   LPINT RemoteSockaddrLength);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef __cplusplus
c2b7a98c21 2011-02-23        kinaba: // }
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias sockaddr SOCKADDR;
c2b7a98c21 2011-02-23        kinaba: alias sockaddr* PSOCKADDR;
c2b7a98c21 2011-02-23        kinaba: alias sockaddr* LPSOCKADDR;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias sockaddr_in SOCKADDR_IN;
c2b7a98c21 2011-02-23        kinaba: alias sockaddr_in* PSOCKADDR_IN;
c2b7a98c21 2011-02-23        kinaba: alias sockaddr_in* LPSOCKADDR_IN;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias linger LINGER;
c2b7a98c21 2011-02-23        kinaba: alias linger* PLINGER;
c2b7a98c21 2011-02-23        kinaba: alias linger* LPLINGER;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias in_addr IN_ADDR;
c2b7a98c21 2011-02-23        kinaba: alias in_addr* PIN_ADDR;
c2b7a98c21 2011-02-23        kinaba: alias in_addr* LPIN_ADDR;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias fd_set FD_SET;
c2b7a98c21 2011-02-23        kinaba: alias fd_set* PFD_SET;
c2b7a98c21 2011-02-23        kinaba: alias fd_set* LPFD_SET;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias hostent HOSTENT;
c2b7a98c21 2011-02-23        kinaba: alias hostent* PHOSTENT;
c2b7a98c21 2011-02-23        kinaba: alias hostent* LPHOSTENT;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias servent SERVENT;
c2b7a98c21 2011-02-23        kinaba: alias servent* PSERVENT;
c2b7a98c21 2011-02-23        kinaba: alias servent* LPSERVENT;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias protoent PROTOENT;
c2b7a98c21 2011-02-23        kinaba: alias protoent* PPROTOENT;
c2b7a98c21 2011-02-23        kinaba: alias protoent* LPPROTOENT;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias timeval TIMEVAL;
c2b7a98c21 2011-02-23        kinaba: alias timeval* PTIMEVAL;
c2b7a98c21 2011-02-23        kinaba: alias timeval* LPTIMEVAL;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define WSAMAKEASYNCREPLY(buflen,error) MAKELONG(buflen,error)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define WSAMAKESELECTREPLY(event,error) MAKELONG(event,error)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define WSAGETASYNCBUFLEN(lParam) LOWORD(lParam)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define WSAGETASYNCERROR(lParam) HIWORD(lParam)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define WSAGETSELECTEVENT(lParam) LOWORD(lParam)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define WSAGETSELECTERROR(lParam) HIWORD(lParam)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef IPV6STRICT
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // IPV6STRICT
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif  /* _WINSOCKAPI_ */