summaryrefslogtreecommitdiff
path: root/v4.0/src/MAPPER/ERROR.INC
blob: d19e49884bc9cca7ce8f4b21753488dc7b7c97fc (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
;break <CP/DOS error codes>

;       SCCSID = @(#)error.inc  6.2 86/02/27
;
; CP/DOS 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
;
no_error                        EQU     0
error_invalid_function          EQU     1
error_file_not_found            EQU     2
error_path_not_found            EQU     3
error_too_many_open_files       EQU     4
error_access_denied             EQU     5
error_invalid_handle            EQU     6
error_arena_trashed             EQU     7
error_not_enough_memory         EQU     8
error_invalid_block             EQU     9
error_bad_environment           EQU     10
error_bad_format                EQU     11
error_invalid_access            EQU     12
error_invalid_data              EQU     13
;**** reserved                  EQU     14      ; *****
error_invalid_drive             EQU     15
error_current_directory         EQU     16
error_not_same_device           EQU     17
error_no_more_files             EQU     18
;
; These are the universal int 24 mappings for the old INT 24 set of errors
;
error_write_protect             EQU     19
error_bad_unit                  EQU     20
error_not_ready                 EQU     21
error_bad_command               EQU     22
error_CRC                       EQU     23
error_bad_length                EQU     24
error_Seek                      EQU     25
error_not_DOS_disk              EQU     26
error_sector_not_found          EQU     27
error_out_of_paper              EQU     28
error_write_fault               EQU     29
error_read_fault                EQU     30
error_gen_failure               EQU     31
;
; These are the new 3.0 error codes reported through INT 24
;
error_sharing_violation         EQU     32
error_lock_violation            EQU     33
error_wrong_disk                EQU     34
error_FCB_unavailable           EQU     35
error_sharing_buffer_exceeded   EQU     36
;
; New OEM network-related errors are 50-79
;
error_not_supported             EQU     50
;
; End of INT 24 reportable errors
;
error_file_exists               EQU     80
error_DUP_FCB                   EQU     81      ; *****
error_cannot_make               EQU     82
error_FAIL_I24                  EQU     83
;
; New 3.0 network related error codes
;
error_out_of_structures         EQU     84
error_Already_assigned          EQU     85
error_invalid_password          EQU     86
error_invalid_parameter         EQU     87
error_NET_write_fault           EQU     88
;
; New error codes for 4.0
;
error_no_proc_slots             EQU     89      ; no process slots available
error_not_frozen                EQU     90
err_tstovfl                     EQU     91      ; timer service table overflow
err_tstdup                      EQU     92      ; timer service table duplicate
error_no_items                  EQU     93      ; There were no items to operate upon
error_interrupt                 EQU     95      ; interrupted system call
error_fixed_vector              EQU     96      ; attempt to set fixed vector
error_vector_used               EQU     97      ; vector set by another process
error_global_limit              EQU     98      ; more than 16 vectors set
error_vector_notset             EQU     99      ; unsetting unallocated vector
error_too_many_semaphores       EQU     100     ; user/sys open sem limit hit
error_sem_already_open          EQU     101     ; attempt to open sem twice
error_sem_is_set                EQU     102     ; non-blk waitsem found it set
error_sem_not_set               EQU     103     ; tried to sig a non-owned sem
error_sem_already_owned         EQU     104     ; tried to wait on owned sem
error_sem_owner_died            EQU     105     ; waitsem found owner died
error_sem_user_limit            EQU     106     ; too many procs have this sem
error_disk_change               EQU     107     ; insert disk b into drive a
error_drive_locked              EQU     108     ; drive locked by another process
error_broken_pipe               EQU     109     ; write on pipe with no reader
;
; New error codes for CP/DOS
;
error_open_failed               EQU     110     ; open/created failed due to
                                                ; explicit fail command
error_buffer_overflow           EQU     111     ; buffer passed to system call
                                                ; is too small to hold return
                                                ; data.
error_disk_full                 EQU     112     ; not enough space on the disk
                                                ; (DOSNEWSIZE/w_NewSize)
error_no_more_search_handles    EQU     113     ; can't allocate another search
                                                ; structure and handle.
                                                ; (DOSFINDFIRST/w_FindFirst)
error_invalid_target_handle     EQU     114     ; Target handle in DOSDUPHANDLE
                                                ; is invalid

error_system_trace              EQU     300     ; system trace error (DosSysTrace)
error_ras_stcp                  EQU     301     ; system trace command processor error
error_ras_createdd              EQU     302     ; error in create dump diskette
error_invalid_procid            EQU     303     ; invalid process id
error_invalid_pdelta            EQU     304     ; invalid priority delta
error_not_descendent            EQU     305     ; not descendent
error_request_notsm             EQU     306     ; requestor not session manager
error_invalid_pclass            EQU     307     ; invalid p class
error_invalid_scope             EQU     308     ; invalid scope
error_invalid_threadid          EQU     309     ; invalid thread id
error_msp_shrink                EQU     310     ; can't shrink - MspSet
error_msp_nomem                 EQU     311     ; no memory - MspAlloc
error_msp_overlap               EQU     312     ; overlap - MspFree
error_msp_badsize               EQU     313     ; bad size parameter - MspAlloc or MspFree
error_msp_badflag               EQU     314     ; bad flag parameter - MspSet
error_msp_badselector           EQU     315     ; invalid MspSegment Selector
error_mr_msg_too_long           EQU     316     ; message too long for buffer
error_mr_mid_not_found          EQU     317     ; message id number not found
error_mr_un_acc_msgf            EQU     318     ; unable to access message file
error_mr_inv_msgf_format        EQU     319     ; invalid message file format
error_mr_inv_ivcount            EQU     320     ; invalid insertion variable count
error_mr_un_perform             EQU     321     ; unable to perform function
error_ts_wakeup                 EQU     322     ; unable to wake up
error_ts_time                   EQU     323     ; time value < 0
error_ts_notimer                EQU     324     ; no times available
error_ts_ticktype               EQU     325     ; tick type not 0 or 1
error_ts_handle                 EQU     326     ; invalid timer handle
error_ts_datetime               EQU     327     ; date or time invalid
error_sys_internal              EQU     328     ; internal system error
error_que_current_name          EQU     329     ; current name does not exist
error_que_proc_not_owned        EQU     330     ; current process does not own queue
error_que_proc_owned            EQU     331     ; current process owns queue
error_que_duplicate             EQU     332     ; duplicate name
error_que_element_not_exist     EQU     333     ; element does not exist
error_que_no_memory             EQU     334     ; inadequate memory
error_que_invalid_name          EQU     335     ; invalid name
error_que_invalid_priority      EQU     336     ; invalid priority parameter
error_que_invalid_handle        EQU     337     ; invalid queue handle
error_que_link_not_found        EQU     338     ; link not found
error_que_memory_error          EQU     339     ; memory error
error_que_prev_at_end           EQU     340     ; previous element was at end of queue
error_que_proc_no_access        EQU     341     ; process does not have access to queues
error_que_empty                 EQU     342     ; queue is empty
error_que_name_not_exist        EQU     343     ; queue name does not exist
error_que_not_initialized       EQU     344     ; queues not initialized
error_que_unable_to_access      EQU     345     ; unable to access queues
error_que_unable_to_add         EQU     346     ; unable to add new queue
error_que_unable_to_init        EQU     347     ; unable to initialize queues
error_vio_register              EQU     348     ; vio register disallowed
error_bvs_parameter             EQU     349     ; invalid parameter supplied
error_scs_call                  EQU     350     ; call issued by other than sm
error_scs_value                 EQU     351     ; value is not for save or restore
error_scs_wait_flag             EQU     352     ; invalid wait flag setting
error_scs_unlock                EQU     353     ; screen not previously locked
error_sm_init                   EQU     354     ; session mgr init failed
error_sm_sgid                   EQU     355     ; invalid screen group id
error_sm_nosg                   EQU     356     ; all screen groups in use
error_kbd_parameter             EQU     357     ; invalid parameter to kbd






;
; error codes for utilities
;

error_invalid_dosver            EQU     1000    ; invalid dos version
error_language_not_supported    EQU     1001    ; language not supported
error_msgfile_bad_format        EQU     1002    ; bad message file format
error_msgfile_bad_mid           EQU     1003    ; message file has bad mid
error_msgfile_outerror          EQU     1004    ; error writing output file
error_msgfile_inperror          EQU     1005    ; error reading input file
error_install_failed            EQU     1006    ; install failed


;
; intercomponent error codes (from 8000H or 32768)
;
error_swapper_not_active        EQU     32768   ; swapper is not active
error_invalid_swapid            EQU     32769   ; invalid swap identifier
error_ioerr_swap_file           EQU     32770   ; i/o error on swap file
error_swap_table_full           EQU     32771   ; swap control table is full
error_swap_file_full            EQU     32772   ; swap file is full
error_cant_init_swapper         EQU     32773   ; cannot initialize swapper
error_swapper_already_init      EQU     32774   ; swapper already initialized
error_pmm_insufficient_memory   EQU     32775   ; insufficient memory
error_pmm_invalid_flags         EQU     32776   ; invalid flags for phys. mem.
error_pmm_invalid_address       EQU     32777   ; invalid address of phys. mem.
error_pmm_lock_failed           EQU     32778   ; lock of storage failed
error_pmm_unlock_failed         EQU     32779   ; unlock of storage failed

;break <Interrupt 24 error codes>

error_I24_write_protect         EQU     0
error_I24_bad_unit              EQU     1
error_I24_not_ready             EQU     2
error_I24_bad_command           EQU     3
error_I24_CRC                   EQU     4
error_I24_bad_length            EQU     5
error_I24_Seek                  EQU     6
error_I24_not_DOS_disk          EQU     7
error_I24_sector_not_found      EQU     8
error_I24_out_of_paper          EQU     9
error_I24_write_fault           EQU     0Ah
error_I24_read_fault            EQU     0Bh
error_I24_gen_failure           EQU     0Ch
error_I24_disk_change           EQU     0Dh
error_I24_wrong_disk            EQU     0Fh
error_I24_Uncertain_media       EQU     10h
error_I24_Char_Call_Interrupted EQU     11h

; THE FOLLOWING ARE MASKS FOR THE AH REGISTER ON Int 24

Allowed_FAIL                    EQU     00001000B
Allowed_RETRY                   EQU     00010000B
Allowed_IGNORE                  EQU     00100000B
;NOTE: ABORT is ALWAYS allowed

I24_operation                   EQU     00000001B       ;Z if READ,NZ if Write
I24_area                        EQU     00000110B       ; 00 if DOS
                                                        ; 01 if FAT
                                                        ; 10 if root DIR
                                                        ; 11 if DATA
I24_class                       EQU     10000000B       ;Z if DISK, NZ if FAT or char

;break <GetExtendedError CLASSes ACTIONs LOCUSs>

; Values for error CLASS

errCLASS_OutRes         EQU     1       ; Out of Resource
errCLASS_TempSit        EQU     2       ; Temporary Situation
errCLASS_Auth           EQU     3       ; Permission problem
errCLASS_Intrn          EQU     4       ; Internal System Error
errCLASS_HrdFail        EQU     5       ; Hardware Failure
errCLASS_SysFail        EQU     6       ; System Failure
errCLASS_Apperr         EQU     7       ; Application Error
errCLASS_NotFnd         EQU     8       ; Not Found
errCLASS_BadFmt         EQU     9       ; Bad Format
errCLASS_Locked         EQU     10      ; Locked
errCLASS_Media          EQU     11      ; Media Failure
errCLASS_Already        EQU     12      ; Collision with Existing Item
errCLASS_Unk            EQU     13      ; Unknown/other

; Values for error ACTION

errACT_Retry            EQU     1       ; Retry
errACT_DlyRet           EQU     2       ; Delay Retry, retry after pause
errACT_User             EQU     3       ; Ask user to regive info
errACT_Abort            EQU     4       ; abort with clean up
errACT_Panic            EQU     5       ; abort immediately
errACT_Ignore           EQU     6       ; ignore
errACT_IntRet           EQU     7       ; Retry after User Intervention

; Values for error LOCUS

errLOC_Unk              EQU     1       ; No appropriate value
errLOC_Disk             EQU     2       ; Random Access Mass Storage
errLOC_Net              EQU     3       ; Network
errLOC_SerDev           EQU     4       ; Serial Device
errLOC_Mem              EQU     5       ; Memory