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