af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright (C) 2007 Francois Gouget
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * a choice of LGPL license versions is made available with the language indicating
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * of the LGPL is applied is otherwise unspecified.
af062818b47340eef15700d2f0211576ba3506eevboxsync/* flags for WinHttpOpen */
af062818b47340eef15700d2f0211576ba3506eevboxsync/* flags for WinHttpOpenRequest */
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_FLAG_ESCAPE_DISABLE_QUERY 0x00000080
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_FLAG_REFRESH WINHTTP_FLAG_BYPASS_PROXY_CACHE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_ADDREQ_FLAG_COALESCE WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
af062818b47340eef15700d2f0211576ba3506eevboxsync/* flags for WinHttp{Set/Query}Options */
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_FIRST_OPTION WINHTTP_OPTION_CALLBACK
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT 32
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS 89
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS 101
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_LAST_OPTION WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CONNS_PER_SERVER_UNLIMITED 0xFFFFFFFF
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_AUTOLOGON_SECURITY_LEVEL_DEFAULT WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP 1
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_OPTION_REDIRECT_POLICY_LAST WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_OPTION_REDIRECT_POLICY_DEFAULT WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION 0x00000002
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_OPTION_SPN_MASK WINHTTP_ENABLE_SPN_SERVER_PORT
af062818b47340eef15700d2f0211576ba3506eevboxsync/* Options for WinHttpOpenRequest */
af062818b47340eef15700d2f0211576ba3506eevboxsync/* Options for WinHttpSendRequest */
af062818b47340eef15700d2f0211576ba3506eevboxsync/* WinHTTP error codes */
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_OUT_OF_HANDLES (WINHTTP_ERROR_BASE + 1)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_TIMEOUT (WINHTTP_ERROR_BASE + 2)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_INTERNAL_ERROR (WINHTTP_ERROR_BASE + 4)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_INVALID_URL (WINHTTP_ERROR_BASE + 5)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_UNRECOGNIZED_SCHEME (WINHTTP_ERROR_BASE + 6)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_NAME_NOT_RESOLVED (WINHTTP_ERROR_BASE + 7)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_INVALID_OPTION (WINHTTP_ERROR_BASE + 9)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_OPTION_NOT_SETTABLE (WINHTTP_ERROR_BASE + 11)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SHUTDOWN (WINHTTP_ERROR_BASE + 12)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_LOGIN_FAILURE (WINHTTP_ERROR_BASE + 15)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_OPERATION_CANCELLED (WINHTTP_ERROR_BASE + 17)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_INCORRECT_HANDLE_TYPE (WINHTTP_ERROR_BASE + 18)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_INCORRECT_HANDLE_STATE (WINHTTP_ERROR_BASE + 19)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CANNOT_CONNECT (WINHTTP_ERROR_BASE + 29)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CONNECTION_ERROR (WINHTTP_ERROR_BASE + 30)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_RESEND_REQUEST (WINHTTP_ERROR_BASE + 32)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SECURE_CERT_DATE_INVALID (WINHTTP_ERROR_BASE + 37)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SECURE_CERT_CN_INVALID (WINHTTP_ERROR_BASE + 38)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED (WINHTTP_ERROR_BASE + 44)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SECURE_INVALID_CA (WINHTTP_ERROR_BASE + 45)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SECURE_CERT_REV_FAILED (WINHTTP_ERROR_BASE + 57)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN (WINHTTP_ERROR_BASE + 100)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND (WINHTTP_ERROR_BASE + 101)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND (WINHTTP_ERROR_BASE + 102)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN (WINHTTP_ERROR_BASE + 103)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_HEADER_NOT_FOUND (WINHTTP_ERROR_BASE + 150)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_INVALID_SERVER_RESPONSE (WINHTTP_ERROR_BASE + 152)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_INVALID_HEADER (WINHTTP_ERROR_BASE + 153)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_INVALID_QUERY_REQUEST (WINHTTP_ERROR_BASE + 154)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_HEADER_ALREADY_EXISTS (WINHTTP_ERROR_BASE + 155)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_REDIRECT_FAILED (WINHTTP_ERROR_BASE + 156)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SECURE_CHANNEL_ERROR (WINHTTP_ERROR_BASE + 157)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT (WINHTTP_ERROR_BASE + 166)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT (WINHTTP_ERROR_BASE + 167)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SECURE_INVALID_CERT (WINHTTP_ERROR_BASE + 169)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SECURE_CERT_REVOKED (WINHTTP_ERROR_BASE + 170)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_NOT_INITIALIZED (WINHTTP_ERROR_BASE + 172)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SECURE_FAILURE (WINHTTP_ERROR_BASE + 175)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR (WINHTTP_ERROR_BASE + 178)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE (WINHTTP_ERROR_BASE + 179)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_AUTODETECTION_FAILED (WINHTTP_ERROR_BASE + 180)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_HEADER_COUNT_EXCEEDED (WINHTTP_ERROR_BASE + 181)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_HEADER_SIZE_OVERFLOW (WINHTTP_ERROR_BASE + 182)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW (WINHTTP_ERROR_BASE + 183)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW (WINHTTP_ERROR_BASE + 184)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY (WINHTTP_ERROR_BASE + 185)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY (WINHTTP_ERROR_BASE + 186)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_ERROR_LAST (WINHTTP_ERROR_BASE + 186)
af062818b47340eef15700d2f0211576ba3506eevboxsync/* WinHttp status codes */
af062818b47340eef15700d2f0211576ba3506eevboxsync#define HTTP_STATUS_LAST HTTP_STATUS_VERSION_NOT_SUP
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID 0x00002000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID 0x00001000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE 0x00000200
af062818b47340eef15700d2f0211576ba3506eevboxsync/* Query flags */
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000
af062818b47340eef15700d2f0211576ba3506eevboxsync/* Callback options */
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_RESOLVING_NAME 0x00000001
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_NAME_RESOLVED 0x00000002
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER 0x00000004
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER 0x00000008
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_SENDING_REQUEST 0x00000010
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_REQUEST_SENT 0x00000020
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE 0x00000040
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED 0x00000080
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION 0x00000100
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED 0x00000200
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_HANDLE_CREATED 0x00000400
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING 0x00000800
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_DETECTING_PROXY 0x00001000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE 0x00008000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_SECURE_FAILURE 0x00010000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE 0x00020000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE 0x00040000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_READ_COMPLETE 0x00080000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE 0x00100000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_REQUEST_ERROR 0x00200000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE 0x00400000
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_RESOLVE_NAME (WINHTTP_CALLBACK_STATUS_RESOLVING_NAME | WINHTTP_CALLBACK_STATUS_NAME_RESOLVED)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_CONNECT_TO_SERVER (WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER | WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_SEND_REQUEST (WINHTTP_CALLBACK_STATUS_SENDING_REQUEST | WINHTTP_CALLBACK_STATUS_REQUEST_SENT)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_RECEIVE_RESPONSE (WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE | WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_CLOSE_CONNECTION (WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION | WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_HANDLES (WINHTTP_CALLBACK_STATUS_HANDLE_CREATED | WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_DETECTING_PROXY WINHTTP_CALLBACK_STATUS_DETECTING_PROXY
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_REDIRECT WINHTTP_CALLBACK_STATUS_REDIRECT
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_SECURE_FAILURE WINHTTP_CALLBACK_STATUS_SECURE_FAILURE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_READ_COMPLETE WINHTTP_CALLBACK_STATUS_READ_COMPLETE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_REQUEST_ERROR WINHTTP_CALLBACK_STATUS_REQUEST_ERROR
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS (WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE | WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE \
af062818b47340eef15700d2f0211576ba3506eevboxsync | WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE | WINHTTP_CALLBACK_STATUS_READ_COMPLETE \
af062818b47340eef15700d2f0211576ba3506eevboxsync | WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE | WINHTTP_CALLBACK_STATUS_REQUEST_ERROR)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS 0xffffffff
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_INVALID_STATUS_CALLBACK ((WINHTTP_STATUS_CALLBACK)(-1L))
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED 0x00000001
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT 0x00000002
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED 0x00000004
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA 0x00000008
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID 0x00000010
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID 0x00000020
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_WRONG_USAGE 0x00000040
af062818b47340eef15700d2f0211576ba3506eevboxsync#define WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR 0x80000000
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef VOID (CALLBACK *WINHTTP_STATUS_CALLBACK)(HINTERNET,DWORD_PTR,DWORD,LPVOID,DWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern "C" {
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpAddRequestHeaders(HINTERNET,LPCWSTR,DWORD,DWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpDetectAutoProxyConfigUrl(DWORD,LPWSTR*);
af062818b47340eef15700d2f0211576ba3506eevboxsyncHINTERNET WINAPI WinHttpConnect(HINTERNET,LPCWSTR,INTERNET_PORT,DWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpCrackUrl(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTS);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpCreateUrl(LPURL_COMPONENTS,DWORD,LPWSTR,LPDWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG*);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpGetProxyForUrl(HINTERNET,LPCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,WINHTTP_PROXY_INFO*);
af062818b47340eef15700d2f0211576ba3506eevboxsyncHINTERNET WINAPI WinHttpOpen(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncHINTERNET WINAPI WinHttpOpenRequest(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR*,DWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpQueryAuthParams(HINTERNET,DWORD,LPVOID*);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpQueryAuthSchemes(HINTERNET,LPDWORD,LPDWORD,LPDWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpQueryDataAvailable(HINTERNET,LPDWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpQueryHeaders(HINTERNET,DWORD,LPCWSTR,LPVOID,LPDWORD,LPDWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpQueryOption(HINTERNET,DWORD,LPVOID,LPDWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpReadData(HINTERNET,LPVOID,DWORD,LPDWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpReceiveResponse(HINTERNET,LPVOID);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpSendRequest(HINTERNET,LPCWSTR,DWORD,LPVOID,DWORD,DWORD,DWORD_PTR);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpSetCredentials(HINTERNET,DWORD,DWORD,LPCWSTR,LPCWSTR,LPVOID);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpSetOption(HINTERNET,DWORD,LPVOID,DWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsyncWINHTTP_STATUS_CALLBACK WINAPI WinHttpSetStatusCallback(HINTERNET,WINHTTP_STATUS_CALLBACK,DWORD,DWORD_PTR);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpSetTimeouts(HINTERNET,int,int,int,int);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpTimeFromSystemTime(CONST SYSTEMTIME *,LPWSTR);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpTimeToSystemTime(LPCWSTR,SYSTEMTIME*);
af062818b47340eef15700d2f0211576ba3506eevboxsyncBOOL WINAPI WinHttpWriteData(HINTERNET,LPCVOID,DWORD,LPDWORD);
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif /* __WINE_WINHTTP_H */