1 /* BEGIN INCLUDE FILE  syserr_data.incl.pl1 */
 2 
 3 /* Created by  Bill Silver  on 01/03/73. */
 4 /* Modified September 1975 by Larry Johnson to add binary data */
 5 /* Modified March 1976 by Steve Webber for use with cds */
 6 /* Modified 1985-01-21 by EJ Sharpe: added wmess.process_id */
 7 /* Modified 1985-02-18 by Keith Loepere to break out headers. */
 8 
 9 /* This include file defines the syserr and log areas found in  syserr_data.cds
10    There is one lock that coordinates the use of all the data found in
11    syserr_data.cds.  NOTE, if this include file changes, syserr_data.cds
12    may also have to be changed. */
13 
14 dcl  syserr_data$syserr_area char (1) aligned external,
15      syserr_data$wired_log_area char (1) aligned external;
16 
17 dcl  sd_ptr ptr,                                            /* Pointer to beginning of syserr_area. */
18      wlog_ptr ptr,                                          /* Pointer to beginning of wired_log_area. */
19      wmess_ptr ptr;                                         /* Pointer to a message entry in the wired log. */
20 
21 dcl 1 sd based (sd_ptr) aligned,                            /* Overlay of syserr_data$syserr_area. */
22     2 lock bit (36),                                        /* Locks all the data in syserr_data. */
23     2 log_flag bit (1) unal,                                /* ON => logging mechanism enabled. */
24     2 char_type_flag bit (1) unal,                          /* ON => ASCII,  OFF => BCD. */
25     2 ocdcm_init_flag bit (1) unal,                         /* ON => ocdcm_ has been initialized. */
26     2 pad bit (33) unal,
27     2 prev_text_written char (80);                          /* Text of last message written */
28 
29 dcl 1 wlog based (wlog_ptr) aligned,                        /* Overlay of syserr_data$wired_log_area. */
30     2 head like wlog_header,                                /* Wired log header. */
31     2 buffer (wlog.head.bsize) bit (36);                    /* Wired log buffer. */
32 
33 dcl 1 wlog_header based aligned,                            /* WIRED LOG HEADER */
34     2 bsize fixed bin,                                      /* Size of the wired log buffer in words.
35                                                                Defined in syserr_data.cds. */
36     2 count fixed bin,                                      /* Num of message entries in wired log. */
37     2 slog_ptr ptr,                                         /* Pointer to the paged log segment: syserr_log. */
38     2 seq_num fixed bin (35),                               /* Sequence number of last message logged. */
39     2 next bit (18) unal,                                   /* Offset relative to base syserr_data */
40                                                             /* Where next entry will go in wired log. */
41     2 pad bit (18) unal;
42 
43 
44 /* This is an overlay of a message entry that goes into the wired log.  Each message
45    entry corresponds to one syserr message. */
46 
47 dcl 1 wmess based (wmess_ptr) aligned,
48     2 header aligned like wmess_header,
49     2 text char (0 refer (wmess.text_len)),                 /* Text of expanded message - kept in ASCII. */
50     2 data (0 refer (wmess.data_size)) bit (36);            /* Binary data area */
51 
52 dcl 1 wmess_header based aligned,
53     2 seq_num fixed bin (35),                               /* Sequence number of this message. */
54     2 time fixed bin (71) unal,                             /* Time message logged at */
55     2 code fixed bin (11) unal,                             /* Syserr code associated with this message. */
56     2 text_len fixed bin (11) unal,                         /* Length of message text in ASCII characters. */
57     2 data_size fixed bin (11) unal,                        /* Size of binary data */
58     2 data_code fixed bin (11) unal,                        /* Data code */
59     2 pad bit (24) unal,
60     2 process_id bit (36);                                  /* ID of process which wrote message */
61 
62 /* END INCLUDE FILE syserr_data.incl.pl1 */