Annotation of os2sdk/include/error.inc, revision 1.1.1.1

1.1       root        1: ;       CP-DOS error codes
                      2: ;
                      3: ;       SCCSID = @(#)error.inc 8.19 87/07/23
                      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: ;
                     22: NO_ERROR                        EQU     0
                     23: ERROR_INVALID_FUNCTION          EQU     1
                     24: ERROR_FILE_NOT_FOUND            EQU     2
                     25: ERROR_PATH_NOT_FOUND            EQU     3
                     26: ERROR_TOO_MANY_OPEN_FILES       EQU     4
                     27: ERROR_ACCESS_DENIED             EQU     5
                     28: ERROR_INVALID_HANDLE            EQU     6
                     29: ERROR_ARENA_TRASHED             EQU     7
                     30: ERROR_NOT_ENOUGH_MEMORY         EQU     8
                     31: ERROR_INVALID_BLOCK             EQU     9
                     32: ERROR_BAD_ENVIRONMENT           EQU     10
                     33: ERROR_BAD_FORMAT                EQU     11
                     34: ERROR_INVALID_ACCESS            EQU     12
                     35: ERROR_INVALID_DATA              EQU     13
                     36: ;**** reserved                  EQU     14      ; *****
                     37: ERROR_INVALID_DRIVE             EQU     15
                     38: ERROR_CURRENT_DIRECTORY         EQU     16
                     39: ERROR_NOT_SAME_DEVICE           EQU     17
                     40: ERROR_NO_MORE_FILES             EQU     18
                     41: ;
                     42: ; These are the universal int 24 mappings for the old INT 24 set of errors
                     43: ;
                     44: ERROR_WRITE_PROTECT             EQU     19
                     45: ERROR_BAD_UNIT                  EQU     20
                     46: ERROR_NOT_READY                 EQU     21
                     47: ERROR_BAD_COMMAND               EQU     22
                     48: ERROR_CRC                       EQU     23
                     49: ERROR_BAD_LENGTH                EQU     24
                     50: ERROR_SEEK                      EQU     25
                     51: ERROR_NOT_DOS_DISK              EQU     26
                     52: ERROR_SECTOR_NOT_FOUND          EQU     27
                     53: ERROR_OUT_OF_PAPER              EQU     28
                     54: ERROR_WRITE_FAULT               EQU     29
                     55: ERROR_READ_FAULT                EQU     30
                     56: ERROR_GEN_FAILURE               EQU     31
                     57: ;
                     58: ; These are the new 3.0 error codes reported through INT 24
                     59: ;
                     60: ERROR_SHARING_VIOLATION         EQU     32
                     61: ERROR_LOCK_VIOLATION            EQU     33
                     62: ERROR_WRONG_DISK                EQU     34
                     63: ERROR_FCB_UNAVAILABLE           EQU     35
                     64: ERROR_SHARING_BUFFER_EXCEEDED   EQU     36
                     65: ;
                     66: ; New OEM network-related errors are 50-79
                     67: ;
                     68: ERROR_NOT_SUPPORTED             EQU     50
                     69: ERROR_NETWORK_ACCESS_DENIED     EQU     65
                     70: ;
                     71: ; End of INT 24 reportable errors
                     72: ;
                     73: ERROR_FILE_EXISTS               EQU     80
                     74: ERROR_DUP_FCB                   EQU     81      ; *****
                     75: ERROR_CANNOT_MAKE               EQU     82
                     76: ERROR_FAIL_I24                  EQU     83
                     77: ;
                     78: ; New 3.0 network related error codes
                     79: ;
                     80: ERROR_OUT_OF_STRUCTURES         EQU     84
                     81: ERROR_ALREADY_ASSIGNED          EQU     85
                     82: ERROR_INVALID_PASSWORD          EQU     86
                     83: ERROR_INVALID_PARAMETER         EQU     87
                     84: ERROR_NET_WRITE_FAULT           EQU     88
                     85: ;
                     86: ; New error codes for 4.0
                     87: ;
                     88: ERROR_NO_PROC_SLOTS             EQU     89      ; no process slots available
                     89: ERROR_NOT_FROZEN                EQU     90
                     90: ERR_TSTOVFL                     EQU     91      ; timer service table overflow
                     91: ERR_TSTDUP                      EQU     92      ; timer service table duplicate
                     92: ERROR_NO_ITEMS                  EQU     93      ; There were no items to operate upon
                     93: ERROR_INTERRUPT                 EQU     95      ; interrupted system call
                     94: 
                     95: ERROR_TOO_MANY_SEMAPHORES       EQU     100     ; user/sys open sem limit hit
                     96: ERROR_EXCL_SEM_ALREADY_OWNED    EQU     101     ; exclusive sem already owned
                     97: ERROR_SEM_IS_SET                EQU     102     ; SemClose found sem set
                     98: ERROR_TOO_MANY_SEM_REQUESTS     EQU     103     ; too many exclusive sem reqs
                     99: ERROR_INVALID_AT_INTERRUPT_TIME EQU     104     ; operation invalid at int time
                    100: ERROR_SEM_OWNER_DIED            EQU     105     ; waitsem found owner died
                    101: ERROR_SEM_USER_LIMIT            EQU     106     ; too many procs have this sem
                    102: ERROR_DISK_CHANGE               EQU     107     ; insert disk b into drive a
                    103: ERROR_DRIVE_LOCKED              EQU     108     ; drive locked by another process
                    104: ERROR_BROKEN_PIPE               EQU     109     ; write on pipe with no reader
                    105: ;
                    106: ; New error codes for 5.0
                    107: ;
                    108: ERROR_OPEN_FAILED               EQU     110     ; open/created failed due to
                    109:                                                 ; explicit fail command
                    110: ERROR_BUFFER_OVERFLOW           EQU     111     ; buffer passed to system call
                    111:                                                 ; is too small to hold return
                    112:                                                 ; data.
                    113: ERROR_DISK_FULL                 EQU     112     ; not enough space on the disk
                    114:                                                 ; (DOSNEWSIZE/w_NewSize)
                    115: ERROR_NO_MORE_SEARCH_HANDLES    EQU     113     ; can't allocate another search
                    116:                                                 ; structure and handle.
                    117:                                                 ; (DOSFINDFIRST/w_FindFirst)
                    118: ERROR_INVALID_TARGET_HANDLE     EQU     114     ; Target handle in DOSDUPHANDLE
                    119:                                                 ; is invalid
                    120: ERROR_PROTECTION_VIOLATION      EQU     115     ; Bad user virtual address
                    121: ERROR_VIOKBD_REQUEST            EQU     116
                    122: ERROR_INVALID_CATEGORY          EQU     117     ; Category for DEVIOCTL in not
                    123:                                                 ; defined
                    124: ERROR_INVALID_VERIFY_SWITCH     EQU     118     ; invalid value passed for
                    125:                                                 ; verify flag
                    126: ERROR_BAD_DRIVER_LEVEL          EQU     119     ; DosDevIOCTL looks for a level
                    127:                                                 ; four driver.  If the driver
                    128:                                                 ; is not level four we return
                    129:                                                 ; this code
                    130: ERROR_CALL_NOT_IMPLEMENTED      EQU     120     ; returned from stub api calls.
                    131:                                                 ; This call will disappear when
                    132:                                                 ; all the api's are implemented.
                    133: ERROR_SEM_TIMEOUT               EQU     121     ; Time out happened from the
                    134:                                                 ; semaphore api functions.
                    135: ERROR_INSUFFICIENT_BUFFER       EQU     122     ; Some call require the
                    136:                                         ; application to pass in a buffer
                    137:                                         ; filled with data.  This error is
                    138:                                         ; returned if the data buffer is too
                    139:                                         ; small.  For example: DosSetFileInfo
                    140:                                         ; requires 4 bytes of data.  If a
                    141:                                         ; two byte buffer is passed in then
                    142:                                         ; this error is returned.
                    143:                                         ; error_buffer_overflow is used when
                    144:                                         ; the output buffer in not big enough.
                    145: ERROR_INVALID_NAME              EQU     123     ; illegal character or malformed
                    146:                                                 ; file system name
                    147: ERROR_INVALID_LEVEL             EQU     124     ; unimplemented level for info
                    148:                                                 ; retrieval or setting
                    149: ERROR_NO_VOLUME_LABEL           EQU     125     ; no volume label found with
                    150:                                                 ; DosQFSInfo command
                    151: ERROR_MOD_NOT_FOUND             EQU     126     ; w_getprocaddr,w_getmodhandle
                    152: ERROR_PROC_NOT_FOUND            EQU     127     ; w_getprocaddr
                    153: 
                    154: ERROR_WAIT_NO_CHILDREN          EQU     128     ; CWait finds to children
                    155: 
                    156: ERROR_CHILD_NOT_COMPLETE        EQU     129     ; CWait children not dead yet
                    157: 
                    158: ;This is a temporary fix for the 4-19-86 build this should be changed when
                    159: ; we get the file from MS
                    160: ERROR_DIRECT_ACCESS_HANDLE      EQU     130     ; handle operation is invalid
                    161:                                                 ; for direct disk access
                    162:                                                 ; handles
                    163: ERROR_NEGATIVE_SEEK             EQU     131     ; application tried to seek
                    164:                                                 ; to negative offset
                    165: ERROR_SEEK_ON_DEVICE            EQU     132     ; application tried to seek
                    166:                                                 ; on device or pipe
                    167: ;
                    168: ; The following are errors generated by the join and subst workers
                    169: ;
                    170: 
                    171: ERROR_IS_JOIN_TARGET            EQU     133
                    172: ERROR_IS_JOINED                 EQU     134
                    173: ERROR_IS_SUBSTED                EQU     135
                    174: ERROR_NOT_JOINED                EQU     136
                    175: ERROR_NOT_SUBSTED               EQU     137
                    176: ERROR_JOIN_TO_JOIN              EQU     138
                    177: ERROR_SUBST_TO_SUBST            EQU     139
                    178: ERROR_JOIN_TO_SUBST             EQU     140
                    179: ERROR_SUBST_TO_JOIN             EQU     141
                    180: ERROR_BUSY_DRIVE                EQU     142
                    181: ERROR_SAME_DRIVE                EQU     143
                    182: ERROR_DIR_NOT_ROOT              EQU     144
                    183: ERROR_DIR_NOT_EMPTY             EQU     145
                    184: ERROR_IS_SUBST_PATH             EQU     146
                    185: ERROR_IS_JOIN_PATH              EQU     147
                    186: ERROR_PATH_BUSY                 EQU     148
                    187: ERROR_IS_SUBST_TARGET           EQU     149
                    188: ERROR_SYSTEM_TRACE              EQU     150     ; system trace error
                    189: 
                    190: ERROR_INVALID_EVENT_COUNT       equ     151     ; DosMuxSemWait errors
                    191: ERROR_TOO_MANY_MUXWAITERS       equ     152     ;
                    192: ERROR_INVALID_LIST_FORMAT       equ     153     ;
                    193: ERROR_LABEL_TOO_LONG            equ     154     ; volume label is too big
                    194: ERROR_TOO_MANY_TCBS             equ     155     ; can't create another tcb
                    195:                                                 ; in this PTDA
                    196: ERROR_SIGNAL_REFUSED            equ     156     ; Signal refused
                    197: ERROR_DISCARDED                 equ     157     ; segment is discarded
                    198: ERROR_NOT_LOCKED                equ     158     ; segment was not locked
                    199: ERROR_BAD_THREADID_ADDR         equ     159     ; bad thread id address
                    200: ERROR_BAD_ARGUMENTS             equ     160     ; bad environment pointer
                    201: 
                    202:                                                 ; passed to exec
                    203: ERROR_BAD_PATHNAME              equ     161     ; bad pathname passed to exec
                    204: ERROR_SIGNAL_PENDING            equ     162     ; signal already pending
                    205: ERROR_UNCERTAIN_MEDIA           equ     163     ; ERROR_I24 mapping
                    206: ERROR_MAX_THRDS_REACHED         equ     164     ; No more proc slots
                    207: ERROR_MONITORS_NOT_SUPPORTED    equ     165     ; ERROR_I24 mapping
                    208: 
                    209: ;       following error code added for DOSGETRESOURCE [loader related]
                    210: 
                    211: ERROR_INVALID_SEGMENT_NUMBER    EQU     180
                    212: 
                    213: ;       following error codes are used by FreeDynLink [loader]
                    214: 
                    215: ERROR_INVALID_CALLGATE          EQU     181
                    216: ERROR_INVALID_ORDINAL           EQU     182
                    217: ERROR_ALREADY_EXISTS            EQU     183
                    218: ERROR_NO_CHILD_PROCESS          EQU     184     ; No child process to wait for
                    219: ERROR_CHILD_ALIVE_NOWAIT        EQU     185     ; NoWait specified & child alive
                    220: ERROR_INVALID_FLAG_NUMBER       EQU     186     ; Invalid flag number
                    221: ERROR_SEM_NOT_FOUND             EQU     187     ; Semaphore does not exist
                    222: 
                    223: ;       following error codes have added  to make the loader error
                    224: ;       messages distinct
                    225: 
                    226: ERROR_INVALID_STARTING_CODESEG          EQU     188
                    227: ERROR_INVALID_STACKSEG                  EQU     189
                    228: ERROR_INVALID_MODULETYPE                EQU     190
                    229: ERROR_INVALID_EXE_SIGNATURE             EQU     191
                    230: ERROR_EXE_MARKED_INVALID                EQU     192
                    231: ERROR_BAD_EXE_FORMAT                    EQU     193
                    232: ERROR_ITERATED_DATA_EXCEEDS_64k         EQU     194
                    233: ERROR_INVALID_MINALLOCSIZE              EQU     195
                    234: ERROR_DYNLINK_FROM_INVALID_RING         EQU     196
                    235: ERROR_IOPL_NOT_ENABLED                  EQU     197
                    236: ERROR_INVALID_SEGDPL                    EQU     198
                    237: ERROR_AUTODATASEG_EXCEEDS_64k           EQU     199
                    238: ERROR_RING2SEG_MUST_BE_MOVABLE          EQU     200
                    239: ERROR_RELOC_CHAIN_XEEDS_SEGLIM          EQU     201
                    240: ERROR_INFLOOP_IN_RELOC_CHAIN            EQU     202
                    241: 
                    242: ERROR_ENVVAR_NOT_FOUND                  EQU     203
                    243: ERROR_NOT_CURRENT_CTRY                  EQU     204
                    244: ERROR_NO_SIGNAL_SENT                    EQU     205
                    245: ERROR_FILENAME_EXCED_RANGE              EQU     206     ; if filename > 8.3
                    246: ERROR_RING2_STACK_IN_USE                EQU     207     ; for FAPI
                    247: ERROR_META_EXPANSION_TOO_LONG           EQU     208     ; if "*a" > 8.3
                    248: ERROR_INVALID_SIGNAL_NUMBER             EQU     209
                    249: ERROR_THREAD_1_INACTIVE                 EQU     210
                    250: ERROR_INFO_NOT_AVAIL                    EQU     211 ;@@ PTM 5550
                    251: ERROR_LOCKED                            EQU     212
                    252: ERROR_BAD_DYNALINK                      EQU     213 ;@@ PTM 5760
                    253: ERROR_TOO_MANY_MODULES                 EQU     214
                    254: ERROR_NESTING_NOT_ALLOWED              EQU     215
                    255: ;
                    256: ; Error codes 230 - 249 are reserved for MS Networks
                    257: ;
                    258: 
                    259: ;       REMINDER: don't forget to update error.h
                    260: 
                    261: ;
                    262: ;       All user-defined error codes from device drivers are mapped into the
                    263: ;       range 0xFF00 - 0xFFFF
                    264: ;
                    265: 
                    266: ERROR_USER_DEFINED_BASE         EQU     0FF00h
                    267: 
                    268: 
                    269: 
                    270: ;       Device driver error codes
                    271: 
                    272: ERROR_I24_WRITE_PROTECT                 EQU     0
                    273: ERROR_I24_BAD_UNIT                      EQU     1
                    274: ERROR_I24_NOT_READY                     EQU     2
                    275: ERROR_I24_BAD_COMMAND                   EQU     3
                    276: ERROR_I24_CRC                           EQU     4
                    277: ERROR_I24_BAD_LENGTH                    EQU     5
                    278: ERROR_I24_SEEK                          EQU     6
                    279: ERROR_I24_NOT_DOS_DISK                  EQU     7
                    280: ERROR_I24_SECTOR_NOT_FOUND              EQU     8
                    281: ERROR_I24_OUT_OF_PAPER                  EQU     9
                    282: ERROR_I24_WRITE_FAULT                   EQU     0Ah
                    283: ERROR_I24_READ_FAULT                    EQU     0Bh
                    284: ERROR_I24_GEN_FAILURE                   EQU     0Ch
                    285: ERROR_I24_DISK_CHANGE                   EQU     0Dh
                    286: ERROR_I24_WRONG_DISK                    EQU     0Fh
                    287: ERROR_I24_UNCERTAIN_MEDIA               EQU     10h
                    288: ERROR_I24_CHAR_CALL_INTERRUPTED         EQU     11h
                    289: ERROR_I24_NO_MONITOR_SUPPORT            EQU     12h
                    290: ERROR_I24_INVALID_PARAMETER             EQU     13h
                    291: 
                    292: ; THE FOLLOWING ARE MASKS FOR THE allowed action for hard error Daemon service
                    293: 
                    294: ALLOWED_FAIL                    EQU     1h
                    295: ALLOWED_ABORT                   EQU     2h
                    296: ALLOWED_RETRY                   EQU     4h
                    297: ALLOWED_IGNORE                  EQU     8h
                    298: 
                    299: ;NOTE: ABORT is ALWAYS allowed
                    300: 
                    301: I24_OPERATION                   EQU     1h      ;Z if READ,NZ if Write
                    302: I24_AREA                        EQU     6h      ; 00 if DOS
                    303:                                                 ; 01 if FAT
                    304:                                                 ; 10 if root DIR
                    305:                                                 ; 11 if DATA
                    306: I24_CLASS                       EQU     80h     ;Z if DISK, NZ if FAT or char
                    307: 
                    308: ;       GetExtendedError CLASSes ACTIONs LOCUSs
                    309: 
                    310: ; Values for error CLASS
                    311: 
                    312: ERRCLASS_OUTRES         EQU     1       ; Out of Resource
                    313: ERRCLASS_TEMPSIT        EQU     2       ; Temporary Situation
                    314: ERRCLASS_AUTH           EQU     3       ; Permission problem
                    315: ERRCLASS_INTRN          EQU     4       ; Internal System Error
                    316: ERRCLASS_HRDFAIL        EQU     5       ; Hardware Failure
                    317: ERRCLASS_SYSFAIL        EQU     6       ; System Failure
                    318: ERRCLASS_APPERR         EQU     7       ; Application Error
                    319: ERRCLASS_NOTFND         EQU     8       ; Not Found
                    320: ERRCLASS_BADFMT         EQU     9       ; Bad Format
                    321: ERRCLASS_LOCKED         EQU     10      ; Locked
                    322: ERRCLASS_MEDIA          EQU     11      ; Media Failure
                    323: ERRCLASS_ALREADY        EQU     12      ; Collision with Existing Item
                    324: ERRCLASS_UNK            EQU     13      ; Unknown/other
                    325: ERRCLASS_CANT           EQU     14      ; Can't perform requested operation
                    326: ERRCLASS_TIME           EQU     15      ; Timeout
                    327: 
                    328: ; Values for error ACTION
                    329: 
                    330: ERRACT_RETRY            EQU     1       ; Retry
                    331: ERRACT_DLYRET           EQU     2       ; Delay Retry, retry after pause
                    332: ERRACT_USER             EQU     3       ; Ask user to regive info
                    333: ERRACT_ABORT            EQU     4       ; abort with clean up
                    334: ERRACT_PANIC            EQU     5       ; abort immediately
                    335: ERRACT_IGNORE           EQU     6       ; ignore
                    336: ERRACT_INTRET           EQU     7       ; Retry after User Intervention
                    337: 
                    338: ; Values for error LOCUS
                    339: 
                    340: ERRLOC_UNK              EQU     1       ; No appropriate value
                    341: ERRLOC_DISK             EQU     2       ; Random Access Mass Storage
                    342: ERRLOC_NET              EQU     3       ; Network
                    343: ERRLOC_SERDEV           EQU     4       ; Serial Device
                    344: ERRLOC_MEM              EQU     5       ; Memory
                    345: 
                    346: ; Abnormal termination codes
                    347: 
                    348: TC_NORMAL               EQU     0
                    349: TC_HARDERR              EQU     1
                    350: TC_GP_TRAP              EQU     2
                    351: 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.