home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
os2
/
gtak212b.zip
/
SOURCE.ZIP
/
OS2-ST01
/
error.inc
< prev
next >
Wrap
Text File
|
1989-06-06
|
16KB
|
333 lines
; MS OS/2 error codes
;
; Copyright (c) Microsoft Corporation, 1988
;
;
; MS OS/2 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_TOO_MANY_SEMAPHORES EQU 100 ; user/sys open sem limit hit
ERROR_EXCL_SEM_ALREADY_OWNED EQU 101 ; exclusive sem already owned
ERROR_SEM_IS_SET EQU 102 ; SemClose found sem set
ERROR_TOO_MANY_SEM_REQUESTS EQU 103 ; too many exclusive sem reqs
ERROR_INVALID_AT_INTERRUPT_TIME EQU 104 ; operation invalid at int time
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
;
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_PROTECTION_VIOLATION EQU 115 ; Bad user virtual address
ERROR_VIOKBD_REQUEST EQU 116
ERROR_INVALID_CATEGORY EQU 117 ; Category for DEVIOCTL in not
; defined
ERROR_INVALID_VERIFY_SWITCH EQU 118 ; invalid value passed for
; verify flag
ERROR_BAD_DRIVER_LEVEL EQU 119 ; DosDevIOCTL looks for a level
; four driver. If the driver
; is not level four we return
; this code
ERROR_CALL_NOT_IMPLEMENTED EQU 120 ; returned from stub api calls.
; This call will disappear when
; all the api's are implemented.
ERROR_SEM_TIMEOUT EQU 121 ; Time out happened from the
; semaphore api functions.
ERROR_INSUFFICIENT_BUFFER EQU 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.
ERROR_INVALID_NAME EQU 123 ; illegal character or malformed
; file system name
ERROR_INVALID_LEVEL EQU 124 ; unimplemented level for info
; retrieval or setting
ERROR_NO_VOLUME_LABEL EQU 125 ; no volume label found with
; DosQFSInfo command
ERROR_MOD_NOT_FOUND EQU 126 ; w_getprocaddr,w_getmodhandle
ERROR_PROC_NOT_FOUND EQU 127 ; w_getprocaddr
ERROR_WAIT_NO_CHILDREN EQU 128 ; CWait finds to children
ERROR_CHILD_NOT_COMPLETE EQU 129 ; CWait children not dead yet
ERROR_DIRECT_ACCESS_HANDLE EQU 130 ; handle operation is invalid
; for direct disk access
; handles
ERROR_NEGATIVE_SEEK EQU 131 ; application tried to seek
; to negative offset
ERROR_SEEK_ON_DEVICE EQU 132 ; application tried to seek
; on device or pipe
;
; The following are errors generated by the join and subst workers
;
ERROR_IS_JOIN_TARGET EQU 133
ERROR_IS_JOINED EQU 134
ERROR_IS_SUBSTED EQU 135
ERROR_NOT_JOINED EQU 136
ERROR_NOT_SUBSTED EQU 137
ERROR_JOIN_TO_JOIN EQU 138
ERROR_SUBST_TO_SUBST EQU 139
ERROR_JOIN_TO_SUBST EQU 140
ERROR_SUBST_TO_JOIN EQU 141
ERROR_BUSY_DRIVE EQU 142
ERROR_SAME_DRIVE EQU 143
ERROR_DIR_NOT_ROOT EQU 144
ERROR_DIR_NOT_EMPTY EQU 145
ERROR_IS_SUBST_PATH EQU 146
ERROR_IS_JOIN_PATH EQU 147
ERROR_PATH_BUSY EQU 148
ERROR_IS_SUBST_TARGET EQU 149
ERROR_SYSTEM_TRACE EQU 150 ; system trace error
ERROR_INVALID_EVENT_COUNT equ 151 ; DosMuxSemWait errors
ERROR_TOO_MANY_MUXWAITERS equ 152 ;
ERROR_INVALID_LIST_FORMAT equ 153 ;
ERROR_LABEL_TOO_LONG equ 154 ; volume label is too big
ERROR_TOO_MANY_TCBS equ 155 ; can't create another tcb
; in this PTDA
ERROR_SIGNAL_REFUSED equ 156 ; Signal refused
ERROR_DISCARDED equ 157 ; segment is discarded
ERROR_NOT_LOCKED equ 158 ; segment was not locked
ERROR_BAD_THREADID_ADDR equ 159 ; bad thread id address
ERROR_BAD_ARGUMENTS equ 160 ; bad environment pointer
; passed to exec
ERROR_BAD_PATHNAME equ 161 ; bad pathname passed to exec
ERROR_SIGNAL_PENDING equ 162 ; signal already pending
ERROR_UNCERTAIN_MEDIA equ 163 ; ERROR_I24 mapping
ERROR_MAX_THRDS_REACHED equ 164 ; No more proc slots
ERROR_MONITORS_NOT_SUPPORTED equ 165 ; ERROR_I24 mapping
; following error code added for DOSGETRESOURCE [loader related]
ERROR_INVALID_SEGMENT_NUMBER EQU 180
; following error codes are used by FreeDynLink [loader]
ERROR_INVALID_CALLGATE EQU 181
ERROR_INVALID_ORDINAL EQU 182
ERROR_ALREADY_EXISTS EQU 183
ERROR_NO_CHILD_PROCESS EQU 184 ; No child process to wait for
ERROR_CHILD_ALIVE_NOWAIT EQU 185 ; NoWait specified & child alive
ERROR_INVALID_FLAG_NUMBER EQU 186 ; Invalid flag number
ERROR_SEM_NOT_FOUND EQU 187 ; Semaphore does not exist
; following error codes have added to make the loader error
; messages distinct
ERROR_INVALID_STARTING_CODESEG EQU 188
ERROR_INVALID_STACKSEG EQU 189
ERROR_INVALID_MODULETYPE EQU 190
ERROR_INVALID_EXE_SIGNATURE EQU 191
ERROR_EXE_MARKED_INVALID EQU 192
ERROR_BAD_EXE_FORMAT EQU 193
ERROR_ITERATED_DATA_EXCEEDS_64k EQU 194
ERROR_INVALID_MINALLOCSIZE EQU 195
ERROR_DYNLINK_FROM_INVALID_RING EQU 196
ERROR_IOPL_NOT_ENABLED EQU 197
ERROR_INVALID_SEGDPL EQU 198
ERROR_AUTODATASEG_EXCEEDS_64k EQU 199
ERROR_RING2SEG_MUST_BE_MOVABLE EQU 200
ERROR_RELOC_CHAIN_XEEDS_SEGLIM EQU 201
ERROR_INFLOOP_IN_RELOC_CHAIN EQU 202
ERROR_ENVVAR_NOT_FOUND EQU 203
ERROR_NOT_CURRENT_CTRY EQU 204
ERROR_NO_SIGNAL_SENT EQU 205
;
; All user-defined error codes from device drivers are mapped into the
; range 0xFF00 - 0xFFFF
;
ERROR_USER_DEFINED_BASE EQU 0FF00h
; Device driver 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
ERROR_I24_NO_MONITOR_SUPPORT EQU 12h
ERROR_I24_INVALID_PARAMETER EQU 13h
; THE FOLLOWING ARE MASKS FOR THE allowed action for hard error Daemon service
ALLOWED_FAIL EQU 1h
ALLOWED_ABORT EQU 2h
ALLOWED_RETRY EQU 4h
ALLOWED_IGNORE EQU 8h
;NOTE: ABORT is ALWAYS allowed
I24_OPERATION EQU 1h ;Z if READ,NZ if Write
I24_AREA EQU 6h ; 00 if DOS
; 01 if FAT
; 10 if root DIR
; 11 if DATA
I24_CLASS EQU 80h ;Z if DISK, NZ if FAT or char
; 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
ERRCLASS_CANT EQU 14 ; Can't perform requested operation
ERRCLASS_TIME EQU 15 ; Timeout
; 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
; Abnormal termination codes
TC_NORMAL EQU 0
TC_HARDERR EQU 1
TC_GP_TRAP EQU 2
TC_SIGNAL EQU 3