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