File:  [OS/2 SDKs] / os2sdk / include / error.inc
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 12:25:13 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: os2sdk-1987, HEAD
Microsoft OS/2 SDK 12-15-1987

;       CP-DOS error codes
;
;       SCCSID = @(#)error.inc	8.19 87/07/23
;
; 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
ERROR_NETWORK_ACCESS_DENIED     EQU     65
;
; 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
;
; New error codes for 5.0
;
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

;This is a temporary fix for the 4-19-86 build this should be changed when
; we get the file from MS
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
ERROR_FILENAME_EXCED_RANGE              EQU     206     ; if filename > 8.3
ERROR_RING2_STACK_IN_USE                EQU     207     ; for FAPI
ERROR_META_EXPANSION_TOO_LONG           EQU     208     ; if "*a" > 8.3
ERROR_INVALID_SIGNAL_NUMBER             EQU     209
ERROR_THREAD_1_INACTIVE                 EQU     210
ERROR_INFO_NOT_AVAIL                    EQU     211 ;@@ PTM 5550
ERROR_LOCKED                            EQU     212
ERROR_BAD_DYNALINK                      EQU     213 ;@@ PTM 5760
ERROR_TOO_MANY_MODULES			EQU	214
ERROR_NESTING_NOT_ALLOWED		EQU	215
;
; Error codes 230 - 249 are reserved for MS Networks
;

;       REMINDER: don't forget to update error.h

;
;       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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.