source: trunk/include/win/wininet.h@ 10367

Last change on this file since 10367 was 7291, checked in by phaller, 24 years ago

.

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