[PATCH] include: update winhttp.h

Biswapriyo Nath nathbappai at gmail.com
Fri Feb 7 10:01:31 CST 2020


Here is the updated patch. `HTTP_STATUS_PERMANENT_REDIRECT` is present
in 10.0.18362.0.
-------------- next part --------------
From 884af94fc6d5299d185205344bec2f768a0d3db3 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <nathbappai at gmail.com>
Date: Fri, 7 Feb 2020 21:24:39 +0530
Subject: [PATCH] include: update winhttp.h

Signed-off-by: Biswapriyo Nath <nathbappai at gmail.com>
---
 include/winhttp.h | 227 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 225 insertions(+), 2 deletions(-)

diff --git a/include/winhttp.h b/include/winhttp.h
index e873e77..6d05436 100644
--- a/include/winhttp.h
+++ b/include/winhttp.h
@@ -46,6 +46,8 @@ typedef INTERNET_PORT *LPINTERNET_PORT;
 typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 
 #define ICU_ESCAPE  0x80000000
+#define ICU_ESCAPE_AUTHORITY 0x00002000
+#define ICU_REJECT_USERPWD   0x00004000
 
 /* flags for WinHttpOpen */
 #define WINHTTP_FLAG_ASYNC                  0x10000000
@@ -62,6 +64,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define WINHTTP_ACCESS_TYPE_DEFAULT_PROXY   0
 #define WINHTTP_ACCESS_TYPE_NO_PROXY        1
 #define WINHTTP_ACCESS_TYPE_NAMED_PROXY     3
+#define WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY 4
 
 #define WINHTTP_NO_PROXY_NAME               NULL
 #define WINHTTP_NO_PROXY_BYPASS             NULL
@@ -108,6 +111,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define WINHTTP_OPTION_URL                           34
 #define WINHTTP_OPTION_SECURITY_KEY_BITNESS          36
 #define WINHTTP_OPTION_PROXY                         38
+#define WINHTTP_OPTION_PROXY_RESULT_ENTRY            39
 #define WINHTTP_OPTION_USER_AGENT                    41
 #define WINHTTP_OPTION_CONTEXT_VALUE                 45
 #define WINHTTP_OPTION_CLIENT_CERT_CONTEXT           47
@@ -141,7 +145,35 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT           99
 #define WINHTTP_OPTION_REJECT_USERPWD_IN_URL         100
 #define WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS 101
-#define WINHTTP_LAST_OPTION                          WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS
+#define WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE   103
+#define WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE        104
+#define WINHTTP_OPTION_SERVER_SPN_USED                  106
+#define WINHTTP_OPTION_PROXY_SPN_USED                   107
+#define WINHTTP_OPTION_SERVER_CBT                       108
+#define WINHTTP_OPTION_UNSAFE_HEADER_PARSING            110
+#define WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS   111
+#define WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET            114
+#define WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT         115
+#define WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL    116
+#define WINHTTP_OPTION_DECOMPRESSION                    118
+#define WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE   122
+#define WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE      123
+#define WINHTTP_OPTION_TCP_PRIORITY_HINT                128
+#define WINHTTP_OPTION_CONNECTION_FILTER                131
+#define WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL             133
+#define WINHTTP_OPTION_HTTP_PROTOCOL_USED               134
+#define WINHTTP_OPTION_KDC_PROXY_SETTINGS               136
+#define WINHTTP_OPTION_ENCODE_EXTRA                     138
+#define WINHTTP_OPTION_DISABLE_STREAM_QUEUE             139
+#define WINHTTP_OPTION_IPV6_FAST_FALLBACK               140
+#define WINHTTP_OPTION_CONNECTION_STATS_V0              141
+#define WINHTTP_OPTION_REQUEST_TIMES                    142
+#define WINHTTP_OPTION_EXPIRE_CONNECTION                143
+#define WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK 144
+#define WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED           145
+#define WINHTTP_OPTION_REQUEST_STATS                    146
+#define WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT        147
+#define WINHTTP_LAST_OPTION                          WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
 #define WINHTTP_OPTION_USERNAME                      0x1000
 #define WINHTTP_OPTION_PASSWORD                      0x1001
 #define WINHTTP_OPTION_PROXY_USERNAME                0x1002
