### winhttp.h ###

WinHttpAddRequestHeaders=func
func.WinHttpAddRequestHeaders.args=4
func.WinHttpAddRequestHeaders.arg.0=HINTERNET,hRequest
func.WinHttpAddRequestHeaders.arg.1=LPCWSTR,lpszHeaders
func.WinHttpAddRequestHeaders.arg.2=DWORD,dwHeadersLength
func.WinHttpAddRequestHeaders.arg.3=DWORD,dwModifiers
func.WinHttpAddRequestHeaders.ret=BOOL

WinHttpCheckPlatform=func
func.WinHttpCheckPlatform.args=0
func.WinHttpCheckPlatform.ret=BOOL

WinHttpCloseHandle=func
func.WinHttpCloseHandle.args=1
func.WinHttpCloseHandle.arg.0=HINTERNET,hInternet
func.WinHttpCloseHandle.ret=BOOL

WinHttpConnect=func
func.WinHttpConnect.args=4
func.WinHttpConnect.arg.0=HINTERNET,hSession
func.WinHttpConnect.arg.1=LPCWSTR,pswzServerName
func.WinHttpConnect.arg.2=INTERNET_PORT,nServerPort
func.WinHttpConnect.arg.3=DWORD,dwReserved
func.WinHttpConnect.ret=HINTERNET

WinHttpCrackUrl=func
func.WinHttpCrackUrl.args=4
func.WinHttpCrackUrl.arg.0=LPCWSTR,pwszUrl
func.WinHttpCrackUrl.arg.1=DWORD,dwUrlLength
func.WinHttpCrackUrl.arg.2=DWORD,dwFlags
func.WinHttpCrackUrl.arg.3=LPURL_COMPONENTS,lpUrlComponents
func.WinHttpCrackUrl.ret=BOOL

WinHttpCreateProxyResolver=func
func.WinHttpCreateProxyResolver.args=2
func.WinHttpCreateProxyResolver.arg.0=HINTERNET,hSession
func.WinHttpCreateProxyResolver.arg.1=HINTERNET *,phResolver
func.WinHttpCreateProxyResolver.ret=DWORD

WinHttpCreateUrl=func
func.WinHttpCreateUrl.args=4
func.WinHttpCreateUrl.arg.0=LPURL_COMPONENTS,lpUrlComponents
func.WinHttpCreateUrl.arg.1=DWORD,dwFlags
func.WinHttpCreateUrl.arg.2=LPWSTR,pwszUrl
func.WinHttpCreateUrl.arg.3=LPDWORD,pdwUrlLength
func.WinHttpCreateUrl.ret=BOOL

WinHttpDetectAutoProxyConfigUrl=func
func.WinHttpDetectAutoProxyConfigUrl.args=2
func.WinHttpDetectAutoProxyConfigUrl.arg.0=DWORD,dwAutoDetectFlags
func.WinHttpDetectAutoProxyConfigUrl.arg.1=LPWSTR *,ppwstrAutoConfigUrl
func.WinHttpDetectAutoProxyConfigUrl.ret=BOOL

WinHttpFreeProxyResult=func
func.WinHttpFreeProxyResult.args=1
func.WinHttpFreeProxyResult.arg.0=WINHTTP_PROXY_RESULT *,pProxyResult
func.WinHttpFreeProxyResult.ret=VOID

WinHttpFreeProxyResultEx=func
func.WinHttpFreeProxyResultEx.args=1
func.WinHttpFreeProxyResultEx.arg.0=WINHTTP_PROXY_RESULT_EX *,pProxyResultEx
func.WinHttpFreeProxyResultEx.ret=VOID

WinHttpFreeProxySettings=func
func.WinHttpFreeProxySettings.args=1
func.WinHttpFreeProxySettings.arg.0=WINHTTP_PROXY_SETTINGS *,pWinHttpProxySettings
func.WinHttpFreeProxySettings.ret=VOID

WinHttpGetDefaultProxyConfiguration=func
func.WinHttpGetDefaultProxyConfiguration.args=1
func.WinHttpGetDefaultProxyConfiguration.arg.0=WINHTTP_PROXY_INFO *,pProxyInfo
func.WinHttpGetDefaultProxyConfiguration.ret=BOOL

