Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/httpfilt.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 _HTTPFILT_H_ | |
| 7 #define _HTTPFILT_H_ | |
| 8 | |
| 9 #ifdef __cplusplus | |
| 10 extern "C" { | |
| 11 #endif | |
| 12 | |
| 13 #ifdef _WIN64 | |
| 14 __MINGW_EXTENSION typedef unsigned __int64 ULONG_PTR,*PULONG_PTR; | |
| 15 #else | |
| 16 typedef unsigned long ULONG_PTR,*PULONG_PTR; | |
| 17 #endif | |
| 18 | |
| 19 #define HTTP_FILTER_REVISION MAKELONG(0,6) | |
| 20 | |
| 21 #define SF_MAX_USERNAME (256+1) | |
| 22 #define SF_MAX_PASSWORD (256+1) | |
| 23 #define SF_MAX_AUTH_TYPE (32+1) | |
| 24 | |
| 25 #define SF_MAX_FILTER_DESC_LEN (256+1) | |
| 26 | |
| 27 enum SF_REQ_TYPE { | |
| 28 SF_REQ_SEND_RESPONSE_HEADER,SF_REQ_ADD_HEADERS_ON_DENIAL,SF_REQ_SET_NEXT_READ_SIZE,SF_REQ_SET_PROXY_INFO,SF_REQ_GET_CONNID, | |
| 29 SF_REQ_SET_CERTIFICATE_INFO,SF_REQ_GET_PROPERTY,SF_REQ_NORMALIZE_URL,SF_REQ_DISABLE_NOTIFICATIONS | |
| 30 }; | |
| 31 | |
| 32 enum SF_PROPERTY_IIS { | |
| 33 SF_PROPERTY_SSL_CTXT,SF_PROPERTY_INSTANCE_NUM_ID | |
| 34 }; | |
| 35 | |
| 36 enum SF_STATUS_TYPE { | |
| 37 SF_STATUS_REQ_FINISHED = 0x8000000,SF_STATUS_REQ_FINISHED_KEEP_CONN,SF_STATUS_REQ_NEXT_NOTIFICATION,SF_STATUS_REQ_HANDLED_NOTIFICATION, | |
| 38 SF_STATUS_REQ_ERROR,SF_STATUS_REQ_READ_NEXT | |
| 39 }; | |
| 40 | |
| 41 typedef struct _HTTP_FILTER_CONTEXT { | |
| 42 DWORD cbSize; | |
| 43 DWORD Revision; | |
| 44 PVOID ServerContext; | |
| 45 DWORD ulReserved; | |
| 46 WINBOOL fIsSecurePort; | |
| 47 PVOID pFilterContext; | |
| 48 WINBOOL (WINAPI *GetServerVariable)(struct _HTTP_FILTER_CONTEXT *pfc,LPSTR lpszVariableName,LPVOID lpvBuffer,LPDWORD lpdwSize); | |
| 49 WINBOOL (WINAPI *AddResponseHeaders)(struct _HTTP_FILTER_CONTEXT *pfc,LPSTR lpszHeaders,DWORD dwReserved); | |
| 50 WINBOOL (WINAPI *WriteClient)(struct _HTTP_FILTER_CONTEXT *pfc,LPVOID Buffer,LPDWORD lpdwBytes,DWORD dwReserved); | |
| 51 VOID *(WINAPI *AllocMem)(struct _HTTP_FILTER_CONTEXT *pfc,DWORD cbSize,DWORD dwReserved); | |
| 52 WINBOOL (WINAPI *ServerSupportFunction)(struct _HTTP_FILTER_CONTEXT *pfc,enum SF_REQ_TYPE sfReq,PVOID pData,ULONG_PTR ul1,ULONG_PTR ul2); | |
| 53 } HTTP_FILTER_CONTEXT,*PHTTP_FILTER_CONTEXT; | |
| 54 | |
| 55 typedef struct _HTTP_FILTER_RAW_DATA { | |
| 56 PVOID pvInData; | |
| 57 DWORD cbInData; | |
| 58 DWORD cbInBuffer; | |
| 59 DWORD dwReserved; | |
| 60 } HTTP_FILTER_RAW_DATA,*PHTTP_FILTER_RAW_DATA; | |
| 61 | |
| 62 typedef struct _HTTP_FILTER_PREPROC_HEADERS { | |
| 63 WINBOOL (WINAPI *GetHeader)(struct _HTTP_FILTER_CONTEXT *pfc,LPSTR lpszName,LPVOID lpvBuffer,LPDWORD lpdwSize); | |
| 64 WINBOOL (WINAPI *SetHeader)(struct _HTTP_FILTER_CONTEXT *pfc,LPSTR lpszName,LPSTR lpszValue); | |
| 65 WINBOOL (WINAPI *AddHeader)(struct _HTTP_FILTER_CONTEXT *pfc,LPSTR lpszName,LPSTR lpszValue); | |
| 66 DWORD HttpStatus; | |
| 67 DWORD dwReserved; | |
| 68 } HTTP_FILTER_PREPROC_HEADERS,*PHTTP_FILTER_PREPROC_HEADERS; | |
| 69 | |
| 70 typedef HTTP_FILTER_PREPROC_HEADERS HTTP_FILTER_SEND_RESPONSE; | |
| 71 typedef HTTP_FILTER_PREPROC_HEADERS *PHTTP_FILTER_SEND_RESPONSE; | |
| 72 | |
| 73 typedef struct _HTTP_FILTER_AUTHENT { | |
| 74 CHAR *pszUser; | |
| 75 DWORD cbUserBuff; | |
| 76 CHAR *pszPassword; | |
| 77 DWORD cbPasswordBuff; | |
| 78 } HTTP_FILTER_AUTHENT,*PHTTP_FILTER_AUTHENT; | |
| 79 | |
| 80 typedef struct _HTTP_FILTER_URL_MAP { | |
| 81 const CHAR *pszURL; | |
| 82 CHAR *pszPhysicalPath; | |
| 83 DWORD cbPathBuff; | |
| 84 } HTTP_FILTER_URL_MAP,*PHTTP_FILTER_URL_MAP; | |
| 85 | |
| 86 typedef struct _HTTP_FILTER_URL_MAP_EX { | |
| 87 const CHAR *pszURL; | |
| 88 CHAR *pszPhysicalPath; | |
| 89 DWORD cbPathBuff; | |
| 90 DWORD dwFlags; | |
| 91 DWORD cchMatchingPath; | |
| 92 DWORD cchMatchingURL; | |
| 93 const CHAR *pszScriptMapEntry; | |
| 94 } HTTP_FILTER_URL_MAP_EX,*PHTTP_FILTER_URL_MAP_EX; | |
| 95 | |
| 96 #define SF_DENIED_LOGON 0x00000001 | |
| 97 #define SF_DENIED_RESOURCE 0x00000002 | |
| 98 #define SF_DENIED_FILTER 0x00000004 | |
| 99 #define SF_DENIED_APPLICATION 0x00000008 | |
| 100 | |
| 101 #define SF_DENIED_BY_CONFIG 0x00010000 | |
| 102 | |
| 103 typedef struct _HTTP_FILTER_ACCESS_DENIED { | |
| 104 const CHAR *pszURL; | |
| 105 const CHAR *pszPhysicalPath; | |
| 106 DWORD dwReason; | |
| 107 } HTTP_FILTER_ACCESS_DENIED,*PHTTP_FILTER_ACCESS_DENIED; | |
| 108 | |
| 109 typedef struct _HTTP_FILTER_LOG { | |
| 110 const CHAR *pszClientHostName; | |
| 111 const CHAR *pszClientUserName; | |
| 112 const CHAR *pszServerName; | |
| 113 const CHAR *pszOperation; | |
| 114 const CHAR *pszTarget; | |
| 115 const CHAR *pszParameters; | |
| 116 DWORD dwHttpStatus; | |
| 117 DWORD dwWin32Status; | |
| 118 DWORD dwBytesSent; | |
| 119 DWORD dwBytesRecvd; | |
| 120 DWORD msTimeForProcessing; | |
| 121 } HTTP_FILTER_LOG,*PHTTP_FILTER_LOG; | |
| 122 | |
| 123 typedef struct _HTTP_FILTER_AUTH_COMPLETE_INFO { | |
| 124 WINBOOL (WINAPI *GetHeader)(struct _HTTP_FILTER_CONTEXT *pfc,LPSTR lpszName,LPVOID lpvBuffer,LPDWORD lpdwSize); | |
| 125 WINBOOL (WINAPI *SetHeader)(struct _HTTP_FILTER_CONTEXT *pfc,LPSTR lpszName,LPSTR lpszValue); | |
| 126 WINBOOL (WINAPI *AddHeader)(struct _HTTP_FILTER_CONTEXT *pfc,LPSTR lpszName,LPSTR lpszValue); | |
| 127 WINBOOL (WINAPI *GetUserToken)(struct _HTTP_FILTER_CONTEXT *pfc,HANDLE *phToken); | |
| 128 DWORD HttpStatus; | |
| 129 WINBOOL fResetAuth; | |
| 130 DWORD dwReserved; | |
| 131 } HTTP_FILTER_AUTH_COMPLETE_INFO,*PHTTP_FILTER_AUTH_COMPLETE_INFO; | |
| 132 | |
| 133 #define SF_NOTIFY_SECURE_PORT 0x00000001 | |
| 134 #define SF_NOTIFY_NONSECURE_PORT 0x00000002 | |
| 135 | |
| 136 #define SF_NOTIFY_READ_RAW_DATA 0x00008000 | |
| 137 #define SF_NOTIFY_PREPROC_HEADERS 0x00004000 | |
| 138 #define SF_NOTIFY_AUTHENTICATION 0x00002000 | |
| 139 #define SF_NOTIFY_URL_MAP 0x00001000 | |
| 140 #define SF_NOTIFY_ACCESS_DENIED 0x00000800 | |
| 141 #define SF_NOTIFY_SEND_RESPONSE 0x00000040 | |
| 142 #define SF_NOTIFY_SEND_RAW_DATA 0x00000400 | |
| 143 #define SF_NOTIFY_LOG 0x00000200 | |
| 144 #define SF_NOTIFY_END_OF_REQUEST 0x00000080 | |
| 145 #define SF_NOTIFY_END_OF_NET_SESSION 0x00000100 | |
| 146 #define SF_NOTIFY_AUTH_COMPLETE 0x04000000 | |
| 147 | |
| 148 #define SF_NOTIFY_ORDER_HIGH 0x00080000 | |
| 149 #define SF_NOTIFY_ORDER_MEDIUM 0x00040000 | |
| 150 #define SF_NOTIFY_ORDER_LOW 0x00020000 | |
| 151 #define SF_NOTIFY_ORDER_DEFAULT SF_NOTIFY_ORDER_LOW | |
| 152 | |
| 153 #define SF_NOTIFY_ORDER_MASK (SF_NOTIFY_ORDER_HIGH | SF_NOTIFY_ORDER_MEDIUM | SF_NOTIFY_ORDER_LOW) | |
| 154 | |
| 155 typedef struct _HTTP_FILTER_VERSION { | |
| 156 DWORD dwServerFilterVersion; | |
| 157 DWORD dwFilterVersion; | |
| 158 CHAR lpszFilterDesc[SF_MAX_FILTER_DESC_LEN]; | |
| 159 DWORD dwFlags; | |
| 160 } HTTP_FILTER_VERSION,*PHTTP_FILTER_VERSION; | |
| 161 | |
| 162 DWORD WINAPI HttpFilterProc(HTTP_FILTER_CONTEXT *pfc,DWORD NotificationType,VOID *pvNotification); | |
| 163 WINBOOL WINAPI GetFilterVersion(HTTP_FILTER_VERSION *pVer); | |
| 164 WINBOOL WINAPI TerminateFilter(DWORD dwFlags); | |
| 165 | |
| 166 #ifdef __cplusplus | |
| 167 } | |
| 168 #endif | |
| 169 #endif |
