1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _WININET_ 7 #define _WININET_ 8 9 #include <_mingw_unicode.h> 10 #include <specstrings.h> 11 12 #ifdef _WIN64 13 #include <pshpack8.h> 14 #else 15 #include <pshpack4.h> 16 #endif 17 18 #if defined(__cplusplus) 19 extern "C" { 20 #endif 21 22 #define INTERNETAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI 23 #define INTERNETAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI 24 #define URLCACHEAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI 25 #define URLCACHEAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI 26 27 #define BOOLAPI INTERNETAPI_(WINBOOL) 28 29 typedef LPVOID HINTERNET; 30 typedef HINTERNET *LPHINTERNET; 31 32 typedef WORD INTERNET_PORT; 33 typedef INTERNET_PORT *LPINTERNET_PORT; 34 35 #define INTERNET_INVALID_PORT_NUMBER 0 36 37 #define INTERNET_DEFAULT_FTP_PORT 21 38 #define INTERNET_DEFAULT_GOPHER_PORT 70 39 #define INTERNET_DEFAULT_HTTP_PORT 80 40 #define INTERNET_DEFAULT_HTTPS_PORT 443 41 #define INTERNET_DEFAULT_SOCKS_PORT 1080 42 43 #define INTERNET_MAX_HOST_NAME_LENGTH 256 44 #define INTERNET_MAX_USER_NAME_LENGTH 128 45 #define INTERNET_MAX_PASSWORD_LENGTH 128 46 #define INTERNET_MAX_PORT_NUMBER_LENGTH 5 47 #define INTERNET_MAX_PORT_NUMBER_VALUE 65535 48 #define INTERNET_MAX_PATH_LENGTH 2048 49 #define INTERNET_MAX_SCHEME_LENGTH 32 50 #define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH + sizeof("://") + INTERNET_MAX_PATH_LENGTH) 51 52 #define INTERNET_KEEP_ALIVE_UNKNOWN ((DWORD)-1) 53 #define INTERNET_KEEP_ALIVE_ENABLED 1 54 #define INTERNET_KEEP_ALIVE_DISABLED 0 55 56 #define INTERNET_REQFLAG_FROM_CACHE 0x00000001 57 #define INTERNET_REQFLAG_ASYNC 0x00000002 58 #define INTERNET_REQFLAG_VIA_PROXY 0x00000004 59 #define INTERNET_REQFLAG_NO_HEADERS 0x00000008 60 #define INTERNET_REQFLAG_PASSIVE 0x00000010 61 #define INTERNET_REQFLAG_CACHE_WRITE_DISABLED 0x00000040 62 #define INTERNET_REQFLAG_NET_TIMEOUT 0x00000080 63 64 #define INTERNET_FLAG_RELOAD 0x80000000 65 66 #define INTERNET_FLAG_RAW_DATA 0x40000000 67 #define INTERNET_FLAG_EXISTING_CONNECT 0x20000000 68 69 #define INTERNET_FLAG_ASYNC 0x10000000 70 71 #define INTERNET_FLAG_PASSIVE 0x08000000 72 73 #define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000 74 #define INTERNET_FLAG_DONT_CACHE INTERNET_FLAG_NO_CACHE_WRITE 75 #define INTERNET_FLAG_MAKE_PERSISTENT 0x02000000 76 #define INTERNET_FLAG_FROM_CACHE 0x01000000 77 #define INTERNET_FLAG_OFFLINE INTERNET_FLAG_FROM_CACHE 78 79 #define INTERNET_FLAG_SECURE 0x00800000 80 #define INTERNET_FLAG_KEEP_CONNECTION 0x00400000 81 #define INTERNET_FLAG_NO_AUTO_REDIRECT 0x00200000 82 #define INTERNET_FLAG_READ_PREFETCH 0x00100000 83 #define INTERNET_FLAG_NO_COOKIES 0x00080000 84 #define INTERNET_FLAG_NO_AUTH 0x00040000 85 #define INTERNET_FLAG_RESTRICTED_ZONE 0x00020000 86 #define INTERNET_FLAG_CACHE_IF_NET_FAIL 0x00010000 87 88 #define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 0x00008000 89 #define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 0x00004000 90 #define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x00002000 91 #define INTERNET_FLAG_IGNORE_CERT_CN_INVALID 0x00001000 92 93 #define INTERNET_FLAG_RESYNCHRONIZE 0x00000800 94 #define INTERNET_FLAG_HYPERLINK 0x00000400 95 #define INTERNET_FLAG_NO_UI 0x00000200 96 #define INTERNET_FLAG_PRAGMA_NOCACHE 0x00000100 97 #define INTERNET_FLAG_CACHE_ASYNC 0x00000080 98 #define INTERNET_FLAG_FORMS_SUBMIT 0x00000040 99 #define INTERNET_FLAG_FWD_BACK 0x00000020 100 #define INTERNET_FLAG_NEED_FILE 0x00000010 101 #define INTERNET_FLAG_MUST_CACHE_REQUEST INTERNET_FLAG_NEED_FILE 102 103 #define INTERNET_FLAG_TRANSFER_ASCII FTP_TRANSFER_TYPE_ASCII 104 #define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY 105 106 #define SECURITY_INTERNET_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP) 107 #define INTERNET_FLAGS_MASK (INTERNET_FLAG_RELOAD | INTERNET_FLAG_RAW_DATA | INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_ASYNC | INTERNET_FLAG_PASSIVE | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_MAKE_PERSISTENT | INTERNET_FLAG_FROM_CACHE | INTERNET_FLAG_SECURE | INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_READ_PREFETCH | INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_CACHE_IF_NET_FAIL | SECURITY_INTERNET_MASK | INTERNET_FLAG_RESYNCHRONIZE | INTERNET_FLAG_HYPERLINK | INTERNET_FLAG_NO_UI | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_CACHE_ASYNC | INTERNET_FLAG_FORMS_SUBMIT | INTERNET_FLAG_NEED_FILE | INTERNET_FLAG_RESTRICTED_ZONE | INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_TRANSFER_ASCII | INTERNET_FLAG_FWD_BACK | INTERNET_FLAG_BGUPDATE) 108 109 #define INTERNET_ERROR_MASK_INSERT_CDROM 0x1 110 #define INTERNET_ERROR_MASK_COMBINED_SEC_CERT 0x2 111 #define INTERNET_ERROR_MASK_NEED_MSN_SSPI_PKG 0X4 112 #define INTERNET_ERROR_MASK_LOGIN_FAILURE_DISPLAY_ENTITY_BODY 0x8 113 114 #define INTERNET_OPTIONS_MASK (~INTERNET_FLAGS_MASK) 115 116 #define WININET_API_FLAG_ASYNC 0x00000001 117 #define WININET_API_FLAG_SYNC 0x00000004 118 #define WININET_API_FLAG_USE_CONTEXT 0x00000008 119 120 #define INTERNET_NO_CALLBACK 0 121 122 typedef enum { 123 INTERNET_SCHEME_PARTIAL = -2,INTERNET_SCHEME_UNKNOWN = -1,INTERNET_SCHEME_DEFAULT = 0,INTERNET_SCHEME_FTP,INTERNET_SCHEME_GOPHER, 124 INTERNET_SCHEME_HTTP,INTERNET_SCHEME_HTTPS,INTERNET_SCHEME_FILE,INTERNET_SCHEME_NEWS,INTERNET_SCHEME_MAILTO,INTERNET_SCHEME_SOCKS, 125 INTERNET_SCHEME_JAVASCRIPT,INTERNET_SCHEME_VBSCRIPT,INTERNET_SCHEME_RES,INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, 126 INTERNET_SCHEME_LAST = INTERNET_SCHEME_RES 127 } INTERNET_SCHEME,*LPINTERNET_SCHEME; 128 129 typedef struct { 130 DWORD_PTR dwResult; 131 DWORD dwError; 132 } INTERNET_ASYNC_RESULT,*LPINTERNET_ASYNC_RESULT; 133 134 typedef struct { 135 DWORD_PTR Socket; 136 DWORD SourcePort; 137 DWORD DestPort; 138 DWORD Flags; 139 } INTERNET_DIAGNOSTIC_SOCKET_INFO,*LPINTERNET_DIAGNOSTIC_SOCKET_INFO; 140 141 #define IDSI_FLAG_KEEP_ALIVE 0x00000001 142 #define IDSI_FLAG_SECURE 0x00000002 143 #define IDSI_FLAG_PROXY 0x00000004 144 #define IDSI_FLAG_TUNNEL 0x00000008 145 146 typedef struct { 147 DWORD dwAccessType; 148 LPCTSTR lpszProxy; 149 LPCTSTR lpszProxyBypass; 150 } INTERNET_PROXY_INFO,*LPINTERNET_PROXY_INFO; 151 152 typedef struct { 153 DWORD dwOption; 154 union { 155 DWORD dwValue; 156 LPSTR pszValue; 157 FILETIME ftValue; 158 } Value; 159 } INTERNET_PER_CONN_OPTIONA,*LPINTERNET_PER_CONN_OPTIONA; 160 161 typedef struct { 162 DWORD dwOption; 163 union { 164 DWORD dwValue; 165 LPWSTR pszValue; 166 FILETIME ftValue; 167 } Value; 168 } INTERNET_PER_CONN_OPTIONW,*LPINTERNET_PER_CONN_OPTIONW; 169 170 __MINGW_TYPEDEF_AW(INTERNET_PER_CONN_OPTION) 171 __MINGW_TYPEDEF_AW(LPINTERNET_PER_CONN_OPTION) 172 173 typedef struct { 174 DWORD dwSize; 175 LPSTR pszConnection; 176 DWORD dwOptionCount; 177 DWORD dwOptionError; 178 LPINTERNET_PER_CONN_OPTIONA pOptions; 179 } INTERNET_PER_CONN_OPTION_LISTA,*LPINTERNET_PER_CONN_OPTION_LISTA; 180 181 typedef struct { 182 DWORD dwSize; 183 LPWSTR pszConnection; 184 DWORD dwOptionCount; 185 DWORD dwOptionError; 186 LPINTERNET_PER_CONN_OPTIONW pOptions; 187 } INTERNET_PER_CONN_OPTION_LISTW,*LPINTERNET_PER_CONN_OPTION_LISTW; 188 189 __MINGW_TYPEDEF_AW(INTERNET_PER_CONN_OPTION_LIST) 190 __MINGW_TYPEDEF_AW(LPINTERNET_PER_CONN_OPTION_LIST) 191 192 #define INTERNET_PER_CONN_FLAGS 1 193 #define INTERNET_PER_CONN_PROXY_SERVER 2 194 #define INTERNET_PER_CONN_PROXY_BYPASS 3 195 #define INTERNET_PER_CONN_AUTOCONFIG_URL 4 196 #define INTERNET_PER_CONN_AUTODISCOVERY_FLAGS 5 197 #define INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL 6 198 #define INTERNET_PER_CONN_AUTOCONFIG_RELOAD_DELAY_MINS 7 199 #define INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_TIME 8 200 #define INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_URL 9 201 #define INTERNET_PER_CONN_FLAGS_UI 10 202 203 #define PROXY_TYPE_DIRECT 0x00000001 204 #define PROXY_TYPE_PROXY 0x00000002 205 #define PROXY_TYPE_AUTO_PROXY_URL 0x00000004 206 #define PROXY_TYPE_AUTO_DETECT 0x00000008 207 208 #define AUTO_PROXY_FLAG_USER_SET 0x00000001 209 #define AUTO_PROXY_FLAG_ALWAYS_DETECT 0x00000002 210 #define AUTO_PROXY_FLAG_DETECTION_RUN 0x00000004 211 #define AUTO_PROXY_FLAG_MIGRATED 0x00000008 212 #define AUTO_PROXY_FLAG_DONT_CACHE_PROXY_RESULT 0x00000010 213 #define AUTO_PROXY_FLAG_CACHE_INIT_RUN 0x00000020 214 #define AUTO_PROXY_FLAG_DETECTION_SUSPECT 0x00000040 215 216 typedef struct { 217 DWORD dwMajorVersion; 218 DWORD dwMinorVersion; 219 } INTERNET_VERSION_INFO,*LPINTERNET_VERSION_INFO; 220 221 typedef struct { 222 DWORD dwMajorVersion; 223 DWORD dwMinorVersion; 224 } HTTP_VERSION_INFO,*LPHTTP_VERSION_INFO; 225 226 typedef struct { 227 DWORD dwConnectedState; 228 DWORD dwFlags; 229 } INTERNET_CONNECTED_INFO,*LPINTERNET_CONNECTED_INFO; 230 231 #define ISO_FORCE_DISCONNECTED 0x00000001 232 233 typedef struct { 234 DWORD dwStructSize; 235 LPSTR lpszScheme; 236 DWORD dwSchemeLength; 237 INTERNET_SCHEME nScheme; 238 LPSTR lpszHostName; 239 DWORD dwHostNameLength; 240 INTERNET_PORT nPort; 241 LPSTR lpszUserName; 242 DWORD dwUserNameLength; 243 LPSTR lpszPassword; 244 DWORD dwPasswordLength; 245 LPSTR lpszUrlPath; 246 DWORD dwUrlPathLength; 247 LPSTR lpszExtraInfo; 248 DWORD dwExtraInfoLength; 249 } URL_COMPONENTSA,*LPURL_COMPONENTSA; 250 251 typedef struct { 252 DWORD dwStructSize; 253 LPWSTR lpszScheme; 254 DWORD dwSchemeLength; 255 INTERNET_SCHEME nScheme; 256 LPWSTR lpszHostName; 257 DWORD dwHostNameLength; 258 INTERNET_PORT nPort; 259 LPWSTR lpszUserName; 260 DWORD dwUserNameLength; 261 LPWSTR lpszPassword; 262 DWORD dwPasswordLength; 263 LPWSTR lpszUrlPath; 264 DWORD dwUrlPathLength; 265 LPWSTR lpszExtraInfo; 266 DWORD dwExtraInfoLength; 267 } URL_COMPONENTSW,*LPURL_COMPONENTSW; 268 269 __MINGW_TYPEDEF_AW(URL_COMPONENTS) 270 __MINGW_TYPEDEF_AW(LPURL_COMPONENTS) 271 272 typedef struct { 273 FILETIME ftExpiry; 274 FILETIME ftStart; 275 LPTSTR lpszSubjectInfo; 276 LPTSTR lpszIssuerInfo; 277 LPTSTR lpszProtocolName; 278 LPTSTR lpszSignatureAlgName; 279 LPTSTR lpszEncryptionAlgName; 280 DWORD dwKeySize; 281 } INTERNET_CERTIFICATE_INFO,*LPINTERNET_CERTIFICATE_INFO; 282 283 typedef struct _INTERNET_BUFFERSA { 284 DWORD dwStructSize; 285 struct _INTERNET_BUFFERSA *Next; 286 LPCSTR lpcszHeader; 287 DWORD dwHeadersLength; 288 DWORD dwHeadersTotal; 289 LPVOID lpvBuffer; 290 DWORD dwBufferLength; 291 DWORD dwBufferTotal; 292 DWORD dwOffsetLow; 293 DWORD dwOffsetHigh; 294 } INTERNET_BUFFERSA,*LPINTERNET_BUFFERSA; 295 296 typedef struct _INTERNET_BUFFERSW { 297 DWORD dwStructSize; 298 struct _INTERNET_BUFFERSW *Next; 299 LPCWSTR lpcszHeader; 300 DWORD dwHeadersLength; 301 DWORD dwHeadersTotal; 302 LPVOID lpvBuffer; 303 DWORD dwBufferLength; 304 DWORD dwBufferTotal; 305 DWORD dwOffsetLow; 306 DWORD dwOffsetHigh; 307 } INTERNET_BUFFERSW,*LPINTERNET_BUFFERSW; 308 309 __MINGW_TYPEDEF_AW(INTERNET_BUFFERS) 310 __MINGW_TYPEDEF_AW(LPINTERNET_BUFFERS) 311 312 #if defined(UNICODE) 313 #define InternetTimeFromSystemTime InternetTimeFromSystemTimeW 314 #else 315 BOOLAPI InternetTimeFromSystemTime(CONST SYSTEMTIME *pst,DWORD dwRFC,LPSTR lpszTime,DWORD cbTime); 316 #endif 317 318 BOOLAPI InternetTimeFromSystemTimeA(CONST SYSTEMTIME *pst,DWORD dwRFC,LPSTR lpszTime,DWORD cbTime); 319 BOOLAPI InternetTimeFromSystemTimeW(CONST SYSTEMTIME *pst,DWORD dwRFC,LPWSTR lpszTime,DWORD cbTime); 320 321 #define INTERNET_RFC1123_FORMAT 0 322 #define INTERNET_RFC1123_BUFSIZE 30 323 324 #define InternetCrackUrl __MINGW_NAME_AW(InternetCrackUrl) 325 #define InternetCreateUrl __MINGW_NAME_AW(InternetCreateUrl) 326 #define InternetCanonicalizeUrl __MINGW_NAME_AW(InternetCanonicalizeUrl) 327 #define InternetCombineUrl __MINGW_NAME_AW(InternetCombineUrl) 328 329 #if defined(UNICODE) 330 #define InternetTimeToSystemTime InternetTimeToSystemTimeW 331 #else 332 BOOLAPI InternetTimeToSystemTime(LPCSTR lpszTime,SYSTEMTIME *pst,DWORD dwReserved); 333 #endif 334 335 BOOLAPI InternetTimeToSystemTimeA(LPCSTR lpszTime,SYSTEMTIME *pst,DWORD dwReserved); 336 BOOLAPI InternetTimeToSystemTimeW(LPCWSTR lpszTime,SYSTEMTIME *pst,DWORD dwReserved); 337 BOOLAPI InternetCrackUrlA(LPCSTR lpszUrl,DWORD dwUrlLength,DWORD dwFlags,LPURL_COMPONENTSA lpUrlComponents); 338 BOOLAPI InternetCrackUrlW(LPCWSTR lpszUrl,DWORD dwUrlLength,DWORD dwFlags,LPURL_COMPONENTSW lpUrlComponents); 339 BOOLAPI InternetCreateUrlA(LPURL_COMPONENTSA lpUrlComponents,DWORD dwFlags,LPSTR lpszUrl,LPDWORD lpdwUrlLength); 340 BOOLAPI InternetCreateUrlW(LPURL_COMPONENTSW lpUrlComponents,DWORD dwFlags,LPWSTR lpszUrl,LPDWORD lpdwUrlLength); 341 BOOLAPI InternetCanonicalizeUrlA(LPCSTR lpszUrl,LPSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags); 342 BOOLAPI InternetCanonicalizeUrlW(LPCWSTR lpszUrl,LPWSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags); 343 BOOLAPI InternetCombineUrlA(LPCSTR lpszBaseUrl,LPCSTR lpszRelativeUrl,LPSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags); 344 BOOLAPI InternetCombineUrlW(LPCWSTR lpszBaseUrl,LPCWSTR lpszRelativeUrl,LPWSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags); 345 346 #define ICU_ESCAPE 0x80000000 347 #define ICU_USERNAME 0x40000000 348 349 #define ICU_NO_ENCODE 0x20000000 350 #define ICU_DECODE 0x10000000 351 #define ICU_NO_META 0x08000000 352 #define ICU_ENCODE_SPACES_ONLY 0x04000000 353 #define ICU_BROWSER_MODE 0x02000000 354 #define ICU_ENCODE_PERCENT 0x00001000 355 356 #define InternetOpen __MINGW_NAME_AW(InternetOpen) 357 358 INTERNETAPI_(HINTERNET) InternetOpenA(LPCSTR lpszAgent,DWORD dwAccessType,LPCSTR lpszProxy,LPCSTR lpszProxyBypass,DWORD dwFlags); 359 INTERNETAPI_(HINTERNET) InternetOpenW(LPCWSTR lpszAgent,DWORD dwAccessType,LPCWSTR lpszProxy,LPCWSTR lpszProxyBypass,DWORD dwFlags); 360 361 #define INTERNET_OPEN_TYPE_PRECONFIG 0 362 #define INTERNET_OPEN_TYPE_DIRECT 1 363 #define INTERNET_OPEN_TYPE_PROXY 3 364 #define INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY 4 365 366 #define PRE_CONFIG_INTERNET_ACCESS INTERNET_OPEN_TYPE_PRECONFIG 367 #define LOCAL_INTERNET_ACCESS INTERNET_OPEN_TYPE_DIRECT 368 #define CERN_PROXY_INTERNET_ACCESS INTERNET_OPEN_TYPE_PROXY 369 370 #define InternetConnect __MINGW_NAME_AW(InternetConnect) 371 372 BOOLAPI InternetCloseHandle(HINTERNET hInternet); 373 INTERNETAPI_(HINTERNET) InternetConnectA(HINTERNET hInternet,LPCSTR lpszServerName,INTERNET_PORT nServerPort,LPCSTR lpszUserName,LPCSTR lpszPassword,DWORD dwService,DWORD dwFlags,DWORD_PTR dwContext); 374 INTERNETAPI_(HINTERNET) InternetConnectW(HINTERNET hInternet,LPCWSTR lpszServerName,INTERNET_PORT nServerPort,LPCWSTR lpszUserName,LPCWSTR lpszPassword,DWORD dwService,DWORD dwFlags,DWORD_PTR dwContext); 375 376 #define INTERNET_SERVICE_FTP 1 377 #define INTERNET_SERVICE_GOPHER 2 378 #define INTERNET_SERVICE_HTTP 3 379 380 #define InternetOpenUrl __MINGW_NAME_AW(InternetOpenUrl) 381 #define InternetReadFileEx __MINGW_NAME_AW(InternetReadFileEx) 382 383 INTERNETAPI_(HINTERNET) InternetOpenUrlA(HINTERNET hInternet,LPCSTR lpszUrl,LPCSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwFlags,DWORD_PTR dwContext); 384 INTERNETAPI_(HINTERNET) InternetOpenUrlW(HINTERNET hInternet,LPCWSTR lpszUrl,LPCWSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwFlags,DWORD_PTR dwContext); 385 BOOLAPI InternetReadFile(HINTERNET hFile,LPVOID lpBuffer,DWORD dwNumberOfBytesToRead,LPDWORD lpdwNumberOfBytesRead); 386 INTERNETAPI_(WINBOOL) InternetReadFileExA(HINTERNET hFile,LPINTERNET_BUFFERSA lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); 387 INTERNETAPI_(WINBOOL) InternetReadFileExW(HINTERNET hFile,LPINTERNET_BUFFERSW lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); 388 389 #define IRF_ASYNC WININET_API_FLAG_ASYNC 390 #define IRF_SYNC WININET_API_FLAG_SYNC 391 #define IRF_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT 392 #define IRF_NO_WAIT 0x00000008 393 394 #define InternetFindNextFile __MINGW_NAME_AW(InternetFindNextFile) 395 #define InternetQueryOption __MINGW_NAME_AW(InternetQueryOption) 396 #define InternetSetOption __MINGW_NAME_AW(InternetSetOption) 397 #define InternetSetOptionEx __MINGW_NAME_AW(InternetSetOptionEx) 398 399 INTERNETAPI_(DWORD) InternetSetFilePointer(HINTERNET hFile,LONG lDistanceToMove,PVOID pReserved,DWORD dwMoveMethod,DWORD_PTR dwContext); 400 BOOLAPI InternetWriteFile(HINTERNET hFile,LPCVOID lpBuffer,DWORD dwNumberOfBytesToWrite,LPDWORD lpdwNumberOfBytesWritten); 401 BOOLAPI InternetQueryDataAvailable(HINTERNET hFile,LPDWORD lpdwNumberOfBytesAvailable,DWORD dwFlags,DWORD_PTR dwContext); 402 BOOLAPI InternetFindNextFileA(HINTERNET hFind,LPVOID lpvFindData); 403 BOOLAPI InternetFindNextFileW(HINTERNET hFind,LPVOID lpvFindData); 404 BOOLAPI InternetQueryOptionA(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,LPDWORD lpdwBufferLength); 405 BOOLAPI InternetQueryOptionW(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,LPDWORD lpdwBufferLength); 406 BOOLAPI InternetSetOptionA(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength); 407 BOOLAPI InternetSetOptionW(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength); 408 BOOLAPI InternetSetOptionExA(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength,DWORD dwFlags); 409 BOOLAPI InternetSetOptionExW(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength,DWORD dwFlags); 410 BOOLAPI InternetLockRequestFile(HINTERNET hInternet,HANDLE *lphLockRequestInfo); 411 BOOLAPI InternetUnlockRequestFile(HANDLE hLockRequestInfo); 412 413 #define ISO_GLOBAL 0x00000001 414 #define ISO_REGISTRY 0x00000002 415 416 #define ISO_VALID_FLAGS (ISO_GLOBAL | ISO_REGISTRY) 417 418 #define INTERNET_OPTION_CALLBACK 1 419 #define INTERNET_OPTION_CONNECT_TIMEOUT 2 420 #define INTERNET_OPTION_CONNECT_RETRIES 3 421 #define INTERNET_OPTION_CONNECT_BACKOFF 4 422 #define INTERNET_OPTION_SEND_TIMEOUT 5 423 #define INTERNET_OPTION_CONTROL_SEND_TIMEOUT INTERNET_OPTION_SEND_TIMEOUT 424 #define INTERNET_OPTION_RECEIVE_TIMEOUT 6 425 #define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT INTERNET_OPTION_RECEIVE_TIMEOUT 426 #define INTERNET_OPTION_DATA_SEND_TIMEOUT 7 427 #define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 8 428 #define INTERNET_OPTION_HANDLE_TYPE 9 429 #define INTERNET_OPTION_LISTEN_TIMEOUT 11 430 #define INTERNET_OPTION_READ_BUFFER_SIZE 12 431 #define INTERNET_OPTION_WRITE_BUFFER_SIZE 13 432 433 #define INTERNET_OPTION_ASYNC_ID 15 434 #define INTERNET_OPTION_ASYNC_PRIORITY 16 435 436 #define INTERNET_OPTION_PARENT_HANDLE 21 437 #define INTERNET_OPTION_KEEP_CONNECTION 22 438 #define INTERNET_OPTION_REQUEST_FLAGS 23 439 #define INTERNET_OPTION_EXTENDED_ERROR 24 440 441 #define INTERNET_OPTION_OFFLINE_MODE 26 442 #define INTERNET_OPTION_CACHE_STREAM_HANDLE 27 443 #define INTERNET_OPTION_USERNAME 28 444 #define INTERNET_OPTION_PASSWORD 29 445 #define INTERNET_OPTION_ASYNC 30 446 #define INTERNET_OPTION_SECURITY_FLAGS 31 447 #define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32 448 #define INTERNET_OPTION_DATAFILE_NAME 33 449 #define INTERNET_OPTION_URL 34 450 #define INTERNET_OPTION_SECURITY_CERTIFICATE 35 451 #define INTERNET_OPTION_SECURITY_KEY_BITNESS 36 452 #define INTERNET_OPTION_REFRESH 37 453 #define INTERNET_OPTION_PROXY 38 454 #define INTERNET_OPTION_SETTINGS_CHANGED 39 455 #define INTERNET_OPTION_VERSION 40 456 #define INTERNET_OPTION_USER_AGENT 41 457 #define INTERNET_OPTION_END_BROWSER_SESSION 42 458 #define INTERNET_OPTION_PROXY_USERNAME 43 459 #define INTERNET_OPTION_PROXY_PASSWORD 44 460 #define INTERNET_OPTION_CONTEXT_VALUE 45 461 #define INTERNET_OPTION_CONNECT_LIMIT 46 462 #define INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT 47 463 #define INTERNET_OPTION_POLICY 48 464 #define INTERNET_OPTION_DISCONNECTED_TIMEOUT 49 465 #define INTERNET_OPTION_CONNECTED_STATE 50 466 #define INTERNET_OPTION_IDLE_STATE 51 467 #define INTERNET_OPTION_OFFLINE_SEMANTICS 52 468 #define INTERNET_OPTION_SECONDARY_CACHE_KEY 53 469 #define INTERNET_OPTION_CALLBACK_FILTER 54 470 #define INTERNET_OPTION_CONNECT_TIME 55 471 #define INTERNET_OPTION_SEND_THROUGHPUT 56 472 #define INTERNET_OPTION_RECEIVE_THROUGHPUT 57 473 #define INTERNET_OPTION_REQUEST_PRIORITY 58 474 #define INTERNET_OPTION_HTTP_VERSION 59 475 #define INTERNET_OPTION_RESET_URLCACHE_SESSION 60 476 #define INTERNET_OPTION_ERROR_MASK 62 477 #define INTERNET_OPTION_FROM_CACHE_TIMEOUT 63 478 #define INTERNET_OPTION_BYPASS_EDITED_ENTRY 64 479 #define INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO 67 480 #define INTERNET_OPTION_CODEPAGE 68 481 #define INTERNET_OPTION_CACHE_TIMESTAMPS 69 482 #define INTERNET_OPTION_DISABLE_AUTODIAL 70 483 #define INTERNET_OPTION_MAX_CONNS_PER_SERVER 73 484 #define INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER 74 485 #define INTERNET_OPTION_PER_CONNECTION_OPTION 75 486 #define INTERNET_OPTION_DIGEST_AUTH_UNLOAD 76 487 #define INTERNET_OPTION_IGNORE_OFFLINE 77 488 #define INTERNET_OPTION_IDENTITY 78 489 #define INTERNET_OPTION_REMOVE_IDENTITY 79 490 #define INTERNET_OPTION_ALTER_IDENTITY 80 491 #define INTERNET_OPTION_SUPPRESS_BEHAVIOR 81 492 #define INTERNET_OPTION_AUTODIAL_MODE 82 493 #define INTERNET_OPTION_AUTODIAL_CONNECTION 83 494 #define INTERNET_OPTION_CLIENT_CERT_CONTEXT 84 495 #define INTERNET_OPTION_AUTH_FLAGS 85 496 #define INTERNET_OPTION_COOKIES_3RD_PARTY 86 497 #define INTERNET_OPTION_DISABLE_PASSPORT_AUTH 87 498 #define INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY 88 499 #define INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT 89 500 #define INTERNET_OPTION_ENABLE_PASSPORT_AUTH 90 501 502 #define INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS 91 503 #define INTERNET_OPTION_ACTIVATE_WORKER_THREADS 92 504 #define INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS 93 505 #define INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH 94 506 #define INTERNET_OPTION_PROXY_SETTINGS_CHANGED 95 507 508 #define INTERNET_OPTION_DATAFILE_EXT 96 509 510 #define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK 511 #define INTERNET_LAST_OPTION INTERNET_OPTION_DATAFILE_EXT 512 513 #define INTERNET_PRIORITY_FOREGROUND 1000 514 515 #define INTERNET_HANDLE_TYPE_INTERNET 1 516 #define INTERNET_HANDLE_TYPE_CONNECT_FTP 2 517 #define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3 518 #define INTERNET_HANDLE_TYPE_CONNECT_HTTP 4 519 #define INTERNET_HANDLE_TYPE_FTP_FIND 5 520 #define INTERNET_HANDLE_TYPE_FTP_FIND_HTML 6 521 #define INTERNET_HANDLE_TYPE_FTP_FILE 7 522 #define INTERNET_HANDLE_TYPE_FTP_FILE_HTML 8 523 #define INTERNET_HANDLE_TYPE_GOPHER_FIND 9 524 #define INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML 10 525 #define INTERNET_HANDLE_TYPE_GOPHER_FILE 11 526 #define INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML 12 527 #define INTERNET_HANDLE_TYPE_HTTP_REQUEST 13 528 #define INTERNET_HANDLE_TYPE_FILE_REQUEST 14 529 530 #define AUTH_FLAG_DISABLE_NEGOTIATE 0x00000001 531 #define AUTH_FLAG_ENABLE_NEGOTIATE 0x00000002 532 #define AUTH_FLAG_DISABLE_BASIC_CLEARCHANNEL 0x00000004 533 534 #define SECURITY_FLAG_SECURE 0x00000001 535 #define SECURITY_FLAG_STRENGTH_WEAK 0x10000000 536 #define SECURITY_FLAG_STRENGTH_MEDIUM 0x40000000 537 #define SECURITY_FLAG_STRENGTH_STRONG 0x20000000 538 #define SECURITY_FLAG_UNKNOWNBIT 0x80000000 539 #define SECURITY_FLAG_FORTEZZA 0x08000000 540 #define SECURITY_FLAG_NORMALBITNESS SECURITY_FLAG_STRENGTH_WEAK 541 542 #define SECURITY_FLAG_SSL 0x00000002 543 #define SECURITY_FLAG_SSL3 0x00000004 544 #define SECURITY_FLAG_PCT 0x00000008 545 #define SECURITY_FLAG_PCT4 0x00000010 546 #define SECURITY_FLAG_IETFSSL4 0x00000020 547 548 #define SECURITY_FLAG_40BIT SECURITY_FLAG_STRENGTH_WEAK 549 #define SECURITY_FLAG_128BIT SECURITY_FLAG_STRENGTH_STRONG 550 #define SECURITY_FLAG_56BIT SECURITY_FLAG_STRENGTH_MEDIUM 551 552 #define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080 553 #define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100 554 #define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200 555 556 #define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID 557 #define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 558 559 #define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 560 #define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 561 562 #define SECURITY_SET_MASK (SECURITY_FLAG_IGNORE_REVOCATION | SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_CERT_CN_INVALID | SECURITY_FLAG_IGNORE_CERT_DATE_INVALID | SECURITY_FLAG_IGNORE_WRONG_USAGE) 563 564 #define AUTODIAL_MODE_NEVER 1 565 #define AUTODIAL_MODE_ALWAYS 2 566 #define AUTODIAL_MODE_NO_NETWORK_PRESENT 4 567 568 #define InternetGetLastResponseInfo __MINGW_NAME_AW(InternetGetLastResponseInfo) 569 570 BOOLAPI InternetGetLastResponseInfoA(LPDWORD lpdwError,LPSTR lpszBuffer,LPDWORD lpdwBufferLength); 571 BOOLAPI InternetGetLastResponseInfoW(LPDWORD lpdwError,LPWSTR lpszBuffer,LPDWORD lpdwBufferLength); 572 573 typedef VOID (CALLBACK *INTERNET_STATUS_CALLBACK)(HINTERNET hInternet,DWORD_PTR dwContext,DWORD dwInternetStatus,LPVOID lpvStatusInformation,DWORD dwStatusInformationLength); 574 typedef INTERNET_STATUS_CALLBACK *LPINTERNET_STATUS_CALLBACK; 575 576 #if defined(UNICODE) 577 #define InternetSetStatusCallback InternetSetStatusCallbackW 578 #else 579 INTERNETAPI_(INTERNET_STATUS_CALLBACK) InternetSetStatusCallback(HINTERNET hInternet,INTERNET_STATUS_CALLBACK lpfnInternetCallback); 580 #endif 581 582 INTERNETAPI_(INTERNET_STATUS_CALLBACK) InternetSetStatusCallbackA(HINTERNET hInternet,INTERNET_STATUS_CALLBACK lpfnInternetCallback); 583 INTERNETAPI_(INTERNET_STATUS_CALLBACK) InternetSetStatusCallbackW(HINTERNET hInternet,INTERNET_STATUS_CALLBACK lpfnInternetCallback); 584 585 #define INTERNET_STATUS_RESOLVING_NAME 10 586 #define INTERNET_STATUS_NAME_RESOLVED 11 587 #define INTERNET_STATUS_CONNECTING_TO_SERVER 20 588 #define INTERNET_STATUS_CONNECTED_TO_SERVER 21 589 #define INTERNET_STATUS_SENDING_REQUEST 30 590 #define INTERNET_STATUS_REQUEST_SENT 31 591 #define INTERNET_STATUS_RECEIVING_RESPONSE 40 592 #define INTERNET_STATUS_RESPONSE_RECEIVED 41 593 #define INTERNET_STATUS_CTL_RESPONSE_RECEIVED 42 594 #define INTERNET_STATUS_PREFETCH 43 595 #define INTERNET_STATUS_CLOSING_CONNECTION 50 596 #define INTERNET_STATUS_CONNECTION_CLOSED 51 597 #define INTERNET_STATUS_HANDLE_CREATED 60 598 #define INTERNET_STATUS_HANDLE_CLOSING 70 599 #define INTERNET_STATUS_DETECTING_PROXY 80 600 #define INTERNET_STATUS_REQUEST_COMPLETE 100 601 #define INTERNET_STATUS_REDIRECT 110 602 #define INTERNET_STATUS_INTERMEDIATE_RESPONSE 120 603 #define INTERNET_STATUS_USER_INPUT_REQUIRED 140 604 #define INTERNET_STATUS_STATE_CHANGE 200 605 #define INTERNET_STATUS_COOKIE_SENT 320 606 #define INTERNET_STATUS_COOKIE_RECEIVED 321 607 #define INTERNET_STATUS_PRIVACY_IMPACTED 324 608 #define INTERNET_STATUS_P3P_HEADER 325 609 #define INTERNET_STATUS_P3P_POLICYREF 326 610 #define INTERNET_STATUS_COOKIE_HISTORY 327 611 612 #define INTERNET_STATE_CONNECTED 0x00000001 613 #define INTERNET_STATE_DISCONNECTED 0x00000002 614 #define INTERNET_STATE_DISCONNECTED_BY_USER 0x00000010 615 #define INTERNET_STATE_IDLE 0x00000100 616 #define INTERNET_STATE_BUSY 0x00000200 617 618 typedef enum { 619 COOKIE_STATE_UNKNOWN = 0x0,COOKIE_STATE_ACCEPT = 0x1,COOKIE_STATE_PROMPT = 0x2,COOKIE_STATE_LEASH = 0x3,COOKIE_STATE_DOWNGRADE = 0x4, 620 COOKIE_STATE_REJECT = 0x5,COOKIE_STATE_MAX = COOKIE_STATE_REJECT 621 } InternetCookieState; 622 623 typedef struct { 624 int cSession; 625 int cPersistent; 626 int cAccepted; 627 int cLeashed; 628 int cDowngraded; 629 int cBlocked; 630 const char *pszLocation; 631 } IncomingCookieState; 632 633 typedef struct { 634 int cSent; 635 int cSuppressed; 636 637 const char *pszLocation; 638 } OutgoingCookieState; 639 640 typedef struct { 641 WINBOOL fAccepted; 642 WINBOOL fLeashed; 643 WINBOOL fDowngraded; 644 WINBOOL fRejected; 645 } InternetCookieHistory; 646 647 typedef struct { 648 DWORD dwCookieState; 649 WINBOOL fAllowSession; 650 } CookieDecision; 651 652 #define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(INT_PTR)-1) 653 654 #define FTP_TRANSFER_TYPE_UNKNOWN 0x00000000 655 #define FTP_TRANSFER_TYPE_ASCII 0x00000001 656 #define FTP_TRANSFER_TYPE_BINARY 0x00000002 657 658 #define FTP_TRANSFER_TYPE_MASK (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY) 659 660 #define FtpFindFirstFile __MINGW_NAME_AW(FtpFindFirstFile) 661 #define FtpGetFile __MINGW_NAME_AW(FtpGetFile) 662 #define FtpPutFile __MINGW_NAME_AW(FtpPutFile) 663 #define FtpDeleteFile __MINGW_NAME_AW(FtpDeleteFile) 664 #define FtpRenameFile __MINGW_NAME_AW(FtpRenameFile) 665 #define FtpOpenFile __MINGW_NAME_AW(FtpOpenFile) 666 #define FtpCreateDirectory __MINGW_NAME_AW(FtpCreateDirectory) 667 #define FtpRemoveDirectory __MINGW_NAME_AW(FtpRemoveDirectory) 668 #define FtpSetCurrentDirectory __MINGW_NAME_AW(FtpSetCurrentDirectory) 669 #define FtpGetCurrentDirectory __MINGW_NAME_AW(FtpGetCurrentDirectory) 670 #define FtpCommand __MINGW_NAME_AW(FtpCommand) 671 672 INTERNETAPI_(HINTERNET) FtpFindFirstFileA(HINTERNET hConnect,LPCSTR lpszSearchFile,LPWIN32_FIND_DATAA lpFindFileData,DWORD dwFlags,DWORD_PTR dwContext); 673 INTERNETAPI_(HINTERNET) FtpFindFirstFileW(HINTERNET hConnect,LPCWSTR lpszSearchFile,LPWIN32_FIND_DATAW lpFindFileData,DWORD dwFlags,DWORD_PTR dwContext); 674 BOOLAPI FtpGetFileA(HINTERNET hConnect,LPCSTR lpszRemoteFile,LPCSTR lpszNewFile,WINBOOL fFailIfExists,DWORD dwFlagsAndAttributes,DWORD dwFlags,DWORD_PTR dwContext); 675 BOOLAPI FtpGetFileW(HINTERNET hConnect,LPCWSTR lpszRemoteFile,LPCWSTR lpszNewFile,WINBOOL fFailIfExists,DWORD dwFlagsAndAttributes,DWORD dwFlags,DWORD_PTR dwContext); 676 BOOLAPI FtpPutFileA(HINTERNET hConnect,LPCSTR lpszLocalFile,LPCSTR lpszNewRemoteFile,DWORD dwFlags,DWORD_PTR dwContext); 677 BOOLAPI FtpPutFileW(HINTERNET hConnect,LPCWSTR lpszLocalFile,LPCWSTR lpszNewRemoteFile,DWORD dwFlags,DWORD_PTR dwContext); 678 BOOLAPI FtpGetFileEx(HINTERNET hFtpSession,LPCSTR lpszRemoteFile,LPCWSTR lpszNewFile,WINBOOL fFailIfExists,DWORD dwFlagsAndAttributes,DWORD dwFlags,DWORD_PTR dwContext); 679 BOOLAPI FtpPutFileEx(HINTERNET hFtpSession,LPCWSTR lpszLocalFile,LPCSTR lpszNewRemoteFile,DWORD dwFlags,DWORD_PTR dwContext); 680 BOOLAPI FtpDeleteFileA(HINTERNET hConnect,LPCSTR lpszFileName); 681 BOOLAPI FtpDeleteFileW(HINTERNET hConnect,LPCWSTR lpszFileName); 682 BOOLAPI FtpRenameFileA(HINTERNET hConnect,LPCSTR lpszExisting,LPCSTR lpszNew); 683 BOOLAPI FtpRenameFileW(HINTERNET hConnect,LPCWSTR lpszExisting,LPCWSTR lpszNew); 684 INTERNETAPI_(HINTERNET) FtpOpenFileA(HINTERNET hConnect,LPCSTR lpszFileName,DWORD dwAccess,DWORD dwFlags,DWORD_PTR dwContext); 685 INTERNETAPI_(HINTERNET) FtpOpenFileW(HINTERNET hConnect,LPCWSTR lpszFileName,DWORD dwAccess,DWORD dwFlags,DWORD_PTR dwContext); 686 BOOLAPI FtpCreateDirectoryA(HINTERNET hConnect,LPCSTR lpszDirectory); 687 BOOLAPI FtpCreateDirectoryW(HINTERNET hConnect,LPCWSTR lpszDirectory); 688 BOOLAPI FtpRemoveDirectoryA(HINTERNET hConnect,LPCSTR lpszDirectory); 689 BOOLAPI FtpRemoveDirectoryW(HINTERNET hConnect,LPCWSTR lpszDirectory); 690 BOOLAPI FtpSetCurrentDirectoryA(HINTERNET hConnect,LPCSTR lpszDirectory); 691 BOOLAPI FtpSetCurrentDirectoryW(HINTERNET hConnect,LPCWSTR lpszDirectory); 692 BOOLAPI FtpGetCurrentDirectoryA(HINTERNET hConnect,LPSTR lpszCurrentDirectory,LPDWORD lpdwCurrentDirectory); 693 BOOLAPI FtpGetCurrentDirectoryW(HINTERNET hConnect,LPWSTR lpszCurrentDirectory,LPDWORD lpdwCurrentDirectory); 694 BOOLAPI FtpCommandA(HINTERNET hConnect,WINBOOL fExpectResponse,DWORD dwFlags,LPCSTR lpszCommand,DWORD_PTR dwContext,HINTERNET *phFtpCommand); 695 BOOLAPI FtpCommandW(HINTERNET hConnect,WINBOOL fExpectResponse,DWORD dwFlags,LPCWSTR lpszCommand,DWORD_PTR dwContext,HINTERNET *phFtpCommand); 696 INTERNETAPI_(DWORD) FtpGetFileSize(HINTERNET hFile,LPDWORD lpdwFileSizeHigh); 697 698 #define MAX_GOPHER_DISPLAY_TEXT 128 699 #define MAX_GOPHER_SELECTOR_TEXT 256 700 #define MAX_GOPHER_HOST_NAME INTERNET_MAX_HOST_NAME_LENGTH 701 #define MAX_GOPHER_LOCATOR_LENGTH (1 + MAX_GOPHER_DISPLAY_TEXT + 1 + MAX_GOPHER_SELECTOR_TEXT + 1 + MAX_GOPHER_HOST_NAME + 1 + INTERNET_MAX_PORT_NUMBER_LENGTH + 1 + 1 + 2) 702 703 typedef struct { 704 CHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1]; 705 DWORD GopherType; 706 DWORD SizeLow; 707 DWORD SizeHigh; 708 FILETIME LastModificationTime; 709 CHAR Locator[MAX_GOPHER_LOCATOR_LENGTH + 1]; 710 } GOPHER_FIND_DATAA,*LPGOPHER_FIND_DATAA; 711 712 typedef struct { 713 WCHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1]; 714 DWORD GopherType; 715 DWORD SizeLow; 716 DWORD SizeHigh; 717 FILETIME LastModificationTime; 718 WCHAR Locator[MAX_GOPHER_LOCATOR_LENGTH + 1]; 719 } GOPHER_FIND_DATAW,*LPGOPHER_FIND_DATAW; 720 721 __MINGW_TYPEDEF_AW(GOPHER_FIND_DATA) 722 __MINGW_TYPEDEF_AW(LPGOPHER_FIND_DATA) 723 724 #define GOPHER_TYPE_TEXT_FILE 0x00000001 725 #define GOPHER_TYPE_DIRECTORY 0x00000002 726 #define GOPHER_TYPE_CSO 0x00000004 727 #define GOPHER_TYPE_ERROR 0x00000008 728 #define GOPHER_TYPE_MAC_BINHEX 0x00000010 729 #define GOPHER_TYPE_DOS_ARCHIVE 0x00000020 730 #define GOPHER_TYPE_UNIX_UUENCODED 0x00000040 731 #define GOPHER_TYPE_INDEX_SERVER 0x00000080 732 #define GOPHER_TYPE_TELNET 0x00000100 733 #define GOPHER_TYPE_BINARY 0x00000200 734 #define GOPHER_TYPE_REDUNDANT 0x00000400 735 #define GOPHER_TYPE_TN3270 0x00000800 736 #define GOPHER_TYPE_GIF 0x00001000 737 #define GOPHER_TYPE_IMAGE 0x00002000 738 #define GOPHER_TYPE_BITMAP 0x00004000 739 #define GOPHER_TYPE_MOVIE 0x00008000 740 #define GOPHER_TYPE_SOUND 0x00010000 741 #define GOPHER_TYPE_HTML 0x00020000 742 #define GOPHER_TYPE_PDF 0x00040000 743 #define GOPHER_TYPE_CALENDAR 0x00080000 744 #define GOPHER_TYPE_INLINE 0x00100000 745 #define GOPHER_TYPE_UNKNOWN 0x20000000 746 #define GOPHER_TYPE_ASK 0x40000000 747 #define GOPHER_TYPE_GOPHER_PLUS 0x80000000 748 749 #define IS_GOPHER_FILE(type) (WINBOOL)(((type) & GOPHER_TYPE_FILE_MASK) ? TRUE : FALSE) 750 #define IS_GOPHER_DIRECTORY(type) (WINBOOL)(((type) & GOPHER_TYPE_DIRECTORY) ? TRUE : FALSE) 751 #define IS_GOPHER_PHONE_SERVER(type) (WINBOOL)(((type) & GOPHER_TYPE_CSO) ? TRUE : FALSE) 752 #define IS_GOPHER_ERROR(type) (WINBOOL)(((type) & GOPHER_TYPE_ERROR) ? TRUE : FALSE) 753 #define IS_GOPHER_INDEX_SERVER(type) (WINBOOL)(((type) & GOPHER_TYPE_INDEX_SERVER) ? TRUE : FALSE) 754 #define IS_GOPHER_TELNET_SESSION(type) (WINBOOL)(((type) & GOPHER_TYPE_TELNET) ? TRUE : FALSE) 755 #define IS_GOPHER_BACKUP_SERVER(type) (WINBOOL)(((type) & GOPHER_TYPE_REDUNDANT) ? TRUE : FALSE) 756 #define IS_GOPHER_TN3270_SESSION(type) (WINBOOL)(((type) & GOPHER_TYPE_TN3270) ? TRUE : FALSE) 757 #define IS_GOPHER_ASK(type) (WINBOOL)(((type) & GOPHER_TYPE_ASK) ? TRUE : FALSE) 758 #define IS_GOPHER_PLUS(type) (WINBOOL)(((type) & GOPHER_TYPE_GOPHER_PLUS) ? TRUE : FALSE) 759 760 #define IS_GOPHER_TYPE_KNOWN(type) (WINBOOL)(((type) & GOPHER_TYPE_UNKNOWN) ? FALSE : TRUE) 761 762 #define GOPHER_TYPE_FILE_MASK (GOPHER_TYPE_TEXT_FILE | GOPHER_TYPE_MAC_BINHEX | GOPHER_TYPE_DOS_ARCHIVE | GOPHER_TYPE_UNIX_UUENCODED | GOPHER_TYPE_BINARY | GOPHER_TYPE_GIF | GOPHER_TYPE_IMAGE | GOPHER_TYPE_BITMAP | GOPHER_TYPE_MOVIE | GOPHER_TYPE_SOUND | GOPHER_TYPE_HTML | GOPHER_TYPE_PDF | GOPHER_TYPE_CALENDAR | GOPHER_TYPE_INLINE) 763 764 typedef struct { 765 LPCTSTR Comment; 766 LPCTSTR EmailAddress; 767 } GOPHER_ADMIN_ATTRIBUTE_TYPE,*LPGOPHER_ADMIN_ATTRIBUTE_TYPE; 768 769 typedef struct { 770 FILETIME DateAndTime; 771 } GOPHER_MOD_DATE_ATTRIBUTE_TYPE,*LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE; 772 773 typedef struct { 774 DWORD Ttl; 775 } GOPHER_TTL_ATTRIBUTE_TYPE,*LPGOPHER_TTL_ATTRIBUTE_TYPE; 776 777 typedef struct { 778 INT Score; 779 } GOPHER_SCORE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_ATTRIBUTE_TYPE; 780 781 typedef struct { 782 INT LowerBound; 783 INT UpperBound; 784 } GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE; 785 786 typedef struct { 787 LPCTSTR Site; 788 } GOPHER_SITE_ATTRIBUTE_TYPE,*LPGOPHER_SITE_ATTRIBUTE_TYPE; 789 790 typedef struct { 791 LPCTSTR Organization; 792 } GOPHER_ORGANIZATION_ATTRIBUTE_TYPE,*LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE; 793 794 typedef struct { 795 LPCTSTR Location; 796 } GOPHER_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_LOCATION_ATTRIBUTE_TYPE; 797 798 typedef struct { 799 INT DegreesNorth; 800 INT MinutesNorth; 801 INT SecondsNorth; 802 INT DegreesEast; 803 INT MinutesEast; 804 INT SecondsEast; 805 } GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE; 806 807 typedef struct { 808 INT Zone; 809 } GOPHER_TIMEZONE_ATTRIBUTE_TYPE,*LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE; 810 811 typedef struct { 812 LPCTSTR Provider; 813 } GOPHER_PROVIDER_ATTRIBUTE_TYPE,*LPGOPHER_PROVIDER_ATTRIBUTE_TYPE; 814 815 typedef struct { 816 LPCTSTR Version; 817 } GOPHER_VERSION_ATTRIBUTE_TYPE,*LPGOPHER_VERSION_ATTRIBUTE_TYPE; 818 819 typedef struct { 820 LPCTSTR ShortAbstract; 821 LPCTSTR AbstractFile; 822 } GOPHER_ABSTRACT_ATTRIBUTE_TYPE,*LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE; 823 824 typedef struct { 825 LPCTSTR ContentType; 826 LPCTSTR Language; 827 DWORD Size; 828 } GOPHER_VIEW_ATTRIBUTE_TYPE,*LPGOPHER_VIEW_ATTRIBUTE_TYPE; 829 830 typedef struct { 831 WINBOOL TreeWalk; 832 } GOPHER_VERONICA_ATTRIBUTE_TYPE,*LPGOPHER_VERONICA_ATTRIBUTE_TYPE; 833 834 typedef struct { 835 LPCTSTR QuestionType; 836 LPCTSTR QuestionText; 837 } GOPHER_ASK_ATTRIBUTE_TYPE,*LPGOPHER_ASK_ATTRIBUTE_TYPE; 838 839 typedef struct { 840 LPCTSTR Text; 841 } GOPHER_UNKNOWN_ATTRIBUTE_TYPE,*LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE; 842 843 typedef struct { 844 DWORD CategoryId; 845 DWORD AttributeId; 846 union { 847 GOPHER_ADMIN_ATTRIBUTE_TYPE Admin; 848 GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate; 849 GOPHER_TTL_ATTRIBUTE_TYPE Ttl; 850 GOPHER_SCORE_ATTRIBUTE_TYPE Score; 851 GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange; 852 GOPHER_SITE_ATTRIBUTE_TYPE Site; 853 GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization; 854 GOPHER_LOCATION_ATTRIBUTE_TYPE Location; 855 GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation; 856 GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone; 857 GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider; 858 GOPHER_VERSION_ATTRIBUTE_TYPE Version; 859 GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract; 860 GOPHER_VIEW_ATTRIBUTE_TYPE View; 861 GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica; 862 GOPHER_ASK_ATTRIBUTE_TYPE Ask; 863 GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown; 864 } AttributeType; 865 } GOPHER_ATTRIBUTE_TYPE,*LPGOPHER_ATTRIBUTE_TYPE; 866 867 #define MAX_GOPHER_CATEGORY_NAME 128 868 #define MAX_GOPHER_ATTRIBUTE_NAME 128 869 #define MIN_GOPHER_ATTRIBUTE_LENGTH 256 870 871 #define GOPHER_INFO_CATEGORY TEXT("+INFO") 872 #define GOPHER_ADMIN_CATEGORY TEXT("+ADMIN") 873 #define GOPHER_VIEWS_CATEGORY TEXT("+VIEWS") 874 #define GOPHER_ABSTRACT_CATEGORY TEXT("+ABSTRACT") 875 #define GOPHER_VERONICA_CATEGORY TEXT("+VERONICA") 876 877 #define GOPHER_ADMIN_ATTRIBUTE TEXT("Admin") 878 #define GOPHER_MOD_DATE_ATTRIBUTE TEXT("Mod-Date") 879 #define GOPHER_TTL_ATTRIBUTE TEXT("TTL") 880 #define GOPHER_SCORE_ATTRIBUTE TEXT("Score") 881 #define GOPHER_RANGE_ATTRIBUTE TEXT("Score-range") 882 #define GOPHER_SITE_ATTRIBUTE TEXT("Site") 883 #define GOPHER_ORG_ATTRIBUTE TEXT("Org") 884 #define GOPHER_LOCATION_ATTRIBUTE TEXT("Loc") 885 #define GOPHER_GEOG_ATTRIBUTE TEXT("Geog") 886 #define GOPHER_TIMEZONE_ATTRIBUTE TEXT("TZ") 887 #define GOPHER_PROVIDER_ATTRIBUTE TEXT("Provider") 888 #define GOPHER_VERSION_ATTRIBUTE TEXT("Version") 889 #define GOPHER_ABSTRACT_ATTRIBUTE TEXT("Abstract") 890 #define GOPHER_VIEW_ATTRIBUTE TEXT("View") 891 #define GOPHER_TREEWALK_ATTRIBUTE TEXT("treewalk") 892 893 #define GOPHER_ATTRIBUTE_ID_BASE 0xabcccc00 894 895 #define GOPHER_CATEGORY_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE + 1) 896 897 #define GOPHER_CATEGORY_ID_INFO (GOPHER_ATTRIBUTE_ID_BASE + 2) 898 #define GOPHER_CATEGORY_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE + 3) 899 #define GOPHER_CATEGORY_ID_VIEWS (GOPHER_ATTRIBUTE_ID_BASE + 4) 900 #define GOPHER_CATEGORY_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE + 5) 901 #define GOPHER_CATEGORY_ID_VERONICA (GOPHER_ATTRIBUTE_ID_BASE + 6) 902 #define GOPHER_CATEGORY_ID_ASK (GOPHER_ATTRIBUTE_ID_BASE + 7) 903 904 #define GOPHER_CATEGORY_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE + 8) 905 906 #define GOPHER_ATTRIBUTE_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE + 9) 907 908 #define GOPHER_ATTRIBUTE_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE + 10) 909 #define GOPHER_ATTRIBUTE_ID_MOD_DATE (GOPHER_ATTRIBUTE_ID_BASE + 11) 910 #define GOPHER_ATTRIBUTE_ID_TTL (GOPHER_ATTRIBUTE_ID_BASE + 12) 911 #define GOPHER_ATTRIBUTE_ID_SCORE (GOPHER_ATTRIBUTE_ID_BASE + 13) 912 #define GOPHER_ATTRIBUTE_ID_RANGE (GOPHER_ATTRIBUTE_ID_BASE + 14) 913 #define GOPHER_ATTRIBUTE_ID_SITE (GOPHER_ATTRIBUTE_ID_BASE + 15) 914 #define GOPHER_ATTRIBUTE_ID_ORG (GOPHER_ATTRIBUTE_ID_BASE + 16) 915 #define GOPHER_ATTRIBUTE_ID_LOCATION (GOPHER_ATTRIBUTE_ID_BASE + 17) 916 #define GOPHER_ATTRIBUTE_ID_GEOG (GOPHER_ATTRIBUTE_ID_BASE + 18) 917 #define GOPHER_ATTRIBUTE_ID_TIMEZONE (GOPHER_ATTRIBUTE_ID_BASE + 19) 918 #define GOPHER_ATTRIBUTE_ID_PROVIDER (GOPHER_ATTRIBUTE_ID_BASE + 20) 919 #define GOPHER_ATTRIBUTE_ID_VERSION (GOPHER_ATTRIBUTE_ID_BASE + 21) 920 #define GOPHER_ATTRIBUTE_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE + 22) 921 #define GOPHER_ATTRIBUTE_ID_VIEW (GOPHER_ATTRIBUTE_ID_BASE + 23) 922 #define GOPHER_ATTRIBUTE_ID_TREEWALK (GOPHER_ATTRIBUTE_ID_BASE + 24) 923 924 #define GOPHER_ATTRIBUTE_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE + 25) 925 926 #define GopherCreateLocator __MINGW_NAME_AW(GopherCreateLocator) 927 #define GopherGetLocatorType __MINGW_NAME_AW(GopherGetLocatorType) 928 #define GopherFindFirstFile __MINGW_NAME_AW(GopherFindFirstFile) 929 #define GopherOpenFile __MINGW_NAME_AW(GopherOpenFile) 930 #define GopherGetAttribute __MINGW_NAME_AW(GopherGetAttribute) 931 932 BOOLAPI GopherCreateLocatorA(LPCSTR lpszHost,INTERNET_PORT nServerPort,LPCSTR lpszDisplayString,LPCSTR lpszSelectorString,DWORD dwGopherType,LPSTR lpszLocator,LPDWORD lpdwBufferLength); 933 BOOLAPI GopherCreateLocatorW(LPCWSTR lpszHost,INTERNET_PORT nServerPort,LPCWSTR lpszDisplayString,LPCWSTR lpszSelectorString,DWORD dwGopherType,LPWSTR lpszLocator,LPDWORD lpdwBufferLength); 934 BOOLAPI GopherGetLocatorTypeA(LPCSTR lpszLocator,LPDWORD lpdwGopherType); 935 BOOLAPI GopherGetLocatorTypeW(LPCWSTR lpszLocator,LPDWORD lpdwGopherType); 936 INTERNETAPI_(HINTERNET) GopherFindFirstFileA(HINTERNET hConnect,LPCSTR lpszLocator,LPCSTR lpszSearchString,LPGOPHER_FIND_DATAA lpFindData,DWORD dwFlags,DWORD_PTR dwContext); 937 INTERNETAPI_(HINTERNET) GopherFindFirstFileW(HINTERNET hConnect,LPCWSTR lpszLocator,LPCWSTR lpszSearchString,LPGOPHER_FIND_DATAW lpFindData,DWORD dwFlags,DWORD_PTR dwContext); 938 INTERNETAPI_(HINTERNET) GopherOpenFileA(HINTERNET hConnect,LPCSTR lpszLocator,LPCSTR lpszView,DWORD dwFlags,DWORD_PTR dwContext); 939 INTERNETAPI_(HINTERNET) GopherOpenFileW(HINTERNET hConnect,LPCWSTR lpszLocator,LPCWSTR lpszView,DWORD dwFlags,DWORD_PTR dwContext); 940 941 typedef WINBOOL (CALLBACK *GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE lpAttributeInfo,DWORD dwError); 942 943 BOOLAPI GopherGetAttributeA(HINTERNET hConnect,LPCSTR lpszLocator,LPCSTR lpszAttributeName,LPBYTE lpBuffer,DWORD dwBufferLength,LPDWORD lpdwCharactersReturned,GOPHER_ATTRIBUTE_ENUMERATOR lpfnEnumerator,DWORD_PTR dwContext); 944 BOOLAPI GopherGetAttributeW(HINTERNET hConnect,LPCWSTR lpszLocator,LPCWSTR lpszAttributeName,LPBYTE lpBuffer,DWORD dwBufferLength,LPDWORD lpdwCharactersReturned,GOPHER_ATTRIBUTE_ENUMERATOR lpfnEnumerator,DWORD_PTR dwContext); 945 946 #define HTTP_MAJOR_VERSION 1 947 #define HTTP_MINOR_VERSION 0 948 949 #define HTTP_VERSIONA "HTTP/1.0" 950 #define HTTP_VERSIONW L"HTTP/1.0" 951 952 #define HTTP_VERSION __MINGW_NAME_AW(HTTP_VERSION) 953 954 #define HTTP_QUERY_MIME_VERSION 0 955 #define HTTP_QUERY_CONTENT_TYPE 1 956 #define HTTP_QUERY_CONTENT_TRANSFER_ENCODING 2 957 #define HTTP_QUERY_CONTENT_ID 3 958 #define HTTP_QUERY_CONTENT_DESCRIPTION 4 959 #define HTTP_QUERY_CONTENT_LENGTH 5 960 #define HTTP_QUERY_CONTENT_LANGUAGE 6 961 #define HTTP_QUERY_ALLOW 7 962 #define HTTP_QUERY_PUBLIC 8 963 #define HTTP_QUERY_DATE 9 964 #define HTTP_QUERY_EXPIRES 10 965 #define HTTP_QUERY_LAST_MODIFIED 11 966 #define HTTP_QUERY_MESSAGE_ID 12 967 #define HTTP_QUERY_URI 13 968 #define HTTP_QUERY_DERIVED_FROM 14 969 #define HTTP_QUERY_COST 15 970 #define HTTP_QUERY_LINK 16 971 #define HTTP_QUERY_PRAGMA 17 972 #define HTTP_QUERY_VERSION 18 973 #define HTTP_QUERY_STATUS_CODE 19 974 #define HTTP_QUERY_STATUS_TEXT 20 975 #define HTTP_QUERY_RAW_HEADERS 21 976 #define HTTP_QUERY_RAW_HEADERS_CRLF 22 977 #define HTTP_QUERY_CONNECTION 23 978 #define HTTP_QUERY_ACCEPT 24 979 #define HTTP_QUERY_ACCEPT_CHARSET 25 980 #define HTTP_QUERY_ACCEPT_ENCODING 26 981 #define HTTP_QUERY_ACCEPT_LANGUAGE 27 982 #define HTTP_QUERY_AUTHORIZATION 28 983 #define HTTP_QUERY_CONTENT_ENCODING 29 984 #define HTTP_QUERY_FORWARDED 30 985 #define HTTP_QUERY_FROM 31 986 #define HTTP_QUERY_IF_MODIFIED_SINCE 32 987 #define HTTP_QUERY_LOCATION 33 988 #define HTTP_QUERY_ORIG_URI 34 989 #define HTTP_QUERY_REFERER 35 990 #define HTTP_QUERY_RETRY_AFTER 36 991 #define HTTP_QUERY_SERVER 37 992 #define HTTP_QUERY_TITLE 38 993 #define HTTP_QUERY_USER_AGENT 39 994 #define HTTP_QUERY_WWW_AUTHENTICATE 40 995 #define HTTP_QUERY_PROXY_AUTHENTICATE 41 996 #define HTTP_QUERY_ACCEPT_RANGES 42 997 #define HTTP_QUERY_SET_COOKIE 43 998 #define HTTP_QUERY_COOKIE 44 999 #define HTTP_QUERY_REQUEST_METHOD 45 1000 #define HTTP_QUERY_REFRESH 46 1001 #define HTTP_QUERY_CONTENT_DISPOSITION 47 1002 1003 #define HTTP_QUERY_AGE 48 1004 #define HTTP_QUERY_CACHE_CONTROL 49 1005 #define HTTP_QUERY_CONTENT_BASE 50 1006 #define HTTP_QUERY_CONTENT_LOCATION 51 1007 #define HTTP_QUERY_CONTENT_MD5 52 1008 #define HTTP_QUERY_CONTENT_RANGE 53 1009 #define HTTP_QUERY_ETAG 54 1010 #define HTTP_QUERY_HOST 55 1011 #define HTTP_QUERY_IF_MATCH 56 1012 #define HTTP_QUERY_IF_NONE_MATCH 57 1013 #define HTTP_QUERY_IF_RANGE 58 1014 #define HTTP_QUERY_IF_UNMODIFIED_SINCE 59 1015 #define HTTP_QUERY_MAX_FORWARDS 60 1016 #define HTTP_QUERY_PROXY_AUTHORIZATION 61 1017 #define HTTP_QUERY_RANGE 62 1018 #define HTTP_QUERY_TRANSFER_ENCODING 63 1019 #define HTTP_QUERY_UPGRADE 64 1020 #define HTTP_QUERY_VARY 65 1021 #define HTTP_QUERY_VIA 66 1022 #define HTTP_QUERY_WARNING 67 1023 #define HTTP_QUERY_EXPECT 68 1024 #define HTTP_QUERY_PROXY_CONNECTION 69 1025 #define HTTP_QUERY_UNLESS_MODIFIED_SINCE 70 1026 1027 #define HTTP_QUERY_ECHO_REQUEST 71 1028 #define HTTP_QUERY_ECHO_REPLY 72 1029 1030 #define HTTP_QUERY_ECHO_HEADERS 73 1031 #define HTTP_QUERY_ECHO_HEADERS_CRLF 74 1032 1033 #define HTTP_QUERY_PROXY_SUPPORT 75 1034 #define HTTP_QUERY_AUTHENTICATION_INFO 76 1035 #define HTTP_QUERY_PASSPORT_URLS 77 1036 #define HTTP_QUERY_PASSPORT_CONFIG 78 1037 1038 #define HTTP_QUERY_MAX 78 1039 #define HTTP_QUERY_CUSTOM 65535 1040 1041 #define HTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000 1042 #define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000 1043 #define HTTP_QUERY_FLAG_NUMBER 0x20000000 1044 #define HTTP_QUERY_FLAG_COALESCE 0x10000000 1045 #define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS | HTTP_QUERY_FLAG_SYSTEMTIME | HTTP_QUERY_FLAG_NUMBER | HTTP_QUERY_FLAG_COALESCE) 1046 #define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK) 1047 1048 #define HTTP_STATUS_CONTINUE 100 1049 #define HTTP_STATUS_SWITCH_PROTOCOLS 101 1050 1051 #define HTTP_STATUS_OK 200 1052 #define HTTP_STATUS_CREATED 201 1053 #define HTTP_STATUS_ACCEPTED 202 1054 #define HTTP_STATUS_PARTIAL 203 1055 #define HTTP_STATUS_NO_CONTENT 204 1056 #define HTTP_STATUS_RESET_CONTENT 205 1057 #define HTTP_STATUS_PARTIAL_CONTENT 206 1058 1059 #define HTTP_STATUS_AMBIGUOUS 300 1060 #define HTTP_STATUS_MOVED 301 1061 #define HTTP_STATUS_REDIRECT 302 1062 #define HTTP_STATUS_REDIRECT_METHOD 303 1063 #define HTTP_STATUS_NOT_MODIFIED 304 1064 #define HTTP_STATUS_USE_PROXY 305 1065 #define HTTP_STATUS_REDIRECT_KEEP_VERB 307 1066 1067 #define HTTP_STATUS_BAD_REQUEST 400 1068 #define HTTP_STATUS_DENIED 401 1069 #define HTTP_STATUS_PAYMENT_REQ 402 1070 #define HTTP_STATUS_FORBIDDEN 403 1071 #define HTTP_STATUS_NOT_FOUND 404 1072 #define HTTP_STATUS_BAD_METHOD 405 1073 #define HTTP_STATUS_NONE_ACCEPTABLE 406 1074 #define HTTP_STATUS_PROXY_AUTH_REQ 407 1075 #define HTTP_STATUS_REQUEST_TIMEOUT 408 1076 #define HTTP_STATUS_CONFLICT 409 1077 #define HTTP_STATUS_GONE 410 1078 #define HTTP_STATUS_LENGTH_REQUIRED 411 1079 #define HTTP_STATUS_PRECOND_FAILED 412 1080 #define HTTP_STATUS_REQUEST_TOO_LARGE 413 1081 #define HTTP_STATUS_URI_TOO_LONG 414 1082 #define HTTP_STATUS_UNSUPPORTED_MEDIA 415 1083 #define HTTP_STATUS_RETRY_WITH 449 1084 1085 #define HTTP_STATUS_SERVER_ERROR 500 1086 #define HTTP_STATUS_NOT_SUPPORTED 501 1087 #define HTTP_STATUS_BAD_GATEWAY 502 1088 #define HTTP_STATUS_SERVICE_UNAVAIL 503 1089 #define HTTP_STATUS_GATEWAY_TIMEOUT 504 1090 #define HTTP_STATUS_VERSION_NOT_SUP 505 1091 1092 #define HTTP_STATUS_FIRST HTTP_STATUS_CONTINUE 1093 #define HTTP_STATUS_LAST HTTP_STATUS_VERSION_NOT_SUP 1094 1095 #define HttpOpenRequest __MINGW_NAME_AW(HttpOpenRequest) 1096 #define HttpAddRequestHeaders __MINGW_NAME_AW(HttpAddRequestHeaders) 1097 1098 INTERNETAPI_(HINTERNET) HttpOpenRequestA(HINTERNET hConnect,LPCSTR lpszVerb,LPCSTR lpszObjectName,LPCSTR lpszVersion,LPCSTR lpszReferrer,LPCSTR *lplpszAcceptTypes,DWORD dwFlags,DWORD_PTR dwContext); 1099 INTERNETAPI_(HINTERNET) HttpOpenRequestW(HINTERNET hConnect,LPCWSTR lpszVerb,LPCWSTR lpszObjectName,LPCWSTR lpszVersion,LPCWSTR lpszReferrer,LPCWSTR *lplpszAcceptTypes,DWORD dwFlags,DWORD_PTR dwContext); 1100 BOOLAPI HttpAddRequestHeadersA(HINTERNET hRequest,LPCSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwModifiers); 1101 BOOLAPI HttpAddRequestHeadersW(HINTERNET hRequest,LPCWSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwModifiers); 1102 1103 #define HTTP_ADDREQ_INDEX_MASK 0x0000FFFF 1104 #define HTTP_ADDREQ_FLAGS_MASK 0xFFFF0000 1105 1106 #define HTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000 1107 #define HTTP_ADDREQ_FLAG_ADD 0x20000000 1108 #define HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000 1109 #define HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000 1110 #define HTTP_ADDREQ_FLAG_COALESCE HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 1111 #define HTTP_ADDREQ_FLAG_REPLACE 0x80000000 1112 1113 #define HttpSendRequest __MINGW_NAME_AW(HttpSendRequest) 1114 #define HttpSendRequestEx __MINGW_NAME_AW(HttpSendRequestEx) 1115 1116 BOOLAPI HttpSendRequestA(HINTERNET hRequest,LPCSTR lpszHeaders,DWORD dwHeadersLength,LPVOID lpOptional,DWORD dwOptionalLength); 1117 BOOLAPI HttpSendRequestW(HINTERNET hRequest,LPCWSTR lpszHeaders,DWORD dwHeadersLength,LPVOID lpOptional,DWORD dwOptionalLength); 1118 INTERNETAPI_(WINBOOL) HttpSendRequestExA(HINTERNET hRequest,LPINTERNET_BUFFERSA lpBuffersIn,LPINTERNET_BUFFERSA lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); 1119 INTERNETAPI_(WINBOOL) HttpSendRequestExW(HINTERNET hRequest,LPINTERNET_BUFFERSW lpBuffersIn,LPINTERNET_BUFFERSW lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); 1120 1121 #define HSR_ASYNC WININET_API_FLAG_ASYNC 1122 #define HSR_SYNC WININET_API_FLAG_SYNC 1123 #define HSR_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT 1124 #define HSR_INITIATE 0x00000008 1125 #define HSR_DOWNLOAD 0x00000010 1126 #define HSR_CHUNKED 0x00000020 1127 1128 #define HttpEndRequest __MINGW_NAME_AW(HttpEndRequest) 1129 #define HttpQueryInfo __MINGW_NAME_AW(HttpQueryInfo) 1130 1131 INTERNETAPI_(WINBOOL) HttpEndRequestA(HINTERNET hRequest,LPINTERNET_BUFFERSA lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); 1132 INTERNETAPI_(WINBOOL) HttpEndRequestW(HINTERNET hRequest,LPINTERNET_BUFFERSW lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); 1133 BOOLAPI HttpQueryInfoA(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex); 1134 BOOLAPI HttpQueryInfoW(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex); 1135 1136 #define INTERNET_COOKIE_IS_SECURE 0x01 1137 #define INTERNET_COOKIE_IS_SESSION 0x02 1138 1139 #define INTERNET_COOKIE_THIRD_PARTY 0x10 1140 #define INTERNET_COOKIE_PROMPT_REQUIRED 0x20 1141 #define INTERNET_COOKIE_EVALUATE_P3P 0x40 1142 #define INTERNET_COOKIE_APPLY_P3P 0x80 1143 1144 #define INTERNET_COOKIE_P3P_ENABLED 0x100 1145 #define INTERNET_COOKIE_IS_RESTRICTED 0x200 1146 #define INTERNET_COOKIE_IE6 0x400 1147 #define INTERNET_COOKIE_IS_LEGACY 0x800 1148 1149 #define InternetSetCookie __MINGW_NAME_AW(InternetSetCookie) 1150 #define InternetGetCookie __MINGW_NAME_AW(InternetGetCookie) 1151 #define InternetSetCookieEx __MINGW_NAME_AW(InternetSetCookieEx) 1152 #define InternetGetCookieEx __MINGW_NAME_AW(InternetGetCookieEx) 1153 #define InternetCheckConnection __MINGW_NAME_AW(InternetCheckConnection) 1154 1155 BOOLAPI InternetSetCookieA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPCSTR lpszCookieData); 1156 BOOLAPI InternetSetCookieW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPCWSTR lpszCookieData); 1157 BOOLAPI InternetGetCookieA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPSTR lpszCookieData,LPDWORD lpdwSize); 1158 BOOLAPI InternetGetCookieW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPWSTR lpszCookieData,LPDWORD lpdwSize); 1159 INTERNETAPI_(DWORD) InternetSetCookieExA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPCSTR lpszCookieData,DWORD dwFlags,DWORD_PTR dwReserved); 1160 INTERNETAPI_(DWORD) InternetSetCookieExW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPCWSTR lpszCookieData,DWORD dwFlags,DWORD_PTR dwReserved); 1161 BOOLAPI InternetGetCookieExA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPSTR lpszCookieData,LPDWORD lpdwSize,DWORD dwFlags,LPVOID lpReserved); 1162 BOOLAPI InternetGetCookieExW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPWSTR lpszCookieData,LPDWORD lpdwSize,DWORD dwFlags,LPVOID lpReserved); 1163 INTERNETAPI_(DWORD) InternetAttemptConnect(DWORD dwReserved); 1164 BOOLAPI InternetCheckConnectionA(LPCSTR lpszUrl,DWORD dwFlags,DWORD dwReserved); 1165 BOOLAPI InternetCheckConnectionW(LPCWSTR lpszUrl,DWORD dwFlags,DWORD dwReserved); 1166 1167 #define FLAG_ICC_FORCE_CONNECTION 0x00000001 1168 1169 #define FLAGS_ERROR_UI_FILTER_FOR_ERRORS 0x01 1170 #define FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS 0x02 1171 #define FLAGS_ERROR_UI_FLAGS_GENERATE_DATA 0x04 1172 #define FLAGS_ERROR_UI_FLAGS_NO_UI 0x08 1173 #define FLAGS_ERROR_UI_SERIALIZE_DIALOGS 0x10 1174 1175 DWORD InternetAuthNotifyCallback(DWORD_PTR dwContext,DWORD dwReturn,LPVOID lpReserved); 1176 typedef DWORD (CALLBACK *PFN_AUTH_NOTIFY) (DWORD_PTR,DWORD,LPVOID); 1177 1178 typedef struct { 1179 DWORD cbStruct; 1180 DWORD dwOptions; 1181 PFN_AUTH_NOTIFY pfnNotify; 1182 DWORD_PTR dwContext; 1183 } INTERNET_AUTH_NOTIFY_DATA; 1184 1185 #if defined(UNICODE) 1186 #define InternetConfirmZoneCrossing InternetConfirmZoneCrossingW 1187 #else 1188 INTERNETAPI_(DWORD) InternetConfirmZoneCrossing(HWND hWnd,LPSTR szUrlPrev,LPSTR szUrlNew,WINBOOL bPost); 1189 #endif 1190 1191 INTERNETAPI_(WINBOOL) ResumeSuspendedDownload(HINTERNET hRequest,DWORD dwResultCode); 1192 INTERNETAPI_(DWORD) InternetErrorDlg(HWND hWnd,HINTERNET hRequest,DWORD dwError,DWORD dwFlags,LPVOID *lppvData); 1193 INTERNETAPI_(DWORD) InternetConfirmZoneCrossingA(HWND hWnd,LPSTR szUrlPrev,LPSTR szUrlNew,WINBOOL bPost); 1194 INTERNETAPI_(DWORD) InternetConfirmZoneCrossingW(HWND hWnd,LPWSTR szUrlPrev,LPWSTR szUrlNew,WINBOOL bPost); 1195 1196 #define INTERNET_ERROR_BASE 12000 1197 1198 #define ERROR_INTERNET_OUT_OF_HANDLES (INTERNET_ERROR_BASE + 1) 1199 #define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE + 2) 1200 #define ERROR_INTERNET_EXTENDED_ERROR (INTERNET_ERROR_BASE + 3) 1201 #define ERROR_INTERNET_INTERNAL_ERROR (INTERNET_ERROR_BASE + 4) 1202 #define ERROR_INTERNET_INVALID_URL (INTERNET_ERROR_BASE + 5) 1203 #define ERROR_INTERNET_UNRECOGNIZED_SCHEME (INTERNET_ERROR_BASE + 6) 1204 #define ERROR_INTERNET_NAME_NOT_RESOLVED (INTERNET_ERROR_BASE + 7) 1205 #define ERROR_INTERNET_PROTOCOL_NOT_FOUND (INTERNET_ERROR_BASE + 8) 1206 #define ERROR_INTERNET_INVALID_OPTION (INTERNET_ERROR_BASE + 9) 1207 #define ERROR_INTERNET_BAD_OPTION_LENGTH (INTERNET_ERROR_BASE + 10) 1208 #define ERROR_INTERNET_OPTION_NOT_SETTABLE (INTERNET_ERROR_BASE + 11) 1209 #define ERROR_INTERNET_SHUTDOWN (INTERNET_ERROR_BASE + 12) 1210 #define ERROR_INTERNET_INCORRECT_USER_NAME (INTERNET_ERROR_BASE + 13) 1211 #define ERROR_INTERNET_INCORRECT_PASSWORD (INTERNET_ERROR_BASE + 14) 1212 #define ERROR_INTERNET_LOGIN_FAILURE (INTERNET_ERROR_BASE + 15) 1213 #define ERROR_INTERNET_INVALID_OPERATION (INTERNET_ERROR_BASE + 16) 1214 #define ERROR_INTERNET_OPERATION_CANCELLED (INTERNET_ERROR_BASE + 17) 1215 #define ERROR_INTERNET_INCORRECT_HANDLE_TYPE (INTERNET_ERROR_BASE + 18) 1216 #define ERROR_INTERNET_INCORRECT_HANDLE_STATE (INTERNET_ERROR_BASE + 19) 1217 #define ERROR_INTERNET_NOT_PROXY_REQUEST (INTERNET_ERROR_BASE + 20) 1218 #define ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND (INTERNET_ERROR_BASE + 21) 1219 #define ERROR_INTERNET_BAD_REGISTRY_PARAMETER (INTERNET_ERROR_BASE + 22) 1220 #define ERROR_INTERNET_NO_DIRECT_ACCESS (INTERNET_ERROR_BASE + 23) 1221 #define ERROR_INTERNET_NO_CONTEXT (INTERNET_ERROR_BASE + 24) 1222 #define ERROR_INTERNET_NO_CALLBACK (INTERNET_ERROR_BASE + 25) 1223 #define ERROR_INTERNET_REQUEST_PENDING (INTERNET_ERROR_BASE + 26) 1224 #define ERROR_INTERNET_INCORRECT_FORMAT (INTERNET_ERROR_BASE + 27) 1225 #define ERROR_INTERNET_ITEM_NOT_FOUND (INTERNET_ERROR_BASE + 28) 1226 #define ERROR_INTERNET_CANNOT_CONNECT (INTERNET_ERROR_BASE + 29) 1227 #define ERROR_INTERNET_CONNECTION_ABORTED (INTERNET_ERROR_BASE + 30) 1228 #define ERROR_INTERNET_CONNECTION_RESET (INTERNET_ERROR_BASE + 31) 1229 #define ERROR_INTERNET_FORCE_RETRY (INTERNET_ERROR_BASE + 32) 1230 #define ERROR_INTERNET_INVALID_PROXY_REQUEST (INTERNET_ERROR_BASE + 33) 1231 #define ERROR_INTERNET_NEED_UI (INTERNET_ERROR_BASE + 34) 1232 #define ERROR_INTERNET_HANDLE_EXISTS (INTERNET_ERROR_BASE + 36) 1233 #define ERROR_INTERNET_SEC_CERT_DATE_INVALID (INTERNET_ERROR_BASE + 37) 1234 #define ERROR_INTERNET_SEC_CERT_CN_INVALID (INTERNET_ERROR_BASE + 38) 1235 #define ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR (INTERNET_ERROR_BASE + 39) 1236 #define ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR (INTERNET_ERROR_BASE + 40) 1237 #define ERROR_INTERNET_MIXED_SECURITY (INTERNET_ERROR_BASE + 41) 1238 #define ERROR_INTERNET_CHG_POST_IS_NON_SECURE (INTERNET_ERROR_BASE + 42) 1239 #define ERROR_INTERNET_POST_IS_NON_SECURE (INTERNET_ERROR_BASE + 43) 1240 #define ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED (INTERNET_ERROR_BASE + 44) 1241 #define ERROR_INTERNET_INVALID_CA (INTERNET_ERROR_BASE + 45) 1242 #define ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP (INTERNET_ERROR_BASE + 46) 1243 #define ERROR_INTERNET_ASYNC_THREAD_FAILED (INTERNET_ERROR_BASE + 47) 1244 #define ERROR_INTERNET_REDIRECT_SCHEME_CHANGE (INTERNET_ERROR_BASE + 48) 1245 #define ERROR_INTERNET_DIALOG_PENDING (INTERNET_ERROR_BASE + 49) 1246 #define ERROR_INTERNET_RETRY_DIALOG (INTERNET_ERROR_BASE + 50) 1247 #define ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR (INTERNET_ERROR_BASE + 52) 1248 #define ERROR_INTERNET_INSERT_CDROM (INTERNET_ERROR_BASE + 53) 1249 #define ERROR_INTERNET_FORTEZZA_LOGIN_NEEDED (INTERNET_ERROR_BASE + 54) 1250 #define ERROR_INTERNET_SEC_CERT_ERRORS (INTERNET_ERROR_BASE + 55) 1251 #define ERROR_INTERNET_SEC_CERT_NO_REV (INTERNET_ERROR_BASE + 56) 1252 #define ERROR_INTERNET_SEC_CERT_REV_FAILED (INTERNET_ERROR_BASE + 57) 1253 #define ERROR_FTP_TRANSFER_IN_PROGRESS (INTERNET_ERROR_BASE + 110) 1254 #define ERROR_FTP_DROPPED (INTERNET_ERROR_BASE + 111) 1255 #define ERROR_FTP_NO_PASSIVE_MODE (INTERNET_ERROR_BASE + 112) 1256 #define ERROR_GOPHER_PROTOCOL_ERROR (INTERNET_ERROR_BASE + 130) 1257 #define ERROR_GOPHER_NOT_FILE (INTERNET_ERROR_BASE + 131) 1258 #define ERROR_GOPHER_DATA_ERROR (INTERNET_ERROR_BASE + 132) 1259 #define ERROR_GOPHER_END_OF_DATA (INTERNET_ERROR_BASE + 133) 1260 #define ERROR_GOPHER_INVALID_LOCATOR (INTERNET_ERROR_BASE + 134) 1261 #define ERROR_GOPHER_INCORRECT_LOCATOR_TYPE (INTERNET_ERROR_BASE + 135) 1262 #define ERROR_GOPHER_NOT_GOPHER_PLUS (INTERNET_ERROR_BASE + 136) 1263 #define ERROR_GOPHER_ATTRIBUTE_NOT_FOUND (INTERNET_ERROR_BASE + 137) 1264 #define ERROR_GOPHER_UNKNOWN_LOCATOR (INTERNET_ERROR_BASE + 138) 1265 #define ERROR_HTTP_HEADER_NOT_FOUND (INTERNET_ERROR_BASE + 150) 1266 #define ERROR_HTTP_DOWNLEVEL_SERVER (INTERNET_ERROR_BASE + 151) 1267 #define ERROR_HTTP_INVALID_SERVER_RESPONSE (INTERNET_ERROR_BASE + 152) 1268 #define ERROR_HTTP_INVALID_HEADER (INTERNET_ERROR_BASE + 153) 1269 #define ERROR_HTTP_INVALID_QUERY_REQUEST (INTERNET_ERROR_BASE + 154) 1270 #define ERROR_HTTP_HEADER_ALREADY_EXISTS (INTERNET_ERROR_BASE + 155) 1271 #define ERROR_HTTP_REDIRECT_FAILED (INTERNET_ERROR_BASE + 156) 1272 #define ERROR_HTTP_NOT_REDIRECTED (INTERNET_ERROR_BASE + 160) 1273 #define ERROR_HTTP_COOKIE_NEEDS_CONFIRMATION (INTERNET_ERROR_BASE + 161) 1274 #define ERROR_HTTP_COOKIE_DECLINED (INTERNET_ERROR_BASE + 162) 1275 #define ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION (INTERNET_ERROR_BASE + 168) 1276 #define ERROR_INTERNET_SECURITY_CHANNEL_ERROR (INTERNET_ERROR_BASE + 157) 1277 #define ERROR_INTERNET_UNABLE_TO_CACHE_FILE (INTERNET_ERROR_BASE + 158) 1278 #define ERROR_INTERNET_TCPIP_NOT_INSTALLED (INTERNET_ERROR_BASE + 159) 1279 #define ERROR_INTERNET_DISCONNECTED (INTERNET_ERROR_BASE + 163) 1280 #define ERROR_INTERNET_SERVER_UNREACHABLE (INTERNET_ERROR_BASE + 164) 1281 #define ERROR_INTERNET_PROXY_SERVER_UNREACHABLE (INTERNET_ERROR_BASE + 165) 1282 #define ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT (INTERNET_ERROR_BASE + 166) 1283 #define ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT (INTERNET_ERROR_BASE + 167) 1284 #define ERROR_INTERNET_SEC_INVALID_CERT (INTERNET_ERROR_BASE + 169) 1285 #define ERROR_INTERNET_SEC_CERT_REVOKED (INTERNET_ERROR_BASE + 170) 1286 #define ERROR_INTERNET_FAILED_DUETOSECURITYCHECK (INTERNET_ERROR_BASE + 171) 1287 #define ERROR_INTERNET_NOT_INITIALIZED (INTERNET_ERROR_BASE + 172) 1288 #define ERROR_INTERNET_NEED_MSN_SSPI_PKG (INTERNET_ERROR_BASE + 173) 1289 #define ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY (INTERNET_ERROR_BASE + 174) 1290 1291 #define INTERNET_ERROR_LAST ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY 1292 1293 #define NORMAL_CACHE_ENTRY 0x00000001 1294 #define STICKY_CACHE_ENTRY 0x00000004 1295 #define EDITED_CACHE_ENTRY 0x00000008 1296 #define TRACK_OFFLINE_CACHE_ENTRY 0x00000010 1297 #define TRACK_ONLINE_CACHE_ENTRY 0x00000020 1298 #define SPARSE_CACHE_ENTRY 0x00010000 1299 #define COOKIE_CACHE_ENTRY 0x00100000 1300 #define URLHISTORY_CACHE_ENTRY 0x00200000 1301 1302 #define URLCACHE_FIND_DEFAULT_FILTER NORMAL_CACHE_ENTRY | COOKIE_CACHE_ENTRY | URLHISTORY_CACHE_ENTRY | TRACK_OFFLINE_CACHE_ENTRY | TRACK_ONLINE_CACHE_ENTRY | STICKY_CACHE_ENTRY 1303 1304 typedef struct _INTERNET_CACHE_ENTRY_INFOA { 1305 DWORD dwStructSize; 1306 LPSTR lpszSourceUrlName; 1307 LPSTR lpszLocalFileName; 1308 DWORD CacheEntryType; 1309 DWORD dwUseCount; 1310 DWORD dwHitRate; 1311 DWORD dwSizeLow; 1312 DWORD dwSizeHigh; 1313 FILETIME LastModifiedTime; 1314 FILETIME ExpireTime; 1315 FILETIME LastAccessTime; 1316 FILETIME LastSyncTime; 1317 LPSTR lpHeaderInfo; 1318 DWORD dwHeaderInfoSize; 1319 LPSTR lpszFileExtension; 1320 __C89_NAMELESS union { 1321 DWORD dwReserved; 1322 DWORD dwExemptDelta; 1323 }; 1324 } INTERNET_CACHE_ENTRY_INFOA,*LPINTERNET_CACHE_ENTRY_INFOA; 1325 1326 typedef struct _INTERNET_CACHE_ENTRY_INFOW { 1327 DWORD dwStructSize; 1328 LPWSTR lpszSourceUrlName; 1329 LPWSTR lpszLocalFileName; 1330 DWORD CacheEntryType; 1331 DWORD dwUseCount; 1332 DWORD dwHitRate; 1333 DWORD dwSizeLow; 1334 DWORD dwSizeHigh; 1335 FILETIME LastModifiedTime; 1336 FILETIME ExpireTime; 1337 FILETIME LastAccessTime; 1338 FILETIME LastSyncTime; 1339 LPWSTR lpHeaderInfo; 1340 DWORD dwHeaderInfoSize; 1341 LPWSTR lpszFileExtension; 1342 __C89_NAMELESS union { 1343 DWORD dwReserved; 1344 DWORD dwExemptDelta; 1345 }; 1346 } INTERNET_CACHE_ENTRY_INFOW,*LPINTERNET_CACHE_ENTRY_INFOW; 1347 1348 __MINGW_TYPEDEF_AW(INTERNET_CACHE_ENTRY_INFO) 1349 __MINGW_TYPEDEF_AW(LPINTERNET_CACHE_ENTRY_INFO) 1350 1351 typedef struct _INTERNET_CACHE_TIMESTAMPS { 1352 FILETIME ftExpires; 1353 FILETIME ftLastModified; 1354 } INTERNET_CACHE_TIMESTAMPS,*LPINTERNET_CACHE_TIMESTAMPS; 1355 1356 typedef LONGLONG GROUPID; 1357 1358 #define CACHEGROUP_ATTRIBUTE_GET_ALL 0xffffffff 1359 #define CACHEGROUP_ATTRIBUTE_BASIC 0x00000001 1360 #define CACHEGROUP_ATTRIBUTE_FLAG 0x00000002 1361 #define CACHEGROUP_ATTRIBUTE_TYPE 0x00000004 1362 #define CACHEGROUP_ATTRIBUTE_QUOTA 0x00000008 1363 #define CACHEGROUP_ATTRIBUTE_GROUPNAME 0x00000010 1364 #define CACHEGROUP_ATTRIBUTE_STORAGE 0x00000020 1365 1366 #define CACHEGROUP_FLAG_NONPURGEABLE 0x00000001 1367 #define CACHEGROUP_FLAG_GIDONLY 0x00000004 1368 1369 #define CACHEGROUP_FLAG_FLUSHURL_ONDELETE 0x00000002 1370 1371 #define CACHEGROUP_SEARCH_ALL 0x00000000 1372 #define CACHEGROUP_SEARCH_BYURL 0x00000001 1373 1374 #define CACHEGROUP_TYPE_INVALID 0x00000001 1375 1376 #define CACHEGROUP_READWRITE_MASK CACHEGROUP_ATTRIBUTE_TYPE | CACHEGROUP_ATTRIBUTE_QUOTA | CACHEGROUP_ATTRIBUTE_GROUPNAME | CACHEGROUP_ATTRIBUTE_STORAGE 1377 1378 #define GROUPNAME_MAX_LENGTH 120 1379 #define GROUP_OWNER_STORAGE_SIZE 4 1380 typedef struct _INTERNET_CACHE_GROUP_INFOA { 1381 DWORD dwGroupSize; 1382 DWORD dwGroupFlags; 1383 DWORD dwGroupType; 1384 DWORD dwDiskUsage; 1385 DWORD dwDiskQuota; 1386 DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE]; 1387 CHAR szGroupName[GROUPNAME_MAX_LENGTH]; 1388 } INTERNET_CACHE_GROUP_INFOA,*LPINTERNET_CACHE_GROUP_INFOA; 1389 1390 typedef struct _INTERNET_CACHE_GROUP_INFOW { 1391 DWORD dwGroupSize; 1392 DWORD dwGroupFlags; 1393 DWORD dwGroupType; 1394 DWORD dwDiskUsage; 1395 DWORD dwDiskQuota; 1396 DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE]; 1397 WCHAR szGroupName[GROUPNAME_MAX_LENGTH]; 1398 } INTERNET_CACHE_GROUP_INFOW,*LPINTERNET_CACHE_GROUP_INFOW; 1399 1400 __MINGW_TYPEDEF_AW(INTERNET_CACHE_GROUP_INFO) 1401 __MINGW_TYPEDEF_AW(LPINTERNET_CACHE_GROUP_INFO) 1402 1403 #define CreateUrlCacheEntry __MINGW_NAME_AW(CreateUrlCacheEntry) 1404 #define CommitUrlCacheEntry __MINGW_NAME_AW(CommitUrlCacheEntry) 1405 #define RetrieveUrlCacheEntryFile __MINGW_NAME_AW(RetrieveUrlCacheEntryFile) 1406 #define UnlockUrlCacheEntryFile __MINGW_NAME_AW(UnlockUrlCacheEntryFile) 1407 #define RetrieveUrlCacheEntryStream __MINGW_NAME_AW(RetrieveUrlCacheEntryStream) 1408 #define GetUrlCacheEntryInfo __MINGW_NAME_AW(GetUrlCacheEntryInfo) 1409 #define GetUrlCacheGroupAttribute __MINGW_NAME_AW(GetUrlCacheGroupAttribute) 1410 #define SetUrlCacheGroupAttribute __MINGW_NAME_AW(SetUrlCacheGroupAttribute) 1411 #define GetUrlCacheEntryInfoEx __MINGW_NAME_AW(GetUrlCacheEntryInfoEx) 1412 1413 BOOLAPI CreateUrlCacheEntryA(LPCSTR lpszUrlName,DWORD dwExpectedFileSize,LPCSTR lpszFileExtension,LPSTR lpszFileName,DWORD dwReserved); 1414 BOOLAPI CreateUrlCacheEntryW(LPCWSTR lpszUrlName,DWORD dwExpectedFileSize,LPCWSTR lpszFileExtension,LPWSTR lpszFileName,DWORD dwReserved); 1415 #ifndef USE_FIXED_COMMIT_URL_CACHE_ENTRY 1416 BOOLAPI CommitUrlCacheEntryA(LPCSTR lpszUrlName,LPCSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPBYTE lpHeaderInfo,DWORD dwHeaderSize,LPCSTR lpszFileExtension,LPCSTR lpszOriginalUrl); 1417 BOOLAPI CommitUrlCacheEntryW(LPCWSTR lpszUrlName,LPCWSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPWSTR lpszHeaderInfo,DWORD dwHeaders,LPCWSTR lpszFileExtension,LPCWSTR lpszOriginalUrl); 1418 #else 1419 CommitUrlCacheEntryA(LPCSTR lpszUrlName,LPCSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPCSTR lpHeaderInfo,DWORD dwHeaderSize,LPCSTR lpszFileExtension,LPCSTR lpszOriginalUrl); 1420 CommitUrlCacheEntryW(LPCWSTR lpszUrlName,LPCWSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPCWSTR lpHeaderInfo,DWORD dwHeaderSize,LPCWSTR lpszFileExtension,LPCWSTR lpszOriginalUrl); 1421 #endif 1422 BOOLAPI RetrieveUrlCacheEntryFileA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,DWORD dwReserved); 1423 BOOLAPI RetrieveUrlCacheEntryFileW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,DWORD dwReserved); 1424 BOOLAPI UnlockUrlCacheEntryFileA(LPCSTR lpszUrlName,DWORD dwReserved); 1425 BOOLAPI UnlockUrlCacheEntryFileW(LPCWSTR lpszUrlName,DWORD dwReserved); 1426 INTERNETAPI_(HANDLE) RetrieveUrlCacheEntryStreamA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,WINBOOL fRandomRead,DWORD dwReserved); 1427 INTERNETAPI_(HANDLE) RetrieveUrlCacheEntryStreamW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,WINBOOL fRandomRead,DWORD dwReserved); 1428 BOOLAPI ReadUrlCacheEntryStream(HANDLE hUrlCacheStream,DWORD dwLocation,LPVOID lpBuffer,LPDWORD lpdwLen,DWORD Reserved); 1429 BOOLAPI UnlockUrlCacheEntryStream(HANDLE hUrlCacheStream,DWORD Reserved); 1430 URLCACHEAPI_(WINBOOL) GetUrlCacheEntryInfoA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); 1431 URLCACHEAPI_(WINBOOL) GetUrlCacheEntryInfoW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); 1432 URLCACHEAPI_(HANDLE) FindFirstUrlCacheGroup(DWORD dwFlags,DWORD dwFilter,LPVOID lpSearchCondition,DWORD dwSearchCondition,GROUPID *lpGroupId,LPVOID lpReserved); 1433 URLCACHEAPI_(WINBOOL) FindNextUrlCacheGroup(HANDLE hFind,GROUPID *lpGroupId,LPVOID lpReserved); 1434 URLCACHEAPI_(WINBOOL) GetUrlCacheGroupAttributeA(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo,LPDWORD lpdwGroupInfo,LPVOID lpReserved); 1435 URLCACHEAPI_(WINBOOL) GetUrlCacheGroupAttributeW(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo,LPDWORD lpdwGroupInfo,LPVOID lpReserved); 1436 URLCACHEAPI_(WINBOOL) SetUrlCacheGroupAttributeA(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo,LPVOID lpReserved); 1437 URLCACHEAPI_(WINBOOL) SetUrlCacheGroupAttributeW(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo,LPVOID lpReserved); 1438 INTERNETAPI_(GROUPID) CreateUrlCacheGroup(DWORD dwFlags,LPVOID lpReserved); 1439 BOOLAPI DeleteUrlCacheGroup(GROUPID GroupId,DWORD dwFlags,LPVOID lpReserved); 1440 BOOLAPI GetUrlCacheEntryInfoExA(LPCSTR lpszUrl,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,LPSTR lpszRedirectUrl,LPDWORD lpcbRedirectUrl,LPVOID lpReserved,DWORD dwFlags); 1441 BOOLAPI GetUrlCacheEntryInfoExW(LPCWSTR lpszUrl,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,LPWSTR lpszRedirectUrl,LPDWORD lpcbRedirectUrl,LPVOID lpReserved,DWORD dwFlags); 1442 1443 #define CACHE_ENTRY_ATTRIBUTE_FC 0x00000004 1444 #define CACHE_ENTRY_HITRATE_FC 0x00000010 1445 #define CACHE_ENTRY_MODTIME_FC 0x00000040 1446 #define CACHE_ENTRY_EXPTIME_FC 0x00000080 1447 #define CACHE_ENTRY_ACCTIME_FC 0x00000100 1448 #define CACHE_ENTRY_SYNCTIME_FC 0x00000200 1449 #define CACHE_ENTRY_HEADERINFO_FC 0x00000400 1450 #define CACHE_ENTRY_EXEMPT_DELTA_FC 0x00000800 1451 1452 #define SetUrlCacheEntryInfo __MINGW_NAME_AW(SetUrlCacheEntryInfo) 1453 #define FindFirstUrlCacheEntryEx __MINGW_NAME_AW(FindFirstUrlCacheEntryEx) 1454 #define FindNextUrlCacheEntryEx __MINGW_NAME_AW(FindNextUrlCacheEntryEx) 1455 #define FindFirstUrlCacheEntry __MINGW_NAME_AW(FindFirstUrlCacheEntry) 1456 #define FindNextUrlCacheEntry __MINGW_NAME_AW(FindNextUrlCacheEntry) 1457 1458 #if defined(UNICODE) 1459 #define InternetDial InternetDialW 1460 #define InternetGoOnline InternetGoOnlineW 1461 #define DeleteUrlCacheEntry DeleteUrlCacheEntryW 1462 #define SetUrlCacheEntryGroup SetUrlCacheEntryGroupW 1463 #else 1464 BOOLAPI SetUrlCacheEntryGroup(LPCSTR lpszUrlName,DWORD dwFlags,GROUPID GroupId,LPBYTE pbGroupAttributes,DWORD cbGroupAttributes,LPVOID lpReserved); 1465 BOOLAPI DeleteUrlCacheEntry(LPCSTR lpszUrlName); 1466 INTERNETAPI_(DWORD) InternetDial(HWND hwndParent,LPSTR lpszConnectoid,DWORD dwFlags,LPDWORD lpdwConnection,DWORD dwReserved); 1467 INTERNETAPI_(WINBOOL) InternetGoOnline(LPSTR lpszURL,HWND hwndParent,DWORD dwFlags); 1468 #endif 1469 1470 BOOLAPI SetUrlCacheEntryInfoA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,DWORD dwFieldControl); 1471 BOOLAPI SetUrlCacheEntryInfoW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,DWORD dwFieldControl); 1472 INTERNETAPI_(GROUPID) CreateUrlCacheGroup(DWORD dwFlags,LPVOID lpReserved); 1473 BOOLAPI DeleteUrlCacheGroup(GROUPID GroupId,DWORD dwFlags,LPVOID lpReserved); 1474 1475 #define INTERNET_CACHE_GROUP_ADD 0 1476 #define INTERNET_CACHE_GROUP_REMOVE 1 1477 1478 BOOLAPI SetUrlCacheEntryGroupA(LPCSTR lpszUrlName,DWORD dwFlags,GROUPID GroupId,LPBYTE pbGroupAttributes,DWORD cbGroupAttributes,LPVOID lpReserved); 1479 BOOLAPI SetUrlCacheEntryGroupW(LPCWSTR lpszUrlName,DWORD dwFlags,GROUPID GroupId,LPBYTE pbGroupAttributes,DWORD cbGroupAttributes,LPVOID lpReserved); 1480 INTERNETAPI_(HANDLE) FindFirstUrlCacheEntryExA(LPCSTR lpszUrlSearchPattern,DWORD dwFlags,DWORD dwFilter,GROUPID GroupId,LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved); 1481 INTERNETAPI_(HANDLE) FindFirstUrlCacheEntryExW(LPCWSTR lpszUrlSearchPattern,DWORD dwFlags,DWORD dwFilter,GROUPID GroupId,LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved); 1482 BOOLAPI FindNextUrlCacheEntryExA(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved); 1483 BOOLAPI FindNextUrlCacheEntryExW(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOW lpNextCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved); 1484 INTERNETAPI_(HANDLE) FindFirstUrlCacheEntryA(LPCSTR lpszUrlSearchPattern,LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); 1485 INTERNETAPI_(HANDLE) FindFirstUrlCacheEntryW(LPCWSTR lpszUrlSearchPattern,LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); 1486 BOOLAPI FindNextUrlCacheEntryA(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); 1487 BOOLAPI FindNextUrlCacheEntryW(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOW lpNextCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); 1488 BOOLAPI FindCloseUrlCache(HANDLE hEnumHandle); 1489 BOOLAPI DeleteUrlCacheEntryA(LPCSTR lpszUrlName); 1490 BOOLAPI DeleteUrlCacheEntryW(LPCWSTR lpszUrlName); 1491 INTERNETAPI_(DWORD) InternetDialA(HWND hwndParent,LPSTR lpszConnectoid,DWORD dwFlags,DWORD_PTR *lpdwConnection,DWORD dwReserved); 1492 INTERNETAPI_(DWORD) InternetDialW(HWND hwndParent,LPWSTR lpszConnectoid,DWORD dwFlags,DWORD_PTR *lpdwConnection,DWORD dwReserved); 1493 1494 #define INTERNET_DIAL_FORCE_PROMPT 0x2000 1495 #define INTERNET_DIAL_SHOW_OFFLINE 0x4000 1496 #define INTERNET_DIAL_UNATTENDED 0x8000 1497 1498 INTERNETAPI_(DWORD) InternetHangUp(DWORD_PTR dwConnection,DWORD dwReserved); 1499 1500 #define INTERENT_GOONLINE_REFRESH 0x00000001 1501 #define INTERENT_GOONLINE_MASK 0x00000001 1502 1503 INTERNETAPI_(WINBOOL) InternetGoOnlineA(LPSTR lpszURL,HWND hwndParent,DWORD dwFlags); 1504 INTERNETAPI_(WINBOOL) InternetGoOnlineW(LPWSTR lpszURL,HWND hwndParent,DWORD dwFlags); 1505 1506 INTERNETAPI_(WINBOOL) InternetAutodial(DWORD dwFlags,HWND hwndParent); 1507 1508 #define INTERNET_AUTODIAL_FORCE_ONLINE 1 1509 #define INTERNET_AUTODIAL_FORCE_UNATTENDED 2 1510 #define INTERNET_AUTODIAL_FAILIFSECURITYCHECK 4 1511 #define INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT 8 1512 1513 #define INTERNET_AUTODIAL_FLAGS_MASK (INTERNET_AUTODIAL_FORCE_ONLINE | INTERNET_AUTODIAL_FORCE_UNATTENDED | INTERNET_AUTODIAL_FAILIFSECURITYCHECK | INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT) 1514 1515 INTERNETAPI_(WINBOOL) InternetAutodialHangup(DWORD dwReserved); 1516 INTERNETAPI_(WINBOOL) InternetGetConnectedState(LPDWORD lpdwFlags,DWORD dwReserved); 1517 INTERNETAPI_(WINBOOL) InternetGetConnectedStateExA(LPDWORD lpdwFlags,LPSTR lpszConnectionName,DWORD dwBufLen,DWORD dwReserved); 1518 INTERNETAPI_(WINBOOL) InternetGetConnectedStateExW(LPDWORD lpdwFlags,LPWSTR lpszConnectionName,DWORD dwBufLen,DWORD dwReserved); 1519 1520 #define PROXY_AUTO_DETECT_TYPE_DHCP 1 1521 #define PROXY_AUTO_DETECT_TYPE_DNS_A 2 1522 1523 struct AutoProxyHelperFunctions; 1524 1525 typedef struct AutoProxyHelperVtbl { 1526 WINBOOL (WINAPI *IsResolvable)(LPSTR lpszHost); 1527 DWORD (WINAPI *GetIPAddress)(LPSTR lpszIPAddress,LPDWORD lpdwIPAddressSize); 1528 DWORD (WINAPI *ResolveHostName)(LPSTR lpszHostName,LPSTR lpszIPAddress,LPDWORD lpdwIPAddressSize); 1529 WINBOOL (WINAPI *IsInNet)(LPSTR lpszIPAddress,LPSTR lpszDest,LPSTR lpszMask); 1530 } AutoProxyHelperVtbl; 1531 1532 typedef struct { 1533 DWORD dwStructSize; 1534 LPSTR lpszScriptBuffer; 1535 DWORD dwScriptBufferSize; 1536 } AUTO_PROXY_SCRIPT_BUFFER,*LPAUTO_PROXY_SCRIPT_BUFFER; 1537 1538 typedef struct AutoProxyHelperFunctions { 1539 const struct AutoProxyHelperVtbl *lpVtbl; 1540 } AutoProxyHelperFunctions; 1541 1542 typedef WINBOOL (CALLBACK *pfnInternetInitializeAutoProxyDll)(DWORD dwVersion,LPSTR lpszDownloadedTempFile,LPSTR lpszMime,AutoProxyHelperFunctions *lpAutoProxyCallbacks,LPAUTO_PROXY_SCRIPT_BUFFER lpAutoProxyScriptBuffer); 1543 typedef WINBOOL (CALLBACK *pfnInternetDeInitializeAutoProxyDll)(LPSTR lpszMime,DWORD dwReserved); 1544 typedef WINBOOL (CALLBACK *pfnInternetGetProxyInfo)(LPCSTR lpszUrl,DWORD dwUrlLength,LPSTR lpszUrlHostName,DWORD dwUrlHostNameLength,LPSTR *lplpszProxyHostName,LPDWORD lpdwProxyHostNameLength); 1545 1546 #if defined(UNICODE) 1547 #define InternetGetConnectedStateEx InternetGetConnectedStateExW 1548 #else 1549 INTERNETAPI_(WINBOOL) InternetGetConnectedStateEx(LPDWORD lpdwFlags,LPSTR lpszConnectionName,DWORD dwNameLen,DWORD dwReserved); 1550 #endif 1551 1552 INTERNETAPI_(WINBOOL) InternetInitializeAutoProxyDll(DWORD dwReserved); 1553 INTERNETAPI_(WINBOOL) InternetDeInitializeAutoProxyDll(LPSTR lpszMime,DWORD dwReserved); 1554 INTERNETAPI_(WINBOOL) InternetGetProxyInfo(LPCSTR lpszUrl,DWORD dwUrlLength,LPSTR lpszUrlHostName,DWORD dwUrlHostNameLength,LPSTR *lplpszProxyHostName,LPDWORD lpdwProxyHostNameLength); 1555 INTERNETAPI_(WINBOOL) DetectAutoProxyUrl(LPSTR lpszAutoProxyUrl,DWORD dwAutoProxyUrlLength,DWORD dwDetectFlags); 1556 INTERNETAPI_(WINBOOL) CreateMD5SSOHash(PWSTR pszChallengeInfo,PWSTR pwszRealm,PWSTR pwszTarget,PBYTE pbHexHash); 1557 1558 #define INTERNET_CONNECTION_MODEM 0x01 1559 #define INTERNET_CONNECTION_LAN 0x02 1560 #define INTERNET_CONNECTION_PROXY 0x04 1561 #define INTERNET_CONNECTION_MODEM_BUSY 0x08 1562 #define INTERNET_RAS_INSTALLED 0x10 1563 #define INTERNET_CONNECTION_OFFLINE 0x20 1564 #define INTERNET_CONNECTION_CONFIGURED 0x40 1565 1566 typedef DWORD (CALLBACK *PFN_DIAL_HANDLER) (HWND,LPCSTR,DWORD,LPDWORD); 1567 1568 #define INTERNET_CUSTOMDIAL_CONNECT 0 1569 #define INTERNET_CUSTOMDIAL_UNATTENDED 1 1570 #define INTERNET_CUSTOMDIAL_DISCONNECT 2 1571 #define INTERNET_CUSTOMDIAL_SHOWOFFLINE 4 1572 1573 #define INTERNET_CUSTOMDIAL_SAFE_FOR_UNATTENDED 1 1574 #define INTERNET_CUSTOMDIAL_WILL_SUPPLY_STATE 2 1575 #define INTERNET_CUSTOMDIAL_CAN_HANGUP 4 1576 1577 #define InternetSetPerSiteCookieDecision __MINGW_NAME_AW(InternetSetPerSiteCookieDecision) 1578 #define InternetGetPerSiteCookieDecision __MINGW_NAME_AW(InternetGetPerSiteCookieDecision) 1579 #define InternetEnumPerSiteCookieDecision __MINGW_NAME_AW(InternetEnumPerSiteCookieDecision) 1580 1581 #if defined(UNICODE) 1582 #define InternetSetDialState InternetSetDialStateW 1583 #else 1584 INTERNETAPI_(WINBOOL) InternetSetDialState(LPCSTR lpszConnectoid,DWORD dwState,DWORD dwReserved); 1585 #endif 1586 1587 INTERNETAPI_(WINBOOL) InternetSetDialStateA(LPCSTR lpszConnectoid,DWORD dwState,DWORD dwReserved); 1588 INTERNETAPI_(WINBOOL) InternetSetDialStateW(LPCWSTR lpszConnectoid,DWORD dwState,DWORD dwReserved); 1589 1590 #define INTERNET_DIALSTATE_DISCONNECTED 1 1591 1592 INTERNETAPI_(WINBOOL) InternetSetPerSiteCookieDecisionA(LPCSTR pchHostName,DWORD dwDecision); 1593 INTERNETAPI_(WINBOOL) InternetSetPerSiteCookieDecisionW(LPCWSTR pchHostName,DWORD dwDecision); 1594 INTERNETAPI_(WINBOOL) InternetGetPerSiteCookieDecisionA(LPCSTR pchHostName,unsigned __LONG32 *pResult); 1595 INTERNETAPI_(WINBOOL) InternetGetPerSiteCookieDecisionW(LPCWSTR pchHostName,unsigned __LONG32 *pResult); 1596 INTERNETAPI_(WINBOOL) InternetClearAllPerSiteCookieDecisions(); 1597 INTERNETAPI_(WINBOOL) InternetEnumPerSiteCookieDecisionA(LPSTR pszSiteName,unsigned __LONG32 *pcSiteNameSize,unsigned __LONG32 *pdwDecision,unsigned __LONG32 dwIndex); 1598 INTERNETAPI_(WINBOOL) InternetEnumPerSiteCookieDecisionW(LPWSTR pszSiteName,unsigned __LONG32 *pcSiteNameSize,unsigned __LONG32 *pdwDecision,unsigned __LONG32 dwIndex); 1599 1600 #define INTERNET_IDENTITY_FLAG_PRIVATE_CACHE 0x01 1601 #define INTERNET_IDENTITY_FLAG_SHARED_CACHE 0x02 1602 #define INTERNET_IDENTITY_FLAG_CLEAR_DATA 0x04 1603 #define INTERNET_IDENTITY_FLAG_CLEAR_COOKIES 0x08 1604 #define INTERNET_IDENTITY_FLAG_CLEAR_HISTORY 0x10 1605 #define INTERNET_IDENTITY_FLAG_CLEAR_CONTENT 0x20 1606 1607 #define INTERNET_SUPPRESS_RESET_ALL 0x00 1608 #define INTERNET_SUPPRESS_COOKIE_POLICY 0x01 1609 #define INTERNET_SUPPRESS_COOKIE_POLICY_RESET 0x02 1610 1611 #define PRIVACY_TEMPLATE_NO_COOKIES 0 1612 #define PRIVACY_TEMPLATE_HIGH 1 1613 #define PRIVACY_TEMPLATE_MEDIUM_HIGH 2 1614 #define PRIVACY_TEMPLATE_MEDIUM 3 1615 #define PRIVACY_TEMPLATE_MEDIUM_LOW 4 1616 #define PRIVACY_TEMPLATE_LOW 5 1617 #define PRIVACY_TEMPLATE_CUSTOM 100 1618 #define PRIVACY_TEMPLATE_ADVANCED 101 1619 1620 #define PRIVACY_TEMPLATE_MAX PRIVACY_TEMPLATE_LOW 1621 1622 #define PRIVACY_TYPE_FIRST_PARTY 0 1623 #define PRIVACY_TYPE_THIRD_PARTY 1 1624 1625 INTERNETAPI_(DWORD) PrivacySetZonePreferenceW(DWORD dwZone,DWORD dwType,DWORD dwTemplate,LPCWSTR pszPreference); 1626 INTERNETAPI_(DWORD) PrivacyGetZonePreferenceW(DWORD dwZone,DWORD dwType,LPDWORD pdwTemplate,LPWSTR pszBuffer,LPDWORD pdwBufferLength); 1627 1628 #if defined(__cplusplus) 1629 } 1630 #endif 1631 1632 #include <poppack.h> 1633 #endif 1634