Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

293 lines
9.1 KiB

#if defined(_WIN64)
#include <pshpack8.h>
#else
#include <pshpack4.h>
#endif
#if defined(__cplusplus)
extern "C" {
#endif
typedef struct {
DWORD dwOption; // option to be queried or set
union {
DWORD dwValue; // dword value for the option
LPSTR pszValue; // pointer to string value for the option
FILETIME ftValue; // file-time value for the option
} Value;
} INTERNET_PER_CONN_OPTIONA, * LPINTERNET_PER_CONN_OPTIONA;
typedef INTERNET_PER_CONN_OPTIONA INTERNET_PER_CONN_OPTION;
typedef LPINTERNET_PER_CONN_OPTIONA LPINTERNET_PER_CONN_OPTION;
typedef struct {
DWORD dwSize; // size of the INTERNET_PER_CONN_OPTION_LIST struct
LPSTR pszConnection; // connection name to set/query options
DWORD dwOptionCount; // number of options to set/query
DWORD dwOptionError; // on error, which option failed
LPINTERNET_PER_CONN_OPTIONA pOptions;
// array of options to set/query
} INTERNET_PER_CONN_OPTION_LISTA, * LPINTERNET_PER_CONN_OPTION_LISTA;
typedef INTERNET_PER_CONN_OPTION_LISTA INTERNET_PER_CONN_OPTION_LIST;
typedef LPINTERNET_PER_CONN_OPTION_LISTA LPINTERNET_PER_CONN_OPTION_LIST;
typedef struct {
DWORD dwStructSize; // size of this structure. Used in version check
LPSTR lpszScheme; // pointer to scheme name
DWORD dwSchemeLength; // length of scheme name
INTERNET_SCHEME nScheme; // enumerated scheme type (if known)
LPSTR lpszHostName; // pointer to host name
DWORD dwHostNameLength; // length of host name
INTERNET_PORT nPort; // converted port number
LPSTR lpszUserName; // pointer to user name
DWORD dwUserNameLength; // length of user name
LPSTR lpszPassword; // pointer to password
DWORD dwPasswordLength; // length of password
LPSTR lpszUrlPath; // pointer to URL-path
DWORD dwUrlPathLength; // length of URL-path
LPSTR lpszExtraInfo; // pointer to extra information (e.g. ?foo or #foo)
DWORD dwExtraInfoLength; // length of extra information
} URL_COMPONENTSA, * LPURL_COMPONENTSA;
typedef struct _INTERNET_BUFFERSA {
DWORD dwStructSize; // used for API versioning. Set to sizeof(INTERNET_BUFFERS)
struct _INTERNET_BUFFERSA * Next; // chain of buffers
LPCSTR lpcszHeader; // pointer to headers (may be NULL)
DWORD dwHeadersLength; // length of headers if not NULL
DWORD dwHeadersTotal; // size of headers if not enough buffer
LPVOID lpvBuffer; // pointer to data buffer (may be NULL)
DWORD dwBufferLength; // length of data buffer if not NULL
DWORD dwBufferTotal; // total size of chunk, or content-length if not chunked
DWORD dwOffsetLow; // used for read-ranges (only used in HttpSendRequest2)
DWORD dwOffsetHigh;
} INTERNET_BUFFERSA, * LPINTERNET_BUFFERSA;
typedef INTERNET_BUFFERSA INTERNET_BUFFERS;
typedef LPINTERNET_BUFFERSA LPINTERNET_BUFFERS;
BOOLAPI
InternetTimeFromSystemTimeA(
IN CONST SYSTEMTIME *pst, // input GMT time
OUT LPSTR lpszTime // output string buffer
);
#define InternetTimeFromSystemTime InternetTimeFromSystemTimeA
BOOLAPI
InternetTimeToSystemTimeA(
IN LPCSTR lpszTime, // NULL terminated string
OUT SYSTEMTIME *pst, // output in GMT time
IN DWORD dwReserved
);
#define InternetTimeToSystemTime InternetTimeToSystemTimeA
typedef struct
{
DWORD dwAccessType; // see WINHTTP_ACCESS_* types below
LPSTR lpszProxy; // proxy server list
LPSTR lpszProxyBypass; // proxy bypass list
} WINHTTP_PROXY_INFOA;
typedef WINHTTP_PROXY_INFOA* LPINTERNET_PROXY_INFO;
BOOLAPI
WinHttpCrackUrlA(
IN LPCSTR lpszUrl,
IN DWORD dwUrlLength,
IN DWORD dwFlags,
IN OUT LPURL_COMPONENTSA lpUrlComponents
);
BOOLAPI
WinHttpCreateUrlA(
IN LPURL_COMPONENTSA lpUrlComponents,
IN DWORD dwFlags,
OUT LPSTR lpszUrl,
IN OUT LPDWORD lpdwUrlLength
);
INTERNETAPI
HINTERNET
WINAPI
InternetOpenA(
IN LPCSTR lpszAgent,
IN DWORD dwAccessType,
IN LPCSTR lpszProxy OPTIONAL,
IN LPCSTR lpszProxyBypass OPTIONAL,
IN DWORD dwFlags
);
#define InternetOpen InternetOpenA
INTERNETAPI
HINTERNET
WINAPI
InternetConnectA(
IN HINTERNET hInternet,
IN LPCSTR lpszServerName,
IN INTERNET_PORT nServerPort,
IN DWORD dwFlags,
IN DWORD_PTR dwContext
);
#define InternetConnect InternetConnectA
INTERNETAPI
HINTERNET
WINAPI
InternetOpenUrlA(
IN HINTERNET hInternet,
IN LPCSTR lpszUrl,
IN LPCSTR lpszHeaders OPTIONAL,
IN DWORD dwHeadersLength,
IN DWORD dwFlags,
IN DWORD_PTR dwContext
);
#define InternetOpenUrl InternetOpenUrlA
INTERNETAPI
BOOL
WINAPI
InternetReadFileExA(
IN HINTERNET hFile,
OUT LPINTERNET_BUFFERSA lpBuffersOut,
IN DWORD dwFlags,
IN DWORD_PTR dwContext
);
#define InternetReadFileEx InternetReadFileExA
INTERNETAPI
BOOL
WINAPI
InternetWriteFileExA(
IN HINTERNET hFile,
IN LPINTERNET_BUFFERSA lpBuffersIn,
IN DWORD dwFlags,
IN DWORD_PTR dwContext
);
#define InternetWriteFileEx InternetWriteFileExA
BOOLAPI
InternetQueryOptionA(
IN HINTERNET hInternet OPTIONAL,
IN DWORD dwOption,
OUT LPVOID lpBuffer OPTIONAL,
IN OUT LPDWORD lpdwBufferLength
);
#define InternetQueryOption InternetQueryOptionA
BOOLAPI
InternetSetOptionA(
IN HINTERNET hInternet OPTIONAL,
IN DWORD dwOption,
IN LPVOID lpBuffer,
IN DWORD dwBufferLength
);
#define InternetSetOption InternetSetOptionA
BOOLAPI
InternetGetLastResponseInfoA(
OUT LPDWORD lpdwError,
OUT LPSTR lpszBuffer OPTIONAL,
IN OUT LPDWORD lpdwBufferLength
);
#define InternetGetLastResponseInfo InternetGetLastResponseInfoA
INTERNETAPI
WINHTTP_STATUS_CALLBACK
WINAPI
InternetSetStatusCallbackA(
IN HINTERNET hInternet,
IN WINHTTP_STATUS_CALLBACK lpfnInternetCallback
);
#define InternetSetStatusCallback InternetSetStatusCallbackA
BOOLAPI
HttpAddRequestHeadersA(
IN HINTERNET hRequest,
IN LPCSTR lpszHeaders,
IN DWORD dwHeadersLength,
IN DWORD dwModifiers
);
#define HttpAddRequestHeaders HttpAddRequestHeadersA
#define HTTP_VERSIONA "HTTP/1.0"
#define HTTP_VERSION HTTP_VERSIONA
INTERNETAPI
HINTERNET
WINAPI
HttpOpenRequestA(
IN HINTERNET hConnect,
IN LPCSTR lpszVerb,
IN LPCSTR lpszObjectName,
IN LPCSTR lpszVersion,
IN LPCSTR lpszReferrer OPTIONAL,
IN LPCSTR FAR * lplpszAcceptTypes OPTIONAL,
IN DWORD dwFlags,
IN DWORD_PTR dwContext
);
#define HttpOpenRequest HttpOpenRequestA
BOOLAPI
HttpSendRequestA(
IN HINTERNET hRequest,
IN LPCSTR lpszHeaders OPTIONAL,
IN DWORD dwHeadersLength,
IN LPVOID lpOptional OPTIONAL,
IN DWORD dwOptionalLength
);
#define HttpSendRequest HttpSendRequestA
BOOLAPI WinHttpSetCredentialsA (
IN HINTERNET hRequest, // HINTERNET handle returned by HttpOpenRequest.
IN DWORD AuthTargets, // Only WINHTTP_AUTH_TARGET_SERVER and
// WINHTTP_AUTH_TARGET_PROXY are supported
// in this version and they are mutually
// exclusive
IN DWORD AuthScheme, // must be one of the supported Auth Schemes
// returned from HttpQueryAuthSchemes(), Apps
// should use the Preferred Scheme returned
IN LPCSTR pszUserName, // 1) NULL if default creds is to be used, in
// which case pszPassword will be ignored
IN LPCSTR pszPassword, // 1) "" == Blank Passowrd; 2)Parameter ignored
// if pszUserName is NULL; 3) Invalid to pass in
// NULL if pszUserName is not NULL
IN LPVOID pAuthParams
);
#define HttpSetCredentials HttpSetCredentialsA
INTERNETAPI
BOOL
WINAPI
HttpSendRequestExA(
IN HINTERNET hRequest,
IN LPINTERNET_BUFFERSA lpBuffersIn OPTIONAL,
OUT LPINTERNET_BUFFERSA lpBuffersOut OPTIONAL,
IN DWORD dwFlags,
IN DWORD_PTR dwContext
);
#define HttpSendRequestEx HttpSendRequestExA
BOOLAPI
HttpQueryInfoA(
IN HINTERNET hRequest,
IN DWORD dwInfoLevel,
IN LPCSTR lpszName OPTIONAL,
IN OUT LPVOID lpBuffer OPTIONAL,
IN OUT LPDWORD lpdwBufferLength,
IN OUT LPDWORD lpdwIndex OPTIONAL
);
#define HttpQueryInfo HttpQueryInfoA
#if defined(__cplusplus)
} // end extern "C" {
#endif
BOOL internalWinHttpGetDefaultProxyConfigurationA( IN OUT WINHTTP_PROXY_INFOA * pProxyInfo);
BOOL internalWinHttpSetDefaultProxyConfigurationA( IN WINHTTP_PROXY_INFOA * pProxyInfo);