PageRenderTime 181ms CodeModel.GetById 25ms RepoModel.GetById 3ms app.codeStats 0ms

/wcwp/bin/VC6CMD/Include/ERROR.H

http://wcwp.googlecode.com/
C Header | 345 lines | 212 code | 25 blank | 108 comment | 0 complexity | 00cebebedbebbf1ddd1b7a7cb82ae024 MD5 | raw file
Possible License(s): BSD-2-Clause, AGPL-1.0
  1. /***
  2. *error.h - DOS error codes
  3. *
  4. * Copyright (c) 1987-1992, Microsoft Corporation. All rights reserved.
  5. *
  6. *Purpose:
  7. * DOS calls all return error codes through AX. If an error occurred then
  8. * the carry bit will be set and the error code is in AX. If no error occurred
  9. * then the carry bit is reset and AX contains returned info.
  10. *
  11. * Since the set of error codes is being extended as we extend the operating
  12. * system, we have provided a means for applications to ask the system for a
  13. * recommended course of action when they receive an error.
  14. *
  15. * The GetExtendedError system call returns a universal error, an error
  16. * location and a recommended course of action. The universal error code is
  17. * a symptom of the error REGARDLESS of the context in which GetExtendedError
  18. * is issued.
  19. *
  20. ****/
  21. /*static char *SCCSID = "@(#)error.h 7.25 87/07/23";*/
  22. /* XENIX calls all return error codes through AX. If an error occurred then */
  23. /* the carry bit will be set and the error code is in AX. If no error occurred */
  24. /* then the carry bit is reset and AX contains returned info. */
  25. /* */
  26. /* Since the set of error codes is being extended as we extend the operating */
  27. /* system, we have provided a means for applications to ask the system for a */
  28. /* recommended course of action when they receive an error. */
  29. /* */
  30. /* The GetExtendedError system call returns a universal error, an error */
  31. /* location and a recommended course of action. The universal error code is */
  32. /* a symptom of the error REGARDLESS of the context in which GetExtendedError */
  33. /* is issued. */
  34. /* */
  35. /* */
  36. /* These are the 2.0 error codes */
  37. /* */
  38. #define NO_ERROR 0
  39. #define ERROR_INVALID_FUNCTION 1
  40. #define ERROR_FILE_NOT_FOUND 2
  41. #define ERROR_PATH_NOT_FOUND 3
  42. #define ERROR_TOO_MANY_OPEN_FILES 4
  43. #define ERROR_ACCESS_DENIED 5
  44. #define ERROR_INVALID_HANDLE 6
  45. #define ERROR_ARENA_TRASHED 7
  46. #define ERROR_NOT_ENOUGH_MEMORY 8
  47. #define ERROR_INVALID_BLOCK 9
  48. #define ERROR_BAD_ENVIRONMENT 10
  49. #define ERROR_BAD_FORMAT 11
  50. #define ERROR_INVALID_ACCESS 12
  51. #define ERROR_INVALID_DATA 13
  52. /* **** reserved 14 ; ***** */
  53. #define ERROR_INVALID_DRIVE 15
  54. #define ERROR_CURRENT_DIRECTORY 16
  55. #define ERROR_NOT_SAME_DEVICE 17
  56. #define ERROR_NO_MORE_FILES 18
  57. /* */
  58. /* These are the universal int 24 mappings for the old INT 24 set of errors */
  59. /* */
  60. #define ERROR_WRITE_PROTECT 19
  61. #define ERROR_BAD_UNIT 20
  62. #define ERROR_NOT_READY 21
  63. #define ERROR_BAD_COMMAND 22
  64. #define ERROR_CRC 23
  65. #define ERROR_BAD_LENGTH 24
  66. #define ERROR_SEEK 25
  67. #define ERROR_NOT_DOS_DISK 26
  68. #define ERROR_SECTOR_NOT_FOUND 27
  69. #define ERROR_OUT_OF_PAPER 28
  70. #define ERROR_WRITE_FAULT 29
  71. #define ERROR_READ_FAULT 30
  72. #define ERROR_GEN_FAILURE 31
  73. /* */
  74. /* These are the new 3.0 error codes reported through INT 24 */
  75. /* */
  76. #define ERROR_SHARING_VIOLATION 32
  77. #define ERROR_LOCK_VIOLATION 33
  78. #define ERROR_WRONG_DISK 34
  79. #define ERROR_FCB_UNAVAILABLE 35
  80. #define ERROR_SHARING_BUFFER_EXCEEDED 36
  81. /* */
  82. /* New OEM network-related errors are 50-79 */
  83. /* */
  84. #define ERROR_NOT_SUPPORTED 50
  85. /* */
  86. /* End of INT 24 reportable errors */
  87. /* */
  88. #define ERROR_FILE_EXISTS 80
  89. #define ERROR_DUP_FCB 81 /* ***** */
  90. #define ERROR_CANNOT_MAKE 82
  91. #define ERROR_FAIL_I24 83
  92. /* */
  93. /* New 3.0 network related error codes */
  94. /* */
  95. #define ERROR_OUT_OF_STRUCTURES 84
  96. #define ERROR_ALREADY_ASSIGNED 85
  97. #define ERROR_INVALID_PASSWORD 86
  98. #define ERROR_INVALID_PARAMETER 87
  99. #define ERROR_NET_WRITE_FAULT 88
  100. /* */
  101. /* New error codes for 4.0 */
  102. /* */
  103. #define ERROR_NO_PROC_SLOTS 89 /* no process slots available */
  104. #define ERROR_NOT_FROZEN 90
  105. #define ERR_TSTOVFL 91 /* timer service table overflow */
  106. #define ERR_TSTDUP 92 /* timer service table duplicate */
  107. #define ERROR_NO_ITEMS 93 /* There were no items to operate upon */
  108. #define ERROR_INTERRUPT 95 /* interrupted system call */
  109. #define ERROR_TOO_MANY_SEMAPHORES 100
  110. #define ERROR_EXCL_SEM_ALREADY_OWNED 101
  111. #define ERROR_SEM_IS_SET 102
  112. #define ERROR_TOO_MANY_SEM_REQUESTS 103
  113. #define ERROR_INVALID_AT_INTERRUPT_TIME 104
  114. #define ERROR_SEM_OWNER_DIED 105 /* waitsem found owner died */
  115. #define ERROR_SEM_USER_LIMIT 106 /* too many procs have this sem */
  116. #define ERROR_DISK_CHANGE 107 /* insert disk b into drive a */
  117. #define ERROR_DRIVE_LOCKED 108 /* drive locked by another process */
  118. #define ERROR_BROKEN_PIPE 109 /* write on pipe with no reader */
  119. /* */
  120. /* New error codes for OS/2 */
  121. /* */
  122. #define ERROR_OPEN_FAILED 110 /* open/created failed due to */
  123. /* explicit fail command */
  124. #define ERROR_BUFFER_OVERFLOW 111 /* buffer passed to system call */
  125. /* is too small to hold return */
  126. /* data. */
  127. #define ERROR_DISK_FULL 112 /* not enough space on the disk */
  128. /* (DOSNEWSIZE/w_NewSize) */
  129. #define ERROR_NO_MORE_SEARCH_HANDLES 113 /* can't allocate another search */
  130. /* structure and handle. */
  131. /* (DOSFINDFIRST/w_FindFirst) */
  132. #define ERROR_INVALID_TARGET_HANDLE 114 /* Target handle in DOSDUPHANDLE */
  133. /* is invalid */
  134. #define ERROR_PROTECTION_VIOLATION 115 /* Bad user virtual address */
  135. #define ERROR_VIOKBD_REQUEST 116
  136. #define ERROR_INVALID_CATEGORY 117 /* Category for DEVIOCTL in not */
  137. /* defined */
  138. #define ERROR_INVALID_VERIFY_SWITCH 118 /* invalid value passed for */
  139. /* verify flag */
  140. #define ERROR_BAD_DRIVER_LEVEL 119 /* DosDevIOCTL looks for a level */
  141. /* four driver. If the driver */
  142. /* is not level four we return */
  143. /* this code */
  144. #define ERROR_CALL_NOT_IMPLEMENTED 120 /* returned from stub api calls. */
  145. /* This call will disappear when */
  146. /* all the api's are implemented. */
  147. #define ERROR_SEM_TIMEOUT 121 /* Time out happened from the */
  148. /* semaphore api functions. */
  149. #define ERROR_INSUFFICIENT_BUFFER 122 /* Some call require the */
  150. /* application to pass in a buffer */
  151. /* filled with data. This error is */
  152. /* returned if the data buffer is too */
  153. /* small. For example: DosSetFileInfo */
  154. /* requires 4 bytes of data. If a */
  155. /* two byte buffer is passed in then */
  156. /* this error is returned. */
  157. /* error_buffer_overflow is used when */
  158. /* the output buffer in not big enough. */
  159. #define ERROR_INVALID_NAME 123 /* illegal character or malformed */
  160. /* file system name */
  161. #define ERROR_INVALID_LEVEL 124 /* unimplemented level for info */
  162. /* retrieval or setting */
  163. #define ERROR_NO_VOLUME_LABEL 125 /* no volume label found with */
  164. /* DosQFSInfo command */
  165. #define ERROR_MOD_NOT_FOUND 126 /* w_getprocaddr,w_getmodhandle */
  166. #define ERROR_PROC_NOT_FOUND 127 /* w_getprocaddr */
  167. #define ERROR_WAIT_NO_CHILDREN 128 /* CWait finds to children */
  168. #define ERROR_CHILD_NOT_COMPLETE 129 /* CWait children not dead yet */
  169. /*This is a temporary fix for the 4-19-86 build this should be changed when */
  170. /* we get the file from MS */
  171. #define ERROR_DIRECT_ACCESS_HANDLE 130 /* handle operation is invalid */
  172. /* for direct disk access */
  173. /* handles */
  174. #define ERROR_NEGATIVE_SEEK 131 /* application tried to seek */
  175. /* with negative offset */
  176. #define ERROR_SEEK_ON_DEVICE 132 /* application tried to seek */
  177. /* on device or pipe */
  178. /* */
  179. /* The following are errors generated by the join and subst workers */
  180. /* */
  181. #define ERROR_IS_JOIN_TARGET 133
  182. #define ERROR_IS_JOINED 134
  183. #define ERROR_IS_SUBSTED 135
  184. #define ERROR_NOT_JOINED 136
  185. #define ERROR_NOT_SUBSTED 137
  186. #define ERROR_JOIN_TO_JOIN 138
  187. #define ERROR_SUBST_TO_SUBST 139
  188. #define ERROR_JOIN_TO_SUBST 140
  189. #define ERROR_SUBST_TO_JOIN 141
  190. #define ERROR_BUSY_DRIVE 142
  191. #define ERROR_SAME_DRIVE 143
  192. #define ERROR_DIR_NOT_ROOT 144
  193. #define ERROR_DIR_NOT_EMPTY 145
  194. #define ERROR_IS_SUBST_PATH 146
  195. #define ERROR_IS_JOIN_PATH 147
  196. #define ERROR_PATH_BUSY 148
  197. #define ERROR_IS_SUBST_TARGET 149
  198. #define ERROR_SYSTEM_TRACE 150 /* system trace error */
  199. #define ERROR_INVALID_EVENT_COUNT 151 /* DosMuxSemWait errors */
  200. #define ERROR_TOO_MANY_MUXWAITERS 152
  201. #define ERROR_INVALID_LIST_FORMAT 153
  202. #define ERROR_LABEL_TOO_LONG 154
  203. #define ERROR_TOO_MANY_TCBS 155
  204. #define ERROR_SIGNAL_REFUSED 156
  205. #define ERROR_DISCARDED 157
  206. #define ERROR_NOT_LOCKED 158
  207. #define ERROR_BAD_THREADID_ADDR 159
  208. #define ERROR_BAD_ARGUMENTS 160
  209. #define ERROR_BAD_PATHNAME 161
  210. #define ERROR_SIGNAL_PENDING 162
  211. #define ERROR_UNCERTAIN_MEDIA 163
  212. #define ERROR_MAX_THRDS_REACHED 164
  213. #define ERROR_MONITORS_NOT_SUPPORTED 165
  214. #define ERROR_INVALID_SEGMENT_NUMBER 180
  215. #define ERROR_INVALID_CALLGATE 181
  216. #define ERROR_INVALID_ORDINAL 182
  217. #define ERROR_ALREADY_EXISTS 183
  218. #define ERROR_NO_CHILD_PROCESS 184
  219. #define ERROR_CHILD_ALIVE_NOWAIT 185
  220. #define ERROR_INVALID_FLAG_NUMBER 186
  221. #define ERROR_SEM_NOT_FOUND 187
  222. /* following error codes have added to make the loader error
  223. messages distinct
  224. */
  225. #define ERROR_INVALID_STARTING_CODESEG 188
  226. #define ERROR_INVALID_STACKSEG 189
  227. #define ERROR_INVALID_MODULETYPE 190
  228. #define ERROR_INVALID_EXE_SIGNATURE 191
  229. #define ERROR_EXE_MARKED_INVALID 192
  230. #define ERROR_BAD_EXE_FORMAT 193
  231. #define ERROR_ITERATED_DATA_EXCEEDS_64k 194
  232. #define ERROR_INVALID_MINALLOCSIZE 195
  233. #define ERROR_DYNLINK_FROM_INVALID_RING 196
  234. #define ERROR_IOPL_NOT_ENABLED 197
  235. #define ERROR_INVALID_SEGDPL 198
  236. #define ERROR_AUTODATASEG_EXCEEDS_64k 199
  237. #define ERROR_RING2SEG_MUST_BE_MOVABLE 200
  238. #define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201
  239. #define ERROR_INFLOOP_IN_RELOC_CHAIN 202
  240. #define ERROR_ENVVAR_NOT_FOUND 203
  241. #define ERROR_NOT_CURRENT_CTRY 204
  242. #define ERROR_NO_SIGNAL_SENT 205
  243. #define ERROR_FILENAME_EXCED_RANGE 206 /* if filename > 8.3 */
  244. #define ERROR_RING2_STACK_IN_USE 207 /* for FAPI */
  245. #define ERROR_META_EXPANSION_TOO_LONG 208 /* if "*a" > 8.3 */
  246. #define ERROR_INVALID_SIGNAL_NUMBER 209
  247. #define ERROR_THREAD_1_INACTIVE 210
  248. #define ERROR_INFO_NOT_AVAIL 211 /*@@ PTM 5550 */
  249. #define ERROR_LOCKED 212
  250. #define ERROR_BAD_DYNALINK 213 /*@@ PTM 5760 */
  251. #define ERROR_TOO_MANY_MODULES 214
  252. #define ERROR_NESTING_NOT_ALLOWED 215
  253. /*
  254. * Error codes 230 - 249 are reserved for MS Networks
  255. */
  256. #define ERROR_USER_DEFINED_BASE 0xF000
  257. #define ERROR_I24_WRITE_PROTECT 0
  258. #define ERROR_I24_BAD_UNIT 1
  259. #define ERROR_I24_NOT_READY 2
  260. #define ERROR_I24_BAD_COMMAND 3
  261. #define ERROR_I24_CRC 4
  262. #define ERROR_I24_BAD_LENGTH 5
  263. #define ERROR_I24_SEEK 6
  264. #define ERROR_I24_NOT_DOS_DISK 7
  265. #define ERROR_I24_SECTOR_NOT_FOUND 8
  266. #define ERROR_I24_OUT_OF_PAPER 9
  267. #define ERROR_I24_WRITE_FAULT 0x0A
  268. #define ERROR_I24_READ_FAULT 0x0B
  269. #define ERROR_I24_GEN_FAILURE 0x0C
  270. #define ERROR_I24_DISK_CHANGE 0x0D
  271. #define ERROR_I24_WRONG_DISK 0x0F
  272. #define ERROR_I24_UNCERTAIN_MEDIA 0x10
  273. #define ERROR_I24_CHAR_CALL_INTERRUPTED 0x11
  274. #define ERROR_I24_NO_MONITOR_SUPPORT 0x12
  275. #define ERROR_I24_INVALID_PARAMETER 0x13
  276. #define ALLOWED_FAIL 0x0001
  277. #define ALLOWED_ABORT 0x0002
  278. #define ALLOWED_RETRY 0x0004
  279. #define ALLOWED_IGNORE 0x0008
  280. #define I24_OPERATION 0x1
  281. #define I24_AREA 0x6
  282. /* 01 if FAT */
  283. /* 10 if root DIR */
  284. /* 11 if DATA */
  285. #define I24_CLASS 0x80
  286. /* Values for error CLASS */
  287. #define ERRCLASS_OUTRES 1 /* Out of Resource */
  288. #define ERRCLASS_TEMPSIT 2 /* Temporary Situation */
  289. #define ERRCLASS_AUTH 3 /* Permission problem */
  290. #define ERRCLASS_INTRN 4 /* Internal System Error */
  291. #define ERRCLASS_HRDFAIL 5 /* Hardware Failure */
  292. #define ERRCLASS_SYSFAIL 6 /* System Failure */
  293. #define ERRCLASS_APPERR 7 /* Application Error */
  294. #define ERRCLASS_NOTFND 8 /* Not Found */
  295. #define ERRCLASS_BADFMT 9 /* Bad Format */
  296. #define ERRCLASS_LOCKED 10 /* Locked */
  297. #define ERRCLASS_MEDIA 11 /* Media Failure */
  298. #define ERRCLASS_ALREADY 12 /* Collision with Existing Item */
  299. #define ERRCLASS_UNK 13 /* Unknown/other */
  300. #define ERRCLASS_CANT 14
  301. #define ERRCLASS_TIME 15
  302. /* Values for error ACTION */
  303. #define ERRACT_RETRY 1 /* Retry */
  304. #define ERRACT_DLYRET 2 /* Delay Retry, retry after pause */
  305. #define ERRACT_USER 3 /* Ask user to regive info */
  306. #define ERRACT_ABORT 4 /* abort with clean up */
  307. #define ERRACT_PANIC 5 /* abort immediately */
  308. #define ERRACT_IGNORE 6 /* ignore */
  309. #define ERRACT_INTRET 7 /* Retry after User Intervention */
  310. /* Values for error LOCUS */
  311. #define ERRLOC_UNK 1 /* No appropriate value */
  312. #define ERRLOC_DISK 2 /* Random Access Mass Storage */
  313. #define ERRLOC_NET 3 /* Network */
  314. #define ERRLOC_SERDEV 4 /* Serial Device */
  315. #define ERRLOC_MEM 5 /* Memory */
  316. /* Abnormal termination codes */
  317. #define TC_NORMAL 0
  318. #define TC_HARDERR 1
  319. #define TC_GP_TRAP 2
  320. #define TC_SIGNAL 3