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

Last change on this file since 4845 was 4845, checked in by sandervl, 25 years ago

JH: Resync with latest Wine + fixes/additions

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