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_ */