WinHttpGetIEProxyConfigForCurrentUser=func
func.WinHttpGetIEProxyConfigForCurrentUser.args=1
func.WinHttpGetIEProxyConfigForCurrentUser.arg.0=WINHTTP_CURRENT_USER_IE_PROXY_CONFIG *,pProxyConfig
func.WinHttpGetIEProxyConfigForCurrentUser.ret=BOOL

WinHttpGetProxyForUrl=func
func.WinHttpGetProxyForUrl.args=4
func.WinHttpGetProxyForUrl.arg.0=HINTERNET,hSession
func.WinHttpGetProxyForUrl.arg.1=LPCWSTR,lpcwszUrl
func.WinHttpGetProxyForUrl.arg.2=WINHTTP_AUTOPROXY_OPTIONS *,pAutoProxyOptions
func.WinHttpGetProxyForUrl.arg.3=WINHTTP_PROXY_INFO *,pProxyInfo
func.WinHttpGetProxyForUrl.ret=BOOL

WinHttpGetProxyForUrlEx=func
func.WinHttpGetProxyForUrlEx.args=4
func.WinHttpGetProxyForUrlEx.arg.0=HINTERNET,hResolver
func.WinHttpGetProxyForUrlEx.arg.1=PCWSTR,pcwszUrl
func.WinHttpGetProxyForUrlEx.arg.2=WINHTTP_AUTOPROXY_OPTIONS *,pAutoProxyOptions
func.WinHttpGetProxyForUrlEx.arg.3=DWORD_PTR,pContext
func.WinHttpGetProxyForUrlEx.ret=DWORD

WinHttpGetProxyForUrlEx2=func
func.WinHttpGetProxyForUrlEx2.args=6
func.WinHttpGetProxyForUrlEx2.arg.0=HINTERNET,hResolver
func.WinHttpGetProxyForUrlEx2.arg.1=PCWSTR,pcwszUrl
func.WinHttpGetProxyForUrlEx2.arg.2=WINHTTP_AUTOPROXY_OPTIONS *,pAutoProxyOptions
func.WinHttpGetProxyForUrlEx2.arg.3=DWORD,cbInterfaceSelectionContext
func.WinHttpGetProxyForUrlEx2.arg.4=BYTE *,pInterfaceSelectionContext
func.WinHttpGetProxyForUrlEx2.arg.5=DWORD_PTR,pContext
func.WinHttpGetProxyForUrlEx2.ret=DWORD

WinHttpGetProxyResult=func
func.WinHttpGetProxyResult.args=2
func.WinHttpGetProxyResult.arg.0=HINTERNET,hResolver
func.WinHttpGetProxyResult.arg.1=WINHTTP_PROXY_RESULT *,pProxyResult
func.WinHttpGetProxyResult.ret=DWORD

WinHttpGetProxyResultEx=func
func.WinHttpGetProxyResultEx.args=2
func.WinHttpGetProxyResultEx.arg.0=HINTERNET,hResolver
func.WinHttpGetProxyResultEx.arg.1=WINHTTP_PROXY_RESULT_EX *,pProxyResultEx
func.WinHttpGetProxyResultEx.ret=DWORD

WinHttpGetProxySettingsVersion=func
func.WinHttpGetProxySettingsVersion.args=2
func.WinHttpGetProxySettingsVersion.arg.0=HINTERNET,hSession
func.WinHttpGetProxySettingsVersion.arg.1=DWORD *,pdwProxySettingsVersion
func.WinHttpGetProxySettingsVersion.ret=DWORD

WinHttpIsHostInProxyBypassList=func
func.WinHttpIsHostInProxyBypassList.args=5
func.WinHttpIsHostInProxyBypassList.arg.0=const WINHTTP_PROXY_INFO *,pProxyInfo
func.WinHttpIsHostInProxyBypassList.arg.1=PCWSTR,pwszHost
func.WinHttpIsHostInProxyBypassList.arg.2=INTERNET_SCHEME,tScheme
func.WinHttpIsHostInProxyBypassList.arg.3=INTERNET_PORT,nPort
func.WinHttpIsHostInProxyBypassList.arg.4=BOOL *,pfIsInBypassList
func.WinHttpIsHostInProxyBypassList.ret=DWORD

WinHttpOpen=func
func.WinHttpOpen.args=5
func.WinHttpOpen.arg.0=LPCWSTR,pszAgentW
func.WinHttpOpen.arg.1=DWORD,dwAccessType
func.WinHttpOpen.arg.2=LPCWSTR,pszProxyW
func.WinHttpOpen.arg.3=LPCWSTR,pszProxyBypassW
func.WinHttpOpen.arg.4=DWORD,dwFlags
func.WinHttpOpen.ret=HINTERNET