@@ -149,6 +181,14 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 
 #define WINHTTP_CONNS_PER_SERVER_UNLIMITED 0xFFFFFFFF
 
+#define WINHTTP_DECOMPRESSION_FLAG_GZIP     0x00000001
+#define WINHTTP_DECOMPRESSION_FLAG_DEFLATE  0x00000002
+
+#define WINHTTP_DECOMPRESSION_FLAG_ALL ( WINHTTP_DECOMPRESSION_FLAG_GZIP | WINHTTP_DECOMPRESSION_FLAG_DEFLATE )
+
+#define WINHTTP_PROTOCOL_FLAG_HTTP2 0x1
+#define WINHTTP_PROTOCOL_MASK WINHTTP_PROTOCOL_FLAG_HTTP2
+
 #define WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM   0
 #define WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW      1
 #define WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH     2
@@ -223,6 +263,8 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define ERROR_WINHTTP_SECURE_CERT_REVOKED                   (WINHTTP_ERROR_BASE + 170)
 #define ERROR_WINHTTP_NOT_INITIALIZED                       (WINHTTP_ERROR_BASE + 172)
 #define ERROR_WINHTTP_SECURE_FAILURE                        (WINHTTP_ERROR_BASE + 175)
+#define ERROR_WINHTTP_UNHANDLED_SCRIPT_TYPE                 (WINHTTP_ERROR_BASE + 176)
+#define ERROR_WINHTTP_SCRIPT_EXECUTION_ERROR                (WINHTTP_ERROR_BASE + 177)
 #define ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR              (WINHTTP_ERROR_BASE + 178)
 #define ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE               (WINHTTP_ERROR_BASE + 179)
 #define ERROR_WINHTTP_AUTODETECTION_FAILED                  (WINHTTP_ERROR_BASE + 180)
@@ -232,7 +274,20 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW               (WINHTTP_ERROR_BASE + 184)
 #define ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY            (WINHTTP_ERROR_BASE + 185)
 #define ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY     (WINHTTP_ERROR_BASE + 186)
-#define WINHTTP_ERROR_LAST                                  (WINHTTP_ERROR_BASE + 186)
+#define ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED_PROXY         (WINHTTP_ERROR_BASE + 187)
+#define ERROR_WINHTTP_SECURE_FAILURE_PROXY                  (WINHTTP_ERROR_BASE + 188)
+#define ERROR_WINHTTP_RESERVED_189                          (WINHTTP_ERROR_BASE + 189)
+#define ERROR_WINHTTP_HTTP_PROTOCOL_MISMATCH                (WINHTTP_ERROR_BASE + 190)
+#define WINHTTP_ERROR_LAST                                  (WINHTTP_ERROR_BASE + 188)
+
+#define WINHTTP_RESET_STATE                     0x00000001
+#define WINHTTP_RESET_SWPAD_CURRENT_NETWORK     0x00000002
+#define WINHTTP_RESET_SWPAD_ALL                 0x00000004
+#define WINHTTP_RESET_SCRIPT_CACHE              0x00000008
+#define WINHTTP_RESET_ALL                       0x0000FFFF
+#define WINHTTP_RESET_NOTIFY_NETWORK_CHANGED    0x00010000
+#define WINHTTP_RESET_OUT_OF_PROC               0x00020000
+#define WINHTTP_RESET_DISCARD_RESOLVERS         0x00040000
 
 /* WinHttp status codes */
 #define HTTP_STATUS_CONTINUE            100
@@ -252,6 +307,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define HTTP_STATUS_NOT_MODIFIED        304
 #define HTTP_STATUS_USE_PROXY           305
 #define HTTP_STATUS_REDIRECT_KEEP_VERB  307
+#define HTTP_STATUS_PERMANENT_REDIRECT  308
 #define HTTP_STATUS_BAD_REQUEST         400
 #define HTTP_STATUS_DENIED              401
 #define HTTP_STATUS_PAYMENT_REQ         402
