compile insert FSERRORS_HDR *---------------------------------------------------------------------------- * Advanced Revelation 2.0 Filing System Error reporting protocol * June 1, 1989 * Begun: Brad Anderson * * 05/16/91 - JMC Added special user abort mode ([Esc] press). This * is a setting for the STATUS() variable, not a message number * Error conditions are to be returned by BFSs and MFSs in the @FILE.ERROR * variable. Each error code has an associated severity level. * If an error condition is encountered, the filing system code should set * 1. @FILE.ERROR to the associated code and fill in the message and detail * as appropriate * 2. Set STATUS() to the associated severity level * 3. Set the FLAG (7th argument) to FALSE$ to indicate an operational failure. * * If FLAG is set to false, then the operation is defined to have failed. * It is important for the application to know that a WRITE or DELETE was * in fact not performed. Setting FLAG to FALSE is not an appropriate protocol * for communicating any non-failure (informational) condition from the * filing system. * * "Core" error codes are blocked in groups of 100 and are integer codes. * Block 0 - 99 is allocated for logical error reporting. * Block 100 - 199 is allocated for Revelation system BFS error codes. * Block 200 - 299 is allocated for Revelation system MFS error codes. * Block 300 - 399 is allocated for BOND.SUBS errors * Blcok 400 - 499 is allocated for System, RTP, and R/BASIC cursor errors * * Some codes are intrinsically specific to the function of a particular * BFS or MFS. Others may be and should be generally applied to a variety * of filing systems. For example, code 100 is the standard status return in * case of an attempt to read or delete a record which does not exist. * * Block BS - Bond-subs - is allocated for codes associated with the BOND.SUBS * routine. * * Every error code should have an associated message in the MESSAGES file. * The ID of the message should be error code preceeded by "FS". * For example, code 105 would have an associated message "FS105" * If any parameters are to be passed to this message they should appear in * the FSMSG field of @FILE.ERROR. This field may be multivalued. *---- FILING SYSTEM SEVERITY LEVEL CODES -------- * Value of STATUS() on return from Filing System. * Equate Fs_Informational$ To -2 ;* @File.Error contain FYI info. EQUATE FS_USER_ABORT$ TO -1 ;* The user pressed [Esc], SPECIAL! EQUATE FSLOGICAL$ TO 0 ;* Data does not meet logical constraints EQUATE FSPHYSICAL$ TO 1 ;* Structural or operational error (retryable) EQUATE FSFATAL$ TO 2 ;* Structural or operational error (fatal) *---- FILE.ERROR FIELD STRUCTURE ------- EQUATE FSCODE$ TO 1 ; * error or status code identifier EQUATE FSMSG$ TO 2 ; * error message data EQUATE FSDETAIL$ TO 3 ; * file system dependent detail data EQUATE FS_PREFIX$ TO 'FS' ; * used by OE for set_status Pat Oct/04/91 * Source Date: 16:41:47 12 JAN 1993 Build ID: OI*1.0.10 Level: 2.0