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