WinHttpOpenRequest=func
func.WinHttpOpenRequest.args=7
func.WinHttpOpenRequest.arg.0=HINTERNET,hConnect
func.WinHttpOpenRequest.arg.1=LPCWSTR,pwszVerb
func.WinHttpOpenRequest.arg.2=LPCWSTR,pwszObjectName
func.WinHttpOpenRequest.arg.3=LPCWSTR,pwszVersion
func.WinHttpOpenRequest.arg.4=LPCWSTR,pwszReferrer
func.WinHttpOpenRequest.arg.5=LPCWSTR *,ppwszAcceptTypes
func.WinHttpOpenRequest.arg.6=DWORD,dwFlags
func.WinHttpOpenRequest.ret=HINTERNET

WinHttpQueryAuthParams=func
func.WinHttpQueryAuthParams.args=3
func.WinHttpQueryAuthParams.arg.0=HINTERNET,hRequest
func.WinHttpQueryAuthParams.arg.1=DWORD,AuthScheme
func.WinHttpQueryAuthParams.arg.2=LPVOID *,pAuthParams
func.WinHttpQueryAuthParams.ret=BOOL

WinHttpQueryAuthSchemes=func
func.WinHttpQueryAuthSchemes.args=4
func.WinHttpQueryAuthSchemes.arg.0=HINTERNET,hRequest
func.WinHttpQueryAuthSchemes.arg.1=LPDWORD,lpdwSupportedSchemes
func.WinHttpQueryAuthSchemes.arg.2=LPDWORD,lpdwFirstScheme
func.WinHttpQueryAuthSchemes.arg.3=LPDWORD,pdwAuthTarget
func.WinHttpQueryAuthSchemes.ret=BOOL

WinHttpQueryDataAvailable=func
func.WinHttpQueryDataAvailable.args=2
func.WinHttpQueryDataAvailable.arg.0=HINTERNET,hRequest
func.WinHttpQueryDataAvailable.arg.1=LPDWORD,lpdwNumberOfBytesAvailable
func.WinHttpQueryDataAvailable.ret=BOOL

WinHttpQueryHeaders=func
func.WinHttpQueryHeaders.args=6
func.WinHttpQueryHeaders.arg.0=HINTERNET,hRequest
func.WinHttpQueryHeaders.arg.1=DWORD,dwInfoLevel
func.WinHttpQueryHeaders.arg.2=LPCWSTR,pwszName
func.WinHttpQueryHeaders.arg.3=LPVOID,lpBuffer
func.WinHttpQueryHeaders.arg.4=LPDWORD,lpdwBufferLength
func.WinHttpQueryHeaders.arg.5=LPDWORD,lpdwIndex
func.WinHttpQueryHeaders.ret=BOOL

WinHttpQueryOption=func
func.WinHttpQueryOption.args=4
func.WinHttpQueryOption.arg.0=HINTERNET,hInternet
func.WinHttpQueryOption.arg.1=DWORD,dwOption
func.WinHttpQueryOption.arg.2=LPVOID,lpBuffer
func.WinHttpQueryOption.arg.3=LPDWORD,lpdwBufferLength
func.WinHttpQueryOption.ret=BOOL

WinHttpReadData=func
func.WinHttpReadData.args=4
func.WinHttpReadData.arg.0=HINTERNET,hRequest
func.WinHttpReadData.arg.1=LPVOID,lpBuffer
func.WinHttpReadData.arg.2=DWORD,dwNumberOfBytesToRead
func.WinHttpReadData.arg.3=LPDWORD,lpdwNumberOfBytesRead
func.WinHttpReadData.ret=BOOL

WinHttpReadProxySettings=func
func.WinHttpReadProxySettings.args=7
func.WinHttpReadProxySettings.arg.0=HINTERNET,hSession
func.WinHttpReadProxySettings.arg.1=PCWSTR,pcwszConnectionName
func.WinHttpReadProxySettings.arg.2=BOOL,fFallBackToDefaultSettings
func.WinHttpReadProxySettings.arg.3=BOOL,fSetAutoDiscoverForDefaultSettings
func.WinHttpReadProxySettings.arg.4=DWORD *,pdwSettingsVersion
func.WinHttpReadProxySettings.arg.5=BOOL *,pfDefaultSettingsAreReturned
func.WinHttpReadProxySettings.arg.6=WINHTTP_PROXY_SETTINGS *,pWinHttpProxySettings
func.WinHttpReadProxySettings.ret=DWORD