@@ -375,6 +431,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define WINHTTP_QUERY_FLAG_REQUEST_HEADERS         0x80000000
 #define WINHTTP_QUERY_FLAG_SYSTEMTIME              0x40000000
 #define WINHTTP_QUERY_FLAG_NUMBER                  0x20000000
+#define WINHTTP_QUERY_FLAG_NUMBER64                0x08000000
 
 /* Callback options */
 #define WINHTTP_CALLBACK_STATUS_RESOLVING_NAME          0x00000001
@@ -399,6 +456,11 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE          0x00100000
 #define WINHTTP_CALLBACK_STATUS_REQUEST_ERROR           0x00200000
 #define WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE    0x00400000
+#define WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE 0x01000000
+#define WINHTTP_CALLBACK_STATUS_CLOSE_COMPLETE          0x02000000
+#define WINHTTP_CALLBACK_STATUS_SHUTDOWN_COMPLETE       0x04000000
+#define WINHTTP_CALLBACK_STATUS_SETTINGS_WRITE_COMPLETE 0x10000000
+#define WINHTTP_CALLBACK_STATUS_SETTINGS_READ_COMPLETE  0x20000000
 #define WINHTTP_CALLBACK_FLAG_RESOLVE_NAME              (WINHTTP_CALLBACK_STATUS_RESOLVING_NAME | WINHTTP_CALLBACK_STATUS_NAME_RESOLVED)
 #define WINHTTP_CALLBACK_FLAG_CONNECT_TO_SERVER         (WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER | WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER)
 #define WINHTTP_CALLBACK_FLAG_SEND_REQUEST              (WINHTTP_CALLBACK_STATUS_SENDING_REQUEST | WINHTTP_CALLBACK_STATUS_REQUEST_SENT)
@@ -415,6 +477,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define WINHTTP_CALLBACK_FLAG_READ_COMPLETE             WINHTTP_CALLBACK_STATUS_READ_COMPLETE
 #define WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE            WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE
 #define WINHTTP_CALLBACK_FLAG_REQUEST_ERROR             WINHTTP_CALLBACK_STATUS_REQUEST_ERROR
+#define WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE   WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE
 #define WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS           (WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE | WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE \
                                                         | WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE | WINHTTP_CALLBACK_STATUS_READ_COMPLETE          \
                                                         | WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE | WINHTTP_CALLBACK_STATUS_REQUEST_ERROR)
@@ -426,6 +489,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define API_READ_DATA                 (3)
 #define API_WRITE_DATA                (4)
 #define API_SEND_REQUEST              (5)
+#define API_GET_PROXY_FOR_URL         (6)
 
 #define WINHTTP_HANDLE_TYPE_SESSION                  1
 #define WINHTTP_HANDLE_TYPE_CONNECT                  2
@@ -445,6 +509,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
 #define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1   0x00000080
 #define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 0x00000200
 #define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 0x00000800
+#define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 0x00002000
 #define WINHTTP_FLAG_SECURE_PROTOCOL_ALL    (WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 |\
                                              WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 |\
                                              WINHTTP_FLAG_SECURE_PROTOCOL_TLS1)
@@ -517,14 +582,24 @@ typedef struct
 } WINHTTP_CURRENT_USER_IE_PROXY_CONFIG;
 
 typedef VOID (CALLBACK *WINHTTP_STATUS_CALLBACK)(HINTERNET,DWORD_PTR,DWORD,LPVOID,DWORD);
+typedef WINHTTP_STATUS_CALLBACK * LPWINHTTP_STATUS_CALLBACK;
 
 #define WINHTTP_AUTO_DETECT_TYPE_DHCP   0x00000001
 #define WINHTTP_AUTO_DETECT_TYPE_DNS_A  0x00000002
 
 #define WINHTTP_AUTOPROXY_AUTO_DETECT           0x00000001
 #define WINHTTP_AUTOPROXY_CONFIG_URL            0x00000002
