]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/ERROR.INC

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / MAPPER / ERROR.INC
1 ;break <CP/DOS error codes>
2
3 ; SCCSID = @(#)error.inc 6.2 86/02/27
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 ;
70 ; End of INT 24 reportable errors
71 ;
72 error_file_exists EQU 80
73 error_DUP_FCB EQU 81 ; *****
74 error_cannot_make EQU 82
75 error_FAIL_I24 EQU 83
76 ;
77 ; New 3.0 network related error codes
78 ;
79 error_out_of_structures EQU 84
80 error_Already_assigned EQU 85
81 error_invalid_password EQU 86
82 error_invalid_parameter EQU 87
83 error_NET_write_fault EQU 88
84 ;
85 ; New error codes for 4.0
86 ;
87 error_no_proc_slots EQU 89 ; no process slots available
88 error_not_frozen EQU 90
89 err_tstovfl EQU 91 ; timer service table overflow
90 err_tstdup EQU 92 ; timer service table duplicate
91 error_no_items EQU 93 ; There were no items to operate upon
92 error_interrupt EQU 95 ; interrupted system call
93 error_fixed_vector EQU 96 ; attempt to set fixed vector
94 error_vector_used EQU 97 ; vector set by another process
95 error_global_limit EQU 98 ; more than 16 vectors set
96 error_vector_notset EQU 99 ; unsetting unallocated vector
97 error_too_many_semaphores EQU 100 ; user/sys open sem limit hit
98 error_sem_already_open EQU 101 ; attempt to open sem twice
99 error_sem_is_set EQU 102 ; non-blk waitsem found it set
100 error_sem_not_set EQU 103 ; tried to sig a non-owned sem
101 error_sem_already_owned EQU 104 ; tried to wait on owned sem
102 error_sem_owner_died EQU 105 ; waitsem found owner died
103 error_sem_user_limit EQU 106 ; too many procs have this sem
104 error_disk_change EQU 107 ; insert disk b into drive a
105 error_drive_locked EQU 108 ; drive locked by another process
106 error_broken_pipe EQU 109 ; write on pipe with no reader
107 ;
108 ; New error codes for CP/DOS
109 ;
110 error_open_failed EQU 110 ; open/created failed due to
111 ; explicit fail command
112 error_buffer_overflow EQU 111 ; buffer passed to system call
113 ; is too small to hold return
114 ; data.
115 error_disk_full EQU 112 ; not enough space on the disk
116 ; (DOSNEWSIZE/w_NewSize)
117 error_no_more_search_handles EQU 113 ; can't allocate another search
118 ; structure and handle.
119 ; (DOSFINDFIRST/w_FindFirst)
120 error_invalid_target_handle EQU 114 ; Target handle in DOSDUPHANDLE
121 ; is invalid
122
123 error_system_trace EQU 300 ; system trace error (DosSysTrace)
124 error_ras_stcp EQU 301 ; system trace command processor error
125 error_ras_createdd EQU 302 ; error in create dump diskette
126 error_invalid_procid EQU 303 ; invalid process id
127 error_invalid_pdelta EQU 304 ; invalid priority delta
128 error_not_descendent EQU 305 ; not descendent
129 error_request_notsm EQU 306 ; requestor not session manager
130 error_invalid_pclass EQU 307 ; invalid p class
131 error_invalid_scope EQU 308 ; invalid scope
132 error_invalid_threadid EQU 309 ; invalid thread id
133 error_msp_shrink EQU 310 ; can't shrink - MspSet
134 error_msp_nomem EQU 311 ; no memory - MspAlloc
135 error_msp_overlap EQU 312 ; overlap - MspFree
136 error_msp_badsize EQU 313 ; bad size parameter - MspAlloc or MspFree
137 error_msp_badflag EQU 314 ; bad flag parameter - MspSet
138 error_msp_badselector EQU 315 ; invalid MspSegment Selector
139 error_mr_msg_too_long EQU 316 ; message too long for buffer
140 error_mr_mid_not_found EQU 317 ; message id number not found
141 error_mr_un_acc_msgf EQU 318 ; unable to access message file
142 error_mr_inv_msgf_format EQU 319 ; invalid message file format
143 error_mr_inv_ivcount EQU 320 ; invalid insertion variable count
144 error_mr_un_perform EQU 321 ; unable to perform function
145 error_ts_wakeup EQU 322 ; unable to wake up
146 error_ts_time EQU 323 ; time value < 0
147 error_ts_notimer EQU 324 ; no times available
148 error_ts_ticktype EQU 325 ; tick type not 0 or 1
149 error_ts_handle EQU 326 ; invalid timer handle
150 error_ts_datetime EQU 327 ; date or time invalid
151 error_sys_internal EQU 328 ; internal system error
152 error_que_current_name EQU 329 ; current name does not exist
153 error_que_proc_not_owned EQU 330 ; current process does not own queue
154 error_que_proc_owned EQU 331 ; current process owns queue
155 error_que_duplicate EQU 332 ; duplicate name
156 error_que_element_not_exist EQU 333 ; element does not exist
157 error_que_no_memory EQU 334 ; inadequate memory
158 error_que_invalid_name EQU 335 ; invalid name
159 error_que_invalid_priority EQU 336 ; invalid priority parameter
160 error_que_invalid_handle EQU 337 ; invalid queue handle
161 error_que_link_not_found EQU 338 ; link not found
162 error_que_memory_error EQU 339 ; memory error
163 error_que_prev_at_end EQU 340 ; previous element was at end of queue
164 error_que_proc_no_access EQU 341 ; process does not have access to queues
165 error_que_empty EQU 342 ; queue is empty
166 error_que_name_not_exist EQU 343 ; queue name does not exist
167 error_que_not_initialized EQU 344 ; queues not initialized
168 error_que_unable_to_access EQU 345 ; unable to access queues
169 error_que_unable_to_add EQU 346 ; unable to add new queue
170 error_que_unable_to_init EQU 347 ; unable to initialize queues
171 error_vio_register EQU 348 ; vio register disallowed
172 error_bvs_parameter EQU 349 ; invalid parameter supplied
173 error_scs_call EQU 350 ; call issued by other than sm
174 error_scs_value EQU 351 ; value is not for save or restore
175 error_scs_wait_flag EQU 352 ; invalid wait flag setting
176 error_scs_unlock EQU 353 ; screen not previously locked
177 error_sm_init EQU 354 ; session mgr init failed
178 error_sm_sgid EQU 355 ; invalid screen group id
179 error_sm_nosg EQU 356 ; all screen groups in use
180 error_kbd_parameter EQU 357 ; invalid parameter to kbd
181
182
183
184
185
186
187 ;
188 ; error codes for utilities
189 ;
190
191 error_invalid_dosver EQU 1000 ; invalid dos version
192 error_language_not_supported EQU 1001 ; language not supported
193 error_msgfile_bad_format EQU 1002 ; bad message file format
194 error_msgfile_bad_mid EQU 1003 ; message file has bad mid
195 error_msgfile_outerror EQU 1004 ; error writing output file
196 error_msgfile_inperror EQU 1005 ; error reading input file
197 error_install_failed EQU 1006 ; install failed
198
199
200 ;
201 ; intercomponent error codes (from 8000H or 32768)
202 ;
203 error_swapper_not_active EQU 32768 ; swapper is not active
204 error_invalid_swapid EQU 32769 ; invalid swap identifier
205 error_ioerr_swap_file EQU 32770 ; i/o error on swap file
206 error_swap_table_full EQU 32771 ; swap control table is full
207 error_swap_file_full EQU 32772 ; swap file is full
208 error_cant_init_swapper EQU 32773 ; cannot initialize swapper
209 error_swapper_already_init EQU 32774 ; swapper already initialized
210 error_pmm_insufficient_memory EQU 32775 ; insufficient memory
211 error_pmm_invalid_flags EQU 32776 ; invalid flags for phys. mem.
212 error_pmm_invalid_address EQU 32777 ; invalid address of phys. mem.
213 error_pmm_lock_failed EQU 32778 ; lock of storage failed
214 error_pmm_unlock_failed EQU 32779 ; unlock of storage failed
215
216 ;break <Interrupt 24 error codes>
217
218 error_I24_write_protect EQU 0
219 error_I24_bad_unit EQU 1
220 error_I24_not_ready EQU 2
221 error_I24_bad_command EQU 3
222 error_I24_CRC EQU 4
223 error_I24_bad_length EQU 5
224 error_I24_Seek EQU 6
225 error_I24_not_DOS_disk EQU 7
226 error_I24_sector_not_found EQU 8
227 error_I24_out_of_paper EQU 9
228 error_I24_write_fault EQU 0Ah
229 error_I24_read_fault EQU 0Bh
230 error_I24_gen_failure EQU 0Ch
231 error_I24_disk_change EQU 0Dh
232 error_I24_wrong_disk EQU 0Fh
233 error_I24_Uncertain_media EQU 10h
234 error_I24_Char_Call_Interrupted EQU 11h
235
236 ; THE FOLLOWING ARE MASKS FOR THE AH REGISTER ON Int 24
237
238 Allowed_FAIL EQU 00001000B
239 Allowed_RETRY EQU 00010000B
240 Allowed_IGNORE EQU 00100000B
241 ;NOTE: ABORT is ALWAYS allowed
242
243 I24_operation EQU 00000001B ;Z if READ,NZ if Write
244 I24_area EQU 00000110B ; 00 if DOS
245 ; 01 if FAT
246 ; 10 if root DIR
247 ; 11 if DATA
248 I24_class EQU 10000000B ;Z if DISK, NZ if FAT or char
249
250 ;break <GetExtendedError CLASSes ACTIONs LOCUSs>
251
252 ; Values for error CLASS
253
254 errCLASS_OutRes EQU 1 ; Out of Resource
255 errCLASS_TempSit EQU 2 ; Temporary Situation
256 errCLASS_Auth EQU 3 ; Permission problem
257 errCLASS_Intrn EQU 4 ; Internal System Error
258 errCLASS_HrdFail EQU 5 ; Hardware Failure
259 errCLASS_SysFail EQU 6 ; System Failure
260 errCLASS_Apperr EQU 7 ; Application Error
261 errCLASS_NotFnd EQU 8 ; Not Found
262 errCLASS_BadFmt EQU 9 ; Bad Format
263 errCLASS_Locked EQU 10 ; Locked
264 errCLASS_Media EQU 11 ; Media Failure
265 errCLASS_Already EQU 12 ; Collision with Existing Item
266 errCLASS_Unk EQU 13 ; Unknown/other
267
268 ; Values for error ACTION
269
270 errACT_Retry EQU 1 ; Retry
271 errACT_DlyRet EQU 2 ; Delay Retry, retry after pause
272 errACT_User EQU 3 ; Ask user to regive info
273 errACT_Abort EQU 4 ; abort with clean up
274 errACT_Panic EQU 5 ; abort immediately
275 errACT_Ignore EQU 6 ; ignore
276 errACT_IntRet EQU 7 ; Retry after User Intervention
277
278 ; Values for error LOCUS
279
280 errLOC_Unk EQU 1 ; No appropriate value
281 errLOC_Disk EQU 2 ; Random Access Mass Storage
282 errLOC_Net EQU 3 ; Network
283 errLOC_SerDev EQU 4 ; Serial Device
284 errLOC_Mem EQU 5 ; Memory
285 \1a