WinHttpReceiveResponse=func
func.WinHttpReceiveResponse.args=2
func.WinHttpReceiveResponse.arg.0=HINTERNET,hRequest
func.WinHttpReceiveResponse.arg.1=LPVOID,lpReserved
func.WinHttpReceiveResponse.ret=BOOL

WinHttpResetAutoProxy=func
func.WinHttpResetAutoProxy.args=2
func.WinHttpResetAutoProxy.arg.0=HINTERNET,hSession
func.WinHttpResetAutoProxy.arg.1=DWORD,dwFlags
func.WinHttpResetAutoProxy.ret=DWORD

WinHttpSendRequest=func
func.WinHttpSendRequest.args=7
func.WinHttpSendRequest.arg.0=HINTERNET,hRequest
func.WinHttpSendRequest.arg.1=LPCWSTR,lpszHeaders
func.WinHttpSendRequest.arg.2=DWORD,dwHeadersLength
func.WinHttpSendRequest.arg.3=LPVOID,lpOptional
func.WinHttpSendRequest.arg.4=DWORD,dwOptionalLength
func.WinHttpSendRequest.arg.5=DWORD,dwTotalLength
func.WinHttpSendRequest.arg.6=DWORD_PTR,dwContext
func.WinHttpSendRequest.ret=BOOL

WinHttpSetCredentials=func
func.WinHttpSetCredentials.args=6
func.WinHttpSetCredentials.arg.0=HINTERNET,hRequest
func.WinHttpSetCredentials.arg.1=DWORD,AuthTargets
func.WinHttpSetCredentials.arg.2=DWORD,AuthScheme
func.WinHttpSetCredentials.arg.3=LPCWSTR,pwszUserName
func.WinHttpSetCredentials.arg.4=LPCWSTR,pwszPassword
func.WinHttpSetCredentials.arg.5=LPVOID,pAuthParams
func.WinHttpSetCredentials.ret=BOOL

WinHttpSetDefaultProxyConfiguration=func
func.WinHttpSetDefaultProxyConfiguration.args=1
func.WinHttpSetDefaultProxyConfiguration.arg.0=WINHTTP_PROXY_INFO *,pProxyInfo
func.WinHttpSetDefaultProxyConfiguration.ret=BOOL

WinHttpSetOption=func
func.WinHttpSetOption.args=4
func.WinHttpSetOption.arg.0=HINTERNET,hInternet
func.WinHttpSetOption.arg.1=DWORD,dwOption
func.WinHttpSetOption.arg.2=LPVOID,lpBuffer
func.WinHttpSetOption.arg.3=DWORD,dwBufferLength
func.WinHttpSetOption.ret=BOOL

WinHttpSetStatusCallback=func
func.WinHttpSetStatusCallback.args=4
func.WinHttpSetStatusCallback.arg.0=HINTERNET,hInternet
func.WinHttpSetStatusCallback.arg.1=WINHTTP_STATUS_CALLBACK,lpfnInternetCallback
func.WinHttpSetStatusCallback.arg.2=DWORD,dwNotificationFlags
func.WinHttpSetStatusCallback.arg.3=DWORD_PTR,dwReserved
func.WinHttpSetStatusCallback.ret=WINHTTP_STATUS_CALLBACK

WinHttpSetTimeouts=func
func.WinHttpSetTimeouts.args=5
func.WinHttpSetTimeouts.arg.0=HINTERNET,hInternet
func.WinHttpSetTimeouts.arg.1=int,nResolveTimeout
func.WinHttpSetTimeouts.arg.2=int,nConnectTimeout
func.WinHttpSetTimeouts.arg.3=int,nSendTimeout
func.WinHttpSetTimeouts.arg.4=int,nReceiveTimeout
func.WinHttpSetTimeouts.ret=BOOL

WinHttpTimeFromSystemTime=func
func.WinHttpTimeFromSystemTime.args=2
func.WinHttpTimeFromSystemTime.arg.0=const SYSTEMTIME *,pst
func.WinHttpTimeFromSystemTime.arg.1=LPWSTR,pwszTime
func.WinHttpTimeFromSystemTime.ret=BOOL

