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