OSDN Git Service

* NEWS: Add and adjust release notes for 4.0.
[mingw/mingw-org-wsl.git] / include / wininet.h
1 /**
2  * @file wininet.h
3  * Copyright 2012, 2013 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  * 
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  * 
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _WININET_H
25 #define _WININET_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28
29 #include <windows.h>
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 #define INTERNET_INVALID_PORT_NUMBER 0
36 #define INTERNET_DEFAULT_FTP_PORT 21
37 #define INTERNET_DEFAULT_GOPHER_PORT 70
38 #define INTERNET_DEFAULT_HTTP_PORT 80
39 #define INTERNET_DEFAULT_HTTPS_PORT 443
40 #define INTERNET_DEFAULT_SOCKS_PORT 1080
41 #define MAX_CACHE_ENTRY_INFO_SIZE 4096
42 #define INTERNET_MAX_HOST_NAME_LENGTH 256
43 #define INTERNET_MAX_USER_NAME_LENGTH 128
44 #define INTERNET_MAX_PASSWORD_LENGTH 128
45 #define INTERNET_MAX_PORT_NUMBER_LENGTH 5
46 #define INTERNET_MAX_PORT_NUMBER_VALUE 65535
47 #define INTERNET_MAX_PATH_LENGTH 2048
48 #define INTERNET_MAX_SCHEME_LENGTH 32
49 #define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH+sizeof("://")+INTERNET_MAX_PATH_LENGTH)
50 #define INTERNET_KEEP_ALIVE_UNKNOWN ((DWORD)-1)
51 #define INTERNET_KEEP_ALIVE_ENABLED 1
52 #define INTERNET_KEEP_ALIVE_DISABLED 0
53 #define INTERNET_REQFLAG_FROM_CACHE 1
54 #define INTERNET_REQFLAG_ASYNC 2
55 #define INTERNET_FLAG_RELOAD 0x80000000
56 #define INTERNET_FLAG_RAW_DATA 0x40000000
57 #define INTERNET_FLAG_EXISTING_CONNECT 0x20000000
58 #define INTERNET_FLAG_ASYNC 0x10000000
59 #define INTERNET_FLAG_PASSIVE 0x08000000
60 #define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000
61 #define INTERNET_FLAG_DONT_CACHE INTERNET_FLAG_NO_CACHE_WRITE
62 #define INTERNET_FLAG_MAKE_PERSISTENT 0x02000000
63 #define INTERNET_FLAG_OFFLINE 0x1000000
64 #define INTERNET_FLAG_SECURE 0x800000
65 #define INTERNET_FLAG_KEEP_CONNECTION 0x400000
66 #define INTERNET_FLAG_NO_AUTO_REDIRECT 0x200000
67 #define INTERNET_FLAG_READ_PREFETCH 0x100000
68 #define INTERNET_FLAG_NO_COOKIES 0x80000
69 #define INTERNET_FLAG_NO_AUTH 0x40000
70 #define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 0x8000
71 #define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 0x4000
72 #define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x2000
73 #define INTERNET_FLAG_IGNORE_CERT_CN_INVALID 0x1000
74 #define INTERNET_FLAG_MUST_CACHE_REQUEST 16
75 #define INTERNET_FLAG_RESYNCHRONIZE 0x800
76 #define INTERNET_FLAG_HYPERLINK 0x400
77 #define INTERNET_FLAG_NO_UI 0x200
78 #define INTERNET_FLAG_PRAGMA_NOCACHE 0x100
79 #define INTERNET_FLAG_TRANSFER_ASCII FTP_TRANSFER_TYPE_ASCII
80 #define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY
81 #define SECURITY_INTERNET_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID|INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP)
82 #define SECURITY_SET_MASK SECURITY_INTERNET_MASK
83 #define INTERNET_FLAGS_MASK (INTERNET_FLAG_RELOAD|INTERNET_FLAG_RAW_DATA|INTERNET_FLAG_EXISTING_CONNECT|\
84 INTERNET_FLAG_ASYNC|INTERNET_FLAG_PASSIVE|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_MAKE_PERSISTENT|INTERNET_FLAG_OFFLINE|\
85 INTERNET_FLAG_SECURE|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_NO_AUTO_REDIRECT|INTERNET_FLAG_READ_PREFETCH |\
86 INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_AUTH|SECURITY_INTERNET_MASK|INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_TRANSFER_BINARY\
87 |INTERNET_FLAG_RESYNCHRONIZE|INTERNET_FLAG_MUST_CACHE_REQUEST|INTERNET_FLAG_HYPERLINK|INTERNET_FLAG_NO_UI)
88 #define INTERNET_OPTIONS_MASK (~INTERNET_FLAGS_MASK)
89 #define INTERNET_NO_CALLBACK 0
90 #define INTERNET_RFC1123_FORMAT 0
91 #define INTERNET_RFC1123_BUFSIZE 30
92 #define ICU_ESCAPE 0x80000000
93 #define ICU_USERNAME 0x40000000
94 #define ICU_NO_ENCODE 0x20000000
95 #define ICU_DECODE 0x10000000
96 #define ICU_NO_META 0x08000000
97 #define ICU_ENCODE_SPACES_ONLY 0x04000000
98 #define ICU_BROWSER_MODE 0x02000000
99 #define INTERNET_OPEN_TYPE_PRECONFIG 0
100 #define INTERNET_OPEN_TYPE_DIRECT 1
101 #define INTERNET_OPEN_TYPE_PROXY 3
102 #define PRE_CONFIG_INTERNET_ACCESS INTERNET_OPEN_TYPE_PRECONFIG
103 #define LOCAL_INTERNET_ACCESS INTERNET_OPEN_TYPE_DIRECT
104 #define GATEWAY_INTERNET_ACCESS 2
105 #define CERN_PROXY_INTERNET_ACCESS INTERNET_OPEN_TYPE_PROXY
106 #define ISO_GLOBAL 1
107 #define ISO_REGISTRY 2
108 #define ISO_VALID_FLAGS (ISO_GLOBAL | ISO_REGISTRY)
109 #define INTERNET_OPTION_CALLBACK 1
110 #define INTERNET_OPTION_CONNECT_TIMEOUT 2
111 #define INTERNET_OPTION_CONNECT_RETRIES 3
112 #define INTERNET_OPTION_CONNECT_BACKOFF 4
113 #define INTERNET_OPTION_SEND_TIMEOUT 5
114 #define INTERNET_OPTION_CONTROL_SEND_TIMEOUT INTERNET_OPTION_SEND_TIMEOUT
115 #define INTERNET_OPTION_RECEIVE_TIMEOUT 6
116 #define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT INTERNET_OPTION_RECEIVE_TIMEOUT
117 #define INTERNET_OPTION_DATA_SEND_TIMEOUT 7
118 #define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 8
119 #define INTERNET_OPTION_HANDLE_TYPE 9
120 #define INTERNET_OPTION_CONTEXT_VALUE 10
121 #define INTERNET_OPTION_LISTEN_TIMEOUT 11
122 #define INTERNET_OPTION_READ_BUFFER_SIZE 12
123 #define INTERNET_OPTION_WRITE_BUFFER_SIZE 13
124 #define INTERNET_OPTION_ASYNC_ID 15
125 #define INTERNET_OPTION_ASYNC_PRIORITY 16
126 #define INTERNET_OPTION_PARENT_HANDLE 21
127 #define INTERNET_OPTION_KEEP_CONNECTION 22
128 #define INTERNET_OPTION_REQUEST_FLAGS 23
129 #define INTERNET_OPTION_EXTENDED_ERROR 24
130 #define INTERNET_OPTION_OFFLINE_MODE 26
131 #define INTERNET_OPTION_CACHE_STREAM_HANDLE 27
132 #define INTERNET_OPTION_USERNAME 28
133 #define INTERNET_OPTION_PASSWORD 29
134 #define INTERNET_OPTION_ASYNC 30
135 #define INTERNET_OPTION_SECURITY_FLAGS 31
136 #define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32
137 #define INTERNET_OPTION_DATAFILE_NAME 33
138 #define INTERNET_OPTION_URL 34
139 #define INTERNET_OPTION_SECURITY_CERTIFICATE 35
140 #define INTERNET_OPTION_SECURITY_KEY_BITNESS 36
141 #define INTERNET_OPTION_REFRESH 37
142 #define INTERNET_OPTION_PROXY 38
143 #define INTERNET_OPTION_SETTINGS_CHANGED 39
144 #define INTERNET_OPTION_VERSION 40
145 #define INTERNET_OPTION_USER_AGENT 41
146 #define INTERNET_OPTION_END_BROWSER_SESSION 42
147 #define INTERNET_OPTION_PROXY_USERNAME 43
148 #define INTERNET_OPTION_PROXY_PASSWORD 44
149 #define INTERNET_OPTION_CONNECTED_STATE 50
150 #define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK
151 /* FIXME: missing INTERNET_OPTION_*?   */
152 #define INTERNET_LAST_OPTION INTERNET_OPTION_CONNECTED_STATE
153 #define INTERNET_PRIORITY_FOREGROUND 1000
154 #define INTERNET_HANDLE_TYPE_INTERNET 1
155 #define INTERNET_HANDLE_TYPE_CONNECT_FTP 2
156 #define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3
157 #define INTERNET_HANDLE_TYPE_CONNECT_HTTP 4
158 #define INTERNET_HANDLE_TYPE_FTP_FIND 5
159 #define INTERNET_HANDLE_TYPE_FTP_FIND_HTML 6
160 #define INTERNET_HANDLE_TYPE_FTP_FILE 7
161 #define INTERNET_HANDLE_TYPE_FTP_FILE_HTML 8
162 #define INTERNET_HANDLE_TYPE_GOPHER_FIND 9
163 #define INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML 10
164 #define INTERNET_HANDLE_TYPE_GOPHER_FILE 11
165 #define INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML 12
166 #define INTERNET_HANDLE_TYPE_HTTP_REQUEST 13
167 #define SECURITY_FLAG_SECURE 1
168 #define SECURITY_FLAG_SSL 2
169 #define SECURITY_FLAG_SSL3 4
170 #define SECURITY_FLAG_PCT 8
171 #define SECURITY_FLAG_PCT4 16
172 #define SECURITY_FLAG_IETFSSL4 0x20
173 #define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080
174 #define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100
175 #define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200
176 #define SECURITY_FLAG_40BIT 0x10000000
177 #define SECURITY_FLAG_128BIT 0x20000000
178 #define SECURITY_FLAG_56BIT 0x40000000
179 #define SECURITY_FLAG_UNKNOWNBIT 0x80000000
180 #define SECURITY_FLAG_NORMALBITNESS SECURITY_FLAG_40BIT
181 #define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID
182 #define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
183 #define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
184 #define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
185 #define INTERNET_SERVICE_FTP 1
186 #define INTERNET_SERVICE_GOPHER 2
187 #define INTERNET_SERVICE_HTTP 3
188 #define INTERNET_STATUS_RESOLVING_NAME 10
189 #define INTERNET_STATUS_NAME_RESOLVED 11
190 #define INTERNET_STATUS_CONNECTING_TO_SERVER 20
191 #define INTERNET_STATUS_CONNECTED_TO_SERVER 21
192 #define INTERNET_STATUS_SENDING_REQUEST 30
193 #define INTERNET_STATUS_REQUEST_SENT 31
194 #define INTERNET_STATUS_RECEIVING_RESPONSE 40
195 #define INTERNET_STATUS_RESPONSE_RECEIVED 41
196 #define INTERNET_STATUS_CTL_RESPONSE_RECEIVED 42
197 #define INTERNET_STATUS_PREFETCH 43
198 #define INTERNET_STATUS_CLOSING_CONNECTION 50
199 #define INTERNET_STATUS_CONNECTION_CLOSED 51
200 #define INTERNET_STATUS_HANDLE_CREATED 60
201 #define INTERNET_STATUS_HANDLE_CLOSING 70
202 #define INTERNET_STATUS_REQUEST_COMPLETE 100
203 #define INTERNET_STATUS_REDIRECT 110
204 #define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(-1L))
205 #define FTP_TRANSFER_TYPE_UNKNOWN 0
206 #define FTP_TRANSFER_TYPE_ASCII 1
207 #define FTP_TRANSFER_TYPE_BINARY 2
208 #define FTP_TRANSFER_TYPE_MASK (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY)
209 #define MAX_GOPHER_DISPLAY_TEXT 128
210 #define MAX_GOPHER_SELECTOR_TEXT 256
211 #define MAX_GOPHER_HOST_NAME INTERNET_MAX_HOST_NAME_LENGTH
212 #define MAX_GOPHER_LOCATOR_LENGTH (1+MAX_GOPHER_DISPLAY_TEXT+1+MAX_GOPHER_SELECTOR_TEXT+1+MAX_GOPHER_HOST_NAME+1+INTERNET_MAX_PORT_NUMBER_LENGTH+1+1+2)
213 #define GOPHER_TYPE_TEXT_FILE 1
214 #define GOPHER_TYPE_DIRECTORY 2
215 #define GOPHER_TYPE_CSO 4
216 #define GOPHER_TYPE_ERROR 8
217 #define GOPHER_TYPE_MAC_BINHEX 16
218 #define GOPHER_TYPE_DOS_ARCHIVE 32
219 #define GOPHER_TYPE_UNIX_UUENCODED 64
220 #define GOPHER_TYPE_INDEX_SERVER 128
221 #define GOPHER_TYPE_TELNET 256
222 #define GOPHER_TYPE_BINARY 512
223 #define GOPHER_TYPE_REDUNDANT 1024
224 #define GOPHER_TYPE_TN3270 0x800
225 #define GOPHER_TYPE_GIF 0x1000
226 #define GOPHER_TYPE_IMAGE 0x2000
227 #define GOPHER_TYPE_BITMAP 0x4000
228 #define GOPHER_TYPE_MOVIE 0x8000
229 #define GOPHER_TYPE_SOUND 0x10000
230 #define GOPHER_TYPE_HTML 0x20000
231 #define GOPHER_TYPE_PDF 0x40000
232 #define GOPHER_TYPE_CALENDAR 0x80000
233 #define GOPHER_TYPE_INLINE 0x100000
234 #define GOPHER_TYPE_UNKNOWN 0x20000000
235 #define GOPHER_TYPE_ASK 0x40000000
236 #define GOPHER_TYPE_GOPHER_PLUS 0x80000000
237 #define IS_GOPHER_FILE(t) (BOOL)(((t)&GOPHER_TYPE_FILE_MASK)?TRUE:FALSE)
238 #define IS_GOPHER_DIRECTORY(t) (BOOL)(((t)&GOPHER_TYPE_DIRECTORY)?TRUE:FALSE)
239 #define IS_GOPHER_PHONE_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_CSO)?TRUE:FALSE)
240 #define IS_GOPHER_ERROR(t) (BOOL)(((t)&GOPHER_TYPE_ERROR)?TRUE:FALSE)
241 #define IS_GOPHER_INDEX_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_INDEX_SERVER)?TRUE:FALSE)
242 #define IS_GOPHER_TELNET_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TELNET)?TRUE:FALSE)
243 #define IS_GOPHER_BACKUP_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_REDUNDANT)?TRUE:FALSE)
244 #define IS_GOPHER_TN3270_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TN3270)?TRUE:FALSE)
245 #define IS_GOPHER_ASK(t) (BOOL)(((t)&GOPHER_TYPE_ASK)?TRUE:FALSE)
246 #define IS_GOPHER_PLUS(t) (BOOL)(((t)&GOPHER_TYPE_GOPHER_PLUS)?TRUE:FALSE)
247 #define IS_GOPHER_TYPE_KNOWN(t) (BOOL)(((t)&GOPHER_TYPE_UNKNOWN)?FALSE:TRUE)
248 #define GOPHER_TYPE_FILE_MASK (GOPHER_TYPE_TEXT_FILE|GOPHER_TYPE_MAC_BINHEX|GOPHER_TYPE_DOS_ARCHIVE|\
249 GOPHER_TYPE_UNIX_UUENCODED|GOPHER_TYPE_BINARY|GOPHER_TYPE_GIF|GOPHER_TYPE_IMAGE|GOPHER_TYPE_BITMAP\
250 |GOPHER_TYPE_MOVIE|GOPHER_TYPE_SOUND|GOPHER_TYPE_HTML|GOPHER_TYPE_PDF|GOPHER_TYPE_CALENDAR|GOPHER_TYPE_INLINE)
251 #define MAX_GOPHER_CATEGORY_NAME 128
252 #define MAX_GOPHER_ATTRIBUTE_NAME 128
253 #define MIN_GOPHER_ATTRIBUTE_LENGTH 256
254 #define GOPHER_INFO_CATEGORY TEXT("+INFO")
255 #define GOPHER_ADMIN_CATEGORY TEXT("+ADMIN")
256 #define GOPHER_VIEWS_CATEGORY TEXT("+VIEWS")
257 #define GOPHER_ABSTRACT_CATEGORY TEXT("+ABSTRACT")
258 #define GOPHER_VERONICA_CATEGORY TEXT("+VERONICA")
259 #define GOPHER_ADMIN_ATTRIBUTE TEXT("Admin")
260 #define GOPHER_MOD_DATE_ATTRIBUTE TEXT("Mod-Date")
261 #define GOPHER_TTL_ATTRIBUTE TEXT("TTL")
262 #define GOPHER_SCORE_ATTRIBUTE TEXT("Score")
263 #define GOPHER_RANGE_ATTRIBUTE TEXT("Score-range")
264 #define GOPHER_SITE_ATTRIBUTE TEXT("Site")
265 #define GOPHER_ORG_ATTRIBUTE TEXT("Org")
266 #define GOPHER_LOCATION_ATTRIBUTE TEXT("Loc")
267 #define GOPHER_GEOG_ATTRIBUTE TEXT("Geog")
268 #define GOPHER_TIMEZONE_ATTRIBUTE TEXT("TZ")
269 #define GOPHER_PROVIDER_ATTRIBUTE TEXT("Provider")
270 #define GOPHER_VERSION_ATTRIBUTE TEXT("Version")
271 #define GOPHER_ABSTRACT_ATTRIBUTE TEXT("Abstract")
272 #define GOPHER_VIEW_ATTRIBUTE TEXT("View")
273 #define GOPHER_TREEWALK_ATTRIBUTE TEXT("treewalk")
274 #define GOPHER_ATTRIBUTE_ID_BASE 0xabcccc00
275 #define GOPHER_CATEGORY_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE+1)
276 #define GOPHER_CATEGORY_ID_INFO (GOPHER_ATTRIBUTE_ID_BASE+2)
277 #define GOPHER_CATEGORY_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE+3)
278 #define GOPHER_CATEGORY_ID_VIEWS (GOPHER_ATTRIBUTE_ID_BASE+4)
279 #define GOPHER_CATEGORY_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE+5)
280 #define GOPHER_CATEGORY_ID_VERONICA (GOPHER_ATTRIBUTE_ID_BASE+6)
281 #define GOPHER_CATEGORY_ID_ASK (GOPHER_ATTRIBUTE_ID_BASE+7)
282 #define GOPHER_CATEGORY_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE+8)
283 #define GOPHER_ATTRIBUTE_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE+9)
284 #define GOPHER_ATTRIBUTE_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE+10)
285 #define GOPHER_ATTRIBUTE_ID_MOD_DATE (GOPHER_ATTRIBUTE_ID_BASE+11)
286 #define GOPHER_ATTRIBUTE_ID_TTL (GOPHER_ATTRIBUTE_ID_BASE+12)
287 #define GOPHER_ATTRIBUTE_ID_SCORE (GOPHER_ATTRIBUTE_ID_BASE+13)
288 #define GOPHER_ATTRIBUTE_ID_RANGE (GOPHER_ATTRIBUTE_ID_BASE+14)
289 #define GOPHER_ATTRIBUTE_ID_SITE (GOPHER_ATTRIBUTE_ID_BASE+15)
290 #define GOPHER_ATTRIBUTE_ID_ORG (GOPHER_ATTRIBUTE_ID_BASE+16)
291 #define GOPHER_ATTRIBUTE_ID_LOCATION (GOPHER_ATTRIBUTE_ID_BASE+17)
292 #define GOPHER_ATTRIBUTE_ID_GEOG (GOPHER_ATTRIBUTE_ID_BASE+18)
293 #define GOPHER_ATTRIBUTE_ID_TIMEZONE (GOPHER_ATTRIBUTE_ID_BASE+19)
294 #define GOPHER_ATTRIBUTE_ID_PROVIDER (GOPHER_ATTRIBUTE_ID_BASE+20)
295 #define GOPHER_ATTRIBUTE_ID_VERSION (GOPHER_ATTRIBUTE_ID_BASE+21)
296 #define GOPHER_ATTRIBUTE_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE+22)
297 #define GOPHER_ATTRIBUTE_ID_VIEW (GOPHER_ATTRIBUTE_ID_BASE+23)
298 #define GOPHER_ATTRIBUTE_ID_TREEWALK (GOPHER_ATTRIBUTE_ID_BASE+24)
299 #define GOPHER_ATTRIBUTE_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE+25)
300 #define HTTP_MAJOR_VERSION 1
301 #define HTTP_MINOR_VERSION 0
302 #define HTTP_VERSION TEXT("HTTP/1.0")
303 #define HTTP_QUERY_MIME_VERSION 0
304 #define HTTP_QUERY_CONTENT_TYPE 1
305 #define HTTP_QUERY_CONTENT_TRANSFER_ENCODING 2
306 #define HTTP_QUERY_CONTENT_ID 3
307 #define HTTP_QUERY_CONTENT_DESCRIPTION 4
308 #define HTTP_QUERY_CONTENT_LENGTH 5
309 #define HTTP_QUERY_CONTENT_LANGUAGE 6
310 #define HTTP_QUERY_ALLOW 7
311 #define HTTP_QUERY_PUBLIC 8
312 #define HTTP_QUERY_DATE 9
313 #define HTTP_QUERY_EXPIRES 10
314 #define HTTP_QUERY_LAST_MODIFIED 11
315 #define HTTP_QUERY_MESSAGE_ID 12
316 #define HTTP_QUERY_URI 13
317 #define HTTP_QUERY_DERIVED_FROM 14
318 #define HTTP_QUERY_COST 15
319 #define HTTP_QUERY_LINK 16
320 #define HTTP_QUERY_PRAGMA 17
321 #define HTTP_QUERY_VERSION 18
322 #define HTTP_QUERY_STATUS_CODE 19
323 #define HTTP_QUERY_STATUS_TEXT 20
324 #define HTTP_QUERY_RAW_HEADERS 21
325 #define HTTP_QUERY_RAW_HEADERS_CRLF 22
326 #define HTTP_QUERY_CONNECTION 23
327 #define HTTP_QUERY_ACCEPT 24
328 #define HTTP_QUERY_ACCEPT_CHARSET 25
329 #define HTTP_QUERY_ACCEPT_ENCODING 26
330 #define HTTP_QUERY_ACCEPT_LANGUAGE 27
331 #define HTTP_QUERY_AUTHORIZATION 28
332 #define HTTP_QUERY_CONTENT_ENCODING 29
333 #define HTTP_QUERY_FORWARDED 30
334 #define HTTP_QUERY_FROM 31
335 #define HTTP_QUERY_IF_MODIFIED_SINCE 32
336 #define HTTP_QUERY_LOCATION 33
337 #define HTTP_QUERY_ORIG_URI 34
338 #define HTTP_QUERY_REFERER 35
339 #define HTTP_QUERY_RETRY_AFTER 36
340 #define HTTP_QUERY_SERVER 37
341 #define HTTP_QUERY_TITLE 38
342 #define HTTP_QUERY_USER_AGENT 39
343 #define HTTP_QUERY_WWW_AUTHENTICATE 40
344 #define HTTP_QUERY_PROXY_AUTHENTICATE 41
345 #define HTTP_QUERY_ACCEPT_RANGES 42
346 #define HTTP_QUERY_SET_COOKIE 43
347 #define HTTP_QUERY_COOKIE 44
348 #define HTTP_QUERY_REQUEST_METHOD 45
349 #define HTTP_QUERY_MAX 45
350 #define HTTP_QUERY_CUSTOM 65535
351 #define HTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000
352 #define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000
353 #define HTTP_QUERY_FLAG_NUMBER 0x20000000
354 #define HTTP_QUERY_FLAG_COALESCE 0x10000000
355 #define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS|HTTP_QUERY_FLAG_SYSTEMTIME|HTTP_QUERY_FLAG_NUMBER|HTTP_QUERY_FLAG_COALESCE)
356 #define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK)
357 #define HTTP_STATUS_OK 200
358 #define HTTP_STATUS_CREATED 201
359 #define HTTP_STATUS_ACCEPTED 202
360 #define HTTP_STATUS_PARTIAL 203
361 #define HTTP_STATUS_NO_CONTENT 204
362 #define HTTP_STATUS_AMBIGUOUS 300
363 #define HTTP_STATUS_MOVED 301
364 #define HTTP_STATUS_REDIRECT 302
365 #define HTTP_STATUS_REDIRECT_METHOD 303
366 #define HTTP_STATUS_NOT_MODIFIED 304
367 #define HTTP_STATUS_BAD_REQUEST 400
368 #define HTTP_STATUS_DENIED 401
369 #define HTTP_STATUS_PAYMENT_REQ 402
370 #define HTTP_STATUS_FORBIDDEN 403
371 #define HTTP_STATUS_NOT_FOUND 404
372 #define HTTP_STATUS_BAD_METHOD 405
373 #define HTTP_STATUS_NONE_ACCEPTABLE 406
374 #define HTTP_STATUS_PROXY_AUTH_REQ 407
375 #define HTTP_STATUS_REQUEST_TIMEOUT 408
376 #define HTTP_STATUS_CONFLICT 409
377 #define HTTP_STATUS_GONE 410
378 #define HTTP_STATUS_AUTH_REFUSED 411
379 #define HTTP_STATUS_SERVER_ERROR 500
380 #define HTTP_STATUS_NOT_SUPPORTED 501
381 #define HTTP_STATUS_BAD_GATEWAY 502
382 #define HTTP_STATUS_SERVICE_UNAVAIL 503
383 #define HTTP_STATUS_GATEWAY_TIMEOUT 504
384 #define INTERNET_PREFETCH_PROGRESS 0
385 #define INTERNET_PREFETCH_COMPLETE 1
386 #define INTERNET_PREFETCH_ABORTED 2
387 #define FLAGS_ERROR_UI_FILTER_FOR_ERRORS 0x01
388 #define FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS 0x02
389 #define FLAGS_ERROR_UI_FLAGS_GENERATE_DATA 0x04
390 #define FLAGS_ERROR_UI_FLAGS_NO_UI 0x08
391 #define HTTP_ADDREQ_INDEX_MASK 0x0000FFFF
392 #define HTTP_ADDREQ_FLAGS_MASK 0xFFFF0000
393 #define HTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000
394 #define HTTP_ADDREQ_FLAG_ADD 0x20000000
395 #define HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000
396 #define HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000
397 #define HTTP_ADDREQ_FLAG_COALESCE HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
398 #define HTTP_ADDREQ_FLAG_REPLACE 0x80000000
399 #define INTERNET_ERROR_BASE 12000
400 #define ERROR_INTERNET_OUT_OF_HANDLES (INTERNET_ERROR_BASE+1)
401 #define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE+2)
402 #define ERROR_INTERNET_EXTENDED_ERROR (INTERNET_ERROR_BASE+3)
403 #define ERROR_INTERNET_INTERNAL_ERROR (INTERNET_ERROR_BASE+4)
404 #define ERROR_INTERNET_INVALID_URL (INTERNET_ERROR_BASE+5)
405 #define ERROR_INTERNET_UNRECOGNIZED_SCHEME (INTERNET_ERROR_BASE+6)
406 #define ERROR_INTERNET_NAME_NOT_RESOLVED (INTERNET_ERROR_BASE+7)
407 #define ERROR_INTERNET_PROTOCOL_NOT_FOUND (INTERNET_ERROR_BASE+8)
408 #define ERROR_INTERNET_INVALID_OPTION (INTERNET_ERROR_BASE+9)
409 #define ERROR_INTERNET_BAD_OPTION_LENGTH (INTERNET_ERROR_BASE+10)
410 #define ERROR_INTERNET_OPTION_NOT_SETTABLE (INTERNET_ERROR_BASE+11)
411 #define ERROR_INTERNET_SHUTDOWN (INTERNET_ERROR_BASE+12)
412 #define ERROR_INTERNET_INCORRECT_USER_NAME (INTERNET_ERROR_BASE+13)
413 #define ERROR_INTERNET_INCORRECT_PASSWORD (INTERNET_ERROR_BASE+14)
414 #define ERROR_INTERNET_LOGIN_FAILURE (INTERNET_ERROR_BASE+15)
415 #define ERROR_INTERNET_INVALID_OPERATION (INTERNET_ERROR_BASE+16)
416 #define ERROR_INTERNET_OPERATION_CANCELLED (INTERNET_ERROR_BASE+17)
417 #define ERROR_INTERNET_INCORRECT_HANDLE_TYPE (INTERNET_ERROR_BASE+18)
418 #define ERROR_INTERNET_INCORRECT_HANDLE_STATE (INTERNET_ERROR_BASE+19)
419 #define ERROR_INTERNET_NOT_PROXY_REQUEST (INTERNET_ERROR_BASE+20)
420 #define ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND (INTERNET_ERROR_BASE+21)
421 #define ERROR_INTERNET_BAD_REGISTRY_PARAMETER (INTERNET_ERROR_BASE+22)
422 #define ERROR_INTERNET_NO_DIRECT_ACCESS (INTERNET_ERROR_BASE+23)
423 #define ERROR_INTERNET_NO_CONTEXT (INTERNET_ERROR_BASE+24)
424 #define ERROR_INTERNET_NO_CALLBACK (INTERNET_ERROR_BASE+25)
425 #define ERROR_INTERNET_REQUEST_PENDING (INTERNET_ERROR_BASE+26)
426 #define ERROR_INTERNET_INCORRECT_FORMAT (INTERNET_ERROR_BASE+27)
427 #define ERROR_INTERNET_ITEM_NOT_FOUND (INTERNET_ERROR_BASE+28)
428 #define ERROR_INTERNET_CANNOT_CONNECT (INTERNET_ERROR_BASE+29)
429 #define ERROR_INTERNET_CONNECTION_ABORTED (INTERNET_ERROR_BASE+30)
430 #define ERROR_INTERNET_CONNECTION_RESET (INTERNET_ERROR_BASE+31)
431 #define ERROR_INTERNET_FORCE_RETRY (INTERNET_ERROR_BASE+32)
432 #define ERROR_INTERNET_INVALID_PROXY_REQUEST (INTERNET_ERROR_BASE+33)
433 #define ERROR_INTERNET_NEED_UI (INTERNET_ERROR_BASE+34)
434 #define ERROR_INTERNET_HANDLE_EXISTS (INTERNET_ERROR_BASE+36)
435 #define ERROR_INTERNET_SEC_CERT_DATE_INVALID (INTERNET_ERROR_BASE+37)
436 #define ERROR_INTERNET_SEC_CERT_CN_INVALID (INTERNET_ERROR_BASE+38)
437 #define ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR (INTERNET_ERROR_BASE+39)
438 #define ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR (INTERNET_ERROR_BASE+40)
439 #define ERROR_INTERNET_MIXED_SECURITY (INTERNET_ERROR_BASE+41)
440 #define ERROR_INTERNET_CHG_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+42)
441 #define ERROR_INTERNET_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+43)
442 #define ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED (INTERNET_ERROR_BASE+44)
443 #define ERROR_INTERNET_INVALID_CA (INTERNET_ERROR_BASE+45)
444 #define ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP (INTERNET_ERROR_BASE+46)
445 #define ERROR_INTERNET_ASYNC_THREAD_FAILED (INTERNET_ERROR_BASE+47)
446 #define ERROR_INTERNET_REDIRECT_SCHEME_CHANGE (INTERNET_ERROR_BASE+48)
447 #define ERROR_FTP_TRANSFER_IN_PROGRESS (INTERNET_ERROR_BASE+110)
448 #define ERROR_FTP_DROPPED (INTERNET_ERROR_BASE+111)
449 #define ERROR_GOPHER_PROTOCOL_ERROR (INTERNET_ERROR_BASE+130)
450 #define ERROR_GOPHER_NOT_FILE (INTERNET_ERROR_BASE+131)
451 #define ERROR_GOPHER_DATA_ERROR (INTERNET_ERROR_BASE+132)
452 #define ERROR_GOPHER_END_OF_DATA (INTERNET_ERROR_BASE+133)
453 #define ERROR_GOPHER_INVALID_LOCATOR (INTERNET_ERROR_BASE+134)
454 #define ERROR_GOPHER_INCORRECT_LOCATOR_TYPE (INTERNET_ERROR_BASE+135)
455 #define ERROR_GOPHER_NOT_GOPHER_PLUS (INTERNET_ERROR_BASE+136)
456 #define ERROR_GOPHER_ATTRIBUTE_NOT_FOUND (INTERNET_ERROR_BASE+137)
457 #define ERROR_GOPHER_UNKNOWN_LOCATOR (INTERNET_ERROR_BASE+138)
458 #define ERROR_HTTP_HEADER_NOT_FOUND (INTERNET_ERROR_BASE+150)
459 #define ERROR_HTTP_DOWNLEVEL_SERVER (INTERNET_ERROR_BASE+151)
460 #define ERROR_HTTP_INVALID_SERVER_RESPONSE (INTERNET_ERROR_BASE+152)
461 #define ERROR_HTTP_INVALID_HEADER (INTERNET_ERROR_BASE+153)
462 #define ERROR_HTTP_INVALID_QUERY_REQUEST (INTERNET_ERROR_BASE+154)
463 #define ERROR_HTTP_HEADER_ALREADY_EXISTS (INTERNET_ERROR_BASE+155)
464 #define ERROR_HTTP_REDIRECT_FAILED (INTERNET_ERROR_BASE+156)
465 #define ERROR_HTTP_NOT_REDIRECTED (INTERNET_ERROR_BASE+160)
466 #define ERROR_INTERNET_SECURITY_CHANNEL_ERROR (INTERNET_ERROR_BASE+157)
467 #define ERROR_INTERNET_UNABLE_TO_CACHE_FILE (INTERNET_ERROR_BASE+158)
468 #define ERROR_INTERNET_TCPIP_NOT_INSTALLED (INTERNET_ERROR_BASE+159)
469 #define INTERNET_ERROR_LAST ERROR_INTERNET_TCPIP_NOT_INSTALLED
470 #define URLCACHEAPI DECLSPEC_IMPORT
471 #define NORMAL_CACHE_ENTRY 1
472 #define STABLE_CACHE_ENTRY 2
473 #define STICKY_CACHE_ENTRY 4
474 #define SPARSE_CACHE_ENTRY 0x10000
475 #define OCX_CACHE_ENTRY 0x20000
476 #define COOKIE_CACHE_ENTRY 0x100000
477 #define URLHISTORY_CACHE_ENTRY 0x200000
478 #define CACHE_ENTRY_ATTRIBUTE_FC 4
479 #define CACHE_ENTRY_HITRATE_FC 0x10
480 #define CACHE_ENTRY_MODTIME_FC 0x40
481 #define CACHE_ENTRY_EXPTIME_FC 0x80
482 #define CACHE_ENTRY_ACCTIME_FC 0x100
483 #define CACHE_ENTRY_SYNCTIME_FC 0x200
484 #define CACHE_ENTRY_HEADERINFO_FC 0x400
485 #define IRF_ASYNC WININET_API_FLAG_ASYNC
486 #define IRF_SYNC WININET_API_FLAG_SYNC
487 #define IRF_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
488 #define IRF_NO_WAIT 8
489 #define HSR_ASYNC       WININET_API_FLAG_ASYNC
490 #define HSR_SYNC        WININET_API_FLAG_SYNC
491 #define HSR_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
492 #define HSR_INITIATE    8
493 #define HSR_DOWNLOAD    16
494 #define HSR_CHUNKED     32
495 #define INTERNET_DIAL_UNATTENDED        0x8000
496 #define INTERNET_DIALSTATE_DISCONNECTED 1
497 #define INTERENT_GOONLINE_REFRESH       1
498 #define INTERENT_GOONLINE_MASK  1
499 #define INTERNET_AUTODIAL_FORCE_ONLINE  1
500 #define INTERNET_AUTODIAL_FORCE_UNATTENDED      2
501 #define INTERNET_AUTODIAL_FAILIFSECURITYCHECK   4
502 #define INTERNET_CONNECTION_MODEM       0x01
503 #define INTERNET_CONNECTION_LAN         0x02
504 #define INTERNET_CONNECTION_PROXY       0x04
505 #define INTERNET_CONNECTION_MODEM_BUSY  0x08
506 #define INTERNET_RAS_INSTALLED          0x10
507 #define INTERNET_CONNECTION_OFFLINE     0x20
508 #define INTERNET_CONNECTION_CONFIGURED  0x40
509 #define CACHEGROUP_SEARCH_ALL   0
510 #define CACHEGROUP_SEARCH_BYURL 1
511 #define INTERNET_CACHE_GROUP_ADD        0
512 #define INTERNET_CACHE_GROUP_REMOVE     1
513 #define WININET_API_FLAG_ASYNC 0x00000001       /* Force asynchronous operations.  */
514 #define WININET_API_FLAG_SYNC 0x00000004        /* Force synchronous operations.  */
515 #define WININET_API_FLAG_USE_CONTEXT 0x00000008 /* Force the API to use the context value, even if it is set to zero.  */
516
517 #define INTERNET_STATE_CONNECTED                0x0001
518 #define INTERNET_STATE_DISCONNECTED             0x0002
519 #define INTERNET_STATE_DISCONNECTED_BY_USER     0x0010
520 #define INTERNET_STATE_IDLE                     0x0100
521 #define INTERNET_STATE_BUSY                     0x0200
522
523 #ifndef RC_INVOKED
524 typedef PVOID HINTERNET;
525 typedef HINTERNET *LPHINTERNET;
526 typedef LONGLONG GROUPID;
527 typedef WORD INTERNET_PORT,*LPINTERNET_PORT;
528 typedef enum {
529         INTERNET_SCHEME_PARTIAL = -2, INTERNET_SCHEME_UNKNOWN = -1,
530         INTERNET_SCHEME_DEFAULT = 0, INTERNET_SCHEME_FTP, INTERNET_SCHEME_GOPHER,
531         INTERNET_SCHEME_HTTP, INTERNET_SCHEME_HTTPS, INTERNET_SCHEME_FILE,
532         INTERNET_SCHEME_NEWS, INTERNET_SCHEME_MAILTO, INTERNET_SCHEME_SOCKS,
533         INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, INTERNET_SCHEME_LAST = INTERNET_SCHEME_SOCKS
534 } INTERNET_SCHEME,*LPINTERNET_SCHEME;
535 typedef struct { DWORD dwResult; DWORD dwError; } INTERNET_ASYNC_RESULT,*LPINTERNET_ASYNC_RESULT;
536 typedef struct { DWORD dwStatus; DWORD dwSize; } INTERNET_PREFETCH_STATUS,*LPINTERNET_PREFETCH_STATUS;
537 typedef struct {
538         DWORD dwAccessType;
539         LPCTSTR lpszProxy;
540         LPCTSTR lpszProxyBypass;
541 } INTERNET_PROXY_INFO,*LPINTERNET_PROXY_INFO;
542 typedef struct {
543         DWORD dwMajorVersion;
544         DWORD dwMinorVersion;
545 } INTERNET_VERSION_INFO,*LPINTERNET_VERSION_INFO;
546 typedef struct {
547         DWORD dwStructSize;
548         LPSTR lpszScheme;
549         DWORD dwSchemeLength;
550         INTERNET_SCHEME nScheme;
551         LPSTR lpszHostName;
552         DWORD dwHostNameLength;
553         INTERNET_PORT nPort;
554         LPSTR lpszUserName;
555         DWORD dwUserNameLength;
556         LPSTR lpszPassword;
557         DWORD dwPasswordLength;
558         LPSTR lpszUrlPath;
559         DWORD dwUrlPathLength;
560         LPSTR lpszExtraInfo;
561         DWORD dwExtraInfoLength;
562 } URL_COMPONENTSA,*LPURL_COMPONENTSA;
563 typedef struct {
564         DWORD dwStructSize;
565         LPWSTR lpszScheme;
566         DWORD dwSchemeLength;
567         INTERNET_SCHEME nScheme;
568         LPWSTR lpszHostName;
569         DWORD dwHostNameLength;
570         INTERNET_PORT nPort;
571         LPWSTR lpszUserName;
572         DWORD dwUserNameLength;
573         LPWSTR lpszPassword;
574         DWORD dwPasswordLength;
575         LPWSTR lpszUrlPath;
576         DWORD dwUrlPathLength;
577         LPWSTR lpszExtraInfo;
578         DWORD dwExtraInfoLength;
579 } URL_COMPONENTSW,*LPURL_COMPONENTSW;
580 typedef struct {
581         FILETIME ftExpiry;
582         FILETIME ftStart;
583         LPTSTR lpszSubjectInfo;
584         LPTSTR lpszIssuerInfo;
585         LPTSTR lpszProtocolName;
586         LPTSTR lpszSignatureAlgName;
587         LPTSTR lpszEncryptionAlgName;
588         DWORD dwKeySize;
589 } INTERNET_CERTIFICATE_INFO,*LPINTERNET_CERTIFICATE_INFO;
590 typedef VOID (CALLBACK * INTERNET_STATUS_CALLBACK)(HINTERNET,DWORD,DWORD,PVOID,DWORD);
591 typedef INTERNET_STATUS_CALLBACK * LPINTERNET_STATUS_CALLBACK;
592 typedef struct {
593         CHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT+1];
594         DWORD GopherType;
595         DWORD SizeLow;
596         DWORD SizeHigh;
597         FILETIME LastModificationTime;
598         CHAR Locator[MAX_GOPHER_LOCATOR_LENGTH+1];
599 } GOPHER_FIND_DATAA,*LPGOPHER_FIND_DATAA;
600 typedef struct {
601         WCHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT+1];
602         DWORD GopherType;
603         DWORD SizeLow;
604         DWORD SizeHigh;
605         FILETIME LastModificationTime;
606         WCHAR Locator[MAX_GOPHER_LOCATOR_LENGTH+1];
607 } GOPHER_FIND_DATAW,*LPGOPHER_FIND_DATAW;
608 typedef struct {
609         LPCTSTR Comment;
610         LPCTSTR EmailAddress;
611 } GOPHER_ADMIN_ATTRIBUTE_TYPE,*LPGOPHER_ADMIN_ATTRIBUTE_TYPE;
612 typedef struct {FILETIME DateAndTime;} GOPHER_MOD_DATE_ATTRIBUTE_TYPE,*LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE;
613 typedef struct {DWORD Ttl;} GOPHER_TTL_ATTRIBUTE_TYPE,*LPGOPHER_TTL_ATTRIBUTE_TYPE;
614 typedef struct {INT Score;} GOPHER_SCORE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_ATTRIBUTE_TYPE;
615 typedef struct {
616         INT LowerBound;
617         INT UpperBound;
618 } GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
619 typedef struct {LPCTSTR Site;} GOPHER_SITE_ATTRIBUTE_TYPE,*LPGOPHER_SITE_ATTRIBUTE_TYPE;
620 typedef struct {LPCTSTR Organization;} GOPHER_ORGANIZATION_ATTRIBUTE_TYPE,*LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE;
621 typedef struct {LPCTSTR Location;} GOPHER_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_LOCATION_ATTRIBUTE_TYPE;
622 typedef struct {
623         INT DegreesNorth;
624         INT MinutesNorth;
625         INT SecondsNorth;
626         INT DegreesEast;
627         INT MinutesEast;
628         INT SecondsEast;
629 } GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
630 typedef struct {INT Zone;} GOPHER_TIMEZONE_ATTRIBUTE_TYPE,*LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE;
631 typedef struct {LPCTSTR Provider;} GOPHER_PROVIDER_ATTRIBUTE_TYPE,*LPGOPHER_PROVIDER_ATTRIBUTE_TYPE;
632 typedef struct {LPCTSTR Version;} GOPHER_VERSION_ATTRIBUTE_TYPE,*LPGOPHER_VERSION_ATTRIBUTE_TYPE;
633 typedef struct {
634         LPCTSTR ShortAbstract;
635         LPCTSTR AbstractFile;
636 } GOPHER_ABSTRACT_ATTRIBUTE_TYPE,*LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE;
637 typedef struct {
638         LPCTSTR ContentType;
639         LPCTSTR Language;
640         DWORD Size;
641 } GOPHER_VIEW_ATTRIBUTE_TYPE,*LPGOPHER_VIEW_ATTRIBUTE_TYPE;
642 typedef struct {BOOL TreeWalk;} GOPHER_VERONICA_ATTRIBUTE_TYPE,*LPGOPHER_VERONICA_ATTRIBUTE_TYPE;
643 typedef struct {
644         LPCTSTR QuestionType;
645         LPCTSTR QuestionText;
646 } GOPHER_ASK_ATTRIBUTE_TYPE,*LPGOPHER_ASK_ATTRIBUTE_TYPE;
647 typedef struct {LPCTSTR Text;} GOPHER_UNKNOWN_ATTRIBUTE_TYPE,*LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE;
648 typedef struct {
649         DWORD CategoryId;
650         DWORD AttributeId;
651         union {
652                 GOPHER_ADMIN_ATTRIBUTE_TYPE Admin;
653                 GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate;
654                 GOPHER_TTL_ATTRIBUTE_TYPE Ttl;
655                 GOPHER_SCORE_ATTRIBUTE_TYPE Score;
656                 GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange;
657                 GOPHER_SITE_ATTRIBUTE_TYPE Site;
658                 GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization;
659                 GOPHER_LOCATION_ATTRIBUTE_TYPE Location;
660                 GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation;
661                 GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone;
662                 GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider;
663                 GOPHER_VERSION_ATTRIBUTE_TYPE Version;
664                 GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract;
665                 GOPHER_VIEW_ATTRIBUTE_TYPE View;
666                 GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica;
667                 GOPHER_ASK_ATTRIBUTE_TYPE Ask;
668                 GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown;
669         } AttributeType;
670 } GOPHER_ATTRIBUTE_TYPE,*LPGOPHER_ATTRIBUTE_TYPE;
671 typedef BOOL(CALLBACK *GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE,DWORD);
672 typedef struct _INTERNET_CACHE_ENTRY_INFOA {
673         DWORD dwStructSize;
674         LPSTR lpszSourceUrlName;
675         LPSTR lpszLocalFileName;
676         DWORD CacheEntryType;
677         DWORD dwUseCount;
678         DWORD dwHitRate;
679         DWORD dwSizeLow;
680         DWORD dwSizeHigh;
681         FILETIME LastModifiedTime;
682         FILETIME ExpireTime;
683         FILETIME LastAccessTime;
684         FILETIME LastSyncTime;
685         PBYTE lpHeaderInfo;
686         DWORD dwHeaderInfoSize;
687         LPSTR lpszFileExtension;
688         DWORD dwReserved;
689 } INTERNET_CACHE_ENTRY_INFOA,*LPINTERNET_CACHE_ENTRY_INFOA;
690 typedef struct _INTERNET_CACHE_ENTRY_INFOW {
691         DWORD dwStructSize;
692         LPWSTR lpszSourceUrlName;
693         LPWSTR lpszLocalFileName;
694         DWORD CacheEntryType;
695         DWORD dwUseCount;
696         DWORD dwHitRate;
697         DWORD dwSizeLow;
698         DWORD dwSizeHigh;
699         FILETIME LastModifiedTime;
700         FILETIME ExpireTime;
701         FILETIME LastAccessTime;
702         FILETIME LastSyncTime;
703         PBYTE lpHeaderInfo;
704         DWORD dwHeaderInfoSize;
705         LPWSTR lpszFileExtension;
706         DWORD dwReserved;
707 } INTERNET_CACHE_ENTRY_INFOW,*LPINTERNET_CACHE_ENTRY_INFOW;
708 typedef struct _INTERNET_BUFFERSA {
709         DWORD dwStructSize;
710         struct _INTERNET_BUFFERSA *Next;
711         LPCSTR lpcszHeader;
712         DWORD dwHeadersLength;
713         DWORD dwHeadersTotal;
714         LPVOID lpvBuffer;
715         DWORD dwBufferLength;
716         DWORD dwBufferTotal;
717         DWORD dwOffsetLow;
718         DWORD dwOffsetHigh;
719 } INTERNET_BUFFERSA,*LPINTERNET_BUFFERSA;
720 typedef struct _INTERNET_BUFFERSW {
721         DWORD dwStructSize;
722         struct _INTERNET_BUFFERS *Next;
723         LPCWSTR  lpcszHeader;
724         DWORD dwHeadersLength;
725         DWORD dwHeadersTotal;
726         LPVOID lpvBuffer;
727         DWORD dwBufferLength;
728         DWORD dwBufferTotal;
729         DWORD dwOffsetLow;
730         DWORD dwOffsetHigh;
731 } INTERNET_BUFFERSW,*LPINTERNET_BUFFERSW;
732
733 #define GROUP_OWNER_STORAGE_SIZE 4
734 #define GROUPNAME_MAX_LENGTH 120
735 typedef struct _INTERNET_CACHE_GROUP_INFOA {
736         DWORD dwGroupSize;
737         DWORD dwGroupFlags;
738         DWORD dwGroupType;
739         DWORD dwDiskUsage;
740         DWORD dwDiskQuota;
741         DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
742         CHAR  szGroupName[GROUPNAME_MAX_LENGTH];
743 } INTERNET_CACHE_GROUP_INFOA, * LPINTERNET_CACHE_GROUP_INFOA;
744 typedef struct _INTERNET_CACHE_GROUP_INFOW {
745         DWORD dwGroupSize;
746         DWORD dwGroupFlags;
747         DWORD dwGroupType;
748         DWORD dwDiskUsage;
749         DWORD dwDiskQuota;
750         DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
751         WCHAR szGroupName[GROUPNAME_MAX_LENGTH];
752 } INTERNET_CACHE_GROUP_INFOW, * LPINTERNET_CACHE_GROUP_INFOW;
753 typedef struct {
754         DWORD dwConnectedState;
755         DWORD dwFlags;
756 } INTERNET_CONNECTED_INFO, * LPINTERNET_CONNECTED_INFO;
757
758 typedef __AW(URL_COMPONENTS) URL_COMPONENTS;
759 typedef __AW(LPURL_COMPONENTS) LPURL_COMPONENTS;
760 typedef __AW(GOPHER_FIND_DATA) GOPHER_FIND_DATA;
761 typedef __AW(LPGOPHER_FIND_DATA) LPGOPHER_FIND_DATA;
762 typedef __AW(INTERNET_CACHE_ENTRY_INFO) INTERNET_CACHE_ENTRY_INFO;
763 typedef __AW(LPINTERNET_CACHE_ENTRY_INFO) LPINTERNET_CACHE_ENTRY_INFO;
764 typedef __AW(INTERNET_BUFFERS) INTERNET_BUFFERS,*LPINTERNET_BUFFERS;
765 typedef __AW(INTERNET_CACHE_GROUP_INFO) INTERNET_CACHE_GROUP_INFO;
766 typedef __AW(LPINTERNET_CACHE_GROUP_INFO) LPINTERNET_CACHE_GROUP_INFO;
767 BOOL WINAPI InternetTimeFromSystemTime(SYSTEMTIME*,DWORD,LPSTR,DWORD);
768 BOOL WINAPI InternetTimeToSystemTime(LPCSTR,SYSTEMTIME*,DWORD);
769 BOOL WINAPI InternetDebugGetLocalTime(SYSTEMTIME*,PDWORD);
770 BOOL WINAPI InternetCrackUrlA(LPCSTR,DWORD,DWORD,LPURL_COMPONENTSA);
771 BOOL WINAPI InternetCrackUrlW(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTSW);
772 BOOL WINAPI InternetCreateUrlA(LPURL_COMPONENTSA,DWORD,LPSTR,PDWORD);
773 BOOL WINAPI InternetCreateUrlW(LPURL_COMPONENTSW,DWORD,LPWSTR,PDWORD);
774 BOOL WINAPI InternetCanonicalizeUrlA(LPCSTR,LPSTR,PDWORD,DWORD);
775 BOOL WINAPI InternetCanonicalizeUrlW(LPCWSTR,LPWSTR,PDWORD,DWORD);
776 BOOL WINAPI InternetCheckConnectionA(LPCSTR,DWORD,DWORD);
777 BOOL WINAPI InternetCheckConnectionW(LPCWSTR,DWORD,DWORD);
778 BOOL WINAPI InternetCombineUrlA(LPCSTR,LPCSTR,LPSTR,PDWORD,DWORD);
779 BOOL WINAPI InternetCombineUrlW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,DWORD);
780 HINTERNET WINAPI InternetOpenA(LPCSTR,DWORD,LPCSTR,LPCSTR,DWORD);
781 HINTERNET WINAPI InternetOpenW(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD);
782 BOOL WINAPI InternetCloseHandle(HINTERNET);
783 HINTERNET WINAPI InternetConnectA(HINTERNET,LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,DWORD,DWORD);
784 HINTERNET WINAPI InternetConnectW(HINTERNET,LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD);
785 HINTERNET WINAPI InternetOpenUrlA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD,DWORD);
786 HINTERNET WINAPI InternetOpenUrlW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD);
787 BOOL WINAPI InternetReadFile(HINTERNET,PVOID,DWORD,PDWORD);
788 DWORD WINAPI InternetSetFilePointer( HINTERNET,LONG,PVOID,DWORD,DWORD);
789 BOOL WINAPI InternetWriteFile(HINTERNET,LPCVOID,DWORD,PDWORD);
790 BOOL WINAPI InternetQueryDataAvailable( HINTERNET,PDWORD,DWORD,DWORD);
791 BOOL WINAPI InternetFindNextFileA(HINTERNET,PVOID);
792 BOOL WINAPI InternetFindNextFileW(HINTERNET,PVOID);
793 BOOL WINAPI InternetQueryOptionA(HINTERNET,DWORD,PVOID,PDWORD);
794 BOOL WINAPI InternetQueryOptionW(HINTERNET,DWORD,PVOID,PDWORD);
795 BOOL WINAPI InternetSetOptionA(HINTERNET,DWORD,PVOID,DWORD);
796 BOOL WINAPI InternetSetOptionW(HINTERNET,DWORD,PVOID,DWORD);
797 BOOL WINAPI InternetSetOptionExA(HINTERNET,DWORD,PVOID,DWORD,DWORD);
798 BOOL WINAPI InternetSetOptionExW(HINTERNET,DWORD,PVOID,DWORD,DWORD);
799 BOOL WINAPI InternetGetLastResponseInfoA(PDWORD,LPSTR,PDWORD);
800 BOOL WINAPI InternetGetLastResponseInfoW(PDWORD,LPWSTR,PDWORD);
801 INTERNET_STATUS_CALLBACK WINAPI InternetSetStatusCallback(HINTERNET,INTERNET_STATUS_CALLBACK);
802 DWORD WINAPI FtpGetFileSize(HINTERNET,LPDWORD);
803 HINTERNET WINAPI FtpFindFirstFileA(HINTERNET,LPCSTR,LPWIN32_FIND_DATA,DWORD,DWORD);
804 HINTERNET WINAPI FtpFindFirstFileW(HINTERNET,LPCWSTR,LPWIN32_FIND_DATA,DWORD,DWORD);
805 BOOL WINAPI FtpGetFileA(HINTERNET,LPCSTR,LPCSTR,BOOL,DWORD,DWORD,DWORD);
806 BOOL WINAPI FtpGetFileW( HINTERNET,LPCWSTR,LPCWSTR,BOOL,DWORD,DWORD,DWORD);
807 BOOL WINAPI FtpPutFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD);
808 BOOL WINAPI FtpPutFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD);
809 BOOL WINAPI FtpDeleteFileA(HINTERNET,LPCSTR);
810 BOOL WINAPI FtpDeleteFileW(HINTERNET,LPCWSTR);
811 BOOL WINAPI FtpRenameFileA(HINTERNET, LPCSTR,LPCSTR);
812 BOOL WINAPI FtpRenameFileW(HINTERNET,LPCWSTR,LPCWSTR);
813 HINTERNET WINAPI FtpOpenFileA(HINTERNET,LPCSTR,DWORD,DWORD,DWORD);
814 HINTERNET WINAPI FtpOpenFileW(HINTERNET,LPCWSTR,DWORD,DWORD,DWORD);
815 BOOL WINAPI FtpCreateDirectoryA(HINTERNET,LPCSTR);
816 BOOL WINAPI FtpCreateDirectoryW(HINTERNET,LPCWSTR);
817 BOOL WINAPI FtpRemoveDirectoryA(HINTERNET,LPCSTR);
818 BOOL WINAPI FtpRemoveDirectoryW(HINTERNET,LPCWSTR);
819 BOOL WINAPI FtpSetCurrentDirectoryA(HINTERNET,LPCSTR);
820 BOOL WINAPI FtpSetCurrentDirectoryW(HINTERNET,LPCWSTR);
821 BOOL WINAPI FtpGetCurrentDirectoryA(HINTERNET,LPSTR,PDWORD);
822 BOOL WINAPI FtpGetCurrentDirectoryW(HINTERNET,LPWSTR,PDWORD);
823 BOOL WINAPI FtpCommandA(HINTERNET,BOOL,DWORD,LPCSTR,DWORD_PTR,HINTERNET*);
824 BOOL WINAPI FtpCommandW(HINTERNET,BOOL,DWORD,LPCWSTR,DWORD_PTR,HINTERNET*);
825 BOOL WINAPI GopherCreateLocatorA(LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD);
826 BOOL WINAPI GopherCreateLocatorW(LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD);
827 BOOL WINAPI GopherGetLocatorTypeA(LPCSTR,PDWORD);
828 BOOL WINAPI GopherGetLocatorTypeW(LPCWSTR,PDWORD);
829 HINTERNET WINAPI GopherFindFirstFileA(HINTERNET,LPCSTR,LPCSTR,LPGOPHER_FIND_DATAA,DWORD,DWORD);
830 HINTERNET WINAPI GopherFindFirstFileW(HINTERNET,LPCWSTR,LPCWSTR,LPGOPHER_FIND_DATAW,DWORD,DWORD);
831 HINTERNET WINAPI GopherOpenFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD);
832 HINTERNET WINAPI GopherOpenFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD);
833 BOOL WINAPI GopherGetAttributeA(HINTERNET,LPCSTR,LPCSTR,LPBYTE,DWORD,PDWORD,GOPHER_ATTRIBUTE_ENUMERATOR,DWORD);
834 BOOL WINAPI GopherGetAttributeW(HINTERNET,LPCWSTR,
835 LPCWSTR, LPBYTE, DWORD, PDWORD, GOPHER_ATTRIBUTE_ENUMERATOR, DWORD);
836 HINTERNET WINAPI HttpOpenRequestA(HINTERNET,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR *,DWORD,DWORD);
837 HINTERNET WINAPI HttpOpenRequestW(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR FAR * lplpszAcceptTypes , DWORD dwFlags, DWORD dwContext);
838 BOOL WINAPI HttpAddRequestHeadersA(HINTERNET,LPCSTR,DWORD,DWORD);
839 BOOL WINAPI HttpAddRequestHeadersW(HINTERNET,LPCWSTR,DWORD,DWORD);
840 BOOL WINAPI HttpSendRequestA(HINTERNET,LPCSTR,DWORD,PVOID,DWORD);
841 BOOL WINAPI HttpSendRequestW(HINTERNET,LPCWSTR,DWORD,PVOID,DWORD);
842 BOOL WINAPI HttpQueryInfoA(HINTERNET,DWORD,PVOID,PDWORD,PDWORD);
843 BOOL WINAPI HttpQueryInfoW(HINTERNET,DWORD,PVOID,PDWORD,PDWORD);
844 BOOL WINAPI InternetSetCookieA(LPCSTR,LPCSTR,LPCSTR);
845 BOOL WINAPI InternetSetCookieW(LPCSTR,LPCWSTR,LPCWSTR);
846 BOOL WINAPI InternetGetCookieA(LPCSTR,LPCSTR,LPSTR,PDWORD);
847 BOOL WINAPI InternetGetCookieW(LPCSTR,LPCWSTR,LPWSTR,PDWORD);
848 DWORD WINAPI InternetAttemptConnect(DWORD);
849 DWORD WINAPI InternetErrorDlg(HWND,HINTERNET,DWORD,DWORD,PVOID *);
850 DWORD WINAPI InternetConfirmZoneCrossing(HWND,LPSTR,LPSTR,BOOL);
851 BOOL WINAPI CreateUrlCacheEntryA(LPCSTR,DWORD,LPCSTR,LPSTR,DWORD);
852 BOOL WINAPI CreateUrlCacheEntryW(LPCSTR,DWORD,LPCSTR,LPWSTR,DWORD);
853 BOOL WINAPI CommitUrlCacheEntryA(LPCSTR,LPCSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCSTR,DWORD);
854 BOOL WINAPI CommitUrlCacheEntryW(LPCSTR,LPCWSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCWSTR,DWORD);
855 BOOL WINAPI RetrieveUrlCacheEntryFileA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD,DWORD);
856 BOOL WINAPI RetrieveUrlCacheEntryFileW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,DWORD);
857 BOOL WINAPI UnlockUrlCacheEntryFile(LPCSTR,DWORD);
858 HANDLE WINAPI RetrieveUrlCacheEntryStreamA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD,BOOL,DWORD);
859 HANDLE WINAPI RetrieveUrlCacheEntryStreamW( LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,BOOL,DWORD);
860 BOOL WINAPI ReadUrlCacheEntryStream(HANDLE,DWORD,PVOID,PDWORD,DWORD);
861 BOOL WINAPI UnlockUrlCacheEntryStream( HANDLE,DWORD);
862 BOOL WINAPI GetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD);
863 BOOL WINAPI GetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD);
864 BOOL WINAPI SetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,DWORD);
865 BOOL WINAPI SetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,DWORD);
866 HANDLE WINAPI FindFirstUrlCacheEntryA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD);
867 HANDLE WINAPI FindFirstUrlCacheEntryW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD);
868 BOOL WINAPI FindNextUrlCacheEntryA(HANDLE,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD);
869 BOOL WINAPI FindNextUrlCacheEntryW(HANDLE,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD);
870 BOOL WINAPI FindCloseUrlCache(HANDLE);
871 BOOL WINAPI DeleteUrlCacheEntryA(LPCSTR);
872 BOOL WINAPI DeleteUrlCacheEntryW(LPCWSTR);
873
874 DWORD AuthenticateUser(PVOID*,LPSTR,LPSTR,DWORD,LPSTR,DWORD,LPSTR,LPSTR);
875 BOOL WINAPI HttpSendRequestExA(HINTERNET,LPINTERNET_BUFFERSA,LPINTERNET_BUFFERSA,DWORD,DWORD);
876 BOOL WINAPI HttpSendRequestExW(HINTERNET,LPINTERNET_BUFFERSW,LPINTERNET_BUFFERSW,DWORD,DWORD);
877 BOOL WINAPI HttpEndRequestA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD);
878 BOOL WINAPI HttpEndRequestW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD);
879 DWORD WINAPI InternetDial(HWND,LPTSTR,DWORD,LPDWORD,DWORD);
880 DWORD WINAPI InternetHangUp(DWORD,DWORD);
881 BOOL WINAPI InternetGoOnline(LPTSTR,HWND,DWORD);
882 BOOL WINAPI InternetAutodial(DWORD,DWORD);
883 BOOL WINAPI InternetAutodialHangup(DWORD);
884 BOOL WINAPI InternetGetConnectedState(LPDWORD,DWORD);
885 BOOL WINAPI InternetSetDialState(LPCTSTR,DWORD,DWORD);
886 BOOL WINAPI InternetReadFileExA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD_PTR);
887 BOOL WINAPI InternetReadFileExW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD_PTR);
888 GROUPID WINAPI CreateUrlCacheGroup(DWORD,LPVOID);
889 BOOL WINAPI DeleteUrlCacheGroup(GROUPID,DWORD,LPVOID);
890 HANDLE WINAPI FindFirstUrlCacheGroup(DWORD,DWORD,LPVOID,DWORD,GROUPID*,LPVOID);
891 BOOL WINAPI FindNextUrlCacheGroup(HANDLE,GROUPID*,LPVOID);
892 BOOL WINAPI GetUrlCacheGroupAttributeA(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOA,LPDWORD,LPVOID);
893 BOOL WINAPI GetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOW,LPDWORD,LPVOID);
894 BOOL WINAPI SetUrlCacheGroupAttributeA(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOA,LPVOID);
895 BOOL WINAPI SetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOW,LPVOID);
896
897 #define InternetCrackUrl __AW(InternetCrackUrl)
898 #define InternetCreateUrl __AW(InternetCreateUrl)
899 #define InternetCanonicalizeUrl __AW(InternetCanonicalizeUrl)
900 #define InternetCheckConnection __AW(InternetCheckConnection)
901 #define InternetCombineUrl __AW(InternetCombineUrl)
902 #define InternetOpen __AW(InternetOpen)
903 #define InternetConnect __AW(InternetConnect)
904 #define InternetOpenUrl __AW(InternetOpenUrl)
905 #define InternetFindNextFile __AW(InternetFindNextFile)
906 #define InternetQueryOption __AW(InternetQueryOption)
907 #define InternetSetOption __AW(InternetSetOption)
908 #define InternetSetOptionEx __AW(InternetSetOptionEx)
909 #define InternetGetLastResponseInfo __AW(InternetGetLastResponseInfo)
910 #define InternetReadFileEx  __AW(InternetReadFileEx)
911 #define FtpFindFirstFile __AW(FtpFindFirstFile)
912 #define FtpGetFile __AW(FtpGetFile)
913 #define FtpPutFile __AW(FtpPutFile)
914 #define FtpDeleteFile __AW(FtpDeleteFile)
915 #define FtpRenameFile __AW(FtpRenameFile)
916 #define FtpOpenFile __AW(FtpOpenFile)
917 #define FtpCreateDirectory __AW(FtpCreateDirectory)
918 #define FtpRemoveDirectory __AW(FtpRemoveDirectory)
919 #define FtpSetCurrentDirectory __AW(FtpSetCurrentDirectory)
920 #define FtpGetCurrentDirectory __AW(FtpGetCurrentDirectory)
921 #define FtpCommand __AW(FtpCommand)
922 #define GopherGetLocatorType __AW(GopherGetLocatorType)
923 #define GopherCreateLocator __AW(GopherCreateLocator)
924 #define GopherFindFirstFile __AW(GopherFindFirstFile)
925 #define GopherOpenFile __AW(GopherOpenFile)
926 #define GopherGetAttribute __AW(GopherGetAttribute)
927 #define HttpSendRequest __AW(HttpSendRequest)
928 #define HttpOpenRequest __AW(HttpOpenRequest)
929 #define HttpAddRequestHeaders __AW(HttpAddRequestHeaders)
930 #define HttpQueryInfo __AW(HttpQueryInfo)
931 #define InternetSetCookie __AW(InternetSetCookie)
932 #define InternetGetCookie __AW(InternetGetCookie)
933 #define CreateUrlCacheEntry __AW(CreateUrlCacheEntry)
934 #define RetrieveUrlCacheEntryStream __AW(RetrieveUrlCacheEntryStream)
935 #define FindNextUrlCacheEntry __AW(FindNextUrlCacheEntry)
936 #define CommitUrlCacheEntry __AW(CommitUrlCacheEntry)
937 #define GetUrlCacheEntryInfo __AW(GetUrlCacheEntryInfo)
938 #define SetUrlCacheEntryInfo __AW(SetUrlCacheEntryInfo)
939 #define FindFirstUrlCacheEntry __AW(FindFirstUrlCacheEntry)
940 #define RetrieveUrlCacheEntryFile __AW(RetrieveUrlCacheEntryFile)
941 #define HttpSendRequestEx        __AW(HttpSendRequestEx)
942 #define HttpEndRequest           __AW(HttpEndRequest)
943 #define GetUrlCacheGroupAttribute  __AW(GetUrlCacheGroupAttribute)
944 #define SetUrlCacheGroupAttribute  __AW(SetUrlCacheGroupAttribute)
945 #define DeleteUrlCacheEntry  __AW(DeleteUrlCacheEntry)
946 #endif /* RC_INVOKED */
947
948 #ifdef __cplusplus
949 }
950 #endif
951
952 #endif