348 lines
14 KiB
C
348 lines
14 KiB
C
|
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
|
||
|
/***
|
||
|
*error.h - DOS error codes
|
||
|
*
|
||
|
* Copyright (c) 1987-1992, Microsoft Corporation. All rights reserved.
|
||
|
*
|
||
|
*Purpose:
|
||
|
* 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.
|
||
|
*
|
||
|
****/
|
||
|
|
||
|
/*static char *SCCSID = "@(#)error.h 7.25 87/07/23";*/
|
||
|
/* XENIX 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 */
|
||
|
/* */
|
||
|
#define NO_ERROR 0
|
||
|
#define ERROR_INVALID_FUNCTION 1
|
||
|
#define ERROR_FILE_NOT_FOUND 2
|
||
|
#define ERROR_PATH_NOT_FOUND 3
|
||
|
#define ERROR_TOO_MANY_OPEN_FILES 4
|
||
|
#define ERROR_ACCESS_DENIED 5
|
||
|
#define ERROR_INVALID_HANDLE 6
|
||
|
#define ERROR_ARENA_TRASHED 7
|
||
|
#define ERROR_NOT_ENOUGH_MEMORY 8
|
||
|
#define ERROR_INVALID_BLOCK 9
|
||
|
#define ERROR_BAD_ENVIRONMENT 10
|
||
|
#define ERROR_BAD_FORMAT 11
|
||
|
#define ERROR_INVALID_ACCESS 12
|
||
|
#define ERROR_INVALID_DATA 13
|
||
|
/* **** reserved 14 ; ***** */
|
||
|
#define ERROR_INVALID_DRIVE 15
|
||
|
#define ERROR_CURRENT_DIRECTORY 16
|
||
|
#define ERROR_NOT_SAME_DEVICE 17
|
||
|
#define ERROR_NO_MORE_FILES 18
|
||
|
/* */
|
||
|
/* These are the universal int 24 mappings for the old INT 24 set of errors */
|
||
|
/* */
|
||
|
#define ERROR_WRITE_PROTECT 19
|
||
|
#define ERROR_BAD_UNIT 20
|
||
|
#define ERROR_NOT_READY 21
|
||
|
#define ERROR_BAD_COMMAND 22
|
||
|
#define ERROR_CRC 23
|
||
|
#define ERROR_BAD_LENGTH 24
|
||
|
#define ERROR_SEEK 25
|
||
|
#define ERROR_NOT_DOS_DISK 26
|
||
|
#define ERROR_SECTOR_NOT_FOUND 27
|
||
|
#define ERROR_OUT_OF_PAPER 28
|
||
|
#define ERROR_WRITE_FAULT 29
|
||
|
#define ERROR_READ_FAULT 30
|
||
|
#define ERROR_GEN_FAILURE 31
|
||
|
/* */
|
||
|
/* These are the new 3.0 error codes reported through INT 24 */
|
||
|
/* */
|
||
|
#define ERROR_SHARING_VIOLATION 32
|
||
|
#define ERROR_LOCK_VIOLATION 33
|
||
|
#define ERROR_WRONG_DISK 34
|
||
|
#define ERROR_FCB_UNAVAILABLE 35
|
||
|
#define ERROR_SHARING_BUFFER_EXCEEDED 36
|
||
|
/* */
|
||
|
/* New OEM network-related errors are 50-79 */
|
||
|
/* */
|
||
|
#define ERROR_NOT_SUPPORTED 50
|
||
|
/* */
|
||
|
/* End of INT 24 reportable errors */
|
||
|
/* */
|
||
|
#define ERROR_FILE_EXISTS 80
|
||
|
#define ERROR_DUP_FCB 81 /* ***** */
|
||
|
#define ERROR_CANNOT_MAKE 82
|
||
|
#define ERROR_FAIL_I24 83
|
||
|
/* */
|
||
|
/* New 3.0 network related error codes */
|
||
|
/* */
|
||
|
#define ERROR_OUT_OF_STRUCTURES 84
|
||
|
#define ERROR_ALREADY_ASSIGNED 85
|
||
|
#define ERROR_INVALID_PASSWORD 86
|
||
|
#define ERROR_INVALID_PARAMETER 87
|
||
|
#define ERROR_NET_WRITE_FAULT 88
|
||
|
/* */
|
||
|
/* New error codes for 4.0 */
|
||
|
/* */
|
||
|
#define ERROR_NO_PROC_SLOTS 89 /* no process slots available */
|
||
|
#define ERROR_NOT_FROZEN 90
|
||
|
#define ERR_TSTOVFL 91 /* timer service table overflow */
|
||
|
#define ERR_TSTDUP 92 /* timer service table duplicate */
|
||
|
#define ERROR_NO_ITEMS 93 /* There were no items to operate upon */
|
||
|
#define ERROR_INTERRUPT 95 /* interrupted system call */
|
||
|
|
||
|
#define ERROR_TOO_MANY_SEMAPHORES 100
|
||
|
#define ERROR_EXCL_SEM_ALREADY_OWNED 101
|
||
|
#define ERROR_SEM_IS_SET 102
|
||
|
#define ERROR_TOO_MANY_SEM_REQUESTS 103
|
||
|
#define ERROR_INVALID_AT_INTERRUPT_TIME 104
|
||
|
|
||
|
#define ERROR_SEM_OWNER_DIED 105 /* waitsem found owner died */
|
||
|
#define ERROR_SEM_USER_LIMIT 106 /* too many procs have this sem */
|
||
|
#define ERROR_DISK_CHANGE 107 /* insert disk b into drive a */
|
||
|
#define ERROR_DRIVE_LOCKED 108 /* drive locked by another process */
|
||
|
#define ERROR_BROKEN_PIPE 109 /* write on pipe with no reader */
|
||
|
/* */
|
||
|
/* New error codes for OS/2 */
|
||
|
/* */
|
||
|
#define ERROR_OPEN_FAILED 110 /* open/created failed due to */
|
||
|
/* explicit fail command */
|
||
|
#define ERROR_BUFFER_OVERFLOW 111 /* buffer passed to system call */
|
||
|
/* is too small to hold return */
|
||
|
/* data. */
|
||
|
#define ERROR_DISK_FULL 112 /* not enough space on the disk */
|
||
|
/* (DOSNEWSIZE/w_NewSize) */
|
||
|
#define ERROR_NO_MORE_SEARCH_HANDLES 113 /* can't allocate another search */
|
||
|
/* structure and handle. */
|
||
|
/* (DOSFINDFIRST/w_FindFirst) */
|
||
|
#define ERROR_INVALID_TARGET_HANDLE 114 /* Target handle in DOSDUPHANDLE */
|
||
|
/* is invalid */
|
||
|
#define ERROR_PROTECTION_VIOLATION 115 /* Bad user virtual address */
|
||
|
#define ERROR_VIOKBD_REQUEST 116
|
||
|
#define ERROR_INVALID_CATEGORY 117 /* Category for DEVIOCTL in not */
|
||
|
/* defined */
|
||
|
#define ERROR_INVALID_VERIFY_SWITCH 118 /* invalid value passed for */
|
||
|
/* verify flag */
|
||
|
#define ERROR_BAD_DRIVER_LEVEL 119 /* DosDevIOCTL looks for a level */
|
||
|
/* four driver. If the driver */
|
||
|
/* is not level four we return */
|
||
|
/* this code */
|
||
|
#define ERROR_CALL_NOT_IMPLEMENTED 120 /* returned from stub api calls. */
|
||
|
/* This call will disappear when */
|
||
|
/* all the api's are implemented. */
|
||
|
#define ERROR_SEM_TIMEOUT 121 /* Time out happened from the */
|
||
|
/* semaphore api functions. */
|
||
|
#define ERROR_INSUFFICIENT_BUFFER 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. */
|
||
|
#define ERROR_INVALID_NAME 123 /* illegal character or malformed */
|
||
|
/* file system name */
|
||
|
#define ERROR_INVALID_LEVEL 124 /* unimplemented level for info */
|
||
|
/* retrieval or setting */
|
||
|
#define ERROR_NO_VOLUME_LABEL 125 /* no volume label found with */
|
||
|
/* DosQFSInfo command */
|
||
|
#define ERROR_MOD_NOT_FOUND 126 /* w_getprocaddr,w_getmodhandle */
|
||
|
#define ERROR_PROC_NOT_FOUND 127 /* w_getprocaddr */
|
||
|
|
||
|
#define ERROR_WAIT_NO_CHILDREN 128 /* CWait finds to children */
|
||
|
|
||
|
#define ERROR_CHILD_NOT_COMPLETE 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 */
|
||
|
#define ERROR_DIRECT_ACCESS_HANDLE 130 /* handle operation is invalid */
|
||
|
/* for direct disk access */
|
||
|
/* handles */
|
||
|
#define ERROR_NEGATIVE_SEEK 131 /* application tried to seek */
|
||
|
/* with negative offset */
|
||
|
#define ERROR_SEEK_ON_DEVICE 132 /* application tried to seek */
|
||
|
/* on device or pipe */
|
||
|
/* */
|
||
|
/* The following are errors generated by the join and subst workers */
|
||
|
/* */
|
||
|
#define ERROR_IS_JOIN_TARGET 133
|
||
|
#define ERROR_IS_JOINED 134
|
||
|
#define ERROR_IS_SUBSTED 135
|
||
|
#define ERROR_NOT_JOINED 136
|
||
|
#define ERROR_NOT_SUBSTED 137
|
||
|
#define ERROR_JOIN_TO_JOIN 138
|
||
|
#define ERROR_SUBST_TO_SUBST 139
|
||
|
#define ERROR_JOIN_TO_SUBST 140
|
||
|
#define ERROR_SUBST_TO_JOIN 141
|
||
|
#define ERROR_BUSY_DRIVE 142
|
||
|
#define ERROR_SAME_DRIVE 143
|
||
|
#define ERROR_DIR_NOT_ROOT 144
|
||
|
#define ERROR_DIR_NOT_EMPTY 145
|
||
|
#define ERROR_IS_SUBST_PATH 146
|
||
|
#define ERROR_IS_JOIN_PATH 147
|
||
|
#define ERROR_PATH_BUSY 148
|
||
|
#define ERROR_IS_SUBST_TARGET 149
|
||
|
#define ERROR_SYSTEM_TRACE 150 /* system trace error */
|
||
|
#define ERROR_INVALID_EVENT_COUNT 151 /* DosMuxSemWait errors */
|
||
|
#define ERROR_TOO_MANY_MUXWAITERS 152
|
||
|
#define ERROR_INVALID_LIST_FORMAT 153
|
||
|
#define ERROR_LABEL_TOO_LONG 154
|
||
|
#define ERROR_TOO_MANY_TCBS 155
|
||
|
#define ERROR_SIGNAL_REFUSED 156
|
||
|
#define ERROR_DISCARDED 157
|
||
|
#define ERROR_NOT_LOCKED 158
|
||
|
#define ERROR_BAD_THREADID_ADDR 159
|
||
|
#define ERROR_BAD_ARGUMENTS 160
|
||
|
#define ERROR_BAD_PATHNAME 161
|
||
|
#define ERROR_SIGNAL_PENDING 162
|
||
|
#define ERROR_UNCERTAIN_MEDIA 163
|
||
|
#define ERROR_MAX_THRDS_REACHED 164
|
||
|
#define ERROR_MONITORS_NOT_SUPPORTED 165
|
||
|
|
||
|
#define ERROR_INVALID_SEGMENT_NUMBER 180
|
||
|
#define ERROR_INVALID_CALLGATE 181
|
||
|
#define ERROR_INVALID_ORDINAL 182
|
||
|
#define ERROR_ALREADY_EXISTS 183
|
||
|
#define ERROR_NO_CHILD_PROCESS 184
|
||
|
#define ERROR_CHILD_ALIVE_NOWAIT 185
|
||
|
#define ERROR_INVALID_FLAG_NUMBER 186
|
||
|
#define ERROR_SEM_NOT_FOUND 187
|
||
|
|
||
|
/* following error codes have added to make the loader error
|
||
|
messages distinct
|
||
|
*/
|
||
|
|
||
|
#define ERROR_INVALID_STARTING_CODESEG 188
|
||
|
#define ERROR_INVALID_STACKSEG 189
|
||
|
#define ERROR_INVALID_MODULETYPE 190
|
||
|
#define ERROR_INVALID_EXE_SIGNATURE 191
|
||
|
#define ERROR_EXE_MARKED_INVALID 192
|
||
|
#define ERROR_BAD_EXE_FORMAT 193
|
||
|
#define ERROR_ITERATED_DATA_EXCEEDS_64k 194
|
||
|
#define ERROR_INVALID_MINALLOCSIZE 195
|
||
|
#define ERROR_DYNLINK_FROM_INVALID_RING 196
|
||
|
#define ERROR_IOPL_NOT_ENABLED 197
|
||
|
#define ERROR_INVALID_SEGDPL 198
|
||
|
#define ERROR_AUTODATASEG_EXCEEDS_64k 199
|
||
|
#define ERROR_RING2SEG_MUST_BE_MOVABLE 200
|
||
|
#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201
|
||
|
#define ERROR_INFLOOP_IN_RELOC_CHAIN 202
|
||
|
|
||
|
#define ERROR_ENVVAR_NOT_FOUND 203
|
||
|
#define ERROR_NOT_CURRENT_CTRY 204
|
||
|
#define ERROR_NO_SIGNAL_SENT 205
|
||
|
#define ERROR_FILENAME_EXCED_RANGE 206 /* if filename > 8.3 */
|
||
|
#define ERROR_RING2_STACK_IN_USE 207 /* for FAPI */
|
||
|
#define ERROR_META_EXPANSION_TOO_LONG 208 /* if "*a" > 8.3 */
|
||
|
|
||
|
#define ERROR_INVALID_SIGNAL_NUMBER 209
|
||
|
#define ERROR_THREAD_1_INACTIVE 210
|
||
|
#define ERROR_INFO_NOT_AVAIL 211 /*@@ PTM 5550 */
|
||
|
#define ERROR_LOCKED 212
|
||
|
#define ERROR_BAD_DYNALINK 213 /*@@ PTM 5760 */
|
||
|
#define ERROR_TOO_MANY_MODULES 214
|
||
|
#define ERROR_NESTING_NOT_ALLOWED 215
|
||
|
|
||
|
/*
|
||
|
* Error codes 230 - 249 are reserved for MS Networks
|
||
|
*/
|
||
|
|
||
|
#define ERROR_USER_DEFINED_BASE 0xF000
|
||
|
|
||
|
#define ERROR_I24_WRITE_PROTECT 0
|
||
|
#define ERROR_I24_BAD_UNIT 1
|
||
|
#define ERROR_I24_NOT_READY 2
|
||
|
#define ERROR_I24_BAD_COMMAND 3
|
||
|
#define ERROR_I24_CRC 4
|
||
|
#define ERROR_I24_BAD_LENGTH 5
|
||
|
#define ERROR_I24_SEEK 6
|
||
|
#define ERROR_I24_NOT_DOS_DISK 7
|
||
|
#define ERROR_I24_SECTOR_NOT_FOUND 8
|
||
|
#define ERROR_I24_OUT_OF_PAPER 9
|
||
|
#define ERROR_I24_WRITE_FAULT 0x0A
|
||
|
#define ERROR_I24_READ_FAULT 0x0B
|
||
|
#define ERROR_I24_GEN_FAILURE 0x0C
|
||
|
#define ERROR_I24_DISK_CHANGE 0x0D
|
||
|
#define ERROR_I24_WRONG_DISK 0x0F
|
||
|
#define ERROR_I24_UNCERTAIN_MEDIA 0x10
|
||
|
#define ERROR_I24_CHAR_CALL_INTERRUPTED 0x11
|
||
|
#define ERROR_I24_NO_MONITOR_SUPPORT 0x12
|
||
|
#define ERROR_I24_INVALID_PARAMETER 0x13
|
||
|
|
||
|
#define ALLOWED_FAIL 0x0001
|
||
|
#define ALLOWED_ABORT 0x0002
|
||
|
#define ALLOWED_RETRY 0x0004
|
||
|
#define ALLOWED_IGNORE 0x0008
|
||
|
|
||
|
#define I24_OPERATION 0x1
|
||
|
#define I24_AREA 0x6
|
||
|
/* 01 if FAT */
|
||
|
/* 10 if root DIR */
|
||
|
/* 11 if DATA */
|
||
|
#define I24_CLASS 0x80
|
||
|
|
||
|
|
||
|
/* Values for error CLASS */
|
||
|
|
||
|
#define ERRCLASS_OUTRES 1 /* Out of Resource */
|
||
|
#define ERRCLASS_TEMPSIT 2 /* Temporary Situation */
|
||
|
#define ERRCLASS_AUTH 3 /* Permission problem */
|
||
|
#define ERRCLASS_INTRN 4 /* Internal System Error */
|
||
|
#define ERRCLASS_HRDFAIL 5 /* Hardware Failure */
|
||
|
#define ERRCLASS_SYSFAIL 6 /* System Failure */
|
||
|
#define ERRCLASS_APPERR 7 /* Application Error */
|
||
|
#define ERRCLASS_NOTFND 8 /* Not Found */
|
||
|
#define ERRCLASS_BADFMT 9 /* Bad Format */
|
||
|
#define ERRCLASS_LOCKED 10 /* Locked */
|
||
|
#define ERRCLASS_MEDIA 11 /* Media Failure */
|
||
|
#define ERRCLASS_ALREADY 12 /* Collision with Existing Item */
|
||
|
#define ERRCLASS_UNK 13 /* Unknown/other */
|
||
|
#define ERRCLASS_CANT 14
|
||
|
#define ERRCLASS_TIME 15
|
||
|
|
||
|
/* Values for error ACTION */
|
||
|
|
||
|
#define ERRACT_RETRY 1 /* Retry */
|
||
|
#define ERRACT_DLYRET 2 /* Delay Retry, retry after pause */
|
||
|
#define ERRACT_USER 3 /* Ask user to regive info */
|
||
|
#define ERRACT_ABORT 4 /* abort with clean up */
|
||
|
#define ERRACT_PANIC 5 /* abort immediately */
|
||
|
#define ERRACT_IGNORE 6 /* ignore */
|
||
|
#define ERRACT_INTRET 7 /* Retry after User Intervention */
|
||
|
|
||
|
/* Values for error LOCUS */
|
||
|
|
||
|
#define ERRLOC_UNK 1 /* No appropriate value */
|
||
|
#define ERRLOC_DISK 2 /* Random Access Mass Storage */
|
||
|
#define ERRLOC_NET 3 /* Network */
|
||
|
#define ERRLOC_SERDEV 4 /* Serial Device */
|
||
|
#define ERRLOC_MEM 5 /* Memory */
|
||
|
|
||
|
/* Abnormal termination codes */
|
||
|
|
||
|
#define TC_NORMAL 0
|
||
|
#define TC_HARDERR 1
|
||
|
#define TC_GP_TRAP 2
|
||
|
#define TC_SIGNAL 3
|
||
|
#pragma option pop /*P_O_Pop*/
|