+#define WINHTTP_AUTOPROXY_HOST_KEEPCASE         0x00000004
+#define WINHTTP_AUTOPROXY_HOST_LOWERCASE        0x00000008
+#define WINHTTP_AUTOPROXY_ALLOW_AUTOCONFIG      0x00000100
+#define WINHTTP_AUTOPROXY_ALLOW_STATIC          0x00000200
+#define WINHTTP_AUTOPROXY_ALLOW_CM              0x00000400
 #define WINHTTP_AUTOPROXY_RUN_INPROCESS         0x00010000
 #define WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY   0x00020000
+#define WINHTTP_AUTOPROXY_NO_DIRECTACCESS       0x00040000
+#define WINHTTP_AUTOPROXY_NO_CACHE_CLIENT       0x00080000
+#define WINHTTP_AUTOPROXY_NO_CACHE_SVC          0x00100000
+#define WINHTTP_AUTOPROXY_SORT_RESULTS          0x00400000
 
 typedef struct
 {
@@ -536,6 +611,56 @@ typedef struct
     BOOL fAutoLogonIfChallenged;
 } WINHTTP_AUTOPROXY_OPTIONS;
 
+typedef struct _WINHTTP_PROXY_RESULT_ENTRY
+{
+    BOOL            fProxy;
+    BOOL            fBypass;
+    INTERNET_SCHEME ProxyScheme;
+    PWSTR           pwszProxy;
+    INTERNET_PORT   ProxyPort;
+} WINHTTP_PROXY_RESULT_ENTRY;
+
+typedef struct _WINHTTP_PROXY_RESULT
+{
+    DWORD cEntries;
+    WINHTTP_PROXY_RESULT_ENTRY *pEntries;
+} WINHTTP_PROXY_RESULT;
+
+typedef struct _WINHTTP_PROXY_RESULT_EX
+{
+    DWORD cEntries;
+    WINHTTP_PROXY_RESULT_ENTRY *pEntries;
+    HANDLE hProxyDetectionHandle;
+    DWORD dwProxyInterfaceAffinity;
+} WINHTTP_PROXY_RESULT_EX;
+
+#define NETWORKING_KEY_BUFSIZE 128
+
+typedef struct _WinHttpProxyNetworkKey
+{
+    unsigned char pbBuffer[NETWORKING_KEY_BUFSIZE];
+} WINHTTP_PROXY_NETWORKING_KEY, *PWINHTTP_PROXY_NETWORKING_KEY;
+
+typedef struct _WINHTTP_PROXY_SETTINGS
+{
+    DWORD dwStructSize;
+    DWORD dwFlags;
+    DWORD dwCurrentSettingsVersion;
+    PWSTR pwszConnectionName;
+    PWSTR pwszProxy;
+    PWSTR pwszProxyBypass;
+    PWSTR pwszAutoconfigUrl;
+    PWSTR pwszAutoconfigSecondaryUrl;
+    DWORD dwAutoDiscoveryFlags;
+    PWSTR pwszLastKnownGoodAutoConfigUrl;
+    DWORD dwAutoconfigReloadDelayMins;
+    FILETIME ftLastKnownDetectTime;
+    DWORD dwDetectedInterfaceIpCount;
+    PDWORD pdwDetectedInterfaceIp;
+    DWORD cNetworkKeys;
+    PWINHTTP_PROXY_NETWORKING_KEY pNetworkKeys;
+} WINHTTP_PROXY_SETTINGS, *PWINHTTP_PROXY_SETTINGS;
+
 typedef struct
 {
     DWORD dwMajorVersion;
@@ -551,6 +676,91 @@ typedef struct
 } WINHTTP_CONNECTION_INFO;
 #endif
 
