comparison win32/wininet.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
comparison
equal deleted inserted replaced
0:586e4a649642 1:4a9dcbd9e54f
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 LPSTR 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(LPCSTR, LPCWSTR, LPCWSTR);
1057 BOOL InternetGetCookieA(LPCSTR, LPCSTR, LPSTR, PDWORD);
1058 BOOL InternetGetCookieW(LPCSTR, 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(LPCSTR, DWORD, LPCSTR, LPWSTR, DWORD);
1064 BOOL CommitUrlCacheEntryA(LPCSTR, LPCSTR, FILETIME, FILETIME, DWORD,
1065 LPBYTE, DWORD, LPCSTR, DWORD);
1066 BOOL CommitUrlCacheEntryW(LPCSTR, LPCWSTR, FILETIME, FILETIME, DWORD,
1067 LPBYTE, DWORD, LPCWSTR, DWORD);
1068 BOOL RetrieveUrlCacheEntryFileA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA,
1069 PDWORD, DWORD);
1070 BOOL RetrieveUrlCacheEntryFileW(LPCSTR, 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(LPCSTR, 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(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOW, PDWORD);
1081 BOOL SetUrlCacheEntryInfoA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, DWORD);
1082 BOOL SetUrlCacheEntryInfoW(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOW, DWORD);
1083 HANDLE FindFirstUrlCacheEntryA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA,
1084 PDWORD);
1085 HANDLE FindFirstUrlCacheEntryW(LPCSTR, 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;