WinHttpTimeToSystemTime=func
func.WinHttpTimeToSystemTime.args=2
func.WinHttpTimeToSystemTime.arg.0=LPCWSTR,pwszTime
func.WinHttpTimeToSystemTime.arg.1=SYSTEMTIME *,pst
func.WinHttpTimeToSystemTime.ret=BOOL

WinHttpWebSocketClose=func
func.WinHttpWebSocketClose.args=4
func.WinHttpWebSocketClose.arg.0=HINTERNET,hWebSocket
func.WinHttpWebSocketClose.arg.1=USHORT,usStatus
func.WinHttpWebSocketClose.arg.2=PVOID,pvReason
func.WinHttpWebSocketClose.arg.3=DWORD,dwReasonLength
func.WinHttpWebSocketClose.ret=DWORD

WinHttpWebSocketCompleteUpgrade=func
func.WinHttpWebSocketCompleteUpgrade.args=2
func.WinHttpWebSocketCompleteUpgrade.arg.0=HINTERNET,hRequest
func.WinHttpWebSocketCompleteUpgrade.arg.1=DWORD_PTR,pContext
func.WinHttpWebSocketCompleteUpgrade.ret=HINTERNET

WinHttpWebSocketQueryCloseStatus=func
func.WinHttpWebSocketQueryCloseStatus.args=5
func.WinHttpWebSocketQueryCloseStatus.arg.0=HINTERNET,hWebSocket
func.WinHttpWebSocketQueryCloseStatus.arg.1=USHORT *,pusStatus
func.WinHttpWebSocketQueryCloseStatus.arg.2=PVOID,pvReason
func.WinHttpWebSocketQueryCloseStatus.arg.3=DWORD,dwReasonLength
func.WinHttpWebSocketQueryCloseStatus.arg.4=DWORD *,pdwReasonLengthConsumed
func.WinHttpWebSocketQueryCloseStatus.ret=DWORD

WinHttpWebSocketReceive=func
func.WinHttpWebSocketReceive.args=5
func.WinHttpWebSocketReceive.arg.0=HINTERNET,hWebSocket
func.WinHttpWebSocketReceive.arg.1=PVOID,pvBuffer
func.WinHttpWebSocketReceive.arg.2=DWORD,dwBufferLength
func.WinHttpWebSocketReceive.arg.3=DWORD *,pdwBytesRead
func.WinHttpWebSocketReceive.arg.4=WINHTTP_WEB_SOCKET_BUFFER_TYPE *,peBufferType
func.WinHttpWebSocketReceive.ret=DWORD

WinHttpWebSocketSend=func
func.WinHttpWebSocketSend.args=4
func.WinHttpWebSocketSend.arg.0=HINTERNET,hWebSocket
func.WinHttpWebSocketSend.arg.1=WINHTTP_WEB_SOCKET_BUFFER_TYPE,eBufferType
func.WinHttpWebSocketSend.arg.2=PVOID,pvBuffer
func.WinHttpWebSocketSend.arg.3=DWORD,dwBufferLength
func.WinHttpWebSocketSend.ret=DWORD

WinHttpWebSocketShutdown=func
func.WinHttpWebSocketShutdown.args=4
func.WinHttpWebSocketShutdown.arg.0=HINTERNET,hWebSocket
func.WinHttpWebSocketShutdown.arg.1=USHORT,usStatus
func.WinHttpWebSocketShutdown.arg.2=PVOID,pvReason
func.WinHttpWebSocketShutdown.arg.3=DWORD,dwReasonLength
func.WinHttpWebSocketShutdown.ret=DWORD

WinHttpWriteData=func
func.WinHttpWriteData.args=4
func.WinHttpWriteData.arg.0=HINTERNET,hRequest
func.WinHttpWriteData.arg.1=LPCVOID,lpBuffer
func.WinHttpWriteData.arg.2=DWORD,dwNumberOfBytesToWrite
func.WinHttpWriteData.arg.3=LPDWORD,lpdwNumberOfBytesWritten
func.WinHttpWriteData.ret=BOOL

WinHttpWriteProxySettings=func
func.WinHttpWriteProxySettings.args=3
func.WinHttpWriteProxySettings.arg.0=HINTERNET,hSession
func.WinHttpWriteProxySettings.arg.1=BOOL,fForceUpdate
func.WinHttpWriteProxySettings.arg.2=WINHTTP_PROXY_SETTINGS *,pWinHttpProxySettings
func.WinHttpWriteProxySettings.ret=DWORD