+typedef enum _WINHTTP_REQUEST_TIME_ENTRY
+{
+    WinHttpProxyDetectionStart = 0,
+    WinHttpProxyDetectionEnd,
+    WinHttpConnectionAcquireStart,
+    WinHttpConnectionAcquireWaitEnd,
+    WinHttpConnectionAcquireEnd,
+    WinHttpNameResolutionStart,
+    WinHttpNameResolutionEnd,
+    WinHttpConnectionEstablishmentStart,
+    WinHttpConnectionEstablishmentEnd,
+    WinHttpTlsHandshakeClientLeg1Start,
+    WinHttpTlsHandshakeClientLeg1End,
+    WinHttpTlsHandshakeClientLeg2Start,
+    WinHttpTlsHandshakeClientLeg2End,
+    WinHttpTlsHandshakeClientLeg3Start,
+    WinHttpTlsHandshakeClientLeg3End,
+    WinHttpStreamWaitStart,
+    WinHttpStreamWaitEnd,
+    WinHttpSendRequestStart,
+    WinHttpSendRequestHeadersCompressionStart,
+    WinHttpSendRequestHeadersCompressionEnd,
+    WinHttpSendRequestHeadersEnd,
+    WinHttpSendRequestEnd,
+    WinHttpReceiveResponseStart,
+    WinHttpReceiveResponseHeadersDecompressionStart,
+    WinHttpReceiveResponseHeadersDecompressionEnd,
+    WinHttpReceiveResponseHeadersEnd,
+    WinHttpReceiveResponseBodyDecompressionDelta,
+    WinHttpReceiveResponseEnd,
+    WinHttpProxyTunnelStart,
+    WinHttpProxyTunnelEnd,
+    WinHttpProxyTlsHandshakeClientLeg1Start,
+    WinHttpProxyTlsHandshakeClientLeg1End,
+    WinHttpProxyTlsHandshakeClientLeg2Start,
+    WinHttpProxyTlsHandshakeClientLeg2End,
+    WinHttpProxyTlsHandshakeClientLeg3Start,
+    WinHttpProxyTlsHandshakeClientLeg3End,
+    WinHttpRequestTimeLast,
+    WinHttpRequestTimeMax = 64
+} WINHTTP_REQUEST_TIME_ENTRY;
+
+typedef struct _WINHTTP_REQUEST_TIMES
+{
+    ULONG cTimes;
+    ULONGLONG rgullTimes[WinHttpRequestTimeMax];
+} WINHTTP_REQUEST_TIMES, *PWINHTTP_REQUEST_TIMES;
+
+typedef enum _WINHTTP_REQUEST_STAT_ENTRY
+{
+    WinHttpConnectFailureCount = 0,
+    WinHttpProxyFailureCount,
+    WinHttpTlsHandshakeClientLeg1Size,
+    WinHttpTlsHandshakeServerLeg1Size,
+    WinHttpTlsHandshakeClientLeg2Size,
+    WinHttpTlsHandshakeServerLeg2Size,
+    WinHttpRequestHeadersSize,
+    WinHttpRequestHeadersCompressedSize,
+    WinHttpResponseHeadersSize,
+    WinHttpResponseHeadersCompressedSize,
+    WinHttpResponseBodySize,
+    WinHttpResponseBodyCompressedSize,
+    WinHttpProxyTlsHandshakeClientLeg1Size,
+    WinHttpProxyTlsHandshakeServerLeg1Size,
+    WinHttpProxyTlsHandshakeClientLeg2Size,
+    WinHttpProxyTlsHandshakeServerLeg2Size,
+    WinHttpRequestStatLast,
+    WinHttpRequestStatMax = 32
+} WINHTTP_REQUEST_STAT_ENTRY;
+
+#define WINHTTP_REQUEST_STAT_FLAG_TCP_FAST_OPEN                 0x00000001
+#define WINHTTP_REQUEST_STAT_FLAG_TLS_SESSION_RESUMPTION        0x00000002
+#define WINHTTP_REQUEST_STAT_FLAG_TLS_FALSE_START               0x00000004
+#define WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_SESSION_RESUMPTION  0x00000008
+#define WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_FALSE_START         0x00000010
+#define WINHTTP_REQUEST_STAT_FLAG_FIRST_REQUEST                 0x00000020
+
+typedef struct _WINHTTP_REQUEST_STATS
+{
+    ULONGLONG ullFlags;
+    ULONG ulIndex;
+    ULONG cStats;
+    ULONGLONG rgullStats[WinHttpRequestStatMax];
+} WINHTTP_REQUEST_STATS, *PWINHTTP_REQUEST_STATS;
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -561,10 +771,20 @@ BOOL        WINAPI WinHttpCheckPlatform(void);
 BOOL        WINAPI WinHttpCloseHandle(HINTERNET);
 HINTERNET   WINAPI WinHttpConnect(HINTERNET,LPCWSTR,INTERNET_PORT,DWORD);
 BOOL        WINAPI WinHttpCrackUrl(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTS);
