#ifndef h_LAYER #define h_LAYER /****************************************************************************** * * Definition of the error layer trapping structure * * Module %M% Version %I% Date %H% * * (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved * This is unpublished proprietary source code of Ardent Software Inc. * The copyright notice above does not evidence any actual or intented * publication of such source code. * ******************************************************************************* * * Maintenence log - insert most recent change descriptions at top * * Date.... GTAR# WHO Description......................................... * 10/14/98 23801 SAP Change copyrights. * 06/06/96 18582 CSM Added L_TRIGCASC * 10/25/94 15040 PVW Added L_TX * 11/09/92 9899 JKW added auth_id to layer struct * 08/26/91 8583 DTM Added L_CLIENT and L_DEFAULT for Xuv * 08/09/91 8583 DTM Added L_RAID for use with Xuv * 07/25/88 - - Maintenence log purged at 5.2.1, see release 5.1.10. * *****************************************************************************/ #include SETJMP_H #define L_CL 0 /* Command Language */ #define L_PA 1 /* Paragraph */ #define L_MENU 2 /* Menu */ #define L_VERB 3 /* Verb */ #define L_PROC 4 /* Proc */ #define L_TAPE 5 /* Tape */ #define L_QUERY 6 /* Query */ #define L_BASIC 7 /* BASIC run machine */ #define L_EXEC 8 /* Execute */ #define L_PERF 9 /* Perform */ #define L_FEW 10 /* Fork, exec & wait */ #define L_RAID 11 /* Raid debugger level */ #define L_CLIENT 12 /* XApp mode */ #define L_DEFAULT 3 /* Default layer */ #define L_TX 13 /* Transaction layer */ #define L_TRIGCASC 14 /* Trigger/Cascade layer */ union lsave { PQ *pq; /* Data for the PROC machine */ PSAVE *psave; /* Data for PARAGRAPHS */ RUNDATA *rundata; /* Data for run-machine */ LEVEL *level; /* Data for EXECUTE */ }; struct layer_env { LAYER *next; /* Forward link */ int type; /* Type of layer */ LSAVE save; /* State save */ jmp_buf env; /* Error recovery point */ int (*warning)(); /* Warning message routine */ int (*fatal)(); /* Fatal message routine */ long timestamp; int auth_id; }; EXTERN LAYER *top_layer; EXTERN char *layer_name[]; EXTERN void layer_setup(), layer_reset(); #endif /* end of LAYER.h */