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