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

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

unix.superglobalmegacorp.com

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