Mercurial > games > semicongine
comparison fuhtark_test/include/ddk/ws2san.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /* | |
| 2 * ws2san.h | |
| 3 * | |
| 4 * WinSock Direct (SAN) support | |
| 5 * | |
| 6 * This file is part of the w32api package. | |
| 7 * | |
| 8 * Contributors: | |
| 9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> | |
| 10 * | |
| 11 * THIS SOFTWARE IS NOT COPYRIGHTED | |
| 12 * | |
| 13 * This source code is offered for use in the public domain. You may | |
| 14 * use, modify or distribute it freely. | |
| 15 * | |
| 16 * This code is distributed in the hope that it will be useful but | |
| 17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY | |
| 18 * DISCLAIMED. This includes but is not limited to warranties of | |
| 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
| 20 * | |
| 21 */ | |
| 22 | |
| 23 #ifndef __WS2SAN_H | |
| 24 #define __WS2SAN_H | |
| 25 | |
| 26 #include <winsock2.h> | |
| 27 | |
| 28 #ifdef __cplusplus | |
| 29 extern "C" { | |
| 30 #endif | |
| 31 | |
| 32 #define WSPAPI WINAPI | |
| 33 | |
| 34 /* FIXME: Unknown definitions */ | |
| 35 typedef PVOID LPWSPDATA; | |
| 36 typedef PDWORD LPWSATHREADID; | |
| 37 typedef PVOID LPWSPPROC_TABLE; | |
| 38 typedef struct _WSPUPCALLTABLEEX WSPUPCALLTABLEEX; | |
| 39 typedef WSPUPCALLTABLEEX *LPWSPUPCALLTABLEEX; | |
| 40 | |
| 41 #define SO_MAX_RDMA_SIZE 0x700D | |
| 42 #define SO_RDMA_THRESHOLD_SIZE 0x700E | |
| 43 | |
| 44 #define WSAID_REGISTERMEMORY \ | |
| 45 {0xC0B422F5, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}} | |
| 46 | |
| 47 #define WSAID_DEREGISTERMEMORY \ | |
| 48 {0xC0B422F6, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}} | |
| 49 | |
| 50 #define WSAID_REGISTERRDMAMEMORY \ | |
| 51 {0xC0B422F7, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}} | |
| 52 | |
| 53 #define WSAID_DEREGISTERRDMAMEMORY \ | |
| 54 {0xC0B422F8, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}} | |
| 55 | |
| 56 #define WSAID_RDMAWRITE \ | |
| 57 {0xC0B422F9, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}} | |
| 58 | |
| 59 #define WSAID_RDMAREAD \ | |
| 60 {0xC0B422FA, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}} | |
| 61 | |
| 62 #define WSAID_MEMORYREGISTRATIONCACHECALLBACK \ | |
| 63 {0xE5DA4AF8, 0xD824, 0x48CD, {0xA7, 0x99, 0x63, 0x37, 0xA9, 0x8E, 0xD2, 0xAF}} | |
| 64 | |
| 65 typedef struct _WSABUFEX { | |
| 66 u_long len; | |
| 67 char FAR *buf; | |
| 68 HANDLE handle; | |
| 69 } WSABUFEX, FAR * LPWSABUFEX; | |
| 70 | |
| 71 #if 0 | |
| 72 typedef struct _WSPUPCALLTABLEEX { | |
| 73 LPWPUCLOSEEVENT lpWPUCloseEvent; | |
| 74 LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle; | |
| 75 LPWPUCREATEEVENT lpWPUCreateEvent; | |
| 76 LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle; | |
| 77 LPWPUFDISSET lpWPUFDIsSet; | |
| 78 LPWPUGETPROVIDERPATH lpWPUGetProviderPath; | |
| 79 LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle; | |
| 80 LPWPUPOSTMESSAGE lpWPUPostMessage; | |
| 81 LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback; | |
| 82 LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext; | |
| 83 LPWPUQUEUEAPC lpWPUQueueApc; | |
| 84 LPWPURESETEVENT lpWPUResetEvent; | |
| 85 LPWPUSETEVENT lpWPUSetEvent; | |
| 86 LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread; | |
| 87 LPWPUCLOSETHREAD lpWPUCloseThread; | |
| 88 LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest; | |
| 89 } WSPUPCALLTABLEEX, FAR * LPWSPUPCALLTABLEEX; | |
| 90 #endif | |
| 91 | |
| 92 int WSPAPI | |
| 93 WSPStartupEx( | |
| 94 IN WORD wVersionRequested, | |
| 95 OUT LPWSPDATA lpWSPData, | |
| 96 IN LPWSAPROTOCOL_INFOW lpProtocolInfo, | |
| 97 IN LPWSPUPCALLTABLEEX lpUpcallTable, | |
| 98 OUT LPWSPPROC_TABLE lpProcTable); | |
| 99 | |
| 100 typedef int WSPAPI | |
| 101 (*LPWSPSTARTUPEX)( | |
| 102 IN WORD wVersionRequested, | |
| 103 OUT LPWSPDATA lpWSPData, | |
| 104 IN LPWSAPROTOCOL_INFOW lpProtocolInfo, | |
| 105 IN LPWSPUPCALLTABLEEX lpUpcallTable, | |
| 106 OUT LPWSPPROC_TABLE lpProcTable); | |
| 107 | |
| 108 #define MEM_READ 1 | |
| 109 #define MEM_WRITE 2 | |
| 110 #define MEM_READWRITE 3 | |
| 111 | |
| 112 int WSPAPI | |
| 113 WSPDeregisterMemory( | |
| 114 IN SOCKET s, | |
| 115 IN HANDLE Handle, | |
| 116 OUT LPINT lpErrno); | |
| 117 | |
| 118 typedef int WSPAPI | |
| 119 (*LPFN_WSPDEREGISTERMEMORY)( | |
| 120 IN SOCKET s, | |
| 121 IN HANDLE Handle, | |
| 122 OUT LPINT lpErrno); | |
| 123 | |
| 124 int WSPAPI | |
| 125 WSPDeregisterRdmaMemory( | |
| 126 IN SOCKET s, | |
| 127 IN LPVOID lpRdmaBufferDescriptor, | |
| 128 IN DWORD dwDescriptorLength, | |
| 129 OUT LPINT lpErrno); | |
| 130 | |
| 131 typedef int WSPAPI | |
| 132 (*LPFN_WSPDEREGISTERRDMAMEMORY)( | |
| 133 IN SOCKET s, | |
| 134 IN LPVOID lpRdmaBufferDescriptor, | |
| 135 IN DWORD dwDescriptorLength, | |
| 136 OUT LPINT lpErrno); | |
| 137 | |
| 138 int WSPAPI | |
| 139 WSPMemoryRegistrationCacheCallback( | |
| 140 IN PVOID lpvAddress, | |
| 141 IN SIZE_T Size, | |
| 142 OUT LPINT lpErrno); | |
| 143 | |
| 144 typedef int WSPAPI | |
| 145 (*LPFN_WSPMEMORYREGISTRATIONCACHECALLBACK)( | |
| 146 IN PVOID lpvAddress, | |
| 147 IN SIZE_T Size, | |
| 148 OUT LPINT lpErrno); | |
| 149 | |
| 150 int WSPAPI | |
| 151 WSPRdmaRead( | |
| 152 IN SOCKET s, | |
| 153 IN LPWSABUFEX lpBuffers, | |
| 154 IN DWORD dwBufferCount, | |
| 155 IN LPVOID lpTargetBufferDescriptor, | |
| 156 IN DWORD dwTargetDescriptorLength, | |
| 157 IN DWORD dwTargetBufferOffset, | |
| 158 OUT LPDWORD lpdwNumberOfBytesRead, | |
| 159 IN DWORD dwFlags, | |
| 160 IN LPWSAOVERLAPPED lpOverlapped, | |
| 161 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, | |
| 162 IN LPWSATHREADID lpThreadId, | |
| 163 OUT LPINT lpErrno); | |
| 164 | |
| 165 typedef int WSPAPI | |
| 166 (*LPFN_WSPRDMAREAD)( | |
| 167 IN SOCKET s, | |
| 168 IN LPWSABUFEX lpBuffers, | |
| 169 IN DWORD dwBufferCount, | |
| 170 IN LPVOID lpTargetBufferDescriptor, | |
| 171 IN DWORD dwTargetDescriptorLength, | |
| 172 IN DWORD dwTargetBufferOffset, | |
| 173 OUT LPDWORD lpdwNumberOfBytesRead, | |
| 174 IN DWORD dwFlags, | |
| 175 IN LPWSAOVERLAPPED lpOverlapped, | |
| 176 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, | |
| 177 IN LPWSATHREADID lpThreadId, | |
| 178 OUT LPINT lpErrno); | |
| 179 | |
| 180 int WSPAPI | |
| 181 WSPRdmaWrite( | |
| 182 IN SOCKET s, | |
| 183 IN LPWSABUFEX lpBuffers, | |
| 184 IN DWORD dwBufferCount, | |
| 185 IN LPVOID lpTargetBufferDescriptor, | |
| 186 IN DWORD dwTargetDescriptorLength, | |
| 187 IN DWORD dwTargetBufferOffset, | |
| 188 OUT LPDWORD lpdwNumberOfBytesWritten, | |
| 189 IN DWORD dwFlags, | |
| 190 IN LPWSAOVERLAPPED lpOverlapped, | |
| 191 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, | |
| 192 IN LPWSATHREADID lpThreadId, | |
| 193 OUT LPINT lpErrno); | |
| 194 | |
| 195 typedef int WSPAPI | |
| 196 (*LPFN_WSPRDMAWRITE)( | |
| 197 IN SOCKET s, | |
| 198 IN LPWSABUFEX lpBuffers, | |
| 199 IN DWORD dwBufferCount, | |
| 200 IN LPVOID lpTargetBufferDescriptor, | |
| 201 IN DWORD dwTargetDescriptorLength, | |
| 202 IN DWORD dwTargetBufferOffset, | |
| 203 OUT LPDWORD lpdwNumberOfBytesWritten, | |
| 204 IN DWORD dwFlags, | |
| 205 IN LPWSAOVERLAPPED lpOverlapped, | |
| 206 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, | |
| 207 IN LPWSATHREADID lpThreadId, | |
| 208 OUT LPINT lpErrno); | |
| 209 | |
| 210 HANDLE WSPAPI | |
| 211 WSPRegisterMemory( | |
| 212 IN SOCKET s, | |
| 213 IN PVOID lpBuffer, | |
| 214 IN DWORD dwBufferLength, | |
| 215 IN DWORD dwFlags, | |
| 216 OUT LPINT lpErrno); | |
| 217 | |
| 218 int WSPAPI | |
| 219 WSPRegisterRdmaMemory( | |
| 220 IN SOCKET s, | |
| 221 IN PVOID lpBuffer, | |
| 222 IN DWORD dwBufferLength, | |
| 223 IN DWORD dwFlags, | |
| 224 OUT LPVOID lpRdmaBufferDescriptor, | |
| 225 IN OUT LPDWORD lpdwDescriptorLength, | |
| 226 OUT LPINT lpErrno); | |
| 227 | |
| 228 typedef int WSPAPI | |
| 229 (*LPFN_WSPREGISTERRDMAMEMORY)( | |
| 230 IN SOCKET s, | |
| 231 IN PVOID lpBuffer, | |
| 232 IN DWORD dwBufferLength, | |
| 233 IN DWORD dwFlags, | |
| 234 OUT LPVOID lpRdmaBufferDescriptor, | |
| 235 IN OUT LPDWORD lpdwDescriptorLength, | |
| 236 OUT LPINT lpErrno); | |
| 237 | |
| 238 #ifdef __cplusplus | |
| 239 } | |
| 240 #endif | |
| 241 | |
| 242 #endif /* __WS2SAN_H */ |
