Diff

Not logged in

Differences From Artifact [9e582cf95c9e24a6]:

To Artifact [2000809206e7e4e6]:


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