Status codes are numeric values that represent unique conditions. Each code also has a mnemonic such as E_OK, which indicates successful completion or E_MEM which indicates not enough memory.
When you write source code you can refer to status codes by their mnemonics. The RT kernel includes files that contain literal declarations for RT status codes.
Status code values fall into ranges based on the RT layer that first detects the condition and the type of exception. This shows the ranges based on the error type and the layer that detects the condition. Numeric values appear in hexadecimal.
Source | Environmental conditions | Programming errors |
---|---|---|
RT kernel | 0x0 to 0x3FFF |
0x8000 to 0xBFFF |
All of the status code values which can be returned by the kernel are listed here.
Value | Symbol | Description |
---|---|---|
0x0000 |
E_OK |
no error |
0x0001 |
E_TIME |
time limit expired |
0x0002 |
E_MEM |
insufficient physical memory available |
0x0003 |
E_BUSY |
region was busy |
0x0004 |
E_LIMIT |
attempt to violate a limit |
0x0005 |
E_CONTEXT |
request was out of context |
0x0006 |
E_EXIST |
token does not refer to an object |
0x0007 |
E_STATE |
illegal state transition attempted |
0x0008 |
E_NOT_CONFIGURED |
operation not configured |
0x0009 |
E_INTERRUPT_SATURATION |
reached max interrupt requests |
0x000A |
E_INTERRUPT_OVERFLOW |
more than max interrupt requests |
0x000B |
E_TRANSMISSION |
error in transmission |
0x000C |
E_SLOT |
no available GDT slots |
0x000D |
E_DATA_CHAIN |
data chain received, not contiguous buffer |
0x0020 |
E_FILE_EXISTS |
File already exists |
0x0021 |
E_FILE_NOT_EXIST |
File does not exist |
0x0022 |
E_DEVFD |
device & file driver incompatible |
0x0023 |
E_SUPPORT |
unsupported request |
0x0024 |
E_EMPTY_ENTRY |
empty directory entry |
0x0025 |
E_DIR_END |
end of directory |
0x0026 |
E_FILE_ACCESS |
file access not granted |
0x0027 |
E_FILE_TYPE |
file type not compatible |
0x0028 |
E_SHARE |
improper file share requested |
0x0029 |
E_SPACE |
no space left on volume |
0x002A |
E_IDDR |
illegal device driver requested |
0x002B |
E_IO |
I/O error |
0x002C |
E_FLUSHING |
connection was deleted |
0x002D |
E_ILLEGAL_VOLUME |
unknown volume |
0x002E |
E_DEVICE_OFFLINE |
device is offline |
0x002F |
E_IFDR |
illegal file driver request |
0x0030 |
E_FRAGMENTATION |
File too fragmented to expand |
0x0031 |
E_DIR_NOT_EMPTY |
Cannot delete nonempty directory |
0x0032 |
E_NOT_FILE_CONN |
Expected a file connection |
0x0033 |
E_NOT_DEVICE_CONN |
Expected a device connection |
0x0034 |
E_CONN_NOT_OPEN |
Connection should have been open |
0x0035 |
E_CONN_OPEN |
Connection should not have been open |
0x0036 |
E_BUFFERED_CONN |
Cannot use EIOS buffered connection |
0x0037 |
E_OUTSTANDING_CONNS |
Cannot soft detach |
0x0038 |
E_ALREADY_ATTACHED |
Device previously attached |
0x0039 |
E_DEV_DETACHING |
Device was being detached |
0x003A |
E_NOT_SAME_DEVICE |
Cannot rename across devices |
0x003B |
E_ILLOGICAL_RENAME |
Tried to rename dir under itself |
0x003C |
E_STREAM_SPECIAL |
Stream file SPECIAL error |
0x003D |
E_INVALID_FNODE |
Invalid file descriptor node |
0x003E |
E_PATHNAME_SYNTAX |
Invalid or null pathname |
0x003F |
E_FNODE_LIMIT |
No fnodes left on volume |
0x0040 |
E_LOGICAL_NAME_SYNTAX |
Illegal logical name syntax |
0x0041 |
E_CANNOT_CLOSE |
CANNOT flush buffers to device |
0x0042 |
E_IO_MEMORY |
insufficient MEMORY for I/O request |
0x0044 |
E_MEDIA |
error on media |
0x0045 |
E_LOGICAL_NAME_NEXIST |
non-existent logical name |
0x0046 |
E_NOT_OWNER |
running user is not the owner of the device |
0x0047 |
E_IO_JOB |
job is not an io job |
0x0048 |
E_UDF_FORMAT |
invalid UDF format |
0x0049 |
E_NAME_N_EXIST |
name does not exist |
0x004A |
E_UID_N_EXIST |
user ID does not exist |
0x004B |
E_PASSWORD_MISMATCH |
password does not match |
0x004C |
E_UDF_IO |
could not find the UDF file |
0x0050 |
E_IO_UNCLASSIFIED |
an unclassified io error occurred |
0x0051 |
E_IO_SOFT |
a soft io error occurred |
0x0052 |
E_IO_HARD |
a hard io error occurred |
0x0053 |
E_IO_NOT_READY |
the device is not ready |
0x0054 |
E_IO_WRITE_PROTECTED |
the volume is write protected |
0x0055 |
E_IO_NO_DATA |
no tape data found |
0x0056 |
E_IO_MODE |
tape drive in incorrect mode |
0x0057 |
E_IO_NO_SPARE |
spare track or sector not available |
0x0058 |
E_IO_ALT_ASSIGNED |
alternate track or sector assigned |
0x0080 |
E_LITERAL |
unclosed literal during parsing |
0x0081 |
E_STRING_BUFFER |
string buffer is too small for results |
0x0082 |
E_SEPARATOR |
illegal or improperly placed separator |
0x0083 |
E_CONTINUED |
user parse buffer is continued |
0x0084 |
E_INVALID_NUMERIC |
improperly formed number |
0x0085 |
E_LIST |
improperly formed parameter list |
0x0086 |
E_WILDCARD |
name does not contain wildcard characters |
0x0087 |
E_PREPOSITION |
preposition appeared on a keyword parameter |
0x0088 |
E_PATH |
invalid path name format |
0x0089 |
E_CONTROL_C |
control-C received on user's terminal |
0x008A |
E_CONTROL |
unrecognized control |
0x008B |
E_UNMATCHED_LISTS |
lists do not contain same # of elements |
0x008C |
E_INVALID$DATE |
invalid date |
0x008D |
E_NO_PARAMETERS |
no parameters given |
0x008E |
E_VERSION |
program version incompatible with system |
0x008F |
E_GET_PATH_ORDER |
Called get$output before get$input |
0x0090 |
E_PERMISSION |
No permission to access resource |
0x0091 |
E_INVALID_TIME |
invalid time |
0x00E1 |
E_CANCELLED |
transaction cancelled |
0x00E2 |
E_INVALID_ADDR |
location parameter invalid |
0x00E3 |
E_NO_LOCAL_BUFFER |
buffer resources inadequate |
0x00E4 |
E_NO_REMOTE_BUFFER |
inadequate port buffers |
0x00E6 |
E_RESOURCE_LIMIT |
internal buffer limit reached |
0x00E8 |
E_TRANS_ID |
transaction id invalid |
0x00E9 |
E_DISCONNECTED |
no default socket set up |
0x00EA |
E_TRANS_LIMIT |
transmission resource limitation |
0x00F0 |
E_VMEM |
insufficient virtual memory |
0x00F1 |
E_ALLOCATED |
physical memory already allocated |
0x00F2 |
E_NOT_ALLOCATED |
no physical memory allocated |
0x1001 |
E_NTX_INTERNAL_ERROR |
A communications error occured while making an NTX call. |
0x8000 |
E_ZERO_DIVIDE |
attempt to divide by zero |
0x8001 |
E_OVERFLOW |
overflow interrupt occurred |
0x8002 |
E_TYPE |
token arg. has invalid type |
0x8004 |
E_PARAM |
arg. has an invalid value |
0x8005 |
E_BAD_CALL |
bad primitive call |
0x8006 |
E_ARRAY_BOUNDS |
run-time trap |
0x8007 |
E_NDP_ERROR |
80287 error |
0x8008 |
E_ILLEGAL_OPCODE |
286 trap |
0x8009 |
E_EMULATOR_EXCEPTION |
286 trap |
0x800A |
E_CHECK_EXCEPTION |
UDI error |
0x800B |
E_CPU_EXT_DATA |
286 trap |
0x800C |
E_STACK_FAULT |
stack fault |
0x800D |
E_PROTECTION |
protection violation |
0x800E |
E_NOT_PRESENT |
segment is not present |
0x800F |
E_BAD_ADDRESS |
illegal address |
0x8021 |
E_NO_USER |
Job has no default user object |
0x8022 |
E_NO_PREFIX |
Job has no default prefix object |
0x8023 |
E_BAD_BUFF |
illegal memory buffer |
0x8040 |
E_NOT_LOG_NAME |
Invalid connection as a prefix |
0x8041 |
E_NOT_DEVICE |
path name not a device name |
0x8042 |
E_NOT_CONNECTION |
path name not a logical name |
0x80E0 |
E_PROTOCOL |
operation on wrong type of port |
0x80E1 |
E_PORT_ID_USED |
port id is already in use |
0x80E2 |
E_NUC_BAD_BUF |
invalid buffer operation |
0x80F0 |
E_VSEG |
calling job not owner of virtual seg |
0x80F1 |
E_ALIGNMENT |
address not aligned properly |
0x8100 |
E_ZERO_DIVIDE |
divide by 0 error |
0x8101 |
E_SINGLE_STEP |
single step error |
0x8102 |
E_NMI_RECEIVED |
NMI encountered |
0x8103 |
E_DEBUG_TRAP |
debug interrupt encountered |
0x8104 |
E_OVERFLOW |
overflow error |
0x8105 |
E_ARRAY_BOUNDS |
array bounds error |
0x8106 |
E_INVALID_OPCODE |
invalid opcode error |
0x8107 |
E_DEVICE_NOT_PRESENT |
NPX device not present error |
0x8108 |
E_DOUBLE_FAULT |
double fault error |
0x8109 |
E_DEVICE_ERROR |
NPX device error |
0x810a |
E_INVALID_TSS |
invalid TSS error |
0x810b |
E_SEGMENT_NOT_PRESENT |
segment not present error |
0x810c |
E_STACK_FAULT |
stack fault error |
0x810d |
E_PROTECTION |
general protection error |
0x810e |
E_PAGE_FAULT |
page fault error |
0x810f |
E_UNKNOWN_HW_FAULT |
unknown hardware error |
0x8110 |
E_DEVICE_ERROR_1 |
NPX device error 2 |
0x8111 |
E_ALIGNMENT_CHECK |
hardware alignment check error |
0x8F02 |
E_LOCATION |
An invalid NTXLOCATION value was specified. |