home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / error.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  14KB  |  348 lines

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