home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 March / PCWorld_2001-03_cd.bin / Software / TemaCD / devc / _SETUP.5 / Group3 / wininet.h < prev    next >
C/C++ Source or Header  |  1999-11-07  |  41KB  |  882 lines

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