+DWORD       WINAPI WinHttpCreateProxyResolver(HINTERNET,HINTERNET*);
 BOOL        WINAPI WinHttpCreateUrl(LPURL_COMPONENTS,DWORD,LPWSTR,LPDWORD);
+VOID        WINAPI WinHttpFreeProxyResult(WINHTTP_PROXY_RESULT*);
+VOID        WINAPI WinHttpFreeProxyResultEx(WINHTTP_PROXY_RESULT_EX*);
+VOID        WINAPI WinHttpFreeProxySettings(WINHTTP_PROXY_SETTINGS*);
 BOOL        WINAPI WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*);
 BOOL        WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG*);
 BOOL        WINAPI WinHttpGetProxyForUrl(HINTERNET,LPCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,WINHTTP_PROXY_INFO*);
+DWORD       WINAPI WinHttpGetProxyForUrlEx(HINTERNET,PCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,DWORD_PTR);
+DWORD       WINAPI WinHttpGetProxyForUrlEx2(HINTERNET,PCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,DWORD,BYTE*,DWORD_PTR);
+DWORD       WINAPI WinHttpGetProxyResult(HINTERNET,WINHTTP_PROXY_RESULT*);
+DWORD       WINAPI WinHttpGetProxyResultEx(HINTERNET,WINHTTP_PROXY_RESULT_EX*);
+DWORD       WINAPI WinHttpGetProxySettingsVersion(HINTERNET,DWORD*);
+DWORD       WINAPI WinHttpIsHostInProxyBypassList(const WINHTTP_PROXY_INFO*,PCWSTR,INTERNET_SCHEME,INTERNET_PORT,BOOL*);
 HINTERNET   WINAPI WinHttpOpen(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD);
 HINTERNET   WINAPI WinHttpOpenRequest(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR*,DWORD);
 BOOL        WINAPI WinHttpQueryAuthParams(HINTERNET,DWORD,LPVOID*);
@@ -573,7 +793,9 @@ BOOL        WINAPI WinHttpQueryDataAvailable(HINTERNET,LPDWORD);
 BOOL        WINAPI WinHttpQueryHeaders(HINTERNET,DWORD,LPCWSTR,LPVOID,LPDWORD,LPDWORD);
 BOOL        WINAPI WinHttpQueryOption(HINTERNET,DWORD,LPVOID,LPDWORD);
 BOOL        WINAPI WinHttpReadData(HINTERNET,LPVOID,DWORD,LPDWORD);
+DWORD       WINAPI WinHttpReadProxySettings(HINTERNET,PCWSTR,BOOL,BOOL,DWORD*,BOOL*,WINHTTP_PROXY_SETTINGS*);
 BOOL        WINAPI WinHttpReceiveResponse(HINTERNET,LPVOID);
+DWORD       WINAPI WinHttpResetAutoProxy(HINTERNET,DWORD);
 BOOL        WINAPI WinHttpSendRequest(HINTERNET,LPCWSTR,DWORD,LPVOID,DWORD,DWORD,DWORD_PTR);
 BOOL        WINAPI WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*);
 BOOL        WINAPI WinHttpSetCredentials(HINTERNET,DWORD,DWORD,LPCWSTR,LPCWSTR,LPVOID);
@@ -583,6 +805,7 @@ BOOL        WINAPI WinHttpSetTimeouts(HINTERNET,int,int,int,int);
 BOOL        WINAPI WinHttpTimeFromSystemTime(const SYSTEMTIME *,LPWSTR);
 BOOL        WINAPI WinHttpTimeToSystemTime(LPCWSTR,SYSTEMTIME*);
 BOOL        WINAPI WinHttpWriteData(HINTERNET,LPCVOID,DWORD,LPDWORD);
+DWORD       WINAPI WinHttpWriteProxySettings(HINTERNET,BOOL,WINHTTP_PROXY_SETTINGS*);
 
 #ifdef __cplusplus
 }
-- 
2.25.0



More information about the wine-devel mailing list