home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / wininet.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  45KB  |  964 lines

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