/* rmxerr.h - signal handling header file
 * $Version: 1.17 $
 * Copyright (c) 1989, 90 Intel Corporation, ALL RIGHTS RESERVED.
 */


/* * * * * * * * * * * * * * * * * * * * * * * */
/*                                             */
/*   E N V I R O N M E N T A L    E R R O R S  */
/*                                             */
/* * * * * * * * * * * * * * * * * * * * * * * */

	/* Nucleus exception codes */

#define	EOK						0x0
#define	ETIME					0x1		/* TIME limit exceeded */
#define	EMEM					0x2		/* memory allocation
										 * exceeded */
#define	EBUSY					0x3		/* region is in use */
#define	ELIMIT					0x4		/* some limit exceeded */
#define	ECONTEXT				0x5		/* request out of context */
#define	EEXIST					0x6		/* token does not refer to an
										 * iRMX object */
#define	ESTATE					0x7		/* ready task resumed */
#define	ENOTCONFIGURED			0x8
#define	EINTERRUPTSATURATION	0x9		/* interrupt task accumulated
										 * the maximum allowable
										 * number of SIGNAL$INTERRUPT
										 * requests */
#define	EINTERRUPTOVERFLOW		0xa		/* interrupt task accumulated 
										 * more than the maximum
										 * allowable number of
										 * SIGNAL$INTERRUPT requests */
#define	ETRANSMISSION			0xb		/* error in message transmission */
#define	ESLOT					0xc		/* there are no available GDT slots */
#define	EDATACHAIN				0xd		/* buffer returned is a data chain */

	/* Nucleus Communication Service exception codes */
	
#define	ECANCELLED				0xe1	/* RSVP transaction cancelled
										 * by remote host */
#define	EHOSTID					0xe2	/* invalid host id parameter */
#define	ENOLOCALBUFFER			0xe3	/* insufficient buffer available
										 * on local host to receive message */
#define	ENOREMOTEBUFFER			0xe4	/* insufficient buffer available
										 * on remote host to receive message */
#define	ERESOURCELIMIT			0xe6	/* exceeded limit of number of
										 * simultaneous messages */
#define	ETRANSID				0xe8	/* invalid transaction id parameter */
#define	EDISCONNECTED			0xe9	/* null socket parameter used
										 * with port that is not connected */
#define	ETRANSLIMIT				0xea	/* exceeded limit of number of
										 * simultaneous transactions */	

	/* IOS exception codes */
	
#define	EFEXIST					0x20	/* file already exists */
#define	EFNEXIST				0x21	/* non-existant File  */
#define	EDEVFD					0x22	/* device and file driver
										 * incompatible */
#define	ESUPPORT				0x23	/* function not supported */
#define	EEMPTYENTRY				0x24	/* directory entry is empty */
#define	EDIREND					0x25	/* no more directory entries */
#define	EFACCESS				0x26	/* access to file denied */
#define	EFTYPE					0x27	/* invalid file type */
#define	ESHARE					0x28	/* file cannot be shared with
										 * others */
#define	ESPACE					0x29	/* insufficient space on
										 * volume */
#define	EIDDR					0x2a	/* bad device driver request */
#define	EIO						0x2b	/* io error */
#define	EFLUSHING				0x2c	/* other end of stream file
										 * is gone */
#define	EILLVOL					0x2d	/* illegal volume type */
#define	EDEVOFFLINE				0x2e	/* device is off line */
#define	EIFDR					0x2f	/* illegal file driver
										 * request */
#define	EFRAGMENTATION			0x30	/* file too fragmented to
										 * extend */
#define	EDIRNOTEMPTY			0x31	/* directory not empty */
#define	ENOTFILECONN			0x32	/* not a file connection */
#define	ENOTDEVICECONN			0x33	/* not a device connection */
#define	ECONNNOTOPEN			0x34	/* connection is not open for
										 * requested operation */
#define	ECONNOPEN				0x35	/* connection already open */
#define	EBUFFEREDCONN			0x36	/* connection opened by EIOS
										 * but now accessed by BIOS */
#define	EOUTSTANDINGCONNS		0x37	/* specified soft detach has
										 * left device connections
										 * intact */
