| 1 | /* |
| 2 | * Copyright (C) 2007 Francois Gouget |
| 3 | * |
| 4 | * This library is free software; you can redistribute it and/or |
| 5 | * modify it under the terms of the GNU Lesser General Public |
| 6 | * License as published by the Free Software Foundation; either |
| 7 | * version 2.1 of the License, or (at your option) any later version. |
| 8 | * |
| 9 | * This library is distributed in the hope that it will be useful, |
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 12 | * Lesser General Public License for more details. |
| 13 | * |
| 14 | * You should have received a copy of the GNU Lesser General Public |
| 15 | * License along with this library; if not, write to the Free Software |
| 16 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| 17 | */ |
| 18 | |
| 19 | #ifndef __WINE_WINHTTP_H |
| 20 | #define __WINE_WINHTTP_H |
| 21 | |
| 22 | #ifdef _WIN64 |
| 23 | #pragma pack(push,8) |
| 24 | #else |
| 25 | #pragma pack(push,4) |
| 26 | #endif |
| 27 | |
| 28 | #ifdef _WINHTTP_INTERNAL_ |
| 29 | # define WINHTTPAPI |
| 30 | #else |
| 31 | # define WINHTTPAPI DECLSPEC_IMPORT |
| 32 | #endif |
| 33 | |
| 34 | #define BOOLAPI WINHTTPAPI WINBOOL WINAPI |
| 35 | |
| 36 | |
| 37 | typedef LPVOID HINTERNET; |
| 38 | typedef HINTERNET *LPHINTERNET; |
| 39 | |
| 40 | #define INTERNET_DEFAULT_PORT 0 |
| 41 | #define INTERNET_DEFAULT_HTTP_PORT 80 |
| 42 | #define INTERNET_DEFAULT_HTTPS_PORT 443 |
| 43 | typedef WORD INTERNET_PORT; |
| 44 | typedef INTERNET_PORT *LPINTERNET_PORT; |
| 45 | |
| 46 | /* Yes, these values contradict wininet.h */ |
| 47 | #define INTERNET_SCHEME_HTTP 1 |
| 48 | #define INTERNET_SCHEME_HTTPS 2 |
| 49 | #define INTERNET_SCHEME_FTP 3 |
| 50 | #define INTERNET_SCHEME_SOCKS 4 |
| 51 | typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME; |
| 52 | |
| 53 | #define ICU_ESCAPE 0x80000000 |
| 54 | #define ICU_ESCAPE_AUTHORITY 0x00002000 |
| 55 | #define ICU_REJECT_USERPWD 0x00004000 |
| 56 | |
| 57 | /* flags for WinHttpOpen */ |
| 58 | #define WINHTTP_FLAG_ASYNC 0x10000000 |
| 59 | #define WINHTTP_FLAG_SECURE_DEFAULTS 0x30000000 |
| 60 | |
| 61 | /* flags for WinHttpOpenRequest */ |
| 62 | #define WINHTTP_FLAG_ESCAPE_PERCENT 0x00000004 |
| 63 | #define WINHTTP_FLAG_NULL_CODEPAGE 0x00000008 |
| 64 | #define WINHTTP_FLAG_ESCAPE_DISABLE 0x00000040 |
| 65 | #define WINHTTP_FLAG_ESCAPE_DISABLE_QUERY 0x00000080 |
| 66 | #define WINHTTP_FLAG_BYPASS_PROXY_CACHE 0x00000100 |
| 67 | #define WINHTTP_FLAG_REFRESH WINHTTP_FLAG_BYPASS_PROXY_CACHE |
| 68 | #define WINHTTP_FLAG_AUTOMATIC_CHUNKING 0x00000200 |
| 69 | #define WINHTTP_FLAG_SECURE 0x00800000 |
| 70 | |
| 71 | #define WINHTTP_ACCESS_TYPE_DEFAULT_PROXY 0 |
| 72 | #define WINHTTP_ACCESS_TYPE_NO_PROXY 1 |
| 73 | #define WINHTTP_ACCESS_TYPE_NAMED_PROXY 3 |
| 74 | #define WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY 4 |
| 75 | |
| 76 | #define WINHTTP_NO_PROXY_NAME NULL |
| 77 | #define WINHTTP_NO_PROXY_BYPASS NULL |
| 78 | |
| 79 | #define WINHTTP_NO_CLIENT_CERT_CONTEXT NULL |
| 80 | |
| 81 | #define WINHTTP_NO_REFERER NULL |
| 82 | #define WINHTTP_DEFAULT_ACCEPT_TYPES NULL |
| 83 | |
| 84 | #define WINHTTP_NO_ADDITIONAL_HEADERS NULL |
| 85 | #define WINHTTP_NO_REQUEST_DATA NULL |
| 86 | |
| 87 | #define WINHTTP_HEADER_NAME_BY_INDEX NULL |
| 88 | #define WINHTTP_NO_OUTPUT_BUFFER NULL |
| 89 | #define WINHTTP_NO_HEADER_INDEX NULL |
| 90 | |
| 91 | #define WINHTTP_ADDREQ_INDEX_MASK 0x0000FFFF |
| 92 | #define WINHTTP_ADDREQ_FLAGS_MASK 0xFFFF0000 |
| 93 | #define WINHTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000 |
| 94 | #define WINHTTP_ADDREQ_FLAG_ADD 0x20000000 |
| 95 | #define WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000 |
| 96 | #define WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000 |
| 97 | #define WINHTTP_ADDREQ_FLAG_COALESCE WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA |
| 98 | #define WINHTTP_ADDREQ_FLAG_REPLACE 0x80000000 |
| 99 | |
| 100 | #define WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH 0 |
| 101 | |
| 102 | /* flags for WinHttp{Set/Query}Options */ |
| 103 | #define WINHTTP_FIRST_OPTION WINHTTP_OPTION_CALLBACK |
| 104 | #define WINHTTP_OPTION_CALLBACK 1 |
| 105 | #define WINHTTP_OPTION_RESOLVE_TIMEOUT 2 |
| 106 | #define WINHTTP_OPTION_CONNECT_TIMEOUT 3 |
| 107 | #define WINHTTP_OPTION_CONNECT_RETRIES 4 |
| 108 | #define WINHTTP_OPTION_SEND_TIMEOUT 5 |
| 109 | #define WINHTTP_OPTION_RECEIVE_TIMEOUT 6 |
| 110 | #define WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT 7 |
| 111 | #define WINHTTP_OPTION_HANDLE_TYPE 9 |
| 112 | #define WINHTTP_OPTION_READ_BUFFER_SIZE 12 |
| 113 | #define WINHTTP_OPTION_WRITE_BUFFER_SIZE 13 |
| 114 | #define WINHTTP_OPTION_PARENT_HANDLE 21 |
| 115 | #define WINHTTP_OPTION_EXTENDED_ERROR 24 |
| 116 | #define WINHTTP_OPTION_SECURITY_FLAGS 31 |
| 117 | #define WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT 32 |
| 118 | #define WINHTTP_OPTION_URL 34 |
| 119 | #define WINHTTP_OPTION_SECURITY_KEY_BITNESS 36 |
| 120 | #define WINHTTP_OPTION_PROXY 38 |
| 121 | #define WINHTTP_OPTION_PROXY_RESULT_ENTRY 39 |
| 122 | #define WINHTTP_OPTION_USER_AGENT 41 |
| 123 | #define WINHTTP_OPTION_CONTEXT_VALUE 45 |
| 124 | #define WINHTTP_OPTION_CLIENT_CERT_CONTEXT 47 |
| 125 | #define WINHTTP_OPTION_REQUEST_PRIORITY 58 |
| 126 | #define WINHTTP_OPTION_HTTP_VERSION 59 |
| 127 | #define WINHTTP_OPTION_DISABLE_FEATURE 63 |
| 128 | #define WINHTTP_OPTION_CODEPAGE 68 |
| 129 | #define WINHTTP_OPTION_MAX_CONNS_PER_SERVER 73 |
| 130 | #define WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER 74 |
| 131 | #define WINHTTP_OPTION_AUTOLOGON_POLICY 77 |
| 132 | #define WINHTTP_OPTION_SERVER_CERT_CONTEXT 78 |
| 133 | #define WINHTTP_OPTION_ENABLE_FEATURE 79 |
| 134 | #define WINHTTP_OPTION_WORKER_THREAD_COUNT 80 |
| 135 | #define WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT 81 |
| 136 | #define WINHTTP_OPTION_PASSPORT_COBRANDING_URL 82 |
| 137 | #define WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH 83 |
| 138 | #define WINHTTP_OPTION_SECURE_PROTOCOLS 84 |
| 139 | #define WINHTTP_OPTION_ENABLETRACING 85 |
| 140 | #define WINHTTP_OPTION_PASSPORT_SIGN_OUT 86 |
| 141 | #define WINHTTP_OPTION_PASSPORT_RETURN_URL 87 |
| 142 | #define WINHTTP_OPTION_REDIRECT_POLICY 88 |
| 143 | #define WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS 89 |
| 144 | #define WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE 90 |
| 145 | #define WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE 91 |
| 146 | #define WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE 92 |
| 147 | #define WINHTTP_OPTION_CONNECTION_INFO 93 |
| 148 | #define WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST 94 |
| 149 | #define WINHTTP_OPTION_SPN 96 |
| 150 | #define WINHTTP_OPTION_GLOBAL_PROXY_CREDS 97 |
| 151 | #define WINHTTP_OPTION_GLOBAL_SERVER_CREDS 98 |
| 152 | #define WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT 99 |
| 153 | #define WINHTTP_OPTION_REJECT_USERPWD_IN_URL 100 |
| 154 | #define WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS 101 |
| 155 | #define WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE 103 |
| 156 | #define WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE 104 |
| 157 | #define WINHTTP_OPTION_SERVER_SPN_USED 106 |
| 158 | #define WINHTTP_OPTION_PROXY_SPN_USED 107 |
| 159 | #define WINHTTP_OPTION_SERVER_CBT 108 |
| 160 | #define WINHTTP_OPTION_UNSAFE_HEADER_PARSING 110 |
| 161 | #define WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS 111 |
| 162 | #define WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET 114 |
| 163 | #define WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT 115 |
| 164 | #define WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL 116 |
| 165 | #define WINHTTP_OPTION_DECOMPRESSION 118 |
| 166 | #define WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE 122 |
| 167 | #define WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE 123 |
| 168 | #define WINHTTP_OPTION_TCP_PRIORITY_HINT 128 |
| 169 | #define WINHTTP_OPTION_CONNECTION_FILTER 131 |
| 170 | #define WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL 133 |
| 171 | #define WINHTTP_OPTION_HTTP_PROTOCOL_USED 134 |
| 172 | #define WINHTTP_OPTION_KDC_PROXY_SETTINGS 136 |
| 173 | #define WINHTTP_OPTION_PROXY_DISABLE_SERVICE_CALLS 137 |
| 174 | #define WINHTTP_OPTION_ENCODE_EXTRA 138 |
| 175 | #define WINHTTP_OPTION_DISABLE_STREAM_QUEUE 139 |
| 176 | #define WINHTTP_OPTION_IPV6_FAST_FALLBACK 140 |
| 177 | #define WINHTTP_OPTION_CONNECTION_STATS_V0 141 |
| 178 | #define WINHTTP_OPTION_REQUEST_TIMES 142 |
| 179 | #define WINHTTP_OPTION_EXPIRE_CONNECTION 143 |
| 180 | #define WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK 144 |
| 181 | #define WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED 145 |
| 182 | #define WINHTTP_OPTION_REQUEST_STATS 146 |
| 183 | #define WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT 147 |
| 184 | #define WINHTTP_OPTION_CONNECTION_STATS_V1 150 |
| 185 | #define WINHTTP_OPTION_SECURITY_INFO 151 |
| 186 | #define WINHTTP_OPTION_TCP_KEEPALIVE 152 |
| 187 | #define WINHTTP_OPTION_TCP_FAST_OPEN 153 |
| 188 | #define WINHTTP_OPTION_TCP_FALSE_START 154 |
| 189 | #define WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE 155 |
| 190 | #define WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK 158 |
| 191 | #define WINHTTP_OPTION_STREAM_ERROR_CODE 159 |
| 192 | #define WINHTTP_OPTION_REQUIRE_STREAM_END 160 |
| 193 | #define WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT 161 |
| 194 | #define WINHTTP_OPTION_FAILED_CONNECTION_RETRIES 162 |
| 195 | #define WINHTTP_OPTION_HTTP2_KEEPALIVE 164 |
| 196 | #define WINHTTP_OPTION_RESOLUTION_HOSTNAME 165 |
| 197 | #define WINHTTP_OPTION_SET_TOKEN_BINDING 166 |
| 198 | #define WINHTTP_OPTION_TOKEN_BINDING_PUBLIC_KEY 167 |
| 199 | #define WINHTTP_OPTION_REFERER_TOKEN_BINDING_HOSTNAME 168 |
| 200 | #define WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING 169 |
| 201 | #define WINHTTP_OPTION_RESOLVER_CACHE_CONFIG 170 |
| 202 | #define WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING 171 |
| 203 | #define WINHTTP_OPTION_BACKGROUND_CONNECTIONS 172 |
| 204 | #define WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION 173 |
| 205 | #define WINHTTP_OPTION_TCP_PRIORITY_STATUS 177 |
| 206 | #define WINHTTP_OPTION_CONNECTION_GUID 178 |
| 207 | #define WINHTTP_OPTION_MATCH_CONNECTION_GUID 179 |
| 208 | #define WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW 183 |
| 209 | #define WINHTTP_OPTION_FEATURE_SUPPORTED 184 |
| 210 | #define WINHTTP_OPTION_QUIC_STATS 185 |
| 211 | #define WINHTTP_OPTION_HTTP3_KEEPALIVE 188 |
| 212 | #define WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT 189 |
| 213 | #define WINHTTP_OPTION_HTTP3_INITIAL_RTT 190 |
| 214 | #define WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE 191 |
| 215 | #define WINHTTP_OPTION_REQUEST_ANNOTATION 192 |
| 216 | #define WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES 193 |
| 217 | #define WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT 194 |
| 218 | #define WINHTTP_OPTION_DISABLE_GLOBAL_POOLING 195 |
| 219 | #define WINHTTP_OPTION_USE_SESSION_SCH_CRED 196 |
| 220 | #define WINHTTP_OPTION_QUIC_STATS_V2 200 |
| 221 | #define WINHTTP_OPTION_QUIC_STREAM_STATS 202 |
| 222 | #define WINHTTP_OPTION_USE_LOOKASIDE 203 |
| 223 | #define WINHTTP_OPTION_ERROR_LOG_GUID 204 |
| 224 | #define WINHTTP_OPTION_ENABLE_FAST_FORWARDING 205 |
| 225 | #define WINHTTP_OPTION_FAST_FORWARDING_RESPONSE_DATA 206 |
| 226 | #define WINHTTP_OPTION_UPGRADE_TO_PROTOCOL 207 |
| 227 | #define WINHTTP_OPTION_CONNECTION_STATS_V2 208 |
| 228 | #define WINHTTP_OPTION_FAST_FORWARDING_RESPONSE_STATUS 209 |
| 229 | |
| 230 | #define WINHTTP_LAST_OPTION WINHTTP_OPTION_FAST_FORWARDING_RESPONSE_STATUS |
| 231 | #define WINHTTP_OPTION_USERNAME 0x1000 |
| 232 | #define WINHTTP_OPTION_PASSWORD 0x1001 |
| 233 | #define WINHTTP_OPTION_PROXY_USERNAME 0x1002 |
| 234 | #define WINHTTP_OPTION_PROXY_PASSWORD 0x1003 |
| 235 | |
| 236 | #define WINHTTP_CONNS_PER_SERVER_UNLIMITED 0xFFFFFFFF |
| 237 | |
| 238 | #define WINHTTP_DECOMPRESSION_FLAG_GZIP 0x00000001 |
| 239 | #define WINHTTP_DECOMPRESSION_FLAG_DEFLATE 0x00000002 |
| 240 | |
| 241 | #define WINHTTP_DECOMPRESSION_FLAG_ALL ( WINHTTP_DECOMPRESSION_FLAG_GZIP | WINHTTP_DECOMPRESSION_FLAG_DEFLATE ) |
| 242 | |
| 243 | #define WINHTTP_PROTOCOL_FLAG_HTTP2 0x1 |
| 244 | #define WINHTTP_PROTOCOL_FLAG_HTTP3 0x2 |
| 245 | #define WINHTTP_PROTOCOL_MASK (WINHTTP_PROTOCOL_FLAG_HTTP2 | WINHTTP_PROTOCOL_FLAG_HTTP3) |
| 246 | |
| 247 | #define WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM 0 |
| 248 | #define WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW 1 |
| 249 | #define WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH 2 |
| 250 | #define WINHTTP_AUTOLOGON_SECURITY_LEVEL_DEFAULT WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM |
| 251 | |
| 252 | #define WINHTTP_OPTION_REDIRECT_POLICY_NEVER 0 |
| 253 | #define WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP 1 |
| 254 | #define WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS 2 |
| 255 | #define WINHTTP_OPTION_REDIRECT_POLICY_LAST WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS |
| 256 | #define WINHTTP_OPTION_REDIRECT_POLICY_DEFAULT WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP |
| 257 | |
| 258 | #define WINHTTP_DISABLE_PASSPORT_AUTH 0x00000000 |
| 259 | #define WINHTTP_ENABLE_PASSPORT_AUTH 0x10000000 |
| 260 | #define WINHTTP_DISABLE_PASSPORT_KEYRING 0x20000000 |
| 261 | #define WINHTTP_ENABLE_PASSPORT_KEYRING 0x40000000 |
| 262 | |
| 263 | #define WINHTTP_DISABLE_COOKIES 0x00000001 |
| 264 | #define WINHTTP_DISABLE_REDIRECTS 0x00000002 |
| 265 | #define WINHTTP_DISABLE_AUTHENTICATION 0x00000004 |
| 266 | #define WINHTTP_DISABLE_KEEP_ALIVE 0x00000008 |
| 267 | #define WINHTTP_ENABLE_SSL_REVOCATION 0x00000001 |
| 268 | #define WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION 0x00000002 |
| 269 | #define WINHTTP_DISABLE_SPN_SERVER_PORT 0x00000000 |
| 270 | #define WINHTTP_ENABLE_SPN_SERVER_PORT 0x00000001 |
| 271 | #define WINHTTP_OPTION_SPN_MASK WINHTTP_ENABLE_SPN_SERVER_PORT |
| 272 | |
| 273 | /* Options for WinHttpOpenRequest */ |
| 274 | #define WINHTTP_NO_REFERER NULL |
| 275 | #define WINHTTP_DEFAULT_ACCEPT_TYPES NULL |
| 276 | |
| 277 | /* Options for WinHttpSendRequest */ |
| 278 | #define WINHTTP_NO_ADDITIONAL_HEADERS NULL |
| 279 | #define WINHTTP_NO_REQUEST_DATA NULL |
| 280 | |
| 281 | /* WinHTTP error codes */ |
| 282 | #define WINHTTP_ERROR_BASE 12000 |
| 283 | #define ERROR_WINHTTP_OUT_OF_HANDLES (WINHTTP_ERROR_BASE + 1) |
| 284 | #define ERROR_WINHTTP_TIMEOUT (WINHTTP_ERROR_BASE + 2) |
| 285 | #define ERROR_WINHTTP_INTERNAL_ERROR (WINHTTP_ERROR_BASE + 4) |
| 286 | #define ERROR_WINHTTP_INVALID_URL (WINHTTP_ERROR_BASE + 5) |
| 287 | #define ERROR_WINHTTP_UNRECOGNIZED_SCHEME (WINHTTP_ERROR_BASE + 6) |
| 288 | #define ERROR_WINHTTP_NAME_NOT_RESOLVED (WINHTTP_ERROR_BASE + 7) |
| 289 | #define ERROR_WINHTTP_INVALID_OPTION (WINHTTP_ERROR_BASE + 9) |
| 290 | #define ERROR_WINHTTP_OPTION_NOT_SETTABLE (WINHTTP_ERROR_BASE + 11) |
| 291 | #define ERROR_WINHTTP_SHUTDOWN (WINHTTP_ERROR_BASE + 12) |
| 292 | #define ERROR_WINHTTP_LOGIN_FAILURE (WINHTTP_ERROR_BASE + 15) |
| 293 | #define ERROR_WINHTTP_OPERATION_CANCELLED (WINHTTP_ERROR_BASE + 17) |
| 294 | #define ERROR_WINHTTP_INCORRECT_HANDLE_TYPE (WINHTTP_ERROR_BASE + 18) |
| 295 | #define ERROR_WINHTTP_INCORRECT_HANDLE_STATE (WINHTTP_ERROR_BASE + 19) |
| 296 | #define ERROR_WINHTTP_CANNOT_CONNECT (WINHTTP_ERROR_BASE + 29) |
| 297 | #define ERROR_WINHTTP_CONNECTION_ERROR (WINHTTP_ERROR_BASE + 30) |
| 298 | #define ERROR_WINHTTP_RESEND_REQUEST (WINHTTP_ERROR_BASE + 32) |
| 299 | #define ERROR_WINHTTP_SECURE_CERT_DATE_INVALID (WINHTTP_ERROR_BASE + 37) |
| 300 | #define ERROR_WINHTTP_SECURE_CERT_CN_INVALID (WINHTTP_ERROR_BASE + 38) |
| 301 | #define ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED (WINHTTP_ERROR_BASE + 44) |
| 302 | #define ERROR_WINHTTP_SECURE_INVALID_CA (WINHTTP_ERROR_BASE + 45) |
| 303 | #define ERROR_WINHTTP_SECURE_CERT_REV_FAILED (WINHTTP_ERROR_BASE + 57) |
| 304 | #define ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN (WINHTTP_ERROR_BASE + 100) |
| 305 | #define ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND (WINHTTP_ERROR_BASE + 101) |
| 306 | #define ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND (WINHTTP_ERROR_BASE + 102) |
| 307 | #define ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN (WINHTTP_ERROR_BASE + 103) |
| 308 | #define ERROR_WINHTTP_HEADER_NOT_FOUND (WINHTTP_ERROR_BASE + 150) |
| 309 | #define ERROR_WINHTTP_INVALID_SERVER_RESPONSE (WINHTTP_ERROR_BASE + 152) |
| 310 | #define ERROR_WINHTTP_INVALID_HEADER (WINHTTP_ERROR_BASE + 153) |
| 311 | #define ERROR_WINHTTP_INVALID_QUERY_REQUEST (WINHTTP_ERROR_BASE + 154) |
| 312 | #define ERROR_WINHTTP_HEADER_ALREADY_EXISTS (WINHTTP_ERROR_BASE + 155) |
| 313 | #define ERROR_WINHTTP_REDIRECT_FAILED (WINHTTP_ERROR_BASE + 156) |
| 314 | #define ERROR_WINHTTP_SECURE_CHANNEL_ERROR (WINHTTP_ERROR_BASE + 157) |
| 315 | #define ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT (WINHTTP_ERROR_BASE + 166) |
| 316 | #define ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT (WINHTTP_ERROR_BASE + 167) |
| 317 | #define ERROR_WINHTTP_SECURE_INVALID_CERT (WINHTTP_ERROR_BASE + 169) |
| 318 | #define ERROR_WINHTTP_SECURE_CERT_REVOKED (WINHTTP_ERROR_BASE + 170) |
| 319 | #define ERROR_WINHTTP_NOT_INITIALIZED (WINHTTP_ERROR_BASE + 172) |
| 320 | #define ERROR_WINHTTP_SECURE_FAILURE (WINHTTP_ERROR_BASE + 175) |
| 321 | #define ERROR_WINHTTP_UNHANDLED_SCRIPT_TYPE (WINHTTP_ERROR_BASE + 176) |
| 322 | #define ERROR_WINHTTP_SCRIPT_EXECUTION_ERROR (WINHTTP_ERROR_BASE + 177) |
| 323 | #define ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR (WINHTTP_ERROR_BASE + 178) |
| 324 | #define ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE (WINHTTP_ERROR_BASE + 179) |
| 325 | #define ERROR_WINHTTP_AUTODETECTION_FAILED (WINHTTP_ERROR_BASE + 180) |
| 326 | #define ERROR_WINHTTP_HEADER_COUNT_EXCEEDED (WINHTTP_ERROR_BASE + 181) |
| 327 | #define ERROR_WINHTTP_HEADER_SIZE_OVERFLOW (WINHTTP_ERROR_BASE + 182) |
| 328 | #define ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW (WINHTTP_ERROR_BASE + 183) |
| 329 | #define ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW (WINHTTP_ERROR_BASE + 184) |
| 330 | #define ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY (WINHTTP_ERROR_BASE + 185) |
| 331 | #define ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY (WINHTTP_ERROR_BASE + 186) |
| 332 | #define ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED_PROXY (WINHTTP_ERROR_BASE + 187) |
| 333 | #define ERROR_WINHTTP_SECURE_FAILURE_PROXY (WINHTTP_ERROR_BASE + 188) |
| 334 | #define ERROR_WINHTTP_RESERVED_189 (WINHTTP_ERROR_BASE + 189) |
| 335 | #define ERROR_WINHTTP_HTTP_PROTOCOL_MISMATCH (WINHTTP_ERROR_BASE + 190) |
| 336 | #define ERROR_WINHTTP_GLOBAL_CALLBACK_FAILED (WINHTTP_ERROR_BASE + 191) |
| 337 | #define ERROR_WINHTTP_FEATURE_DISABLED (WINHTTP_ERROR_BASE + 192) |
| 338 | #define ERROR_WINHTTP_FAST_FORWARDING_NOT_SUPPORTED (WINHTTP_ERROR_BASE + 193) |
| 339 | |
| 340 | #define WINHTTP_ERROR_LAST (WINHTTP_ERROR_BASE + 193) |
| 341 | |
| 342 | #define WINHTTP_RESET_STATE 0x00000001 |
| 343 | #define WINHTTP_RESET_SWPAD_CURRENT_NETWORK 0x00000002 |
| 344 | #define WINHTTP_RESET_SWPAD_ALL 0x00000004 |
| 345 | #define WINHTTP_RESET_SCRIPT_CACHE 0x00000008 |
| 346 | #define WINHTTP_RESET_ALL 0x0000FFFF |
| 347 | #define WINHTTP_RESET_NOTIFY_NETWORK_CHANGED 0x00010000 |
| 348 | #define WINHTTP_RESET_OUT_OF_PROC 0x00020000 |
| 349 | #define WINHTTP_RESET_DISCARD_RESOLVERS 0x00040000 |
| 350 | |
| 351 | /* WinHttp status codes */ |
| 352 | #define HTTP_STATUS_CONTINUE 100 |
| 353 | #define HTTP_STATUS_SWITCH_PROTOCOLS 101 |
| 354 | #define HTTP_STATUS_OK 200 |
| 355 | #define HTTP_STATUS_CREATED 201 |
| 356 | #define HTTP_STATUS_ACCEPTED 202 |
| 357 | #define HTTP_STATUS_PARTIAL 203 |
| 358 | #define HTTP_STATUS_NO_CONTENT 204 |
| 359 | #define HTTP_STATUS_RESET_CONTENT 205 |
| 360 | #define HTTP_STATUS_PARTIAL_CONTENT 206 |
| 361 | #define HTTP_STATUS_WEBDAV_MULTI_STATUS 207 |
| 362 | #define HTTP_STATUS_AMBIGUOUS 300 |
| 363 | #define HTTP_STATUS_MOVED 301 |
| 364 | #define HTTP_STATUS_REDIRECT 302 |
| 365 | #define HTTP_STATUS_REDIRECT_METHOD 303 |
| 366 | #define HTTP_STATUS_NOT_MODIFIED 304 |
| 367 | #define HTTP_STATUS_USE_PROXY 305 |
| 368 | #define HTTP_STATUS_REDIRECT_KEEP_VERB 307 |
| 369 | #define HTTP_STATUS_PERMANENT_REDIRECT 308 |
| 370 | #define HTTP_STATUS_BAD_REQUEST 400 |
| 371 | #define HTTP_STATUS_DENIED 401 |
| 372 | #define HTTP_STATUS_PAYMENT_REQ 402 |
| 373 | #define HTTP_STATUS_FORBIDDEN 403 |
| 374 | #define HTTP_STATUS_NOT_FOUND 404 |
| 375 | #define HTTP_STATUS_BAD_METHOD 405 |
| 376 | #define HTTP_STATUS_NONE_ACCEPTABLE 406 |
| 377 | #define HTTP_STATUS_PROXY_AUTH_REQ 407 |
| 378 | #define HTTP_STATUS_REQUEST_TIMEOUT 408 |
| 379 | #define HTTP_STATUS_CONFLICT 409 |
| 380 | #define HTTP_STATUS_GONE 410 |
| 381 | #define HTTP_STATUS_LENGTH_REQUIRED 411 |
| 382 | #define HTTP_STATUS_PRECOND_FAILED 412 |
| 383 | #define HTTP_STATUS_REQUEST_TOO_LARGE 413 |
| 384 | #define HTTP_STATUS_URI_TOO_LONG 414 |
| 385 | #define HTTP_STATUS_UNSUPPORTED_MEDIA 415 |
| 386 | #define HTTP_STATUS_RETRY_WITH 449 |
| 387 | #define HTTP_STATUS_SERVER_ERROR 500 |
| 388 | #define HTTP_STATUS_NOT_SUPPORTED 501 |
| 389 | #define HTTP_STATUS_BAD_GATEWAY 502 |
| 390 | #define HTTP_STATUS_SERVICE_UNAVAIL 503 |
| 391 | #define HTTP_STATUS_GATEWAY_TIMEOUT 504 |
| 392 | #define HTTP_STATUS_VERSION_NOT_SUP 505 |
| 393 | #define HTTP_STATUS_FIRST HTTP_STATUS_CONTINUE |
| 394 | #define HTTP_STATUS_LAST HTTP_STATUS_VERSION_NOT_SUP |
| 395 | |
| 396 | #define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100 |
| 397 | #define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID 0x00002000 |
| 398 | #define SECURITY_FLAG_IGNORE_CERT_CN_INVALID 0x00001000 |
| 399 | #define SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE 0x00000200 |
| 400 | #define SECURITY_FLAG_SECURE 0x00000001 |
| 401 | #define SECURITY_FLAG_STRENGTH_WEAK 0x10000000 |
| 402 | #define SECURITY_FLAG_STRENGTH_MEDIUM 0x40000000 |
| 403 | #define SECURITY_FLAG_STRENGTH_STRONG 0x20000000 |
| 404 | |
| 405 | #define ICU_NO_ENCODE 0x20000000 |
| 406 | #define ICU_DECODE 0x10000000 |
| 407 | #define ICU_NO_META 0x08000000 |
| 408 | #define ICU_ENCODE_SPACES_ONLY 0x04000000 |
| 409 | #define ICU_BROWSER_MODE 0x02000000 |
| 410 | #define ICU_ENCODE_PERCENT 0x00001000 |
| 411 | |
| 412 | /* Query flags */ |
| 413 | #define WINHTTP_QUERY_MIME_VERSION 0 |
| 414 | #define WINHTTP_QUERY_CONTENT_TYPE 1 |
| 415 | #define WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING 2 |
| 416 | #define WINHTTP_QUERY_CONTENT_ID 3 |
| 417 | #define WINHTTP_QUERY_CONTENT_DESCRIPTION 4 |
| 418 | #define WINHTTP_QUERY_CONTENT_LENGTH 5 |
| 419 | #define WINHTTP_QUERY_CONTENT_LANGUAGE 6 |
| 420 | #define WINHTTP_QUERY_ALLOW 7 |
| 421 | #define WINHTTP_QUERY_PUBLIC 8 |
| 422 | #define WINHTTP_QUERY_DATE 9 |
| 423 | #define WINHTTP_QUERY_EXPIRES 10 |
| 424 | #define WINHTTP_QUERY_LAST_MODIFIED 11 |
| 425 | #define WINHTTP_QUERY_MESSAGE_ID 12 |
| 426 | #define WINHTTP_QUERY_URI 13 |
| 427 | #define WINHTTP_QUERY_DERIVED_FROM 14 |
| 428 | #define WINHTTP_QUERY_COST 15 |
| 429 | #define WINHTTP_QUERY_LINK 16 |
| 430 | #define WINHTTP_QUERY_PRAGMA 17 |
| 431 | #define WINHTTP_QUERY_VERSION 18 |
| 432 | #define WINHTTP_QUERY_STATUS_CODE 19 |
| 433 | #define WINHTTP_QUERY_STATUS_TEXT 20 |
| 434 | #define WINHTTP_QUERY_RAW_HEADERS 21 |
| 435 | #define WINHTTP_QUERY_RAW_HEADERS_CRLF 22 |
| 436 | #define WINHTTP_QUERY_CONNECTION 23 |
| 437 | #define WINHTTP_QUERY_ACCEPT 24 |
| 438 | #define WINHTTP_QUERY_ACCEPT_CHARSET 25 |
| 439 | #define WINHTTP_QUERY_ACCEPT_ENCODING 26 |
| 440 | #define WINHTTP_QUERY_ACCEPT_LANGUAGE 27 |
| 441 | #define WINHTTP_QUERY_AUTHORIZATION 28 |
| 442 | #define WINHTTP_QUERY_CONTENT_ENCODING 29 |
| 443 | #define WINHTTP_QUERY_FORWARDED 30 |
| 444 | #define WINHTTP_QUERY_FROM 31 |
| 445 | #define WINHTTP_QUERY_IF_MODIFIED_SINCE 32 |
| 446 | #define WINHTTP_QUERY_LOCATION 33 |
| 447 | #define WINHTTP_QUERY_ORIG_URI 34 |
| 448 | #define WINHTTP_QUERY_REFERER 35 |
| 449 | #define WINHTTP_QUERY_RETRY_AFTER 36 |
| 450 | #define WINHTTP_QUERY_SERVER 37 |
| 451 | #define WINHTTP_QUERY_TITLE 38 |
| 452 | #define WINHTTP_QUERY_USER_AGENT 39 |
| 453 | #define WINHTTP_QUERY_WWW_AUTHENTICATE 40 |
| 454 | #define WINHTTP_QUERY_PROXY_AUTHENTICATE 41 |
| 455 | #define WINHTTP_QUERY_ACCEPT_RANGES 42 |
| 456 | #define WINHTTP_QUERY_SET_COOKIE 43 |
| 457 | #define WINHTTP_QUERY_COOKIE 44 |
| 458 | #define WINHTTP_QUERY_REQUEST_METHOD 45 |
| 459 | #define WINHTTP_QUERY_REFRESH 46 |
| 460 | #define WINHTTP_QUERY_CONTENT_DISPOSITION 47 |
| 461 | #define WINHTTP_QUERY_AGE 48 |
| 462 | #define WINHTTP_QUERY_CACHE_CONTROL 49 |
| 463 | #define WINHTTP_QUERY_CONTENT_BASE 50 |
| 464 | #define WINHTTP_QUERY_CONTENT_LOCATION 51 |
| 465 | #define WINHTTP_QUERY_CONTENT_MD5 52 |
| 466 | #define WINHTTP_QUERY_CONTENT_RANGE 53 |
| 467 | #define WINHTTP_QUERY_ETAG 54 |
| 468 | #define WINHTTP_QUERY_HOST 55 |
| 469 | #define WINHTTP_QUERY_IF_MATCH 56 |
| 470 | #define WINHTTP_QUERY_IF_NONE_MATCH 57 |
| 471 | #define WINHTTP_QUERY_IF_RANGE 58 |
| 472 | #define WINHTTP_QUERY_IF_UNMODIFIED_SINCE 59 |
| 473 | #define WINHTTP_QUERY_MAX_FORWARDS 60 |
| 474 | #define WINHTTP_QUERY_PROXY_AUTHORIZATION 61 |
| 475 | #define WINHTTP_QUERY_RANGE 62 |
| 476 | #define WINHTTP_QUERY_TRANSFER_ENCODING 63 |
| 477 | #define WINHTTP_QUERY_UPGRADE 64 |
| 478 | #define WINHTTP_QUERY_VARY 65 |
| 479 | #define WINHTTP_QUERY_VIA 66 |
| 480 | #define WINHTTP_QUERY_WARNING 67 |
| 481 | #define WINHTTP_QUERY_EXPECT 68 |
| 482 | #define WINHTTP_QUERY_PROXY_CONNECTION 69 |
| 483 | #define WINHTTP_QUERY_UNLESS_MODIFIED_SINCE 70 |
| 484 | #define WINHTTP_QUERY_PROXY_SUPPORT 75 |
| 485 | #define WINHTTP_QUERY_AUTHENTICATION_INFO 76 |
| 486 | #define WINHTTP_QUERY_PASSPORT_URLS 77 |
| 487 | #define WINHTTP_QUERY_PASSPORT_CONFIG 78 |
| 488 | #define WINHTTP_QUERY_MAX 78 |
| 489 | #define WINHTTP_QUERY_CUSTOM 65535 |
| 490 | #define WINHTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000 |
| 491 | #define WINHTTP_QUERY_FLAG_SYSTEMTIME 0x40000000 |
| 492 | #define WINHTTP_QUERY_FLAG_NUMBER 0x20000000 |
| 493 | #define WINHTTP_QUERY_FLAG_NUMBER64 0x08000000 |
| 494 | |
| 495 | /* Callback options */ |
| 496 | #define WINHTTP_CALLBACK_STATUS_RESOLVING_NAME 0x00000001 |
| 497 | #define WINHTTP_CALLBACK_STATUS_NAME_RESOLVED 0x00000002 |
| 498 | #define WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER 0x00000004 |
| 499 | #define WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER 0x00000008 |
| 500 | #define WINHTTP_CALLBACK_STATUS_SENDING_REQUEST 0x00000010 |
| 501 | #define WINHTTP_CALLBACK_STATUS_REQUEST_SENT 0x00000020 |
| 502 | #define WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE 0x00000040 |
| 503 | #define WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED 0x00000080 |
| 504 | #define WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION 0x00000100 |
| 505 | #define WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED 0x00000200 |
| 506 | #define WINHTTP_CALLBACK_STATUS_HANDLE_CREATED 0x00000400 |
| 507 | #define WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING 0x00000800 |
| 508 | #define WINHTTP_CALLBACK_STATUS_DETECTING_PROXY 0x00001000 |
| 509 | #define WINHTTP_CALLBACK_STATUS_REDIRECT 0x00004000 |
| 510 | #define WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE 0x00008000 |
| 511 | #define WINHTTP_CALLBACK_STATUS_SECURE_FAILURE 0x00010000 |
| 512 | #define WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE 0x00020000 |
| 513 | #define WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE 0x00040000 |
| 514 | #define WINHTTP_CALLBACK_STATUS_READ_COMPLETE 0x00080000 |
| 515 | #define WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE 0x00100000 |
| 516 | #define WINHTTP_CALLBACK_STATUS_REQUEST_ERROR 0x00200000 |
| 517 | #define WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE 0x00400000 |
| 518 | #define WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE 0x01000000 |
| 519 | #define WINHTTP_CALLBACK_STATUS_CLOSE_COMPLETE 0x02000000 |
| 520 | #define WINHTTP_CALLBACK_STATUS_SHUTDOWN_COMPLETE 0x04000000 |
| 521 | #define WINHTTP_CALLBACK_STATUS_GETPROXYSETTINGS_COMPLETE 0x08000000 |
| 522 | #define WINHTTP_CALLBACK_STATUS_SETTINGS_WRITE_COMPLETE 0x10000000 |
| 523 | #define WINHTTP_CALLBACK_STATUS_SETTINGS_READ_COMPLETE 0x20000000 |
| 524 | |
| 525 | #define WINHTTP_CALLBACK_FLAG_RESOLVE_NAME (WINHTTP_CALLBACK_STATUS_RESOLVING_NAME | WINHTTP_CALLBACK_STATUS_NAME_RESOLVED) |
| 526 | #define WINHTTP_CALLBACK_FLAG_CONNECT_TO_SERVER (WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER | WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER) |
| 527 | #define WINHTTP_CALLBACK_FLAG_SEND_REQUEST (WINHTTP_CALLBACK_STATUS_SENDING_REQUEST | WINHTTP_CALLBACK_STATUS_REQUEST_SENT) |
| 528 | #define WINHTTP_CALLBACK_FLAG_RECEIVE_RESPONSE (WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE | WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED) |
| 529 | #define WINHTTP_CALLBACK_FLAG_CLOSE_CONNECTION (WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION | WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED) |
| 530 | #define WINHTTP_CALLBACK_FLAG_HANDLES (WINHTTP_CALLBACK_STATUS_HANDLE_CREATED | WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING) |
| 531 | #define WINHTTP_CALLBACK_FLAG_DETECTING_PROXY WINHTTP_CALLBACK_STATUS_DETECTING_PROXY |
| 532 | #define WINHTTP_CALLBACK_FLAG_REDIRECT WINHTTP_CALLBACK_STATUS_REDIRECT |
| 533 | #define WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE |
| 534 | #define WINHTTP_CALLBACK_FLAG_SECURE_FAILURE WINHTTP_CALLBACK_STATUS_SECURE_FAILURE |
| 535 | #define WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE |
| 536 | #define WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE |
| 537 | #define WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE |
| 538 | #define WINHTTP_CALLBACK_FLAG_READ_COMPLETE WINHTTP_CALLBACK_STATUS_READ_COMPLETE |
| 539 | #define WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE |
| 540 | #define WINHTTP_CALLBACK_FLAG_REQUEST_ERROR WINHTTP_CALLBACK_STATUS_REQUEST_ERROR |
| 541 | #define WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE |
| 542 | #define WINHTTP_CALLBACK_FLAG_GETPROXYSETTINGS_COMPLETE WINHTTP_CALLBACK_STATUS_GETPROXYSETTINGS_COMPLETE |
| 543 | |
| 544 | #define WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS (WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE | WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE \ |
| 545 | | WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE | WINHTTP_CALLBACK_STATUS_READ_COMPLETE \ |
| 546 | | WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE | WINHTTP_CALLBACK_STATUS_REQUEST_ERROR \ |
| 547 | | WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE \ |
| 548 | | WINHTTP_CALLBACK_STATUS_GETPROXYSETTINGS_COMPLETE) |
| 549 | |
| 550 | #define WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS 0xffffffff |
| 551 | #define WINHTTP_INVALID_STATUS_CALLBACK ((WINHTTP_STATUS_CALLBACK)(-1)) |
| 552 | |
| 553 | #define API_RECEIVE_RESPONSE (1) |
| 554 | #define API_QUERY_DATA_AVAILABLE (2) |
| 555 | #define API_READ_DATA (3) |
| 556 | #define API_WRITE_DATA (4) |
| 557 | #define API_SEND_REQUEST (5) |
| 558 | #define API_GET_PROXY_FOR_URL (6) |
| 559 | |
| 560 | #define WINHTTP_HANDLE_TYPE_SESSION 1 |
| 561 | #define WINHTTP_HANDLE_TYPE_CONNECT 2 |
| 562 | #define WINHTTP_HANDLE_TYPE_REQUEST 3 |
| 563 | #define WINHTTP_HANDLE_TYPE_PROXY_RESOLVER 4 |
| 564 | #define WINHTTP_HANDLE_TYPE_WEBSOCKET 5 |
| 565 | #define WINHTTP_HANDLE_TYPE_PROTOCOL 6 |
| 566 | |
| 567 | #define WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED 0x00000001 |
| 568 | #define WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT 0x00000002 |
| 569 | #define WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED 0x00000004 |
| 570 | #define WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA 0x00000008 |
| 571 | #define WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID 0x00000010 |
| 572 | #define WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID 0x00000020 |
| 573 | #define WINHTTP_CALLBACK_STATUS_FLAG_CERT_WRONG_USAGE 0x00000040 |
| 574 | #define WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR 0x80000000 |
| 575 | |
| 576 | #define WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 0x00000008 |
| 577 | #define WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 0x00000020 |
| 578 | #define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 0x00000080 |
| 579 | #define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 0x00000200 |
| 580 | #define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 0x00000800 |
| 581 | #define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 0x00002000 |
| 582 | #define WINHTTP_FLAG_SECURE_PROTOCOL_ALL (WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 |\ |
| 583 | WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 |\ |
| 584 | WINHTTP_FLAG_SECURE_PROTOCOL_TLS1) |
| 585 | |
| 586 | #define WINHTTP_AUTH_SCHEME_BASIC 0x00000001 |
| 587 | #define WINHTTP_AUTH_SCHEME_NTLM 0x00000002 |
| 588 | #define WINHTTP_AUTH_SCHEME_PASSPORT 0x00000004 |
| 589 | #define WINHTTP_AUTH_SCHEME_DIGEST 0x00000008 |
| 590 | #define WINHTTP_AUTH_SCHEME_NEGOTIATE 0x00000010 |
| 591 | |
| 592 | #define WINHTTP_AUTH_TARGET_SERVER 0x00000000 |
| 593 | #define WINHTTP_AUTH_TARGET_PROXY 0x00000001 |
| 594 | |
| 595 | #define WINHTTP_TIME_FORMAT_BUFSIZE 62 |
| 596 | |
| 597 | typedef struct |
| 598 | { |
| 599 | DWORD dwStructSize; |
| 600 | LPWSTR lpszScheme; |
| 601 | DWORD dwSchemeLength; |
| 602 | INTERNET_SCHEME nScheme; |
| 603 | LPWSTR lpszHostName; |
| 604 | DWORD dwHostNameLength; |
| 605 | INTERNET_PORT nPort; |
| 606 | LPWSTR lpszUserName; |
| 607 | DWORD dwUserNameLength; |
| 608 | LPWSTR lpszPassword; |
| 609 | DWORD dwPasswordLength; |
| 610 | LPWSTR lpszUrlPath; |
| 611 | DWORD dwUrlPathLength; |
| 612 | LPWSTR lpszExtraInfo; |
| 613 | DWORD dwExtraInfoLength; |
| 614 | } URL_COMPONENTS, *LPURL_COMPONENTS; |
| 615 | typedef URL_COMPONENTS URL_COMPONENTSW; |
| 616 | typedef LPURL_COMPONENTS LPURL_COMPONENTSW; |
| 617 | |
| 618 | typedef struct |
| 619 | { |
| 620 | DWORD_PTR dwResult; |
| 621 | DWORD dwError; |
| 622 | } WINHTTP_ASYNC_RESULT, *LPWINHTTP_ASYNC_RESULT; |
| 623 | |
| 624 | typedef struct |
| 625 | { |
| 626 | FILETIME ftExpiry; |
| 627 | FILETIME ftStart; |
| 628 | LPWSTR lpszSubjectInfo; |
| 629 | LPWSTR lpszIssuerInfo; |
| 630 | LPWSTR lpszProtocolName; |
| 631 | LPWSTR lpszSignatureAlgName; |
| 632 | LPWSTR lpszEncryptionAlgName; |
| 633 | DWORD dwKeySize; |
| 634 | } WINHTTP_CERTIFICATE_INFO; |
| 635 | |
| 636 | typedef struct |
| 637 | { |
| 638 | DWORD dwAccessType; |
| 639 | LPWSTR lpszProxy; |
| 640 | LPWSTR lpszProxyBypass; |
| 641 | } WINHTTP_PROXY_INFO, *LPWINHTTP_PROXY_INFO; |
| 642 | typedef WINHTTP_PROXY_INFO WINHTTP_PROXY_INFOW; |
| 643 | typedef LPWINHTTP_PROXY_INFO LPWINHTTP_PROXY_INFOW; |
| 644 | |
| 645 | typedef struct |
| 646 | { |
| 647 | WINBOOL fAutoDetect; |
| 648 | LPWSTR lpszAutoConfigUrl; |
| 649 | LPWSTR lpszProxy; |
| 650 | LPWSTR lpszProxyBypass; |
| 651 | } WINHTTP_CURRENT_USER_IE_PROXY_CONFIG; |
| 652 | |
| 653 | typedef VOID (CALLBACK *WINHTTP_STATUS_CALLBACK)(HINTERNET,DWORD_PTR,DWORD,LPVOID,DWORD); |
| 654 | typedef WINHTTP_STATUS_CALLBACK * LPWINHTTP_STATUS_CALLBACK; |
| 655 | |
| 656 | #define WINHTTP_AUTO_DETECT_TYPE_DHCP 0x00000001 |
| 657 | #define WINHTTP_AUTO_DETECT_TYPE_DNS_A 0x00000002 |
| 658 | |
| 659 | #define WINHTTP_AUTOPROXY_AUTO_DETECT 0x00000001 |
| 660 | #define WINHTTP_AUTOPROXY_CONFIG_URL 0x00000002 |
| 661 | #define WINHTTP_AUTOPROXY_HOST_KEEPCASE 0x00000004 |
| 662 | #define WINHTTP_AUTOPROXY_HOST_LOWERCASE 0x00000008 |
| 663 | #define WINHTTP_AUTOPROXY_ALLOW_AUTOCONFIG 0x00000100 |
| 664 | #define WINHTTP_AUTOPROXY_ALLOW_STATIC 0x00000200 |
| 665 | #define WINHTTP_AUTOPROXY_ALLOW_CM 0x00000400 |
| 666 | #define WINHTTP_AUTOPROXY_RUN_INPROCESS 0x00010000 |
| 667 | #define WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY 0x00020000 |
| 668 | #define WINHTTP_AUTOPROXY_NO_DIRECTACCESS 0x00040000 |
| 669 | #define WINHTTP_AUTOPROXY_NO_CACHE_CLIENT 0x00080000 |
| 670 | #define WINHTTP_AUTOPROXY_NO_CACHE_SVC 0x00100000 |
| 671 | #define WINHTTP_AUTOPROXY_SORT_RESULTS 0x00400000 |
| 672 | |
| 673 | typedef struct |
| 674 | { |
| 675 | DWORD dwFlags; |
| 676 | DWORD dwAutoDetectFlags; |
| 677 | LPCWSTR lpszAutoConfigUrl; |
| 678 | LPVOID lpvReserved; |
| 679 | DWORD dwReserved; |
| 680 | WINBOOL fAutoLogonIfChallenged; |
| 681 | } WINHTTP_AUTOPROXY_OPTIONS; |
| 682 | |
| 683 | typedef struct _WINHTTP_PROXY_RESULT_ENTRY |
| 684 | { |
| 685 | WINBOOL fProxy; |
| 686 | WINBOOL fBypass; |
| 687 | INTERNET_SCHEME ProxyScheme; |
| 688 | PWSTR pwszProxy; |
| 689 | INTERNET_PORT ProxyPort; |
| 690 | } WINHTTP_PROXY_RESULT_ENTRY; |
| 691 | |
| 692 | typedef struct _WINHTTP_PROXY_RESULT |
| 693 | { |
| 694 | DWORD cEntries; |
| 695 | WINHTTP_PROXY_RESULT_ENTRY *pEntries; |
| 696 | } WINHTTP_PROXY_RESULT; |
| 697 | |
| 698 | typedef struct _WINHTTP_PROXY_RESULT_EX |
| 699 | { |
| 700 | DWORD cEntries; |
| 701 | WINHTTP_PROXY_RESULT_ENTRY *pEntries; |
| 702 | HANDLE hProxyDetectionHandle; |
| 703 | DWORD dwProxyInterfaceAffinity; |
| 704 | } WINHTTP_PROXY_RESULT_EX; |
| 705 | |
| 706 | #define NETWORKING_KEY_BUFSIZE 128 |
| 707 | |
| 708 | typedef struct _WinHttpProxyNetworkKey |
| 709 | { |
| 710 | unsigned char pbBuffer[NETWORKING_KEY_BUFSIZE]; |
| 711 | } WINHTTP_PROXY_NETWORKING_KEY, *PWINHTTP_PROXY_NETWORKING_KEY; |
| 712 | |
| 713 | typedef struct _WINHTTP_PROXY_SETTINGS |
| 714 | { |
| 715 | DWORD dwStructSize; |
| 716 | DWORD dwFlags; |
| 717 | DWORD dwCurrentSettingsVersion; |
| 718 | PWSTR pwszConnectionName; |
| 719 | PWSTR pwszProxy; |
| 720 | PWSTR pwszProxyBypass; |
| 721 | PWSTR pwszAutoconfigUrl; |
| 722 | PWSTR pwszAutoconfigSecondaryUrl; |
| 723 | DWORD dwAutoDiscoveryFlags; |
| 724 | PWSTR pwszLastKnownGoodAutoConfigUrl; |
| 725 | DWORD dwAutoconfigReloadDelayMins; |
| 726 | FILETIME ftLastKnownDetectTime; |
| 727 | DWORD dwDetectedInterfaceIpCount; |
| 728 | PDWORD pdwDetectedInterfaceIp; |
| 729 | DWORD cNetworkKeys; |
| 730 | PWINHTTP_PROXY_NETWORKING_KEY pNetworkKeys; |
| 731 | } WINHTTP_PROXY_SETTINGS, *PWINHTTP_PROXY_SETTINGS; |
| 732 | |
| 733 | typedef struct |
| 734 | { |
| 735 | DWORD dwMajorVersion; |
| 736 | DWORD dwMinorVersion; |
| 737 | } HTTP_VERSION_INFO, *LPHTTP_VERSION_INFO; |
| 738 | |
| 739 | #ifdef _WS2DEF_ |
| 740 | typedef struct |
| 741 | { |
| 742 | DWORD cbSize; |
| 743 | SOCKADDR_STORAGE LocalAddress; |
| 744 | SOCKADDR_STORAGE RemoteAddress; |
| 745 | } WINHTTP_CONNECTION_INFO; |
| 746 | #endif |
| 747 | |
| 748 | typedef enum _WINHTTP_REQUEST_TIME_ENTRY |
| 749 | { |
| 750 | WinHttpProxyDetectionStart = 0, |
| 751 | WinHttpProxyDetectionEnd, |
| 752 | WinHttpConnectionAcquireStart, |
| 753 | WinHttpConnectionAcquireWaitEnd, |
| 754 | WinHttpConnectionAcquireEnd, |
| 755 | WinHttpNameResolutionStart, |
| 756 | WinHttpNameResolutionEnd, |
| 757 | WinHttpConnectionEstablishmentStart, |
| 758 | WinHttpConnectionEstablishmentEnd, |
| 759 | WinHttpTlsHandshakeClientLeg1Start, |
| 760 | WinHttpTlsHandshakeClientLeg1End, |
| 761 | WinHttpTlsHandshakeClientLeg2Start, |
| 762 | WinHttpTlsHandshakeClientLeg2End, |
| 763 | WinHttpTlsHandshakeClientLeg3Start, |
| 764 | WinHttpTlsHandshakeClientLeg3End, |
| 765 | WinHttpStreamWaitStart, |
| 766 | WinHttpStreamWaitEnd, |
| 767 | WinHttpSendRequestStart, |
| 768 | WinHttpSendRequestHeadersCompressionStart, |
| 769 | WinHttpSendRequestHeadersCompressionEnd, |
| 770 | WinHttpSendRequestHeadersEnd, |
| 771 | WinHttpSendRequestEnd, |
| 772 | WinHttpReceiveResponseStart, |
| 773 | WinHttpReceiveResponseHeadersDecompressionStart, |
| 774 | WinHttpReceiveResponseHeadersDecompressionEnd, |
| 775 | WinHttpReceiveResponseHeadersEnd, |
| 776 | WinHttpReceiveResponseBodyDecompressionDelta, |
| 777 | WinHttpReceiveResponseEnd, |
| 778 | WinHttpProxyTunnelStart, |
| 779 | WinHttpProxyTunnelEnd, |
| 780 | WinHttpProxyTlsHandshakeClientLeg1Start, |
| 781 | WinHttpProxyTlsHandshakeClientLeg1End, |
| 782 | WinHttpProxyTlsHandshakeClientLeg2Start, |
| 783 | WinHttpProxyTlsHandshakeClientLeg2End, |
| 784 | WinHttpProxyTlsHandshakeClientLeg3Start, |
| 785 | WinHttpProxyTlsHandshakeClientLeg3End, |
| 786 | WinHttpRequestTimeLast, |
| 787 | WinHttpRequestTimeMax = 64 |
| 788 | } WINHTTP_REQUEST_TIME_ENTRY; |
| 789 | |
| 790 | typedef struct _WINHTTP_REQUEST_TIMES |
| 791 | { |
| 792 | ULONG cTimes; |
| 793 | ULONGLONG rgullTimes[WinHttpRequestTimeMax]; |
| 794 | } WINHTTP_REQUEST_TIMES, *PWINHTTP_REQUEST_TIMES; |
| 795 | |
| 796 | typedef enum _WINHTTP_REQUEST_STAT_ENTRY |
| 797 | { |
| 798 | WinHttpConnectFailureCount = 0, |
| 799 | WinHttpProxyFailureCount, |
| 800 | WinHttpTlsHandshakeClientLeg1Size, |
| 801 | WinHttpTlsHandshakeServerLeg1Size, |
| 802 | WinHttpTlsHandshakeClientLeg2Size, |
| 803 | WinHttpTlsHandshakeServerLeg2Size, |
| 804 | WinHttpRequestHeadersSize, |
| 805 | WinHttpRequestHeadersCompressedSize, |
| 806 | WinHttpResponseHeadersSize, |
| 807 | WinHttpResponseHeadersCompressedSize, |
| 808 | WinHttpResponseBodySize, |
| 809 | WinHttpResponseBodyCompressedSize, |
| 810 | WinHttpProxyTlsHandshakeClientLeg1Size, |
| 811 | WinHttpProxyTlsHandshakeServerLeg1Size, |
| 812 | WinHttpProxyTlsHandshakeClientLeg2Size, |
| 813 | WinHttpProxyTlsHandshakeServerLeg2Size, |
| 814 | WinHttpRequestStatLast, |
| 815 | WinHttpRequestStatMax = 32 |
| 816 | } WINHTTP_REQUEST_STAT_ENTRY; |
| 817 | |
| 818 | #define WINHTTP_REQUEST_STAT_FLAG_TCP_FAST_OPEN 0x00000001 |
| 819 | #define WINHTTP_REQUEST_STAT_FLAG_TLS_SESSION_RESUMPTION 0x00000002 |
| 820 | #define WINHTTP_REQUEST_STAT_FLAG_TLS_FALSE_START 0x00000004 |
| 821 | #define WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_SESSION_RESUMPTION 0x00000008 |
| 822 | #define WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_FALSE_START 0x00000010 |
| 823 | #define WINHTTP_REQUEST_STAT_FLAG_FIRST_REQUEST 0x00000020 |
| 824 | |
| 825 | typedef struct _WINHTTP_REQUEST_STATS |
| 826 | { |
| 827 | ULONGLONG ullFlags; |
| 828 | ULONG ulIndex; |
| 829 | ULONG cStats; |
| 830 | ULONGLONG rgullStats[WinHttpRequestStatMax]; |
| 831 | } WINHTTP_REQUEST_STATS, *PWINHTTP_REQUEST_STATS; |
| 832 | |
| 833 | typedef enum _WINHTTP_WEB_SOCKET_OPERATION |
| 834 | { |
| 835 | WINHTTP_WEB_SOCKET_SEND_OPERATION = 0, |
| 836 | WINHTTP_WEB_SOCKET_RECEIVE_OPERATION = 1, |
| 837 | WINHTTP_WEB_SOCKET_CLOSE_OPERATION = 2, |
| 838 | WINHTTP_WEB_SOCKET_SHUTDOWN_OPERATION = 3 |
| 839 | } WINHTTP_WEB_SOCKET_OPERATION; |
| 840 | |
| 841 | typedef enum _WINHTTP_WEB_SOCKET_BUFFER_TYPE |
| 842 | { |
| 843 | WINHTTP_WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE = 0, |
| 844 | WINHTTP_WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE = 1, |
| 845 | WINHTTP_WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE = 2, |
| 846 | WINHTTP_WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE = 3, |
| 847 | WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE = 4 |
| 848 | } WINHTTP_WEB_SOCKET_BUFFER_TYPE; |
| 849 | |
| 850 | typedef enum _WINHTTP_WEB_SOCKET_CLOSE_STATUS |
| 851 | { |
| 852 | WINHTTP_WEB_SOCKET_SUCCESS_CLOSE_STATUS = 1000, |
| 853 | WINHTTP_WEB_SOCKET_ENDPOINT_TERMINATED_CLOSE_STATUS = 1001, |
| 854 | WINHTTP_WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS = 1002, |
| 855 | WINHTTP_WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS = 1003, |
| 856 | WINHTTP_WEB_SOCKET_EMPTY_CLOSE_STATUS = 1005, |
| 857 | WINHTTP_WEB_SOCKET_ABORTED_CLOSE_STATUS = 1006, |
| 858 | WINHTTP_WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS = 1007, |
| 859 | WINHTTP_WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS = 1008, |
| 860 | WINHTTP_WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS = 1009, |
| 861 | WINHTTP_WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS = 1010, |
| 862 | WINHTTP_WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS = 1011, |
| 863 | WINHTTP_WEB_SOCKET_SECURE_HANDSHAKE_ERROR_CLOSE_STATUS = 1015 |
| 864 | } WINHTTP_WEB_SOCKET_CLOSE_STATUS; |
| 865 | |
| 866 | typedef struct _WINHTTP_WEB_SOCKET_ASYNC_RESULT |
| 867 | { |
| 868 | WINHTTP_ASYNC_RESULT AsyncResult; |
| 869 | WINHTTP_WEB_SOCKET_OPERATION Operation; |
| 870 | } WINHTTP_WEB_SOCKET_ASYNC_RESULT; |
| 871 | |
| 872 | typedef struct _WINHTTP_WEB_SOCKET_STATUS |
| 873 | { |
| 874 | DWORD dwBytesTransferred; |
| 875 | WINHTTP_WEB_SOCKET_BUFFER_TYPE eBufferType; |
| 876 | } WINHTTP_WEB_SOCKET_STATUS; |
| 877 | |
| 878 | #define WINHTTP_WEB_SOCKET_MAX_CLOSE_REASON_LENGTH 123 |
| 879 | #define WINHTTP_WEB_SOCKET_MIN_KEEPALIVE_VALUE 15000 |
| 880 | |
| 881 | #ifdef __SCHANNEL_H__ |
| 882 | |
| 883 | typedef struct _WINHTTP_SECURITY_INFO |
| 884 | { |
| 885 | SecPkgContext_ConnectionInfo ConnectionInfo; |
| 886 | SecPkgContext_CipherInfo CipherInfo; |
| 887 | } WINHTTP_SECURITY_INFO, *PWINHTTP_SECURITY_INFO; |
| 888 | |
| 889 | #endif |
| 890 | |
| 891 | #ifdef __cplusplus |
| 892 | extern "C" { |
| 893 | #endif |
| 894 | |
| 895 | WINHTTPAPI WINBOOL WINAPI WinHttpAddRequestHeaders(HINTERNET,LPCWSTR,DWORD,DWORD); |
| 896 | WINHTTPAPI WINBOOL WINAPI WinHttpDetectAutoProxyConfigUrl(DWORD,LPWSTR*); |
| 897 | WINHTTPAPI WINBOOL WINAPI WinHttpCheckPlatform(void); |
| 898 | WINHTTPAPI WINBOOL WINAPI WinHttpCloseHandle(HINTERNET); |
| 899 | WINHTTPAPI HINTERNET WINAPI WinHttpConnect(HINTERNET,LPCWSTR,INTERNET_PORT,DWORD); |
| 900 | WINHTTPAPI WINBOOL WINAPI WinHttpCrackUrl(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTS); |
| 901 | WINHTTPAPI DWORD WINAPI WinHttpCreateProxyResolver(HINTERNET,HINTERNET*); |
| 902 | WINHTTPAPI WINBOOL WINAPI WinHttpCreateUrl(LPURL_COMPONENTS,DWORD,LPWSTR,LPDWORD); |
| 903 | WINHTTPAPI VOID WINAPI WinHttpFreeProxyResult(WINHTTP_PROXY_RESULT*); |
| 904 | WINHTTPAPI VOID WINAPI WinHttpFreeProxyResultEx(WINHTTP_PROXY_RESULT_EX*); |
| 905 | WINHTTPAPI VOID WINAPI WinHttpFreeProxySettings(WINHTTP_PROXY_SETTINGS*); |
| 906 | WINHTTPAPI WINBOOL WINAPI WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*); |
| 907 | WINHTTPAPI WINBOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG*); |
| 908 | WINHTTPAPI WINBOOL WINAPI WinHttpGetProxyForUrl(HINTERNET,LPCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,WINHTTP_PROXY_INFO*); |
| 909 | WINHTTPAPI DWORD WINAPI WinHttpGetProxyForUrlEx(HINTERNET,PCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,DWORD_PTR); |
| 910 | WINHTTPAPI DWORD WINAPI WinHttpGetProxyForUrlEx2(HINTERNET,PCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,DWORD,BYTE*,DWORD_PTR); |
| 911 | WINHTTPAPI DWORD WINAPI WinHttpGetProxyResult(HINTERNET,WINHTTP_PROXY_RESULT*); |
| 912 | WINHTTPAPI DWORD WINAPI WinHttpGetProxyResultEx(HINTERNET,WINHTTP_PROXY_RESULT_EX*); |
| 913 | WINHTTPAPI DWORD WINAPI WinHttpGetProxySettingsVersion(HINTERNET,DWORD*); |
| 914 | WINHTTPAPI DWORD WINAPI WinHttpIsHostInProxyBypassList(const WINHTTP_PROXY_INFO*,PCWSTR,INTERNET_SCHEME,INTERNET_PORT,WINBOOL*); |
| 915 | WINHTTPAPI HINTERNET WINAPI WinHttpOpen(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD); |
| 916 | WINHTTPAPI HINTERNET WINAPI WinHttpOpenRequest(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR*,DWORD); |
| 917 | WINHTTPAPI WINBOOL WINAPI WinHttpQueryAuthParams(HINTERNET,DWORD,LPVOID*); |
| 918 | WINHTTPAPI WINBOOL WINAPI WinHttpQueryAuthSchemes(HINTERNET,LPDWORD,LPDWORD,LPDWORD); |
| 919 | WINHTTPAPI WINBOOL WINAPI WinHttpQueryDataAvailable(HINTERNET,LPDWORD); |
| 920 | WINHTTPAPI WINBOOL WINAPI WinHttpQueryHeaders(HINTERNET,DWORD,LPCWSTR,LPVOID,LPDWORD,LPDWORD); |
| 921 | WINHTTPAPI WINBOOL WINAPI WinHttpQueryOption(HINTERNET,DWORD,LPVOID,LPDWORD); |
| 922 | WINHTTPAPI WINBOOL WINAPI WinHttpReadData(HINTERNET,LPVOID,DWORD,LPDWORD); |
| 923 | WINHTTPAPI DWORD WINAPI WinHttpReadProxySettings(HINTERNET,PCWSTR,WINBOOL,WINBOOL,DWORD*,WINBOOL*,WINHTTP_PROXY_SETTINGS*); |
| 924 | WINHTTPAPI WINBOOL WINAPI WinHttpReceiveResponse(HINTERNET,LPVOID); |
| 925 | WINHTTPAPI DWORD WINAPI WinHttpResetAutoProxy(HINTERNET,DWORD); |
| 926 | WINHTTPAPI WINBOOL WINAPI WinHttpSendRequest(HINTERNET,LPCWSTR,DWORD,LPVOID,DWORD,DWORD,DWORD_PTR); |
| 927 | WINHTTPAPI WINBOOL WINAPI WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*); |
| 928 | WINHTTPAPI WINBOOL WINAPI WinHttpSetCredentials(HINTERNET,DWORD,DWORD,LPCWSTR,LPCWSTR,LPVOID); |
| 929 | WINHTTPAPI WINBOOL WINAPI WinHttpSetOption(HINTERNET,DWORD,LPVOID,DWORD); |
| 930 | WINHTTPAPI WINHTTP_STATUS_CALLBACK WINAPI WinHttpSetStatusCallback(HINTERNET,WINHTTP_STATUS_CALLBACK,DWORD,DWORD_PTR); |
| 931 | WINHTTPAPI WINBOOL WINAPI WinHttpSetTimeouts(HINTERNET,int,int,int,int); |
| 932 | WINHTTPAPI WINBOOL WINAPI WinHttpTimeFromSystemTime(const SYSTEMTIME *,LPWSTR); |
| 933 | WINHTTPAPI WINBOOL WINAPI WinHttpTimeToSystemTime(LPCWSTR,SYSTEMTIME*); |
| 934 | WINHTTPAPI DWORD WINAPI WinHttpWebSocketClose(HINTERNET,USHORT,void *,DWORD); |
| 935 | WINHTTPAPI HINTERNET WINAPI WinHttpWebSocketCompleteUpgrade(HINTERNET,DWORD_PTR); |
| 936 | WINHTTPAPI DWORD WINAPI WinHttpWebSocketQueryCloseStatus(HINTERNET,USHORT*,void*,DWORD,DWORD*); |
| 937 | WINHTTPAPI DWORD WINAPI WinHttpWebSocketReceive(HINTERNET,void*,DWORD,DWORD*,WINHTTP_WEB_SOCKET_BUFFER_TYPE*); |
| 938 | WINHTTPAPI DWORD WINAPI WinHttpWebSocketSend(HINTERNET,WINHTTP_WEB_SOCKET_BUFFER_TYPE,void*,DWORD); |
| 939 | WINHTTPAPI DWORD WINAPI WinHttpWebSocketShutdown(HINTERNET,USHORT,void*,DWORD); |
| 940 | WINHTTPAPI WINBOOL WINAPI WinHttpWriteData(HINTERNET,LPCVOID,DWORD,LPDWORD); |
| 941 | WINHTTPAPI DWORD WINAPI WinHttpWriteProxySettings(HINTERNET,WINBOOL,WINHTTP_PROXY_SETTINGS*); |
| 942 | |
| 943 | #ifdef __cplusplus |
| 944 | } |
| 945 | #endif |
| 946 | |
| 947 | #pragma pack(pop) |
| 948 | |
| 949 | #endif /* __WINE_WINHTTP_H */ |