Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

301 lines
6.6 KiB

  1. /*++
  2. Copyright (c) 1994 Microsoft Corporation
  3. Module Name:
  4. unsup.w
  5. Abstract:
  6. No longer supported parts of wininet.w required to build product
  7. Author:
  8. Richard L Firth (rfirth) 16-Aug-1995
  9. Revision History:
  10. 16-Aug-1995 rfirth
  11. Created
  12. --*/
  13. #define GATEWAY_INTERNET_ACCESS 2 // Internet via gateway
  14. #define INTERNET_SERVICE_ARCHIE 4
  15. #define INTERNET_HANDLE_TYPE_CONNECT_ARCHIE 14
  16. #define INTERNET_HANDLE_TYPE_ARCHIE_FIND 15
  17. #define INTERNET_OPTION_NAME_RES_THREAD 11
  18. #define INTERNET_OPTION_GATEWAY_NAME 14
  19. #define INTERNET_OPTION_ASYNC_REQUEST_COUNT 17
  20. #define INTERNET_OPTION_MAXIMUM_WORKER_THREADS 18
  21. #define INTERNET_OPTION_ASYNC_QUEUE_DEPTH 19
  22. #define INTERNET_OPTION_WORKER_THREAD_TIMEOUT 20
  23. #define INTERNET_OPTION_RECEIVE_ALL_MODE 25
  24. //
  25. // MIME
  26. //
  27. //
  28. // parameters
  29. //
  30. #define MIME_OVERWRITE_EXISTING 0x00000001
  31. #define MIME_FAIL_IF_EXISTING 0x00000002
  32. #define MIME_ALL ((DWORD)-1)
  33. #define MIME_CONTENT_TYPE 1
  34. #define MIME_EXTENSION 2
  35. #define MIME_VIEWER 3
  36. //
  37. // types
  38. //
  39. typedef
  40. BOOL
  41. (CALLBACK * MIME_ENUMERATOR)(
  42. IN LPCTSTR lpszContentType,
  43. IN LPCTSTR lpszExtensions,
  44. IN LPCTSTR lpszViewer,
  45. IN LPCTSTR lpszViewerFriendlyName,
  46. IN LPCTSTR lpszCommandLine
  47. );
  48. //
  49. // prototypes
  50. //
  51. INTERNETAPI_(BOOL)
  52. MimeCreateAssociation%(
  53. IN LPCTSTR% lpszContentType,
  54. IN LPCTSTR% lpszExtensions,
  55. IN LPCTSTR% lpszViewer,
  56. IN LPCTSTR% lpszViewerFriendlyName OPTIONAL,
  57. IN LPCTSTR% lpszCommandLine OPTIONAL,
  58. IN DWORD dwOptions
  59. );
  60. INTERNETAPI_(BOOL)
  61. MimeDeleteAssociation%(
  62. IN LPCTSTR% lpszContentType
  63. );
  64. INTERNETAPI_(BOOL)
  65. MimeGetAssociation%(
  66. IN DWORD dwFilterType,
  67. IN LPCTSTR% lpszFilter OPTIONAL,
  68. IN MIME_ENUMERATOR lpfnEnumerator
  69. );
  70. //
  71. // Archie
  72. //
  73. //
  74. // manifests
  75. //
  76. #define ARCHIE_PRIORITY_LOW 32767
  77. #define ARCHIE_PRIORITY_MEDIUM 0
  78. #define ARCHIE_PRIORITY_HIGH (-32767)
  79. //
  80. // Definitions of various string lengths
  81. //
  82. #define ARCHIE_MAX_HOST_TYPE_LENGTH 20
  83. #define ARCHIE_MAX_HOST_NAME_LENGTH INTERNET_MAX_HOST_NAME_LENGTH
  84. #define ARCHIE_MAX_HOST_ADDR_LENGTH 20
  85. #define ARCHIE_MAX_USERNAME_LENGTH 30
  86. #define ARCHIE_MAX_PASSWORD_LENGTH 30
  87. #define ARCHIE_MAX_PATH_LENGTH INTERNET_MAX_PATH_LENGTH
  88. //
  89. // structures/types
  90. //
  91. //
  92. // ARCHIE_SEARCH_TYPE - Specifies the type of search to be performed. The
  93. // cosntants are specific to Archie Protocol
  94. //
  95. typedef enum {
  96. ArchieExact = '=',
  97. ArchieRegexp = 'R',
  98. ArchieExactOrRegexp = 'r',
  99. ArchieSubstring = 'S',
  100. ArchieExactOrSubstring = 's',
  101. ArchieCaseSubstring = 'C', // substring with case sensitiveness
  102. ArchieExactOrCaseSubstring = 'c'
  103. } ARCHIE_SEARCH_TYPE;
  104. //
  105. // ARCHIE_TRANSFER_TYPE - Specifies the type of transfer for the file located
  106. // using archie search
  107. //
  108. typedef enum {
  109. ArchieTransferUnknown = 0x0,
  110. ArchieTransferBinary = 0x1,
  111. ArchieTransferAscii = 0x2
  112. } ARCHIE_TRANSFER_TYPE;
  113. //
  114. // ARCHIE_ACCESS_METHOD - Specifies the type of access method used for
  115. // accessing a file located by archie search
  116. //
  117. typedef enum {
  118. ArchieError = 0x0,
  119. ArchieAftp = 0x1, // Anonymous FTP
  120. ArchieFtp = 0x2, // FTP
  121. ArchieNfs = 0x4, // NFS File System
  122. ArchieKnfs = 0x8, // Kerberized NFS
  123. ArchiePfs = 0x10 // Andrew File System
  124. } ARCHIE_ACCESS_METHOD;
  125. //
  126. // ARCHIE_FIND_DATA - Structure which stored the data found about a file that
  127. // matches an archie query. It stores information about file name, attributes,
  128. // location, size, and access method to be used for accessing the file. The
  129. // path of the file instead of just the filename is stored
  130. //
  131. typedef struct {
  132. //
  133. // dwAttributes - attributes of the file
  134. //
  135. DWORD dwAttributes;
  136. //
  137. // dwSize - size of the file
  138. //
  139. DWORD dwSize;
  140. //
  141. // ftLastModificationTime - last when this file was modified
  142. //
  143. FILETIME ftLastFileModTime;
  144. //
  145. // ftLastHostModificationTime - last when file was modified
  146. //
  147. FILETIME ftLastHostModTime;
  148. //
  149. // TransferType - transfer type
  150. //
  151. ARCHIE_TRANSFER_TYPE TransferType;
  152. //
  153. // AccessMethodType - type of access
  154. //
  155. ARCHIE_ACCESS_METHOD AccessMethod;
  156. //
  157. // cHostType - type of host
  158. //
  159. TCHAR cHostType[ARCHIE_MAX_HOST_TYPE_LENGTH];
  160. //
  161. // cHostName - name of the host
  162. //
  163. TCHAR cHostName[ARCHIE_MAX_HOST_NAME_LENGTH];
  164. //
  165. // cHost - the host's Internet address
  166. //
  167. TCHAR cHostAddr[ARCHIE_MAX_HOST_ADDR_LENGTH];
  168. //
  169. // cFileName - path and name of the file
  170. //
  171. TCHAR cFileName[ARCHIE_MAX_PATH_LENGTH];
  172. //
  173. // cUserName - valid only for non-anonymous FTP access type
  174. //
  175. TCHAR cUserName[ARCHIE_MAX_USERNAME_LENGTH];
  176. //
  177. // cPassword - valid only for non-anonymous FTP access type
  178. //
  179. TCHAR cPassword[ARCHIE_MAX_PASSWORD_LENGTH];
  180. } ARCHIE_FIND_DATA, *LPARCHIE_FIND_DATA;
  181. //
  182. // prototypes
  183. //
  184. INTERNETAPI_(BOOL)
  185. InternetCancelAsyncRequest(
  186. IN DWORD dwAsyncId
  187. );
  188. INTERNETAPI_(HINTERNET)
  189. ArchieFindFirstFile%(
  190. IN HINTERNET hArchieSession,
  191. IN LPCTSTR% * lplpszHosts OPTIONAL,
  192. IN LPCTSTR% lpszSearchString,
  193. IN DWORD dwMaxHits,
  194. IN DWORD dwOffset,
  195. IN DWORD dwPriority,
  196. IN ARCHIE_SEARCH_TYPE SearchType,
  197. OUT LPARCHIE_FIND_DATA lpFindData,
  198. OUT LPDWORD lpdwNumberFound,
  199. IN DWORD_PTR dwContext
  200. );
  201. //
  202. // archie API errors
  203. //
  204. #define ERROR_ARCHIE_NONE_FOUND (INTERNET_ERROR_BASE + 24)
  205. #define ERROR_ARCHIE_NETWORK (INTERNET_ERROR_BASE + 25)
  206. #define ERROR_ARCHIE_ABORTED (INTERNET_ERROR_BASE + 26)
  207. //
  208. // MIME API errors
  209. //
  210. #define ERROR_MIME_UNKNOWN_CONTENT_TYPE (INTERNET_ERROR_BASE + 39)
  211. //
  212. // structures/types
  213. //
  214. //
  215. // FTP_FIND_DATA - same as WIN32_FIND_DATA, except has extra space for path
  216. //
  217. typedef struct _FTP_FIND_DATA% {
  218. DWORD dwFileAttributes;
  219. FILETIME ftCreationTime;
  220. FILETIME ftLastAccessTime;
  221. FILETIME ftLastWriteTime;
  222. DWORD nFileSizeHigh;
  223. DWORD nFileSizeLow;
  224. DWORD dwReserved0;
  225. DWORD dwReserved1;
  226. TCHAR% cFileName[INTERNET_MAX_PATH_LENGTH];
  227. TCHAR% cAlternateFileName[14];
  228. } FTP_FIND_DATA%, * LPFTP_FIND_DATA%;