#define	EALREADYATTACHED		0x38	/* device already attached */
#define	EDEVDETACHING			0x39	/* specified file on a device
										 * in the process of being
										 * detached */
#define	ENOTSAMEDEVICE			0x3a	/* existing and new pathnames
										 * not on same device */
#define	EILLOGICALRENAME		0x3b	/* new pathname includes
										 * existing pathname */
#define	ESTREAMSPECIAL			0x3c	/* stream file request out
										 * of context */
#define	EINVALIDFNODE			0x3d	/* invalid file descriptor */
#define	EPATHNAMESYNTAX			0x3e	/* pathname null or contains
										 * invalid characters */
#define	EFNODELIMIT				0x3f	/* insufficient fnodes on
										 * volume */
										 
	/*  EIOS exception codes  */
	
#define	ELOGNAMESYNTAX			0x40	/* invalid logical name */
#define	ECANNOTCLOSE			0x41	/* buffers cannot be flushed */
#define	EIOMEM					0x42	/* IO system has insufficent
										 * memory */
#define	EMEDIA					0x44	/* no disk in drive */
#define	ELOGNAMENEXIST			0x45	/* logical name does not
										 * exist  */
#define	ENOTOWNER				0x46	/* user trying to detach a
										 * device is not the device's
										 * owner */
#define	EIOJOB					0x47	/* job is not a valid IO job */
#define	EUDFFORMAT				0x48	/* udf is corrupted */
#define	ENAMENEXIST				0x49	/* user name not present in udf */
#define	EUIDNEXIST				0x4a	/* user token doesn't match udf */
#define	EPASSWORDMISMATCH		0x4b	/* incorrect password */
#define	EUDFIO					0x4c	/* specified UDF file cannot
										 * be found */
										 
	/* Expanded IO exception codes */
	
#define	EIOUNCLASS				0x50	/* an unclassified error has
										 * occured */
#define	EIOSOFT					0x51	/* soft error has occured */
#define	EIOHARD					0x52	/* hard error has occured */
#define	EIOOPRINT				0x53	/* device is not ready */
#define	EIOWRPROT				0x54	/* write protected */
#define	EIONODATA				0x55	/* no data on the next TAPE
										 * record */
#define	EIOMODE					0x56	/* a tape drive attempted
										 * a read/write operation
										 * before the previous one
										 * completed */
#define EIONOSPARES				0x57	/* an attempt was made to assign
										 * an alternate track, but no
										 * more were available */
#define EIOALTASSIGNED			0x58	/* an alternate was assigned
										 * during this I/O operation */

	/* Application Loader exception codes */

#define	EBADHEADER				0x62	/* an invalid object file
										 * header */
#define	EEOF					0x65	/* unexpected End of File
										 * while reading a record */
#define	ENOLOADERMEM			0x67
#define	ENOSTART				0x6c	/* the Application Loader
										 * could not find the start
										 * address */
#define	EJOBSIZE				0x6d	/* The max. memory pool size of
										 * job being loaded is smaller
										 * than the amount required to
										 * load it */
#define	EOVERLAY				0x6e	/* the overlay name does not
										 * match */
#define	ELOADERSUPPORT			0x6f	/* The file requires features
										 * not supported by this
										 * configuration of the
										 * Application Loader */
										 
	/* Human Interface exception codes */
	
#define	ELITERAL				0x80	/* literal with no closing
										 * quote detected while
										 * parsing */
#define	ESTRINGBUFFER			0x81	/* buffer too small for
										 * O.S. returned string */
#define	ESEPARATOR				0x82	/* illegal command separator */
#define	ECONTINUED				0x83	/* user parse buffer is
										 * continued */
#define	EINVALIDNUMERIC			0x84	/* invalid form of number */
#define	ELIST					0x85	/* missing value-list value */
#define	EWILDCARD				0x86	/* invalid wildcard character
										 * usage */
#define	EPREPOSITION			0x87	/* invalid preposition usage */
#define	EPATH					0x88	/* invalid path name */
#define	ECONTROLC				0x89	/* job cancelled via a
										 * control-C */
#define	ECONTROL				0x8a	/* invalid control */
#define	EUNMATCHEDLISTS			0x8b
#define	EINVALIDDATE			0x8c
#define	ENOPARAMETERS			0x8d	/* no parameters found in
										 * command line */
