Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/httpext.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 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef _HTTPEXT_H_ | |
| 7 #define _HTTPEXT_H_ | |
| 8 | |
| 9 #include <windows.h> | |
| 10 | |
| 11 #ifdef __cplusplus | |
| 12 extern "C" { | |
| 13 #endif | |
| 14 | |
| 15 #define HSE_VERSION_MAJOR 6 | |
| 16 #define HSE_VERSION_MINOR 0 | |
| 17 #define HSE_LOG_BUFFER_LEN 80 | |
| 18 #define HSE_MAX_EXT_DLL_NAME_LEN 256 | |
| 19 | |
| 20 #define HSE_VERSION MAKELONG(HSE_VERSION_MINOR,HSE_VERSION_MAJOR) | |
| 21 | |
| 22 #define HSE_STATUS_SUCCESS 1 | |
| 23 #define HSE_STATUS_SUCCESS_AND_KEEP_CONN 2 | |
| 24 #define HSE_STATUS_PENDING 3 | |
| 25 #define HSE_STATUS_ERROR 4 | |
| 26 | |
| 27 #define HSE_REQ_BASE 0 | |
| 28 #define HSE_REQ_SEND_URL_REDIRECT_RESP (HSE_REQ_BASE + 1) | |
| 29 #define HSE_REQ_SEND_URL (HSE_REQ_BASE + 2) | |
| 30 #define HSE_REQ_SEND_RESPONSE_HEADER (HSE_REQ_BASE + 3) | |
| 31 #define HSE_REQ_DONE_WITH_SESSION (HSE_REQ_BASE + 4) | |
| 32 #define HSE_REQ_END_RESERVED 1000 | |
| 33 | |
| 34 #define HSE_REQ_MAP_URL_TO_PATH (HSE_REQ_END_RESERVED+1) | |
| 35 #define HSE_REQ_GET_SSPI_INFO (HSE_REQ_END_RESERVED+2) | |
| 36 #define HSE_APPEND_LOG_PARAMETER (HSE_REQ_END_RESERVED+3) | |
| 37 #define HSE_REQ_IO_COMPLETION (HSE_REQ_END_RESERVED+5) | |
| 38 #define HSE_REQ_TRANSMIT_FILE (HSE_REQ_END_RESERVED+6) | |
| 39 #define HSE_REQ_REFRESH_ISAPI_ACL (HSE_REQ_END_RESERVED+7) | |
| 40 #define HSE_REQ_IS_KEEP_CONN (HSE_REQ_END_RESERVED+8) | |
| 41 #define HSE_REQ_ASYNC_READ_CLIENT (HSE_REQ_END_RESERVED+10) | |
| 42 #define HSE_REQ_GET_IMPERSONATION_TOKEN (HSE_REQ_END_RESERVED+11) | |
| 43 #define HSE_REQ_MAP_URL_TO_PATH_EX (HSE_REQ_END_RESERVED+12) | |
| 44 #define HSE_REQ_ABORTIVE_CLOSE (HSE_REQ_END_RESERVED+14) | |
| 45 #define HSE_REQ_GET_CERT_INFO_EX (HSE_REQ_END_RESERVED+15) | |
| 46 #define HSE_REQ_SEND_RESPONSE_HEADER_EX (HSE_REQ_END_RESERVED+16) | |
| 47 #define HSE_REQ_CLOSE_CONNECTION (HSE_REQ_END_RESERVED+17) | |
| 48 #define HSE_REQ_IS_CONNECTED (HSE_REQ_END_RESERVED+18) | |
| 49 #define HSE_REQ_MAP_UNICODE_URL_TO_PATH (HSE_REQ_END_RESERVED+23) | |
| 50 #define HSE_REQ_MAP_UNICODE_URL_TO_PATH_EX (HSE_REQ_END_RESERVED+24) | |
| 51 #define HSE_REQ_EXEC_UNICODE_URL (HSE_REQ_END_RESERVED+25) | |
| 52 #define HSE_REQ_EXEC_URL (HSE_REQ_END_RESERVED+26) | |
| 53 #define HSE_REQ_GET_EXEC_URL_STATUS (HSE_REQ_END_RESERVED+27) | |
| 54 #define HSE_REQ_SEND_CUSTOM_ERROR (HSE_REQ_END_RESERVED+28) | |
| 55 #define HSE_REQ_IS_IN_PROCESS (HSE_REQ_END_RESERVED+30) | |
| 56 #define HSE_REQ_REPORT_UNHEALTHY (HSE_REQ_END_RESERVED+32) | |
| 57 #define HSE_REQ_NORMALIZE_URL (HSE_REQ_END_RESERVED+33) | |
| 58 #define HSE_REQ_VECTOR_SEND (HSE_REQ_END_RESERVED+37) | |
| 59 #define HSE_REQ_GET_ANONYMOUS_TOKEN (HSE_REQ_END_RESERVED+38) | |
| 60 #define HSE_REQ_GET_CACHE_INVALIDATION_CALLBACK (HSE_REQ_END_RESERVED+40) | |
| 61 #define HSE_REQ_GET_UNICODE_ANONYMOUS_TOKEN (HSE_REQ_END_RESERVED+41) | |
| 62 #define HSE_REQ_GET_TRACE_INFO (HSE_REQ_END_RESERVED+42) | |
| 63 | |
| 64 #define HSE_TERM_ADVISORY_UNLOAD 0x00000001 | |
| 65 #define HSE_TERM_MUST_UNLOAD 0x00000002 | |
| 66 | |
| 67 #define HSE_IO_SYNC 0x00000001 | |
| 68 #define HSE_IO_ASYNC 0x00000002 | |
| 69 #define HSE_IO_DISCONNECT_AFTER_SEND 0x00000004 | |
| 70 #define HSE_IO_SEND_HEADERS 0x00000008 | |
| 71 #define HSE_IO_NODELAY 0x00001000 | |
| 72 | |
| 73 #define HSE_IO_FINAL_SEND 0x00000010 | |
| 74 #define HSE_IO_CACHE_RESPONSE 0x00000020 | |
| 75 | |
| 76 typedef LPVOID HCONN; | |
| 77 | |
| 78 typedef struct _HSE_VERSION_INFO { | |
| 79 DWORD dwExtensionVersion; | |
| 80 CHAR lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN]; | |
| 81 } HSE_VERSION_INFO,*LPHSE_VERSION_INFO; | |
| 82 | |
| 83 typedef struct _EXTENSION_CONTROL_BLOCK { | |
| 84 DWORD cbSize; | |
| 85 DWORD dwVersion; | |
| 86 HCONN ConnID; | |
| 87 DWORD dwHttpStatusCode; | |
| 88 CHAR lpszLogData[HSE_LOG_BUFFER_LEN]; | |
| 89 LPSTR lpszMethod; | |
| 90 LPSTR lpszQueryString; | |
| 91 LPSTR lpszPathInfo; | |
| 92 LPSTR lpszPathTranslated; | |
| 93 | |
| 94 DWORD cbTotalBytes; | |
| 95 DWORD cbAvailable; | |
| 96 LPBYTE lpbData; | |
| 97 LPSTR lpszContentType; | |
| 98 WINBOOL (WINAPI *GetServerVariable) (HCONN hConn,LPSTR lpszVariableName,LPVOID lpvBuffer,LPDWORD lpdwSize); | |
| 99 WINBOOL (WINAPI *WriteClient) (HCONN ConnID,LPVOID Buffer,LPDWORD lpdwBytes,DWORD dwReserved); | |
| 100 WINBOOL (WINAPI *ReadClient) (HCONN ConnID,LPVOID lpvBuffer,LPDWORD lpdwSize); | |
| 101 WINBOOL (WINAPI *ServerSupportFunction)(HCONN hConn,DWORD dwHSERequest,LPVOID lpvBuffer,LPDWORD lpdwSize,LPDWORD lpdwDataType); | |
| 102 } EXTENSION_CONTROL_BLOCK,*LPEXTENSION_CONTROL_BLOCK; | |
| 103 | |
| 104 #define HSE_URL_FLAGS_READ 0x00000001 | |
| 105 #define HSE_URL_FLAGS_WRITE 0x00000002 | |
| 106 #define HSE_URL_FLAGS_EXECUTE 0x00000004 | |
| 107 #define HSE_URL_FLAGS_SSL 0x00000008 | |
| 108 #define HSE_URL_FLAGS_DONT_CACHE 0x00000010 | |
| 109 #define HSE_URL_FLAGS_NEGO_CERT 0x00000020 | |
| 110 #define HSE_URL_FLAGS_REQUIRE_CERT 0x00000040 | |
| 111 #define HSE_URL_FLAGS_MAP_CERT 0x00000080 | |
| 112 #define HSE_URL_FLAGS_SSL128 0x00000100 | |
| 113 #define HSE_URL_FLAGS_SCRIPT 0x00000200 | |
| 114 | |
| 115 #define HSE_URL_FLAGS_MASK 0x000003ff | |
| 116 | |
| 117 typedef struct _HSE_URL_MAPEX_INFO { | |
| 118 CHAR lpszPath[MAX_PATH]; | |
| 119 DWORD dwFlags; | |
| 120 DWORD cchMatchingPath; | |
| 121 DWORD cchMatchingURL; | |
| 122 DWORD dwReserved1; | |
| 123 DWORD dwReserved2; | |
| 124 } HSE_URL_MAPEX_INFO,*LPHSE_URL_MAPEX_INFO; | |
| 125 | |
| 126 typedef struct _HSE_UNICODE_URL_MAPEX_INFO { | |
| 127 WCHAR lpszPath[MAX_PATH]; | |
| 128 DWORD dwFlags; | |
| 129 DWORD cchMatchingPath; | |
| 130 DWORD cchMatchingURL; | |
| 131 } HSE_UNICODE_URL_MAPEX_INFO,*LPHSE_UNICODE_URL_MAPEX_INFO; | |
| 132 | |
| 133 typedef VOID (WINAPI *PFN_HSE_IO_COMPLETION)(EXTENSION_CONTROL_BLOCK *pECB,PVOID pContext,DWORD cbIO,DWORD dwError); | |
| 134 | |
| 135 typedef struct _HSE_TF_INFO { | |
| 136 PFN_HSE_IO_COMPLETION pfnHseIO; | |
| 137 PVOID pContext; | |
| 138 HANDLE hFile; | |
| 139 LPCSTR pszStatusCode; | |
| 140 DWORD BytesToWrite; | |
| 141 DWORD Offset; | |
| 142 PVOID pHead; | |
| 143 DWORD HeadLength; | |
| 144 PVOID pTail; | |
| 145 DWORD TailLength; | |
| 146 DWORD dwFlags; | |
| 147 } HSE_TF_INFO,*LPHSE_TF_INFO; | |
| 148 | |
| 149 typedef struct _HSE_SEND_HEADER_EX_INFO { | |
| 150 LPCSTR pszStatus; | |
| 151 LPCSTR pszHeader; | |
| 152 DWORD cchStatus; | |
| 153 DWORD cchHeader; | |
| 154 WINBOOL fKeepConn; | |
| 155 } HSE_SEND_HEADER_EX_INFO,*LPHSE_SEND_HEADER_EX_INFO; | |
| 156 | |
| 157 #define HSE_EXEC_URL_NO_HEADERS 0x02 | |
| 158 #define HSE_EXEC_URL_IGNORE_CURRENT_INTERCEPTOR 0x04 | |
| 159 #define HSE_EXEC_URL_IGNORE_VALIDATION_AND_RANGE 0x10 | |
| 160 #define HSE_EXEC_URL_DISABLE_CUSTOM_ERROR 0x20 | |
| 161 #define HSE_EXEC_URL_SSI_CMD 0x40 | |
| 162 | |
| 163 typedef struct _HSE_EXEC_URL_USER_INFO { | |
| 164 HANDLE hImpersonationToken; | |
| 165 LPSTR pszCustomUserName; | |
| 166 LPSTR pszCustomAuthType; | |
| 167 } HSE_EXEC_URL_USER_INFO,*LPHSE_EXEC_URL_USER_INFO; | |
| 168 | |
| 169 typedef struct _HSE_EXEC_URL_ENTITY_INFO { | |
| 170 DWORD cbAvailable; | |
| 171 LPVOID lpbData; | |
| 172 } HSE_EXEC_URL_ENTITY_INFO,*LPHSE_EXEC_URL_ENTITY_INFO; | |
| 173 | |
| 174 typedef struct _HSE_EXEC_URL_STATUS { | |
| 175 USHORT uHttpStatusCode; | |
| 176 USHORT uHttpSubStatus; | |
| 177 DWORD dwWin32Error; | |
| 178 } HSE_EXEC_URL_STATUS,*LPHSE_EXEC_URL_STATUS; | |
| 179 | |
| 180 typedef struct _HSE_EXEC_URL_INFO { | |
| 181 LPSTR pszUrl; | |
| 182 LPSTR pszMethod; | |
| 183 LPSTR pszChildHeaders; | |
| 184 LPHSE_EXEC_URL_USER_INFO pUserInfo; | |
| 185 LPHSE_EXEC_URL_ENTITY_INFO pEntity; | |
| 186 DWORD dwExecUrlFlags; | |
| 187 } HSE_EXEC_URL_INFO,*LPHSE_EXEC_URL_INFO; | |
| 188 | |
| 189 typedef struct _HSE_EXEC_UNICODE_URL_USER_INFO { | |
| 190 HANDLE hImpersonationToken; | |
| 191 LPWSTR pszCustomUserName; | |
| 192 LPSTR pszCustomAuthType; | |
| 193 } HSE_EXEC_UNICODE_URL_USER_INFO,*LPHSE_EXEC_UNICODE_URL_USER_INFO; | |
| 194 | |
| 195 typedef struct _HSE_EXEC_UNICODE_URL_INFO { | |
| 196 LPWSTR pszUrl; | |
| 197 LPSTR pszMethod; | |
| 198 LPSTR pszChildHeaders; | |
| 199 LPHSE_EXEC_UNICODE_URL_USER_INFO pUserInfo; | |
| 200 LPHSE_EXEC_URL_ENTITY_INFO pEntity; | |
| 201 DWORD dwExecUrlFlags; | |
| 202 } HSE_EXEC_UNICODE_URL_INFO,*LPHSE_EXEC_UNICODE_URL_INFO; | |
| 203 | |
| 204 typedef struct _HSE_CUSTOM_ERROR_INFO { | |
| 205 CHAR *pszStatus; | |
| 206 USHORT uHttpSubError; | |
| 207 WINBOOL fAsync; | |
| 208 } HSE_CUSTOM_ERROR_INFO,*LPHSE_CUSTOM_ERROR_INFO; | |
| 209 | |
| 210 #define HSE_VECTOR_ELEMENT_TYPE_MEMORY_BUFFER 0 | |
| 211 #define HSE_VECTOR_ELEMENT_TYPE_FILE_HANDLE 1 | |
| 212 | |
| 213 typedef struct _HSE_VECTOR_ELEMENT { | |
| 214 DWORD ElementType; | |
| 215 PVOID pvContext; | |
| 216 ULONGLONG cbOffset; | |
| 217 ULONGLONG cbSize; | |
| 218 } HSE_VECTOR_ELEMENT,*LPHSE_VECTOR_ELEMENT; | |
| 219 | |
| 220 typedef struct _HSE_RESPONSE_VECTOR { | |
| 221 DWORD dwFlags; | |
| 222 LPSTR pszStatus; | |
| 223 LPSTR pszHeaders; | |
| 224 DWORD nElementCount; | |
| 225 LPHSE_VECTOR_ELEMENT lpElementArray; | |
| 226 } HSE_RESPONSE_VECTOR,*LPHSE_RESPONSE_VECTOR; | |
| 227 | |
| 228 typedef HRESULT (WINAPI *PFN_HSE_CACHE_INVALIDATION_CALLBACK)(WCHAR *pszUrl); | |
| 229 | |
| 230 #include <wincrypt.h> | |
| 231 | |
| 232 typedef struct _CERT_CONTEXT_EX { | |
| 233 CERT_CONTEXT CertContext; | |
| 234 DWORD cbAllocated; | |
| 235 DWORD dwCertificateFlags; | |
| 236 } CERT_CONTEXT_EX; | |
| 237 | |
| 238 typedef struct _HSE_TRACE_INFO { | |
| 239 WINBOOL fTraceRequest; | |
| 240 BYTE TraceContextId[16]; | |
| 241 DWORD dwReserved1; | |
| 242 DWORD dwReserved2; | |
| 243 } HSE_TRACE_INFO,*LPHSE_TRACE_INFO; | |
| 244 | |
| 245 #define HSE_APP_FLAG_IN_PROCESS 0 | |
| 246 #define HSE_APP_FLAG_ISOLATED_OOP 1 | |
| 247 #define HSE_APP_FLAG_POOLED_OOP 2 | |
| 248 | |
| 249 WINBOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO *pVer); | |
| 250 DWORD WINAPI HttpExtensionProc(EXTENSION_CONTROL_BLOCK *pECB); | |
| 251 WINBOOL WINAPI TerminateExtension(DWORD dwFlags); | |
| 252 | |
| 253 typedef WINBOOL (WINAPI *PFN_GETEXTENSIONVERSION)(HSE_VERSION_INFO *pVer); | |
| 254 typedef DWORD (WINAPI *PFN_HTTPEXTENSIONPROC)(EXTENSION_CONTROL_BLOCK *pECB); | |
| 255 typedef WINBOOL (WINAPI *PFN_TERMINATEEXTENSION)(DWORD dwFlags); | |
| 256 | |
| 257 #ifdef __cplusplus | |
| 258 } | |
| 259 #endif | |
| 260 #endif |
