Diff

Not logged in

Differences From Artifact [9e582cf95c9e24a6]:

To Artifact [2000809206e7e4e6]:


22 // line; otherwise, default to Winsock2. 22 // line; otherwise, default to Winsock2. 23 version (Win32_Winsock1) { 23 version (Win32_Winsock1) { 24 import win32.winsock; 24 import win32.winsock; 25 } else { 25 } else { 26 import win32.winsock2; 26 import win32.winsock2; 27 } 27 } 28 28 29 static if (_WIN32_WINNT_ONLY) { < 30 static if (_WIN32_WINNT >= 0x500) { | 29 static if (_WIN32_WINNT >= 0x500) { 31 enum { | 30 enum { 32 /* WinNT5+: | 31 /* WinNT5+: 33 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/soc | 32 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_opti 34 SO_MAXDG = 0x7009, | 33 SO_MAXDG = 0x7009, 35 SO_MAXPATHDG = 0x700A, | 34 SO_MAXPATHDG = 0x700A, 36 } < 37 } 35 } > 36 } 38 37 39 enum { | 38 enum { 40 /* WinNT4+: | 39 /* WinNT4+: 41 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_opti | 40 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options_for_ 42 SO_CONNDATA = 0x7000, | 41 SO_CONNDATA = 0x7000, 43 SO_CONNOPT = 0x7001, | 42 SO_CONNOPT = 0x7001, 44 SO_DISCDATA = 0x7002, | 43 SO_DISCDATA = 0x7002, 45 SO_DISCOPT = 0x7003, | 44 SO_DISCOPT = 0x7003, 46 SO_CONNDATALEN = 0x7004, | 45 SO_CONNDATALEN = 0x7004, 47 SO_CONNOPTLEN = 0x7005, | 46 SO_CONNOPTLEN = 0x7005, 48 SO_DISCDATALEN = 0x7006, | 47 SO_DISCDATALEN = 0x7006, 49 SO_DISCOPTLEN = 0x7007, | 48 SO_DISCOPTLEN = 0x7007, 50 49 51 /* WinNT4: | 50 /* WinNT4: 52 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_opti | 51 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 53 SO_UPDATE_ACCEPT_CONTENT = 0x700B, | 52 SO_UPDATE_ACCEPT_CONTENT = 0x700B, 54 } < 55 } 53 } 56 54 57 enum { 55 enum { 58 /* Win95+, WinNT4+ but apparently shouldn't used: mark as deprecated? 56 /* Win95+, WinNT4+ but apparently shouldn't used: mark as deprecated? 59 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 57 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 60 SO_OPENTYPE = 0x7008, 58 SO_OPENTYPE = 0x7008, 61 59 ................................................................................................................................................................................ 67 65 68 /* Win95: 66 /* Win95: 69 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 67 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm 70 SO_CONNECT_TIME = 0x700C, 68 SO_CONNECT_TIME = 0x700C, 71 } 69 } 72 70 73 71 74 static if (_WIN32_WINNT_ONLY) { < 75 enum { | 72 enum { 76 TCP_BSDURGENT = 0x7000, | 73 TCP_BSDURGENT = 0x7000, 77 } | 74 } 78 75 79 /* These *appear* to be constants for passing to the TransmitFile / | 76 /* These *appear* to be constants for passing to the TransmitFile / 80 TransmitPackets functions, which are available in WinNT3.51+ | 77 TransmitPackets functions, which are available in WinNT3.51+ 81 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfile_2.htm | 78 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfile_2.htm */ 82 enum { | 79 enum { 83 TF_DISCONNECT = 1, | 80 TF_DISCONNECT = 1, 84 TF_REUSE_SOCKET = 2, | 81 TF_REUSE_SOCKET = 2, 85 TF_WRITE_BEHIND = 4, | 82 TF_WRITE_BEHIND = 4, 86 TF_USE_DEFAULT_WORKER = 0, | 83 TF_USE_DEFAULT_WORKER = 0, 87 TF_USE_SYSTEM_THREAD = 16, | 84 TF_USE_SYSTEM_THREAD = 16, 88 TF_USE_KERNEL_APC = 32 | 85 TF_USE_KERNEL_APC = 32 89 } < 90 } 86 } 91 87 92 /* Win95+, WinNT3.51+ 88 /* Win95+, WinNT3.51+ 93 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmit_file_buffers_2.htm 89 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmit_file_buffers_2.htm 94 struct TRANSMIT_FILE_BUFFERS { 90 struct TRANSMIT_FILE_BUFFERS { 95 PVOID Head; 91 PVOID Head; 96 DWORD HeadLength; 92 DWORD HeadLength; ................................................................................................................................................................................ 104 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/wsarecvex_2.htm */ 100 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/wsarecvex_2.htm */ 105 int WSARecvEx(SOCKET, char*, int, int*); 101 int WSARecvEx(SOCKET, char*, int, int*); 106 102 107 /* Win95+, WinNT3.51+ 103 /* Win95+, WinNT3.51+ 108 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/getacceptexSOCKADDR 104 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/getacceptexSOCKADDR 109 VOID GetAcceptExSockaddrs(PVOID, DWORD, DWORD, DWORD, SOCKADDR**, LPINT, 105 VOID GetAcceptExSockaddrs(PVOID, DWORD, DWORD, DWORD, SOCKADDR**, LPINT, 110 106 111 static if (_WIN32_WINNT_ONLY) { < 112 /* WinNT3.51+ | 107 /* WinNT3.51+ 113 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfil | 108 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfile_2.htm 114 BOOL TransmitFile(SOCKET, HANDLE, DWORD, DWORD, LPOVERLAPPED, LP | 109 BOOL TransmitFile(SOCKET, HANDLE, DWORD, DWORD, LPOVERLAPPED, LPTRANSMIT 115 110 116 /* WinNT3.51+ | 111 /* WinNT3.51+ 117 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/acceptex_2. | 112 ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/acceptex_2.htm */ 118 alias BOOL function(SOCKET, SOCKET, PVOID, DWORD, DWORD, DWORD, | 113 alias BOOL function(SOCKET, SOCKET, PVOID, DWORD, DWORD, DWORD, LPDWORD, 119 const GUID WSAID_ACCEPTEX = {0xb5367df1,0xcbac,0x11cf,[0x95,0xca,0x00,0x | 114 const GUID WSAID_ACCEPTEX = {0xb5367df1,0xcbac,0x11cf,[0x95,0xca,0x00,0x 120 115 121 alias BOOL function(SOCKET, SOCKADDR*, int, PVOID, DWORD, LPDWORD, LPOVE | 116 alias BOOL function(SOCKET, SOCKADDR*, int, PVOID, DWORD, LPDWORD, LPOVE 122 const GUID WSAID_CONNECTEX = {0x25a207b9,0xddf3,0x4660,[0x8e,0xe9,0x76,0 | 117 const GUID WSAID_CONNECTEX = {0x25a207b9,0xddf3,0x4660,[0x8e,0xe9,0x76,0 123 } < 124 } 118 } 125 119 126 version(Win32_Winsock1) { 120 version(Win32_Winsock1) { 127 } else { 121 } else { 128 static if (WINVER > 0x501) { | 122 static if (_WIN32_WINNT > 0x501) { 129 /* These appear to be constants for the TRANSMIT_PACKETS_EL 123 /* These appear to be constants for the TRANSMIT_PACKETS_EL 130 * structure below, so I've given them the same minimum ver 124 * structure below, so I've given them the same minimum ver 131 */ 125 */ 132 enum { 126 enum { 133 TP_ELEMENT_FILE = 1, 127 TP_ELEMENT_FILE = 1, 134 TP_ELEMENT_MEMORY = 2, 128 TP_ELEMENT_MEMORY = 2, 135 TP_ELEMENT_EOP = 4 129 TP_ELEMENT_EOP = 4