#define	EVERSION				0x8e	/* version of entered command
									 	 * incompatible with system */
#define	EGETPATHORDER			0x8f	/* get$output$pathname called
										 * before get$input$pathname */
#define	EPERMISSION				0x90	/* do not have proper access */
#define	EINVALIDTIME			0x91	/* setting of time was invalid */

	/* UDI exception codes */
	
#define	EUNKNOWNEXIT			0xc0	/* normal termination */
#define	EWARNINGEXIT			0xc1	/* warning termination */
#define	EERROREXIT				0xc2	/* error termination */
#define	EFATALEXIT				0xc3	/* fatal error termination */
#define	EABORTEXIT				0xc4	/* user program aborted */
#define	EUDIINTERNAL			0xc5	/* unrecoverable internal
										 * error */
										 
/* * * * * * * * * * * * * * * * * * * * */
/*                                       */
/*  P R O G R A M M I N G   E R R O R S  */
/*                                       */
/* * * * * * * * * * * * * * * * * * * * */

	/* Nucleus exception codes */
	
#define	EZERODIVIDE				0x8000
#define	EOVERFLOW				0x8001	/* overflow interrupt
										 * occured */
#define	ETYPE					0x8002	/* token parameter is of
										 * invalid type */
#define	EPARAM					0x8004	/* parameter has an invalid
										 * value */
#define	EBADCALL				0x8005	/* An OS extension received an
										 * invalid code */
#define	EARRAYBOUNDS			0x8006	/* array overflow*/
#define	ENDPERROR				0x8007	/* NPX error has occured */
#define	EILLEGALOPCODE			0x8008
#define	EEMULATORTRAP			0x8009	/* an ESC instruction was
										 * encountered with emulator
										 * bit set in MSW */
#define	ECHECKEXCEPTION			0x800a	/* a PASCAL task exceeded CASE
										 * statement boundary */	
#define	ECPUXFERDATALIMIT		0x800b	/* the NPX tried to access an
										 * address that is out of
										 * segment bound */
#define	EPROTECTION				0x800d	/* General Protection error */
#define	ENOTPRESENT				0x800e	/* A request to load a segment
										 * register whose segment is
										 * not present */
#define	EBADADDR				0x800f	/* Invalid logical address */

	/* Nucleus Communication Service exception codes */
	
#define	EPROTOCOL				0x80e0	/* port parameter is wrong
										 * protocol */
#define	EPORTIDUSED				0x80e1	/* request port id is in use */
#define	ENUCBADBUF				0x80e2	/* invalid buffer pointer or 
										 * insufficient buffer length */

	/* IOS exception codes */
	/* EIOS exception codes */
	
#define	ENOUSER					0x8021	/* no default user is
										 * defined */
#define	ENOPREFIX				0x8022	/* no default prefix is
										 * defined */
#define	EBADBUFF				0x8023	/* specified buffer too small
										 * for requested operation */
#define	ENOTLOGNAME				0x8040	/* the specified object is
								   		 * not a device or file
								   		 * connection */
#define	ENOTDEVICE				0x8041	/* the specified object is
										 * not a device connection */
#define	ENOTCONNECTION			0x8042	/* the specified object is
										 * not a file connection */
										 
	 /* Application Loader exception codes */
	 
#define	EJOBPARAM				0x8060	/* maximum memory specified
										 * is less than the minimum	
										 * memory specified */
										 
	/* HI exception codes */
	
#define	EPARSETABLES			0x8080	/* internal error in parse
										 * tables */
#define	EJOBTABLES				0x8081	/* internal inconsistency
										 * in job tables */
#define	EDEFAULTSO				0x8083	/* default output name string
										 * specified is invalid */
#define	ESTRING					0x8084	/* Returned pathname exceeds
										 * 255 characters in length */
#define	EERROROUTPUT			0x8085	/* send$eo$response called
										 * when command connection
										 * allows only
										 * send$co$response */
										 
 	/* UDI exception codes */
 	
#define	ERESERVEPARAM			0x80c6	/* calling program attempted
										 * to reserve more than 12
										 * files or buffers */
#define	EOPENPARAM				0x80c7	/* calling program attempted
										 * to open a file with more
										 * than two buffers */

