1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * Authors: Stewart Gordon 7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 8 * Source: $(DRUNTIMESRC core/sys/windows/_wininet.d) 9 */ 10 /// Automatically imported and edited from the druntime module 11 /// core.sys.windows.wininet for the auto-generated win32 package. 12 module win32.wininet; 13 //version (Windows): 14 @system: 15 16 version (ANSI) {} else version = Unicode; 17 version (Win32_UseLib) pragma(lib, "wininet"); 18 19 // FIXME: check types and grouping of constants 20 21 import win32.winbase, win32.windef; 22 23 // From Winineti.h 24 enum { 25 INTERNET_FLAG_BGUPDATE = 0x00000008, 26 } 27 28 enum { 29 INTERNET_INVALID_PORT_NUMBER = 0, 30 INTERNET_DEFAULT_FTP_PORT = 21, 31 INTERNET_DEFAULT_GOPHER_PORT = 70, 32 INTERNET_DEFAULT_HTTP_PORT = 80, 33 INTERNET_DEFAULT_HTTPS_PORT = 443, 34 INTERNET_DEFAULT_SOCKS_PORT = 1080 35 } 36 37 enum size_t 38 MAX_CACHE_ENTRY_INFO_SIZE = 4096, 39 INTERNET_MAX_HOST_NAME_LENGTH = 256, 40 INTERNET_MAX_USER_NAME_LENGTH = 128, 41 INTERNET_MAX_PASSWORD_LENGTH = 128, 42 INTERNET_MAX_PORT_NUMBER_LENGTH = 5, 43 INTERNET_MAX_PORT_NUMBER_VALUE = 65535, 44 INTERNET_MAX_PATH_LENGTH = 2048, 45 INTERNET_MAX_SCHEME_LENGTH = 32, 46 INTERNET_MAX_URL_LENGTH = INTERNET_MAX_SCHEME_LENGTH 47 + "://".length 48 + INTERNET_MAX_PATH_LENGTH; 49 50 enum : DWORD { 51 INTERNET_KEEP_ALIVE_UNKNOWN = DWORD.max, 52 INTERNET_KEEP_ALIVE_DISABLED = 0, 53 INTERNET_KEEP_ALIVE_ENABLED 54 } 55 56 enum { 57 INTERNET_REQFLAG_FROM_CACHE = 0x00000001, 58 INTERNET_REQFLAG_ASYNC = 0x00000002, 59 INTERNET_REQFLAG_VIA_PROXY = 0x00000004, 60 INTERNET_REQFLAG_NO_HEADERS = 0x00000008, 61 INTERNET_REQFLAG_PASSIVE = 0x00000010, 62 INTERNET_REQFLAG_CACHE_WRITE_DISABLED = 0x00000040, 63 INTERNET_REQFLAG_NET_TIMEOUT = 0x00000080, 64 } 65 66 enum { 67 INTERNET_FLAG_IDN_DIRECT = 0x00000001, 68 INTERNET_FLAG_IDN_PROXY = 0x00000002 69 } 70 71 enum DWORD 72 INTERNET_FLAG_RELOAD = 0x80000000, 73 INTERNET_FLAG_RAW_DATA = 0x40000000, 74 INTERNET_FLAG_EXISTING_CONNECT = 0x20000000, 75 INTERNET_FLAG_ASYNC = 0x10000000, 76 INTERNET_FLAG_PASSIVE = 0x08000000, 77 INTERNET_FLAG_NO_CACHE_WRITE = 0x04000000, 78 INTERNET_FLAG_DONT_CACHE = INTERNET_FLAG_NO_CACHE_WRITE, 79 INTERNET_FLAG_MAKE_PERSISTENT = 0x02000000, 80 INTERNET_FLAG_FROM_CACHE = 0x01000000, 81 INTERNET_FLAG_OFFLINE = INTERNET_FLAG_FROM_CACHE, 82 INTERNET_FLAG_SECURE = 0x00800000, 83 INTERNET_FLAG_KEEP_CONNECTION = 0x00400000, 84 INTERNET_FLAG_NO_AUTO_REDIRECT = 0x00200000, 85 INTERNET_FLAG_READ_PREFETCH = 0x00100000, 86 INTERNET_FLAG_NO_COOKIES = 0x00080000, 87 INTERNET_FLAG_NO_AUTH = 0x00040000, 88 INTERNET_FLAG_RESTRICTED_ZONE = 0x00020000, 89 INTERNET_FLAG_CACHE_IF_NET_FAIL = 0x00010000, 90 INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP = 0x00008000, 91 INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS = 0x00004000, 92 INTERNET_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000, 93 INTERNET_FLAG_IGNORE_CERT_CN_INVALID = 0x00001000, 94 INTERNET_FLAG_RESYNCHRONIZE = 0x00000800, 95 INTERNET_FLAG_HYPERLINK = 0x00000400, 96 INTERNET_FLAG_NO_UI = 0x00000200, 97 INTERNET_FLAG_PRAGMA_NOCACHE = 0x00000100, 98 INTERNET_FLAG_CACHE_ASYNC = 0x00000080, 99 INTERNET_FLAG_FORMS_SUBMIT = 0x00000040, 100 INTERNET_FLAG_FWD_BACK = 0x00000020, 101 INTERNET_FLAG_NEED_FILE = 0x00000010, 102 INTERNET_FLAG_MUST_CACHE_REQUEST = INTERNET_FLAG_NEED_FILE, 103 INTERNET_FLAG_TRANSFER_ASCII = FTP_TRANSFER_TYPE_ASCII, 104 INTERNET_FLAG_TRANSFER_BINARY = FTP_TRANSFER_TYPE_BINARY, 105 106 SECURITY_INTERNET_MASK = INTERNET_FLAG_IGNORE_CERT_CN_INVALID | 107 INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | 108 INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | 109 INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP, 110 111 SECURITY_SET_MASK = SECURITY_INTERNET_MASK, 112 113 INTERNET_FLAGS_MASK = INTERNET_FLAG_RELOAD 114 | INTERNET_FLAG_RAW_DATA 115 | INTERNET_FLAG_EXISTING_CONNECT 116 | INTERNET_FLAG_ASYNC 117 | INTERNET_FLAG_PASSIVE 118 | INTERNET_FLAG_NO_CACHE_WRITE 119 | INTERNET_FLAG_MAKE_PERSISTENT 120 | INTERNET_FLAG_FROM_CACHE 121 | INTERNET_FLAG_SECURE 122 | INTERNET_FLAG_KEEP_CONNECTION 123 | INTERNET_FLAG_NO_AUTO_REDIRECT 124 | INTERNET_FLAG_READ_PREFETCH 125 | INTERNET_FLAG_NO_COOKIES 126 | INTERNET_FLAG_NO_AUTH 127 | INTERNET_FLAG_CACHE_IF_NET_FAIL 128 | SECURITY_INTERNET_MASK 129 | INTERNET_FLAG_RESYNCHRONIZE 130 | INTERNET_FLAG_HYPERLINK 131 | INTERNET_FLAG_NO_UI 132 | INTERNET_FLAG_PRAGMA_NOCACHE 133 | INTERNET_FLAG_CACHE_ASYNC 134 | INTERNET_FLAG_FORMS_SUBMIT 135 | INTERNET_FLAG_NEED_FILE 136 | INTERNET_FLAG_RESTRICTED_ZONE 137 | INTERNET_FLAG_TRANSFER_BINARY 138 | INTERNET_FLAG_TRANSFER_ASCII 139 | INTERNET_FLAG_FWD_BACK 140 | INTERNET_FLAG_BGUPDATE, 141 142 INTERNET_ERROR_MASK_INSERT_CDROM = 0x1, 143 INTERNET_ERROR_MASK_COMBINED_SEC_CERT = 0x2, 144 INTERNET_ERROR_MASK_NEED_MSN_SSPI_PKG = 0X4, 145 INTERNET_ERROR_MASK_LOGIN_FAILURE_DISPLAY_ENTITY_BODY = 0x8, 146 147 INTERNET_OPTIONS_MASK = ~INTERNET_FLAGS_MASK; 148 149 enum INTERNET_NO_CALLBACK = 0; 150 enum INTERNET_RFC1123_FORMAT = 0; 151 enum size_t INTERNET_RFC1123_BUFSIZE = 30; 152 153 enum DWORD 154 ICU_ESCAPE = 0x80000000, 155 ICU_USERNAME = 0x40000000, 156 ICU_NO_ENCODE = 0x20000000, 157 ICU_DECODE = 0x10000000, 158 ICU_NO_META = 0x08000000, 159 ICU_ENCODE_SPACES_ONLY = 0x04000000, 160 ICU_BROWSER_MODE = 0x02000000; 161 162 enum { 163 INTERNET_OPEN_TYPE_PRECONFIG = 0, 164 INTERNET_OPEN_TYPE_DIRECT = 1, 165 INTERNET_OPEN_TYPE_PROXY = 3, 166 PRE_CONFIG_INTERNET_ACCESS = INTERNET_OPEN_TYPE_PRECONFIG, 167 LOCAL_INTERNET_ACCESS = INTERNET_OPEN_TYPE_DIRECT, 168 GATEWAY_INTERNET_ACCESS = 2, 169 CERN_PROXY_INTERNET_ACCESS = INTERNET_OPEN_TYPE_PROXY, 170 } 171 172 enum ISO_GLOBAL = 1; 173 enum ISO_REGISTRY = 2; 174 enum ISO_VALID_FLAGS = ISO_GLOBAL | ISO_REGISTRY; 175 176 enum { 177 INTERNET_OPTION_CALLBACK = 1, 178 INTERNET_OPTION_CONNECT_TIMEOUT, 179 INTERNET_OPTION_CONNECT_RETRIES, 180 INTERNET_OPTION_CONNECT_BACKOFF, 181 INTERNET_OPTION_SEND_TIMEOUT, 182 INTERNET_OPTION_CONTROL_SEND_TIMEOUT = INTERNET_OPTION_SEND_TIMEOUT, 183 INTERNET_OPTION_RECEIVE_TIMEOUT, 184 INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT = INTERNET_OPTION_RECEIVE_TIMEOUT, 185 INTERNET_OPTION_DATA_SEND_TIMEOUT, 186 INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, 187 INTERNET_OPTION_HANDLE_TYPE = 9, 188 INTERNET_OPTION_LISTEN_TIMEOUT = 11, 189 INTERNET_OPTION_READ_BUFFER_SIZE, 190 INTERNET_OPTION_WRITE_BUFFER_SIZE, // = 13 191 INTERNET_OPTION_ASYNC_ID = 15, 192 INTERNET_OPTION_ASYNC_PRIORITY, // = 16 193 INTERNET_OPTION_PARENT_HANDLE = 21, 194 INTERNET_OPTION_KEEP_CONNECTION, 195 INTERNET_OPTION_REQUEST_FLAGS, 196 INTERNET_OPTION_EXTENDED_ERROR, // = 24 197 INTERNET_OPTION_OFFLINE_MODE = 26, 198 INTERNET_OPTION_CACHE_STREAM_HANDLE, 199 INTERNET_OPTION_USERNAME, 200 INTERNET_OPTION_PASSWORD, 201 INTERNET_OPTION_ASYNC, 202 INTERNET_OPTION_SECURITY_FLAGS, 203 INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT, 204 INTERNET_OPTION_DATAFILE_NAME, 205 INTERNET_OPTION_URL, 206 INTERNET_OPTION_SECURITY_CERTIFICATE, 207 INTERNET_OPTION_SECURITY_KEY_BITNESS, 208 INTERNET_OPTION_REFRESH, 209 INTERNET_OPTION_PROXY, 210 INTERNET_OPTION_SETTINGS_CHANGED, 211 INTERNET_OPTION_VERSION, 212 INTERNET_OPTION_USER_AGENT, 213 INTERNET_OPTION_END_BROWSER_SESSION, 214 INTERNET_OPTION_PROXY_USERNAME, 215 INTERNET_OPTION_PROXY_PASSWORD, // = 44 216 INTERNET_OPTION_CONTEXT_VALUE = 45, 217 INTERNET_OPTION_CONNECT_LIMIT = 46, 218 INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT= 47, 219 INTERNET_OPTION_POLICY = 48, 220 INTERNET_OPTION_DISCONNECTED_TIMEOUT = 49, 221 INTERNET_OPTION_CONNECTED_STATE = 50, 222 INTERNET_OPTION_IDLE_STATE = 51, 223 INTERNET_OPTION_OFFLINE_SEMANTICS = 52, 224 INTERNET_OPTION_SECONDARY_CACHE_KEY = 53, 225 INTERNET_OPTION_CALLBACK_FILTER = 54, 226 INTERNET_OPTION_CONNECT_TIME = 55, 227 INTERNET_OPTION_SEND_THROUGHPUT = 56, 228 INTERNET_OPTION_RECEIVE_THROUGHPUT = 57, 229 INTERNET_OPTION_REQUEST_PRIORITY = 58, 230 INTERNET_OPTION_HTTP_VERSION = 59, 231 INTERNET_OPTION_RESET_URLCACHE_SESSION = 60, 232 INTERNET_OPTION_ERROR_MASK = 62, 233 INTERNET_OPTION_FROM_CACHE_TIMEOUT = 63, 234 INTERNET_OPTION_BYPASS_EDITED_ENTRY = 64, 235 INTERNET_OPTION_HTTP_DECODING = 65, 236 INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO = 67, 237 INTERNET_OPTION_CODEPAGE = 68, 238 INTERNET_OPTION_CACHE_TIMESTAMPS = 69, 239 INTERNET_OPTION_DISABLE_AUTODIAL = 70, 240 INTERNET_OPTION_MAX_CONNS_PER_SERVER = 73, 241 INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER= 74, 242 INTERNET_OPTION_PER_CONNECTION_OPTION = 75, 243 INTERNET_OPTION_DIGEST_AUTH_UNLOAD = 76, 244 INTERNET_OPTION_IGNORE_OFFLINE = 77, 245 INTERNET_OPTION_IDENTITY = 78, 246 INTERNET_OPTION_REMOVE_IDENTITY = 79, 247 INTERNET_OPTION_ALTER_IDENTITY = 80, 248 INTERNET_OPTION_SUPPRESS_BEHAVIOR = 81, 249 INTERNET_OPTION_AUTODIAL_MODE = 82, 250 INTERNET_OPTION_AUTODIAL_CONNECTION = 83, 251 INTERNET_OPTION_CLIENT_CERT_CONTEXT = 84, 252 INTERNET_OPTION_AUTH_FLAGS = 85, 253 INTERNET_OPTION_COOKIES_3RD_PARTY = 86, 254 INTERNET_OPTION_DISABLE_PASSPORT_AUTH = 87, 255 INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY = 88, 256 INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT = 89, 257 INTERNET_OPTION_ENABLE_PASSPORT_AUTH = 90, 258 INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS = 91, 259 INTERNET_OPTION_ACTIVATE_WORKER_THREADS = 92, 260 INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS = 93, 261 INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH = 94, 262 INTERNET_OPTION_PROXY_SETTINGS_CHANGED = 95, 263 INTERNET_OPTION_DATAFILE_EXT = 96, 264 INTERNET_OPTION_CODEPAGE_PATH = 100, 265 INTERNET_OPTION_CODEPAGE_EXTRA = 101, 266 INTERNET_OPTION_IDN = 102, 267 INTERNET_OPTION_MAX_CONNS_PER_PROXY = 103, 268 INTERNET_OPTION_SUPPRESS_SERVER_AUTH = 104, 269 INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT = 105, 270 INTERNET_OPTION_ENABLE_REDIRECT_CACHE_READ = 122, 271 INTERNET_OPTION_COMPRESSED_CONTENT_LENGTH = 147, 272 INTERNET_OPTION_ENABLE_HTTP_PROTOCOL = 148, 273 INTERNET_OPTION_HTTP_PROTOCOL_USED = 149, 274 INTERNET_OPTION_ENCODE_EXTRA = 155, 275 INTERNET_OPTION_HSTS = 157, 276 INTERNET_OPTION_ENTERPRISE_CONTEXT = 159, 277 INTERNET_OPTION_CONNECTION_FILTER = 162, 278 INTERNET_OPTION_REFERER_TOKEN_BINDING_HOSTNAME = 163, 279 INTERNET_OPTION_TOKEN_BINDING_PUBLIC_KEY = 181, 280 INTERNET_OPTION_COOKIES_SAME_SITE_LEVEL = 187, 281 INTERNET_FIRST_OPTION = INTERNET_OPTION_CALLBACK, 282 INTERNET_LAST_OPTION = INTERNET_OPTION_COOKIES_SAME_SITE_LEVEL, 283 } 284 285 enum INTERNET_PRIORITY_FOREGROUND = 1000; 286 287 enum { 288 INTERNET_HANDLE_TYPE_INTERNET = 1, 289 INTERNET_HANDLE_TYPE_CONNECT_FTP, 290 INTERNET_HANDLE_TYPE_CONNECT_GOPHER, 291 INTERNET_HANDLE_TYPE_CONNECT_HTTP, 292 INTERNET_HANDLE_TYPE_FTP_FIND, 293 INTERNET_HANDLE_TYPE_FTP_FIND_HTML, 294 INTERNET_HANDLE_TYPE_FTP_FILE, 295 INTERNET_HANDLE_TYPE_FTP_FILE_HTML, 296 INTERNET_HANDLE_TYPE_GOPHER_FIND, 297 INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML, 298 INTERNET_HANDLE_TYPE_GOPHER_FILE, 299 INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML, 300 INTERNET_HANDLE_TYPE_HTTP_REQUEST 301 } 302 303 enum DWORD 304 SECURITY_FLAG_SECURE = 0x00000001, 305 SECURITY_FLAG_SSL = 0x00000002, 306 SECURITY_FLAG_SSL3 = 0x00000004, 307 SECURITY_FLAG_PCT = 0x00000008, 308 SECURITY_FLAG_PCT4 = 0x00000010, 309 SECURITY_FLAG_IETFSSL4 = 0x00000020, 310 SECURITY_FLAG_IGNORE_REVOCATION = 0x00000080, 311 SECURITY_FLAG_IGNORE_UNKNOWN_CA = 0x00000100, 312 SECURITY_FLAG_IGNORE_WRONG_USAGE = 0x00000200, 313 SECURITY_FLAG_40BIT = 0x10000000, 314 SECURITY_FLAG_128BIT = 0x20000000, 315 SECURITY_FLAG_56BIT = 0x40000000, 316 SECURITY_FLAG_UNKNOWNBIT = 0x80000000, 317 SECURITY_FLAG_NORMALBITNESS = SECURITY_FLAG_40BIT, 318 SECURITY_FLAG_IGNORE_CERT_CN_INVALID = INTERNET_FLAG_IGNORE_CERT_CN_INVALID, 319 SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = INTERNET_FLAG_IGNORE_CERT_DATE_INVALID, 320 SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS, 321 SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP; 322 323 enum { 324 INTERNET_SERVICE_FTP = 1, 325 INTERNET_SERVICE_GOPHER, 326 INTERNET_SERVICE_HTTP 327 } 328 329 enum { 330 INTERNET_STATUS_RESOLVING_NAME = 10, 331 INTERNET_STATUS_NAME_RESOLVED = 11, 332 INTERNET_STATUS_CONNECTING_TO_SERVER = 20, 333 INTERNET_STATUS_CONNECTED_TO_SERVER = 21, 334 INTERNET_STATUS_SENDING_REQUEST = 30, 335 INTERNET_STATUS_REQUEST_SENT = 31, 336 INTERNET_STATUS_RECEIVING_RESPONSE = 40, 337 INTERNET_STATUS_RESPONSE_RECEIVED = 41, 338 INTERNET_STATUS_CTL_RESPONSE_RECEIVED = 42, 339 INTERNET_STATUS_PREFETCH = 43, 340 INTERNET_STATUS_CLOSING_CONNECTION = 50, 341 INTERNET_STATUS_CONNECTION_CLOSED = 51, 342 INTERNET_STATUS_HANDLE_CREATED = 60, 343 INTERNET_STATUS_HANDLE_CLOSING = 70, 344 INTERNET_STATUS_REQUEST_COMPLETE = 100, 345 INTERNET_STATUS_REDIRECT = 110 346 } 347 348 enum { 349 FTP_TRANSFER_TYPE_UNKNOWN = 0, 350 FTP_TRANSFER_TYPE_ASCII = 1, 351 FTP_TRANSFER_TYPE_BINARY = 2, 352 FTP_TRANSFER_TYPE_MASK = 3 353 } 354 355 enum size_t 356 MAX_GOPHER_DISPLAY_TEXT = 128, 357 MAX_GOPHER_SELECTOR_TEXT = 256, 358 MAX_GOPHER_HOST_NAME = INTERNET_MAX_HOST_NAME_LENGTH, 359 MAX_GOPHER_LOCATOR_LENGTH 360 = 1 + MAX_GOPHER_DISPLAY_TEXT + 1 + MAX_GOPHER_SELECTOR_TEXT + 1 361 + MAX_GOPHER_HOST_NAME + 1 + INTERNET_MAX_PORT_NUMBER_LENGTH + 4; 362 363 enum DWORD 364 GOPHER_TYPE_TEXT_FILE = 0x00000001, 365 GOPHER_TYPE_DIRECTORY = 0x00000002, 366 GOPHER_TYPE_CSO = 0x00000004, 367 GOPHER_TYPE_ERROR = 0x00000008, 368 GOPHER_TYPE_MAC_BINHEX = 0x00000010, 369 GOPHER_TYPE_DOS_ARCHIVE = 0x00000020, 370 GOPHER_TYPE_UNIX_UUENCODED = 0x00000040, 371 GOPHER_TYPE_INDEX_SERVER = 0x00000080, 372 GOPHER_TYPE_TELNET = 0x00000100, 373 GOPHER_TYPE_BINARY = 0x00000200, 374 GOPHER_TYPE_REDUNDANT = 0x00000400, 375 GOPHER_TYPE_TN3270 = 0x00000800, 376 GOPHER_TYPE_GIF = 0x00001000, 377 GOPHER_TYPE_IMAGE = 0x00002000, 378 GOPHER_TYPE_BITMAP = 0x00004000, 379 GOPHER_TYPE_MOVIE = 0x00008000, 380 GOPHER_TYPE_SOUND = 0x00010000, 381 GOPHER_TYPE_HTML = 0x00020000, 382 GOPHER_TYPE_PDF = 0x00040000, 383 GOPHER_TYPE_CALENDAR = 0x00080000, 384 GOPHER_TYPE_INLINE = 0x00100000, 385 GOPHER_TYPE_UNKNOWN = 0x20000000, 386 GOPHER_TYPE_ASK = 0x40000000, 387 GOPHER_TYPE_GOPHER_PLUS = 0x80000000, 388 GOPHER_TYPE_FILE_MASK = 0x001FF271; 389 390 BOOL IS_GOPHER_FILE()(DWORD t) { 391 return !!(t & GOPHER_TYPE_FILE_MASK); 392 } 393 394 BOOL IS_GOPHER_DIRECTORY()(DWORD t) { 395 return !!(t & GOPHER_TYPE_DIRECTORY); 396 } 397 398 BOOL IS_GOPHER_PHONE_SERVER()(DWORD t) { 399 return !!(t & GOPHER_TYPE_CSO); 400 } 401 402 BOOL IS_GOPHER_ERROR()(DWORD t) { 403 return !!(t & GOPHER_TYPE_ERROR); 404 } 405 406 BOOL IS_GOPHER_INDEX_SERVER()(DWORD t) { 407 return !!(t & GOPHER_TYPE_INDEX_SERVER); 408 } 409 410 BOOL IS_GOPHER_TELNET_SESSION()(DWORD t) { 411 return !!(t & GOPHER_TYPE_TELNET); 412 } 413 414 BOOL IS_GOPHER_BACKUP_SERVER()(DWORD t) { 415 return !!(t & GOPHER_TYPE_REDUNDANT); 416 } 417 418 BOOL IS_GOPHER_TN3270_SESSION()(DWORD t) { 419 return !!(t & GOPHER_TYPE_TN3270); 420 } 421 422 BOOL IS_GOPHER_ASK()(DWORD t) { 423 return !!(t & GOPHER_TYPE_ASK); 424 } 425 426 BOOL IS_GOPHER_PLUS()(DWORD t) { 427 return !!(t & GOPHER_TYPE_GOPHER_PLUS); 428 } 429 430 BOOL IS_GOPHER_TYPE_KNOWN()(DWORD t) { 431 return !(t & GOPHER_TYPE_UNKNOWN); 432 } 433 434 enum size_t 435 MAX_GOPHER_CATEGORY_NAME = 128, 436 MAX_GOPHER_ATTRIBUTE_NAME = 128, 437 MIN_GOPHER_ATTRIBUTE_LENGTH = 256; 438 439 const TCHAR[] 440 GOPHER_INFO_CATEGORY = "+INFO", 441 GOPHER_ADMIN_CATEGORY = "+ADMIN", 442 GOPHER_VIEWS_CATEGORY = "+VIEWS", 443 GOPHER_ABSTRACT_CATEGORY = "+ABSTRACT", 444 GOPHER_VERONICA_CATEGORY = "+VERONICA", 445 GOPHER_ADMIN_ATTRIBUTE = "Admin", 446 GOPHER_MOD_DATE_ATTRIBUTE = "Mod-Date", 447 GOPHER_TTL_ATTRIBUTE = "TTL", 448 GOPHER_SCORE_ATTRIBUTE = "Score", 449 GOPHER_RANGE_ATTRIBUTE = "Score-range", 450 GOPHER_SITE_ATTRIBUTE = "Site", 451 GOPHER_ORG_ATTRIBUTE = "Org", 452 GOPHER_LOCATION_ATTRIBUTE = "Loc", 453 GOPHER_GEOG_ATTRIBUTE = "Geog", 454 GOPHER_TIMEZONE_ATTRIBUTE = "TZ", 455 GOPHER_PROVIDER_ATTRIBUTE = "Provider", 456 GOPHER_VERSION_ATTRIBUTE = "Version", 457 GOPHER_ABSTRACT_ATTRIBUTE = "Abstract", 458 GOPHER_VIEW_ATTRIBUTE = "View", 459 GOPHER_TREEWALK_ATTRIBUTE = "treewalk"; 460 461 enum : DWORD { 462 GOPHER_ATTRIBUTE_ID_BASE = 0xABCCCC00, 463 GOPHER_CATEGORY_ID_ALL, 464 GOPHER_CATEGORY_ID_INFO, 465 GOPHER_CATEGORY_ID_ADMIN, 466 GOPHER_CATEGORY_ID_VIEWS, 467 GOPHER_CATEGORY_ID_ABSTRACT, 468 GOPHER_CATEGORY_ID_VERONICA, 469 GOPHER_CATEGORY_ID_ASK, 470 GOPHER_CATEGORY_ID_UNKNOWN, 471 GOPHER_ATTRIBUTE_ID_ALL, 472 GOPHER_ATTRIBUTE_ID_ADMIN, 473 GOPHER_ATTRIBUTE_ID_MOD_DATE, 474 GOPHER_ATTRIBUTE_ID_TTL, 475 GOPHER_ATTRIBUTE_ID_SCORE, 476 GOPHER_ATTRIBUTE_ID_RANGE, 477 GOPHER_ATTRIBUTE_ID_SITE, 478 GOPHER_ATTRIBUTE_ID_ORG, 479 GOPHER_ATTRIBUTE_ID_LOCATION, 480 GOPHER_ATTRIBUTE_ID_GEOG, 481 GOPHER_ATTRIBUTE_ID_TIMEZONE, 482 GOPHER_ATTRIBUTE_ID_PROVIDER, 483 GOPHER_ATTRIBUTE_ID_VERSION, 484 GOPHER_ATTRIBUTE_ID_ABSTRACT, 485 GOPHER_ATTRIBUTE_ID_VIEW, 486 GOPHER_ATTRIBUTE_ID_TREEWALK, 487 GOPHER_ATTRIBUTE_ID_UNKNOWN 488 } 489 490 enum HTTP_MAJOR_VERSION = 1; 491 enum HTTP_MINOR_VERSION = 0; 492 const TCHAR[] HTTP_VERSION = "HTTP/1.0"; 493 494 enum : DWORD { 495 HTTP_QUERY_MIME_VERSION, 496 HTTP_QUERY_CONTENT_TYPE, 497 HTTP_QUERY_CONTENT_TRANSFER_ENCODING, 498 HTTP_QUERY_CONTENT_ID, 499 HTTP_QUERY_CONTENT_DESCRIPTION, 500 HTTP_QUERY_CONTENT_LENGTH, 501 HTTP_QUERY_CONTENT_LANGUAGE, 502 HTTP_QUERY_ALLOW, 503 HTTP_QUERY_PUBLIC, 504 HTTP_QUERY_DATE, 505 HTTP_QUERY_EXPIRES, 506 HTTP_QUERY_LAST_MODIFIED, 507 HTTP_QUERY_MESSAGE_ID, 508 HTTP_QUERY_URI, 509 HTTP_QUERY_DERIVED_FROM, 510 HTTP_QUERY_COST, 511 HTTP_QUERY_LINK, 512 HTTP_QUERY_PRAGMA, 513 HTTP_QUERY_VERSION, 514 HTTP_QUERY_STATUS_CODE, 515 HTTP_QUERY_STATUS_TEXT, 516 HTTP_QUERY_RAW_HEADERS, 517 HTTP_QUERY_RAW_HEADERS_CRLF, 518 HTTP_QUERY_CONNECTION, 519 HTTP_QUERY_ACCEPT, 520 HTTP_QUERY_ACCEPT_CHARSET, 521 HTTP_QUERY_ACCEPT_ENCODING, 522 HTTP_QUERY_ACCEPT_LANGUAGE, 523 HTTP_QUERY_AUTHORIZATION, 524 HTTP_QUERY_CONTENT_ENCODING, 525 HTTP_QUERY_FORWARDED, 526 HTTP_QUERY_FROM, 527 HTTP_QUERY_IF_MODIFIED_SINCE, 528 HTTP_QUERY_LOCATION, 529 HTTP_QUERY_ORIG_URI, 530 HTTP_QUERY_REFERER, 531 HTTP_QUERY_RETRY_AFTER, 532 HTTP_QUERY_SERVER, 533 HTTP_QUERY_TITLE, 534 HTTP_QUERY_USER_AGENT, 535 HTTP_QUERY_WWW_AUTHENTICATE, 536 HTTP_QUERY_PROXY_AUTHENTICATE, 537 HTTP_QUERY_ACCEPT_RANGES, 538 HTTP_QUERY_SET_COOKIE, 539 HTTP_QUERY_COOKIE, 540 HTTP_QUERY_REQUEST_METHOD, 541 HTTP_QUERY_MAX = 45, 542 HTTP_QUERY_CUSTOM = 65535 543 } 544 545 enum DWORD 546 HTTP_QUERY_FLAG_REQUEST_HEADERS = 0x80000000, 547 HTTP_QUERY_FLAG_SYSTEMTIME = 0x40000000, 548 HTTP_QUERY_FLAG_NUMBER = 0x20000000, 549 HTTP_QUERY_FLAG_COALESCE = 0x10000000, 550 HTTP_QUERY_MODIFIER_FLAGS_MASK = 0xF0000000, 551 HTTP_QUERY_HEADER_MASK = ~HTTP_QUERY_MODIFIER_FLAGS_MASK; 552 553 enum { 554 HTTP_STATUS_OK = 200, 555 HTTP_STATUS_CREATED, 556 HTTP_STATUS_ACCEPTED, 557 HTTP_STATUS_PARTIAL, 558 HTTP_STATUS_NO_CONTENT, // = 204 559 HTTP_STATUS_AMBIGUOUS = 300, 560 HTTP_STATUS_MOVED, 561 HTTP_STATUS_REDIRECT, 562 HTTP_STATUS_REDIRECT_METHOD, 563 HTTP_STATUS_NOT_MODIFIED, // = 304 564 HTTP_STATUS_BAD_REQUEST = 400, 565 HTTP_STATUS_DENIED, 566 HTTP_STATUS_PAYMENT_REQ, 567 HTTP_STATUS_FORBIDDEN, 568 HTTP_STATUS_NOT_FOUND, 569 HTTP_STATUS_BAD_METHOD, 570 HTTP_STATUS_NONE_ACCEPTABLE, 571 HTTP_STATUS_PROXY_AUTH_REQ, 572 HTTP_STATUS_REQUEST_TIMEOUT, 573 HTTP_STATUS_CONFLICT, 574 HTTP_STATUS_GONE, 575 HTTP_STATUS_AUTH_REFUSED, // = 411 576 HTTP_STATUS_SERVER_ERROR = 500, 577 HTTP_STATUS_NOT_SUPPORTED, 578 HTTP_STATUS_BAD_GATEWAY, 579 HTTP_STATUS_SERVICE_UNAVAIL, 580 HTTP_STATUS_GATEWAY_TIMEOUT // = 504 581 } 582 583 enum { 584 INTERNET_PREFETCH_PROGRESS, 585 INTERNET_PREFETCH_COMPLETE, 586 INTERNET_PREFETCH_ABORTED 587 } 588 589 enum FLAGS_ERROR_UI_FILTER_FOR_ERRORS = 0x01; 590 enum FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS = 0x02; 591 enum FLAGS_ERROR_UI_FLAGS_GENERATE_DATA = 0x04; 592 enum FLAGS_ERROR_UI_FLAGS_NO_UI = 0x08; 593 594 enum DWORD 595 HTTP_ADDREQ_INDEX_MASK = 0x0000FFFF, 596 HTTP_ADDREQ_FLAGS_MASK = 0xFFFF0000, 597 HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON = 0x01000000, 598 HTTP_ADDREQ_FLAG_ADD_IF_NEW = 0x10000000, 599 HTTP_ADDREQ_FLAG_ADD = 0x20000000, 600 HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA = 0x40000000, 601 HTTP_ADDREQ_FLAG_COALESCE = HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA, 602 HTTP_ADDREQ_FLAG_REPLACE = 0x80000000; 603 604 enum { 605 INTERNET_ERROR_BASE = 12000, 606 ERROR_INTERNET_OUT_OF_HANDLES, 607 ERROR_INTERNET_TIMEOUT, 608 ERROR_INTERNET_EXTENDED_ERROR, 609 ERROR_INTERNET_INTERNAL_ERROR, 610 ERROR_INTERNET_INVALID_URL, 611 ERROR_INTERNET_UNRECOGNIZED_SCHEME, 612 ERROR_INTERNET_NAME_NOT_RESOLVED, 613 ERROR_INTERNET_PROTOCOL_NOT_FOUND, 614 ERROR_INTERNET_INVALID_OPTION, 615 ERROR_INTERNET_BAD_OPTION_LENGTH, 616 ERROR_INTERNET_OPTION_NOT_SETTABLE, 617 ERROR_INTERNET_SHUTDOWN, 618 ERROR_INTERNET_INCORRECT_USER_NAME, 619 ERROR_INTERNET_INCORRECT_PASSWORD, 620 ERROR_INTERNET_LOGIN_FAILURE, 621 ERROR_INTERNET_INVALID_OPERATION, 622 ERROR_INTERNET_OPERATION_CANCELLED, 623 ERROR_INTERNET_INCORRECT_HANDLE_TYPE, 624 ERROR_INTERNET_INCORRECT_HANDLE_STATE, 625 ERROR_INTERNET_NOT_PROXY_REQUEST, 626 ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND, 627 ERROR_INTERNET_BAD_REGISTRY_PARAMETER, 628 ERROR_INTERNET_NO_DIRECT_ACCESS, 629 ERROR_INTERNET_NO_CONTEXT, 630 ERROR_INTERNET_NO_CALLBACK, 631 ERROR_INTERNET_REQUEST_PENDING, 632 ERROR_INTERNET_INCORRECT_FORMAT, 633 ERROR_INTERNET_ITEM_NOT_FOUND, 634 ERROR_INTERNET_CANNOT_CONNECT, 635 ERROR_INTERNET_CONNECTION_ABORTED, 636 ERROR_INTERNET_CONNECTION_RESET, 637 ERROR_INTERNET_FORCE_RETRY, 638 ERROR_INTERNET_INVALID_PROXY_REQUEST, 639 ERROR_INTERNET_NEED_UI, // = INTERNET_ERROR_BASE + 34 640 ERROR_INTERNET_HANDLE_EXISTS = INTERNET_ERROR_BASE + 36, 641 ERROR_INTERNET_SEC_CERT_DATE_INVALID, 642 ERROR_INTERNET_SEC_CERT_CN_INVALID, 643 ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR, 644 ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR, 645 ERROR_INTERNET_MIXED_SECURITY, 646 ERROR_INTERNET_CHG_POST_IS_NON_SECURE, 647 ERROR_INTERNET_POST_IS_NON_SECURE, 648 ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED, 649 ERROR_INTERNET_INVALID_CA, 650 ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP, 651 ERROR_INTERNET_ASYNC_THREAD_FAILED, 652 ERROR_INTERNET_REDIRECT_SCHEME_CHANGE, // = INTERNET_ERROR_BASE + 48 653 654 ERROR_FTP_TRANSFER_IN_PROGRESS = INTERNET_ERROR_BASE + 110, 655 ERROR_FTP_DROPPED, // = INTERNET_ERROR_BASE + 111 656 ERROR_GOPHER_PROTOCOL_ERROR = INTERNET_ERROR_BASE + 130, 657 ERROR_GOPHER_NOT_FILE, 658 ERROR_GOPHER_DATA_ERROR, 659 ERROR_GOPHER_END_OF_DATA, 660 ERROR_GOPHER_INVALID_LOCATOR, 661 ERROR_GOPHER_INCORRECT_LOCATOR_TYPE, 662 ERROR_GOPHER_NOT_GOPHER_PLUS, 663 ERROR_GOPHER_ATTRIBUTE_NOT_FOUND, 664 ERROR_GOPHER_UNKNOWN_LOCATOR, // = INTERNET_ERROR_BASE + 138, 665 ERROR_HTTP_HEADER_NOT_FOUND = INTERNET_ERROR_BASE + 150, 666 ERROR_HTTP_DOWNLEVEL_SERVER, 667 ERROR_HTTP_INVALID_SERVER_RESPONSE, 668 ERROR_HTTP_INVALID_HEADER, 669 ERROR_HTTP_INVALID_QUERY_REQUEST, 670 ERROR_HTTP_HEADER_ALREADY_EXISTS, 671 ERROR_HTTP_REDIRECT_FAILED, 672 ERROR_INTERNET_SECURITY_CHANNEL_ERROR, 673 ERROR_INTERNET_UNABLE_TO_CACHE_FILE, 674 ERROR_INTERNET_TCPIP_NOT_INSTALLED, 675 ERROR_HTTP_NOT_REDIRECTED, // = INTERNET_ERROR_BASE + 160 676 // why? 677 INTERNET_ERROR_LAST = ERROR_INTERNET_TCPIP_NOT_INSTALLED 678 } 679 680 681 enum NORMAL_CACHE_ENTRY = 0x000001; 682 enum STABLE_CACHE_ENTRY = 0x000002; 683 enum STICKY_CACHE_ENTRY = 0x000004; 684 enum SPARSE_CACHE_ENTRY = 0x010000; 685 enum OCX_CACHE_ENTRY = 0x020000; 686 enum COOKIE_CACHE_ENTRY = 0x100000; 687 enum URLHISTORY_CACHE_ENTRY = 0x200000; 688 689 enum CACHE_ENTRY_ATTRIBUTE_FC = 0x0004; 690 enum CACHE_ENTRY_HITRATE_FC = 0x0010; 691 enum CACHE_ENTRY_MODTIME_FC = 0x0040; 692 enum CACHE_ENTRY_EXPTIME_FC = 0x0080; 693 enum CACHE_ENTRY_ACCTIME_FC = 0x0100; 694 enum CACHE_ENTRY_SYNCTIME_FC = 0x0200; 695 enum CACHE_ENTRY_HEADERINFO_FC = 0x0400; 696 697 enum { 698 WININET_API_FLAG_ASYNC = 1, 699 WININET_API_FLAG_SYNC = 4, 700 WININET_API_FLAG_USE_CONTEXT = 8 701 } 702 703 // FIXME: how should these really be grouped? 704 enum { 705 IRF_ASYNC = WININET_API_FLAG_ASYNC, 706 IRF_SYNC = WININET_API_FLAG_SYNC, 707 IRF_USE_CONTEXT = WININET_API_FLAG_USE_CONTEXT, 708 } 709 enum IRF_NO_WAIT = 8; 710 711 enum { 712 HSR_ASYNC = WININET_API_FLAG_ASYNC, 713 HSR_SYNC = WININET_API_FLAG_SYNC, 714 HSR_USE_CONTEXT = WININET_API_FLAG_USE_CONTEXT, 715 } 716 717 enum HSR_INITIATE = 8; 718 enum HSR_DOWNLOAD = 16; 719 enum HSR_CHUNKED = 32; 720 721 enum INTERNET_DIAL_UNATTENDED = 0x8000; 722 enum INTERNET_DIALSTATE_DISCONNECTED = 1; 723 enum INTERENT_GOONLINE_REFRESH = 1; 724 enum INTERENT_GOONLINE_MASK = 1; 725 enum INTERNET_AUTODIAL_FORCE_ONLINE = 1; 726 enum INTERNET_AUTODIAL_FORCE_UNATTENDED = 2; 727 enum INTERNET_AUTODIAL_FAILIFSECURITYCHECK = 4; 728 enum INTERNET_CONNECTION_MODEM = 0x01; 729 enum INTERNET_CONNECTION_LAN = 0x02; 730 enum INTERNET_CONNECTION_PROXY = 0x04; 731 enum INTERNET_CONNECTION_MODEM_BUSY = 0x08; 732 enum INTERNET_RAS_INSTALLED = 0x10; 733 enum INTERNET_CONNECTION_OFFLINE = 0x20; 734 enum INTERNET_CONNECTION_CONFIGURED = 0x40; 735 736 enum { 737 CACHEGROUP_SEARCH_ALL = 0, 738 CACHEGROUP_SEARCH_BYURL = 1 739 } 740 741 enum { 742 INTERNET_CACHE_GROUP_ADD = 0, 743 INTERNET_CACHE_GROUP_REMOVE = 1 744 } 745 746 mixin DECLARE_HANDLE!("HINTERNET"); // doesn't work - bug 747 /*struct HINTERNET { 748 HANDLE h; 749 alias h this; 750 }*/ 751 alias HINTERNET* LPHINTERNET; 752 753 alias LONGLONG GROUPID; 754 alias WORD INTERNET_PORT; 755 alias WORD* LPINTERNET_PORT; 756 757 enum INTERNET_SCHEME { 758 INTERNET_SCHEME_PARTIAL = -2, 759 INTERNET_SCHEME_UNKNOWN, 760 INTERNET_SCHEME_DEFAULT, 761 INTERNET_SCHEME_FTP, 762 INTERNET_SCHEME_GOPHER, 763 INTERNET_SCHEME_HTTP, 764 INTERNET_SCHEME_HTTPS, 765 INTERNET_SCHEME_FILE, 766 INTERNET_SCHEME_NEWS, 767 INTERNET_SCHEME_MAILTO, 768 INTERNET_SCHEME_SOCKS, 769 INTERNET_SCHEME_JAVASCRIPT, 770 INTERNET_SCHEME_VBSCRIPT, 771 INTERNET_SCHEME_RES, 772 INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, 773 INTERNET_SCHEME_LAST = INTERNET_SCHEME_RES 774 } 775 alias INTERNET_SCHEME* LPINTERNET_SCHEME; 776 777 struct INTERNET_ASYNC_RESULT { 778 DWORD_PTR dwResult; 779 DWORD dwError; 780 } 781 alias INTERNET_ASYNC_RESULT* LPINTERNET_ASYNC_RESULT; 782 783 struct INTERNET_DIAGNOSTIC_SOCKET_INFO { 784 DWORD_PTR Socket; 785 DWORD SourcePort; 786 DWORD DestPort; 787 DWORD Flags; 788 } 789 alias INTERNET_DIAGNOSTIC_SOCKET_INFO* LPINTERNET_DIAGNOSTIC_SOCKET_INFO; 790 791 struct INTERNET_PREFETCH_STATUS { 792 DWORD dwStatus; 793 DWORD dwSize; 794 } 795 alias INTERNET_PREFETCH_STATUS* LPINTERNET_PREFETCH_STATUS; 796 797 struct INTERNET_PROXY_INFO { 798 DWORD dwAccessType; 799 LPCTSTR lpszProxy; 800 LPCTSTR lpszProxyBypass; 801 } 802 alias INTERNET_PROXY_INFO* LPINTERNET_PROXY_INFO; 803 804 struct INTERNET_PER_CONN_OPTIONA { 805 DWORD dwOption; 806 union { 807 DWORD dwValue; 808 LPSTR pszValue; 809 FILETIME ftValue; 810 } 811 } 812 alias INTERNET_PER_CONN_OPTIONA* LPINTERNET_PER_CONN_OPTIONA; 813 814 struct INTERNET_PER_CONN_OPTIONW { 815 DWORD dwOption; 816 union { 817 DWORD dwValue; 818 LPWSTR pszValue; 819 FILETIME ftValue; 820 } 821 } 822 alias INTERNET_PER_CONN_OPTIONW* LPINTERNET_PER_CONN_OPTIONW; 823 824 struct INTERNET_PER_CONN_OPTION_LISTA { 825 DWORD dwSize; 826 LPSTR pszConnection; 827 DWORD dwOptionCount; 828 DWORD dwOptionError; 829 LPINTERNET_PER_CONN_OPTIONA pOptions; 830 } 831 alias INTERNET_PER_CONN_OPTION_LISTA* LPINTERNET_PER_CONN_OPTION_LISTA; 832 833 struct INTERNET_PER_CONN_OPTION_LISTW { 834 DWORD dwSize; 835 LPWSTR pszConnection; 836 DWORD dwOptionCount; 837 DWORD dwOptionError; 838 LPINTERNET_PER_CONN_OPTIONW pOptions; 839 } 840 alias INTERNET_PER_CONN_OPTION_LISTW* LPINTERNET_PER_CONN_OPTION_LISTW; 841 842 enum { 843 INTERNET_PER_CONN_FLAGS = 1, 844 INTERNET_PER_CONN_PROXY_SERVER = 2, 845 INTERNET_PER_CONN_PROXY_BYPASS = 3, 846 INTERNET_PER_CONN_AUTOCONFIG_URL = 4, 847 INTERNET_PER_CONN_AUTODISCOVERY_FLAGS = 5, 848 INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL = 6, 849 INTERNET_PER_CONN_AUTOCONFIG_RELOAD_DELAY_MINS = 7, 850 INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_TIME = 8, 851 INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_URL = 9, 852 INTERNET_PER_CONN_FLAGS_UI = 10, 853 } 854 855 enum { 856 PROXY_TYPE_DIRECT = 0x00000001, 857 PROXY_TYPE_PROXY = 0x00000002, 858 PROXY_TYPE_AUTO_PROXY_URL = 0x00000004, 859 PROXY_TYPE_AUTO_DETECT = 0x00000008, 860 } 861 862 enum { 863 AUTO_PROXY_FLAG_USER_SET = 0x00000001, 864 AUTO_PROXY_FLAG_ALWAYS_DETECT = 0x00000002, 865 AUTO_PROXY_FLAG_DETECTION_RUN = 0x00000004, 866 AUTO_PROXY_FLAG_MIGRATED = 0x00000008, 867 AUTO_PROXY_FLAG_DONT_CACHE_PROXY_RESULT = 0x00000010, 868 AUTO_PROXY_FLAG_CACHE_INIT_RUN = 0x00000020, 869 AUTO_PROXY_FLAG_DETECTION_SUSPECT = 0x00000040, 870 } 871 872 struct INTERNET_VERSION_INFO { 873 DWORD dwMajorVersion; 874 DWORD dwMinorVersion; 875 } 876 alias INTERNET_VERSION_INFO* LPINTERNET_VERSION_INFO; 877 878 struct URL_COMPONENTSA { 879 DWORD dwStructSize = URL_COMPONENTSA.sizeof; 880 LPSTR lpszScheme; 881 DWORD dwSchemeLength; 882 INTERNET_SCHEME nScheme; 883 LPSTR lpszHostName; 884 DWORD dwHostNameLength; 885 INTERNET_PORT nPort; 886 LPSTR lpszUserName; 887 DWORD dwUserNameLength; 888 LPSTR lpszPassword; 889 DWORD dwPasswordLength; 890 LPSTR lpszUrlPath; 891 DWORD dwUrlPathLength; 892 LPSTR lpszExtraInfo; 893 DWORD dwExtraInfoLength; 894 } 895 alias URL_COMPONENTSA* LPURL_COMPONENTSA; 896 897 struct URL_COMPONENTSW { 898 DWORD dwStructSize = URL_COMPONENTSW.sizeof; 899 LPWSTR lpszScheme; 900 DWORD dwSchemeLength; 901 INTERNET_SCHEME nScheme; 902 LPWSTR lpszHostName; 903 DWORD dwHostNameLength; 904 INTERNET_PORT nPort; 905 LPWSTR lpszUserName; 906 DWORD dwUserNameLength; 907 LPWSTR lpszPassword; 908 DWORD dwPasswordLength; 909 LPWSTR lpszUrlPath; 910 DWORD dwUrlPathLength; 911 LPWSTR lpszExtraInfo; 912 DWORD dwExtraInfoLength; 913 } 914 alias URL_COMPONENTSW* LPURL_COMPONENTSW; 915 916 struct INTERNET_CERTIFICATE_INFO { 917 FILETIME ftExpiry; 918 FILETIME ftStart; 919 LPTSTR lpszSubjectInfo; 920 LPTSTR lpszIssuerInfo; 921 LPTSTR lpszProtocolName; 922 LPTSTR lpszSignatureAlgName; 923 LPTSTR lpszEncryptionAlgName; 924 DWORD dwKeySize; 925 } 926 alias INTERNET_CERTIFICATE_INFO* LPINTERNET_CERTIFICATE_INFO; 927 928 extern (Windows) alias void function(HINTERNET, DWORD_PTR, DWORD, PVOID, DWORD) 929 INTERNET_STATUS_CALLBACK; 930 alias INTERNET_STATUS_CALLBACK* LPINTERNET_STATUS_CALLBACK; 931 932 enum INTERNET_INVALID_STATUS_CALLBACK 933 = cast(INTERNET_STATUS_CALLBACK) -1; 934 935 struct GOPHER_FIND_DATAA { 936 CHAR[MAX_GOPHER_DISPLAY_TEXT+1] DisplayString = 0; 937 DWORD GopherType; 938 DWORD SizeLow; 939 DWORD SizeHigh; 940 FILETIME LastModificationTime; 941 CHAR[MAX_GOPHER_LOCATOR_LENGTH+1] Locator = 0; 942 } 943 alias GOPHER_FIND_DATAA* LPGOPHER_FIND_DATAA; 944 945 struct GOPHER_FIND_DATAW { 946 WCHAR[MAX_GOPHER_DISPLAY_TEXT+1] DisplayString = 0; 947 DWORD GopherType; 948 DWORD SizeLow; 949 DWORD SizeHigh; 950 FILETIME LastModificationTime; 951 WCHAR[MAX_GOPHER_LOCATOR_LENGTH+1] Locator = 0; 952 } 953 alias GOPHER_FIND_DATAW* LPGOPHER_FIND_DATAW; 954 955 struct GOPHER_ADMIN_ATTRIBUTE_TYPE { 956 LPCTSTR Comment; 957 LPCTSTR EmailAddress; 958 } 959 alias GOPHER_ADMIN_ATTRIBUTE_TYPE* LPGOPHER_ADMIN_ATTRIBUTE_TYPE; 960 961 struct GOPHER_MOD_DATE_ATTRIBUTE_TYPE { 962 FILETIME DateAndTime; 963 } 964 alias GOPHER_MOD_DATE_ATTRIBUTE_TYPE* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE; 965 966 struct GOPHER_TTL_ATTRIBUTE_TYPE { 967 DWORD Ttl; 968 } 969 alias GOPHER_TTL_ATTRIBUTE_TYPE* LPGOPHER_TTL_ATTRIBUTE_TYPE; 970 971 struct GOPHER_SCORE_ATTRIBUTE_TYPE { 972 INT Score; 973 } 974 alias GOPHER_SCORE_ATTRIBUTE_TYPE* LPGOPHER_SCORE_ATTRIBUTE_TYPE; 975 976 struct GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE { 977 INT LowerBound; 978 INT UpperBound; 979 } 980 alias GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE* LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE; 981 982 struct GOPHER_SITE_ATTRIBUTE_TYPE { 983 LPCTSTR Site; 984 } 985 alias GOPHER_SITE_ATTRIBUTE_TYPE* LPGOPHER_SITE_ATTRIBUTE_TYPE; 986 987 struct GOPHER_ORGANIZATION_ATTRIBUTE_TYPE { 988 LPCTSTR Organization; 989 } 990 alias GOPHER_ORGANIZATION_ATTRIBUTE_TYPE* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE; 991 992 struct GOPHER_LOCATION_ATTRIBUTE_TYPE { 993 LPCTSTR Location; 994 } 995 alias GOPHER_LOCATION_ATTRIBUTE_TYPE* LPGOPHER_LOCATION_ATTRIBUTE_TYPE; 996 997 struct GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE { 998 INT DegreesNorth; 999 INT MinutesNorth; 1000 INT SecondsNorth; 1001 INT DegreesEast; 1002 INT MinutesEast; 1003 INT SecondsEast; 1004 } 1005 alias GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE* 1006 LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE; 1007 1008 struct GOPHER_TIMEZONE_ATTRIBUTE_TYPE { 1009 INT Zone; 1010 } 1011 alias GOPHER_TIMEZONE_ATTRIBUTE_TYPE* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE; 1012 1013 struct GOPHER_PROVIDER_ATTRIBUTE_TYPE { 1014 LPCTSTR Provider; 1015 } 1016 alias GOPHER_PROVIDER_ATTRIBUTE_TYPE* LPGOPHER_PROVIDER_ATTRIBUTE_TYPE; 1017 1018 struct GOPHER_VERSION_ATTRIBUTE_TYPE { 1019 LPCTSTR Version; 1020 } 1021 alias GOPHER_VERSION_ATTRIBUTE_TYPE* LPGOPHER_VERSION_ATTRIBUTE_TYPE; 1022 1023 struct GOPHER_ABSTRACT_ATTRIBUTE_TYPE { 1024 LPCTSTR ShortAbstract; 1025 LPCTSTR AbstractFile; 1026 } 1027 alias GOPHER_ABSTRACT_ATTRIBUTE_TYPE* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE; 1028 1029 struct GOPHER_VIEW_ATTRIBUTE_TYPE { 1030 LPCTSTR ContentType; 1031 LPCTSTR Language; 1032 DWORD Size; 1033 } 1034 alias GOPHER_VIEW_ATTRIBUTE_TYPE* LPGOPHER_VIEW_ATTRIBUTE_TYPE; 1035 1036 struct GOPHER_VERONICA_ATTRIBUTE_TYPE { 1037 BOOL TreeWalk; 1038 } 1039 alias GOPHER_VERONICA_ATTRIBUTE_TYPE* LPGOPHER_VERONICA_ATTRIBUTE_TYPE; 1040 1041 struct GOPHER_ASK_ATTRIBUTE_TYPE { 1042 LPCTSTR QuestionType; 1043 LPCTSTR QuestionText; 1044 } 1045 alias GOPHER_ASK_ATTRIBUTE_TYPE* LPGOPHER_ASK_ATTRIBUTE_TYPE; 1046 1047 struct GOPHER_UNKNOWN_ATTRIBUTE_TYPE { 1048 LPCTSTR Text; 1049 } 1050 alias GOPHER_UNKNOWN_ATTRIBUTE_TYPE* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE; 1051 1052 struct GOPHER_ATTRIBUTE_TYPE { 1053 DWORD CategoryId; 1054 DWORD AttributeId; 1055 union { 1056 GOPHER_ADMIN_ATTRIBUTE_TYPE Admin; 1057 GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate; 1058 GOPHER_TTL_ATTRIBUTE_TYPE Ttl; 1059 GOPHER_SCORE_ATTRIBUTE_TYPE Score; 1060 GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange; 1061 GOPHER_SITE_ATTRIBUTE_TYPE Site; 1062 GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization; 1063 GOPHER_LOCATION_ATTRIBUTE_TYPE Location; 1064 GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation; 1065 GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone; 1066 GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider; 1067 GOPHER_VERSION_ATTRIBUTE_TYPE Version; 1068 GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract; 1069 GOPHER_VIEW_ATTRIBUTE_TYPE View; 1070 GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica; 1071 GOPHER_ASK_ATTRIBUTE_TYPE Ask; 1072 GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown; 1073 } /+AttributeType;+/ 1074 } 1075 alias GOPHER_ATTRIBUTE_TYPE* LPGOPHER_ATTRIBUTE_TYPE; 1076 1077 extern (Windows) 1078 alias BOOL function(LPGOPHER_ATTRIBUTE_TYPE, DWORD) 1079 GOPHER_ATTRIBUTE_ENUMERATOR; 1080 1081 struct INTERNET_CACHE_ENTRY_INFOA { 1082 DWORD dwStructSize = INTERNET_CACHE_ENTRY_INFOA.sizeof; 1083 LPSTR lpszSourceUrlName; 1084 LPSTR lpszLocalFileName; 1085 DWORD CacheEntryType; 1086 DWORD dwUseCount; 1087 DWORD dwHitRate; 1088 DWORD dwSizeLow; 1089 DWORD dwSizeHigh; 1090 FILETIME LastModifiedTime; 1091 FILETIME ExpireTime; 1092 FILETIME LastAccessTime; 1093 FILETIME LastSyncTime; 1094 PBYTE lpHeaderInfo; 1095 DWORD dwHeaderInfoSize; 1096 LPSTR lpszFileExtension; 1097 DWORD dwReserved; 1098 } 1099 alias INTERNET_CACHE_ENTRY_INFOA* LPINTERNET_CACHE_ENTRY_INFOA; 1100 1101 struct INTERNET_CACHE_ENTRY_INFOW { 1102 DWORD dwStructSize = INTERNET_CACHE_ENTRY_INFOW.sizeof; 1103 LPWSTR lpszSourceUrlName; 1104 LPWSTR lpszLocalFileName; 1105 DWORD CacheEntryType; 1106 DWORD dwUseCount; 1107 DWORD dwHitRate; 1108 DWORD dwSizeLow; 1109 DWORD dwSizeHigh; 1110 FILETIME LastModifiedTime; 1111 FILETIME ExpireTime; 1112 FILETIME LastAccessTime; 1113 FILETIME LastSyncTime; 1114 PBYTE lpHeaderInfo; 1115 DWORD dwHeaderInfoSize; 1116 LPWSTR lpszFileExtension; 1117 DWORD dwReserved; 1118 } 1119 alias INTERNET_CACHE_ENTRY_INFOW* LPINTERNET_CACHE_ENTRY_INFOW; 1120 1121 struct INTERNET_BUFFERSA { 1122 DWORD dwStructSize = INTERNET_BUFFERSA.sizeof; 1123 INTERNET_BUFFERSA* Next; 1124 LPCSTR lpcszHeader; 1125 DWORD dwHeadersLength; 1126 DWORD dwHeadersTotal; 1127 LPVOID lpvBuffer; 1128 DWORD dwBufferLength; 1129 DWORD dwBufferTotal; 1130 DWORD dwOffsetLow; 1131 DWORD dwOffsetHigh; 1132 } 1133 alias INTERNET_BUFFERSA* LPINTERNET_BUFFERSA; 1134 1135 struct INTERNET_BUFFERSW { 1136 DWORD dwStructSize = INTERNET_BUFFERSW.sizeof; 1137 INTERNET_BUFFERSW* Next; 1138 LPCWSTR lpcszHeader; 1139 DWORD dwHeadersLength; 1140 DWORD dwHeadersTotal; 1141 LPVOID lpvBuffer; 1142 DWORD dwBufferLength; 1143 DWORD dwBufferTotal; 1144 DWORD dwOffsetLow; 1145 DWORD dwOffsetHigh; 1146 } 1147 alias INTERNET_BUFFERSW* LPINTERNET_BUFFERSW; 1148 1149 enum size_t 1150 GROUP_OWNER_STORAGE_SIZE = 4, 1151 GROUPNAME_MAX_LENGTH = 120; 1152 1153 struct INTERNET_CACHE_GROUP_INFOA { 1154 DWORD dwGroupSize; 1155 DWORD dwGroupFlags; 1156 DWORD dwGroupType; 1157 DWORD dwDiskUsage; 1158 DWORD dwDiskQuota; 1159 DWORD[GROUP_OWNER_STORAGE_SIZE] dwOwnerStorage; 1160 CHAR[GROUPNAME_MAX_LENGTH] szGroupName = 0; 1161 } 1162 alias INTERNET_CACHE_GROUP_INFOA* LPINTERNET_CACHE_GROUP_INFOA; 1163 1164 struct INTERNET_CACHE_GROUP_INFOW { 1165 DWORD dwGroupSize; 1166 DWORD dwGroupFlags; 1167 DWORD dwGroupType; 1168 DWORD dwDiskUsage; 1169 DWORD dwDiskQuota; 1170 DWORD[GROUP_OWNER_STORAGE_SIZE] dwOwnerStorage; 1171 WCHAR[GROUPNAME_MAX_LENGTH] szGroupName = 0; 1172 } 1173 alias INTERNET_CACHE_GROUP_INFOW* LPINTERNET_CACHE_GROUP_INFOW; 1174 1175 extern (Windows) { 1176 BOOL InternetTimeFromSystemTime(SYSTEMTIME*, DWORD, LPSTR, DWORD); 1177 BOOL InternetTimeToSystemTime(LPCSTR, SYSTEMTIME*, DWORD); 1178 BOOL InternetDebugGetLocalTime(SYSTEMTIME*, PDWORD); 1179 BOOL InternetCrackUrlA(LPCSTR, DWORD, DWORD, LPURL_COMPONENTSA); 1180 BOOL InternetCrackUrlW(LPCWSTR, DWORD, DWORD, LPURL_COMPONENTSW); 1181 BOOL InternetCreateUrlA(LPURL_COMPONENTSA, DWORD, LPSTR, PDWORD); 1182 BOOL InternetCreateUrlW(LPURL_COMPONENTSW, DWORD, LPWSTR, PDWORD); 1183 BOOL InternetCanonicalizeUrlA(LPCSTR, LPSTR, PDWORD, DWORD); 1184 BOOL InternetCanonicalizeUrlW(LPCWSTR, LPWSTR, PDWORD, DWORD); 1185 BOOL InternetCheckConnectionA(LPCSTR, DWORD, DWORD); 1186 BOOL InternetCheckConnectionW(LPCWSTR, DWORD, DWORD); 1187 BOOL InternetCombineUrlA(LPCSTR, LPCSTR, LPSTR, PDWORD, DWORD); 1188 BOOL InternetCombineUrlW(LPCWSTR, LPCWSTR, LPWSTR, PDWORD, DWORD); 1189 HINTERNET InternetOpenA(LPCSTR, DWORD, LPCSTR, LPCSTR, DWORD); 1190 HINTERNET InternetOpenW(LPCWSTR, DWORD, LPCWSTR, LPCWSTR, DWORD); 1191 BOOL InternetCloseHandle(HINTERNET); 1192 HINTERNET InternetConnectA(HINTERNET, LPCSTR, INTERNET_PORT, LPCSTR, 1193 LPCSTR, DWORD, DWORD, DWORD_PTR); 1194 HINTERNET InternetConnectW(HINTERNET, LPCWSTR, INTERNET_PORT, LPCWSTR, 1195 LPCWSTR, DWORD, DWORD, DWORD_PTR); 1196 HINTERNET InternetOpenUrlA(HINTERNET, LPCSTR, LPCSTR, DWORD, DWORD, 1197 DWORD_PTR); 1198 HINTERNET InternetOpenUrlW(HINTERNET, LPCWSTR, LPCWSTR, DWORD, DWORD, 1199 DWORD_PTR); 1200 BOOL InternetReadFile(HINTERNET, PVOID, DWORD, PDWORD); 1201 DWORD InternetSetFilePointer(HINTERNET, LONG, PVOID, DWORD, DWORD_PTR); 1202 BOOL InternetWriteFile(HINTERNET, LPCVOID, DWORD, PDWORD); 1203 BOOL InternetQueryDataAvailable(HINTERNET, PDWORD, DWORD, DWORD_PTR); 1204 BOOL InternetFindNextFileA(HINTERNET, PVOID); 1205 BOOL InternetFindNextFileW(HINTERNET, PVOID); 1206 BOOL InternetQueryOptionA(HINTERNET, DWORD, PVOID, PDWORD); 1207 BOOL InternetQueryOptionW(HINTERNET, DWORD, PVOID, PDWORD); 1208 BOOL InternetSetOptionA(HINTERNET, DWORD, PVOID, DWORD); 1209 BOOL InternetSetOptionW(HINTERNET, DWORD, PVOID, DWORD); 1210 BOOL InternetSetOptionExA(HINTERNET, DWORD, PVOID, DWORD, DWORD); 1211 BOOL InternetSetOptionExW(HINTERNET, DWORD, PVOID, DWORD, DWORD); 1212 BOOL InternetGetLastResponseInfoA(PDWORD, LPSTR, PDWORD); 1213 BOOL InternetGetLastResponseInfoW(PDWORD, LPWSTR, PDWORD); 1214 INTERNET_STATUS_CALLBACK InternetSetStatusCallback(HINTERNET, 1215 INTERNET_STATUS_CALLBACK); 1216 DWORD FtpGetFileSize(HINTERNET, LPDWORD); 1217 HINTERNET FtpFindFirstFileA(HINTERNET, LPCSTR, LPWIN32_FIND_DATAA, DWORD, 1218 DWORD_PTR); 1219 HINTERNET FtpFindFirstFileW(HINTERNET, LPCWSTR, LPWIN32_FIND_DATAW, DWORD, 1220 DWORD_PTR); 1221 BOOL FtpGetFileA(HINTERNET, LPCSTR, LPCSTR, BOOL, DWORD, DWORD, DWORD_PTR); 1222 BOOL FtpGetFileW(HINTERNET, LPCWSTR, LPCWSTR, BOOL, DWORD, DWORD, DWORD_PTR); 1223 BOOL FtpPutFileA(HINTERNET, LPCSTR, LPCSTR, DWORD, DWORD_PTR); 1224 BOOL FtpPutFileW(HINTERNET, LPCWSTR, LPCWSTR, DWORD, DWORD_PTR); 1225 BOOL FtpDeleteFileA(HINTERNET, LPCSTR); 1226 BOOL FtpDeleteFileW(HINTERNET, LPCWSTR); 1227 BOOL FtpRenameFileA(HINTERNET, LPCSTR, LPCSTR); 1228 BOOL FtpRenameFileW(HINTERNET, LPCWSTR, LPCWSTR); 1229 HINTERNET FtpOpenFileA(HINTERNET, LPCSTR, DWORD, DWORD, DWORD_PTR); 1230 HINTERNET FtpOpenFileW(HINTERNET, LPCWSTR, DWORD, DWORD, DWORD_PTR); 1231 BOOL FtpCreateDirectoryA(HINTERNET, LPCSTR); 1232 BOOL FtpCreateDirectoryW(HINTERNET, LPCWSTR); 1233 BOOL FtpRemoveDirectoryA(HINTERNET, LPCSTR); 1234 BOOL FtpRemoveDirectoryW(HINTERNET, LPCWSTR); 1235 BOOL FtpSetCurrentDirectoryA(HINTERNET, LPCSTR); 1236 BOOL FtpSetCurrentDirectoryW(HINTERNET, LPCWSTR); 1237 BOOL FtpGetCurrentDirectoryA(HINTERNET, LPSTR, PDWORD); 1238 BOOL FtpGetCurrentDirectoryW(HINTERNET, LPWSTR, PDWORD); 1239 BOOL FtpCommandA(HINTERNET, BOOL, DWORD, LPCSTR, DWORD_PTR, HINTERNET*); 1240 BOOL FtpCommandW(HINTERNET, BOOL, DWORD, LPCWSTR, DWORD_PTR, HINTERNET*); 1241 BOOL GopherCreateLocatorA(LPCSTR, INTERNET_PORT, LPCSTR, LPCSTR, DWORD, 1242 LPSTR, PDWORD); 1243 BOOL GopherCreateLocatorW(LPCWSTR, INTERNET_PORT, LPCWSTR, LPCWSTR, DWORD, 1244 LPWSTR, PDWORD); 1245 BOOL GopherGetLocatorTypeA(LPCSTR, PDWORD); 1246 BOOL GopherGetLocatorTypeW(LPCWSTR, PDWORD); 1247 HINTERNET GopherFindFirstFileA(HINTERNET, LPCSTR, LPCSTR, 1248 LPGOPHER_FIND_DATAA, DWORD, DWORD_PTR); 1249 HINTERNET GopherFindFirstFileW(HINTERNET, LPCWSTR, LPCWSTR, 1250 LPGOPHER_FIND_DATAW, DWORD, DWORD_PTR); 1251 HINTERNET GopherOpenFileA(HINTERNET, LPCSTR, LPCSTR, DWORD, DWORD_PTR); 1252 HINTERNET GopherOpenFileW(HINTERNET, LPCWSTR, LPCWSTR, DWORD, DWORD_PTR); 1253 BOOL GopherGetAttributeA(HINTERNET, LPCSTR, LPCSTR, LPBYTE, DWORD, 1254 PDWORD, GOPHER_ATTRIBUTE_ENUMERATOR, DWORD_PTR); 1255 BOOL GopherGetAttributeW(HINTERNET, LPCWSTR, LPCWSTR, LPBYTE, DWORD, 1256 PDWORD, GOPHER_ATTRIBUTE_ENUMERATOR, DWORD_PTR); 1257 HINTERNET HttpOpenRequestA(HINTERNET, LPCSTR, LPCSTR, LPCSTR, LPCSTR, 1258 LPCSTR*, DWORD, DWORD_PTR); 1259 HINTERNET HttpOpenRequestW(HINTERNET, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, 1260 LPCWSTR*, DWORD, DWORD_PTR); 1261 BOOL HttpAddRequestHeadersA(HINTERNET, LPCSTR, DWORD, DWORD); 1262 BOOL HttpAddRequestHeadersW(HINTERNET, LPCWSTR, DWORD, DWORD); 1263 BOOL HttpSendRequestA(HINTERNET, LPCSTR, DWORD, PVOID, DWORD); 1264 BOOL HttpSendRequestW(HINTERNET, LPCWSTR, DWORD, PVOID, DWORD); 1265 BOOL HttpQueryInfoA(HINTERNET, DWORD, PVOID, PDWORD, PDWORD); 1266 BOOL HttpQueryInfoW(HINTERNET, DWORD, PVOID, PDWORD, PDWORD); 1267 BOOL InternetSetCookieA(LPCSTR, LPCSTR, LPCSTR); 1268 BOOL InternetSetCookieW(LPCWSTR, LPCWSTR, LPCWSTR); 1269 BOOL InternetGetCookieA(LPCSTR, LPCSTR, LPSTR, PDWORD); 1270 BOOL InternetGetCookieW(LPCWSTR, LPCWSTR, LPWSTR, PDWORD); 1271 DWORD InternetAttemptConnect(DWORD); 1272 DWORD InternetErrorDlg(HWND, HINTERNET, DWORD, DWORD, PVOID*); 1273 DWORD InternetConfirmZoneCrossing(HWND, LPSTR, LPSTR, BOOL); 1274 BOOL CreateUrlCacheEntryA(LPCSTR, DWORD, LPCSTR, LPSTR, DWORD); 1275 BOOL CreateUrlCacheEntryW(LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD); 1276 BOOL CommitUrlCacheEntryA(LPCSTR, LPCSTR, FILETIME, FILETIME, DWORD, 1277 LPBYTE, DWORD, LPCSTR, DWORD); 1278 BOOL CommitUrlCacheEntryW(LPCWSTR, LPCWSTR, FILETIME, FILETIME, DWORD, 1279 LPBYTE, DWORD, LPCWSTR, DWORD); 1280 BOOL RetrieveUrlCacheEntryFileA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, 1281 PDWORD, DWORD); 1282 BOOL RetrieveUrlCacheEntryFileW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, 1283 PDWORD, DWORD); 1284 BOOL UnlockUrlCacheEntryFile(LPCSTR, DWORD); 1285 HANDLE RetrieveUrlCacheEntryStreamA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, 1286 PDWORD, BOOL, DWORD); 1287 HANDLE RetrieveUrlCacheEntryStreamW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, 1288 PDWORD, BOOL, DWORD); 1289 BOOL ReadUrlCacheEntryStream(HANDLE, DWORD, PVOID, PDWORD, DWORD); 1290 BOOL UnlockUrlCacheEntryStream(HANDLE, DWORD); 1291 BOOL GetUrlCacheEntryInfoA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, PDWORD); 1292 BOOL GetUrlCacheEntryInfoW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, PDWORD); 1293 BOOL SetUrlCacheEntryInfoA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, DWORD); 1294 BOOL SetUrlCacheEntryInfoW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, DWORD); 1295 HANDLE FindFirstUrlCacheEntryA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, 1296 PDWORD); 1297 HANDLE FindFirstUrlCacheEntryW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, 1298 PDWORD); 1299 BOOL FindNextUrlCacheEntryA(HANDLE, LPINTERNET_CACHE_ENTRY_INFOA, PDWORD); 1300 BOOL FindNextUrlCacheEntryW(HANDLE, LPINTERNET_CACHE_ENTRY_INFOW, PDWORD); 1301 BOOL FindCloseUrlCache(HANDLE); 1302 BOOL DeleteUrlCacheEntry(LPCSTR); 1303 DWORD AuthenticateUser(PVOID*, LPSTR, LPSTR, DWORD, LPSTR, DWORD, LPSTR, 1304 LPSTR); 1305 BOOL HttpSendRequestExA(HINTERNET, LPINTERNET_BUFFERSA, 1306 LPINTERNET_BUFFERSA, DWORD, DWORD_PTR); 1307 BOOL HttpSendRequestExW(HINTERNET, LPINTERNET_BUFFERSW, 1308 LPINTERNET_BUFFERSW, DWORD, DWORD_PTR); 1309 BOOL HttpEndRequestA(HINTERNET, LPINTERNET_BUFFERSA, DWORD, DWORD_PTR); 1310 BOOL HttpEndRequestW(HINTERNET, LPINTERNET_BUFFERSW, DWORD, DWORD_PTR); 1311 DWORD InternetDial(HWND, LPTSTR, DWORD, LPDWORD, DWORD); 1312 DWORD InternetHangUp(DWORD_PTR, DWORD); 1313 BOOL InternetGoOnline(LPTSTR, HWND, DWORD); 1314 BOOL InternetAutodial(DWORD, DWORD); 1315 BOOL InternetAutodialHangup(DWORD); 1316 BOOL InternetGetConnectedState(LPDWORD, DWORD); 1317 BOOL InternetSetDialState(LPCTSTR, DWORD, DWORD); 1318 BOOL InternetReadFileExA(HINTERNET, LPINTERNET_BUFFERSA, DWORD, DWORD_PTR); 1319 BOOL InternetReadFileExW(HINTERNET, LPINTERNET_BUFFERSW, DWORD, DWORD_PTR); 1320 GROUPID CreateUrlCacheGroup(DWORD, LPVOID); 1321 BOOL DeleteUrlCacheGroup(GROUPID, DWORD, LPVOID); 1322 HANDLE FindFirstUrlCacheGroup(DWORD, DWORD, LPVOID, DWORD, GROUPID*, 1323 LPVOID); 1324 BOOL FindNextUrlCacheGroup(HANDLE, GROUPID*, LPVOID); 1325 BOOL GetUrlCacheGroupAttributeA(GROUPID, DWORD, DWORD, 1326 LPINTERNET_CACHE_GROUP_INFOA, LPDWORD, LPVOID); 1327 BOOL GetUrlCacheGroupAttributeW(GROUPID, DWORD, DWORD, 1328 LPINTERNET_CACHE_GROUP_INFOW, LPDWORD, LPVOID); 1329 BOOL SetUrlCacheGroupAttributeA(GROUPID, DWORD, DWORD, 1330 LPINTERNET_CACHE_GROUP_INFOA, LPVOID); 1331 BOOL SetUrlCacheGroupAttributeW(GROUPID, DWORD, DWORD, 1332 LPINTERNET_CACHE_GROUP_INFOW, LPVOID); 1333 } 1334 1335 version (Unicode) { 1336 alias INTERNET_PER_CONN_OPTIONW INTERNET_PER_CONN_OPTION; 1337 alias LPINTERNET_PER_CONN_OPTIONW LPINTERNET_PER_CONN_OPTION; 1338 alias INTERNET_PER_CONN_OPTION_LISTW INTERNET_PER_CONN_OPTION_LIST; 1339 alias LPINTERNET_PER_CONN_OPTION_LISTW LPINTERNET_PER_CONN_OPTION_LIST; 1340 alias URL_COMPONENTSW URL_COMPONENTS; 1341 alias LPURL_COMPONENTSW LPURL_COMPONENTS; 1342 alias GOPHER_FIND_DATAW GOPHER_FIND_DATA; 1343 alias LPGOPHER_FIND_DATAW LPGOPHER_FIND_DATA; 1344 alias INTERNET_CACHE_ENTRY_INFOW INTERNET_CACHE_ENTRY_INFO; 1345 alias LPINTERNET_CACHE_ENTRY_INFOW LPINTERNET_CACHE_ENTRY_INFO; 1346 alias INTERNET_BUFFERSW INTERNET_BUFFERS; 1347 alias INTERNET_CACHE_GROUP_INFOW INTERNET_CACHE_GROUP_INFO; 1348 alias LPINTERNET_CACHE_GROUP_INFOW LPINTERNET_CACHE_GROUP_INFO; 1349 alias InternetCrackUrlW InternetCrackUrl; 1350 alias InternetCreateUrlW InternetCreateUrl; 1351 alias InternetCanonicalizeUrlW InternetCanonicalizeUrl; 1352 alias InternetCheckConnectionW InternetCheckConnection; 1353 alias InternetCombineUrlW InternetCombineUrl; 1354 alias InternetOpenW InternetOpen; 1355 alias InternetConnectW InternetConnect; 1356 alias InternetOpenUrlW InternetOpenUrl; 1357 alias InternetFindNextFileW InternetFindNextFile; 1358 alias InternetQueryOptionW InternetQueryOption; 1359 alias InternetSetOptionW InternetSetOption; 1360 alias InternetSetOptionExW InternetSetOptionEx; 1361 alias InternetGetLastResponseInfoW InternetGetLastResponseInfo; 1362 alias InternetReadFileExW InternetReadFileEx; 1363 alias FtpFindFirstFileW FtpFindFirstFile; 1364 alias FtpGetFileW FtpGetFile; 1365 alias FtpPutFileW FtpPutFile; 1366 alias FtpDeleteFileW FtpDeleteFile; 1367 alias FtpRenameFileW FtpRenameFile; 1368 alias FtpOpenFileW FtpOpenFile; 1369 alias FtpCreateDirectoryW FtpCreateDirectory; 1370 alias FtpRemoveDirectoryW FtpRemoveDirectory; 1371 alias FtpSetCurrentDirectoryW FtpSetCurrentDirectory; 1372 alias FtpGetCurrentDirectoryW FtpGetCurrentDirectory; 1373 alias FtpCommandW FtpCommand; 1374 alias GopherGetLocatorTypeW GopherGetLocatorType; 1375 alias GopherCreateLocatorW GopherCreateLocator; 1376 alias GopherFindFirstFileW GopherFindFirstFile; 1377 alias GopherOpenFileW GopherOpenFile; 1378 alias GopherGetAttributeW GopherGetAttribute; 1379 alias HttpSendRequestW HttpSendRequest; 1380 alias HttpOpenRequestW HttpOpenRequest; 1381 alias HttpAddRequestHeadersW HttpAddRequestHeaders; 1382 alias HttpQueryInfoW HttpQueryInfo; 1383 alias InternetSetCookieW InternetSetCookie; 1384 alias InternetGetCookieW InternetGetCookie; 1385 alias CreateUrlCacheEntryW CreateUrlCacheEntry; 1386 alias RetrieveUrlCacheEntryStreamW RetrieveUrlCacheEntryStream; 1387 alias FindNextUrlCacheEntryW FindNextUrlCacheEntry; 1388 alias CommitUrlCacheEntryW CommitUrlCacheEntry; 1389 alias GetUrlCacheEntryInfoW GetUrlCacheEntryInfo; 1390 alias SetUrlCacheEntryInfoW SetUrlCacheEntryInfo; 1391 alias FindFirstUrlCacheEntryW FindFirstUrlCacheEntry; 1392 alias RetrieveUrlCacheEntryFileW RetrieveUrlCacheEntryFile; 1393 alias HttpSendRequestExW HttpSendRequestEx; 1394 alias HttpEndRequestW HttpEndRequest; 1395 alias GetUrlCacheGroupAttributeW GetUrlCacheGroupAttribute; 1396 alias SetUrlCacheGroupAttributeW SetUrlCacheGroupAttribute; 1397 } else { 1398 alias INTERNET_PER_CONN_OPTIONA INTERNET_PER_CONN_OPTION; 1399 alias LPINTERNET_PER_CONN_OPTIONA LPINTERNET_PER_CONN_OPTION; 1400 alias INTERNET_PER_CONN_OPTION_LISTA INTERNET_PER_CONN_OPTION_LIST; 1401 alias LPINTERNET_PER_CONN_OPTION_LISTA LPINTERNET_PER_CONN_OPTION_LIST; 1402 alias URL_COMPONENTSA URL_COMPONENTS; 1403 alias LPURL_COMPONENTSA LPURL_COMPONENTS; 1404 alias GOPHER_FIND_DATAA GOPHER_FIND_DATA; 1405 alias LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA; 1406 alias INTERNET_CACHE_ENTRY_INFOA INTERNET_CACHE_ENTRY_INFO; 1407 alias LPINTERNET_CACHE_ENTRY_INFOA LPINTERNET_CACHE_ENTRY_INFO; 1408 alias INTERNET_BUFFERSA INTERNET_BUFFERS; 1409 alias INTERNET_CACHE_GROUP_INFOA INTERNET_CACHE_GROUP_INFO; 1410 alias LPINTERNET_CACHE_GROUP_INFOA LPINTERNET_CACHE_GROUP_INFO; 1411 alias GopherGetAttributeA GopherGetAttribute; 1412 alias InternetCrackUrlA InternetCrackUrl; 1413 alias InternetCreateUrlA InternetCreateUrl; 1414 alias InternetCanonicalizeUrlA InternetCanonicalizeUrl; 1415 alias InternetCheckConnectionA InternetCheckConnection; 1416 alias InternetCombineUrlA InternetCombineUrl; 1417 alias InternetOpenA InternetOpen; 1418 alias InternetConnectA InternetConnect; 1419 alias InternetOpenUrlA InternetOpenUrl; 1420 alias InternetFindNextFileA InternetFindNextFile; 1421 alias InternetQueryOptionA InternetQueryOption; 1422 alias InternetSetOptionA InternetSetOption; 1423 alias InternetSetOptionExA InternetSetOptionEx; 1424 alias InternetGetLastResponseInfoA InternetGetLastResponseInfo; 1425 alias InternetReadFileExA InternetReadFileEx; 1426 alias FtpFindFirstFileA FtpFindFirstFile; 1427 alias FtpGetFileA FtpGetFile; 1428 alias FtpPutFileA FtpPutFile; 1429 alias FtpDeleteFileA FtpDeleteFile; 1430 alias FtpRenameFileA FtpRenameFile; 1431 alias FtpOpenFileA FtpOpenFile; 1432 alias FtpCreateDirectoryA FtpCreateDirectory; 1433 alias FtpRemoveDirectoryA FtpRemoveDirectory; 1434 alias FtpSetCurrentDirectoryA FtpSetCurrentDirectory; 1435 alias FtpGetCurrentDirectoryA FtpGetCurrentDirectory; 1436 alias FtpCommandA FtpCommand; 1437 alias GopherGetLocatorTypeA GopherGetLocatorType; 1438 alias GopherCreateLocatorA GopherCreateLocator; 1439 alias GopherFindFirstFileA GopherFindFirstFile; 1440 alias GopherOpenFileA GopherOpenFile; 1441 alias HttpSendRequestA HttpSendRequest; 1442 alias HttpOpenRequestA HttpOpenRequest; 1443 alias HttpAddRequestHeadersA HttpAddRequestHeaders; 1444 alias HttpQueryInfoA HttpQueryInfo; 1445 alias InternetSetCookieA InternetSetCookie; 1446 alias InternetGetCookieA InternetGetCookie; 1447 alias CreateUrlCacheEntryA CreateUrlCacheEntry; 1448 alias RetrieveUrlCacheEntryStreamA RetrieveUrlCacheEntryStream; 1449 alias FindNextUrlCacheEntryA FindNextUrlCacheEntry; 1450 alias CommitUrlCacheEntryA CommitUrlCacheEntry; 1451 alias GetUrlCacheEntryInfoA GetUrlCacheEntryInfo; 1452 alias SetUrlCacheEntryInfoA SetUrlCacheEntryInfo; 1453 alias FindFirstUrlCacheEntryA FindFirstUrlCacheEntry; 1454 alias RetrieveUrlCacheEntryFileA RetrieveUrlCacheEntryFile; 1455 alias HttpSendRequestExA HttpSendRequestEx; 1456 alias HttpEndRequestA HttpEndRequest; 1457 alias GetUrlCacheGroupAttributeA GetUrlCacheGroupAttribute; 1458 alias SetUrlCacheGroupAttributeA SetUrlCacheGroupAttribute; 1459 } 1460 1461 alias INTERNET_BUFFERS* LPINTERNET_BUFFERS;