Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

169 lines
4.7 KiB

BREAK <DOS error codes>
;** ERROR.INC - DOS Error Codes
;
; The newer (DOS 2.0 and above) "XENIX-style" calls
; 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.
; 2.0 error codes
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
; 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
error_Code_Page_Mismatched EQU 37 ; DOS 4.00 ;AN000;
error_handle_EOF EQU 38 ; DOS 4.00 ;AN000;
error_handle_Disk_Full EQU 39 ; DOS 4.00 ;AN000;
; New OEM network-related errors are 50-79
error_not_supported EQU 50
error_net_access_denied EQU 65 ;M028
; 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
error_sys_comp_not_loaded EQU 90 ; DOS 4.00 ;AN000;
BREAK <Interrupt 24 error codes>
;** Int24 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
; NOTE: Code 0DH is used by MT-DOS.
error_I24_wrong_disk EQU 0Fh
; THE FOLLOWING ARE MASKS FOR THE AH REGISTER ON Int 24
;
; NOTE: ABORT is ALWAYS allowed
Allowed_FAIL EQU 00001000B
Allowed_RETRY EQU 00010000B
Allowed_IGNORE EQU 00100000B
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>
;** The GetExtendedError call takes an error code and returns CLASS,
; ACTION and LOCUS codes to help programs determine the proper action
; to take for error codes that they don't explicitly understand.
; 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