1 /* Begin include file ... syserr_log.incl.pl1 */
 2 
 3 /* Created by Bill Silver on 08/11/73 */
 4 
 5 /* Modified 11/12/74 by Lee Scheffler to add log copying information. */
 6 /* Modified November 1975 by Larry Johnson for new message format */
 7 
 8 
 9 dcl  slog_ptr ptr,                                          /* Pointer to base of syserr_log segment.  */
10      smess_ptr ptr;                                         /* Pointer to a message entry. */
11 
12 dcl 1 slog based (slog_ptr) aligned,                        /* PAGED SYSERR LOG SEGMENT */
13     2 head like slog_header,                                /* Header */
14     2 buffer char (0 refer (slog.head.len)),                /* Paged syserr log buffer. */
15     2 end_point char (1);                                   /* Dummy for referencing end of log */
16 
17 dcl 1 slog_header based aligned,                            /* LOG HEADER */
18     2 len fixed bin (35),                                   /* Length of the BUFFER in CHARACTERS. */
19     2 lock bit (36),                                        /* Locks the whole syserr log segment. */
20     2 init_word char (4),                                   /* "INIT" => log already initialized. */
21     2 first bit (18),                                       /* Relative offset of the first message entry. */
22     2 last bit (18),                                        /* Relative offset of the last  message entry. */
23     2 last_copied bit (18),                                 /* Relative offset of last message entry
24                                                                copied into hierarchy */
25                                                             /* If 0, entire log is uncopied */
26     2 copy_threshold fixed bin (18),                        /* Initializer is woken up when the number of
27                                                                as-yet-uncopied characters in the log
28                                                                exceeds this number */
29     2 copy_pending bit (1),                                 /* ON if wakeup for log copying has been sent,
30                                                                but log not yet copied */
31     2 copy_channel fixed bin (71),                          /* Channel over which Initializer is awakened */
32     2 copy_process_id bit (36),                             /* Process id of process to which log copying
33                                                                wakeup will go */
34     2 version fixed bin,                                    /* Version number of log and message format */
35     2 event_id fixed bin (35),                              /* Event id for locking log */
36     2 wrap_count fixed bin,                                 /* Count if times log has wrapped */
37     2 error_offset bit (18),                                /* Set by syserr_log_check to location of error */
38     2 reserved (17) bit (36);                               /* Reserved for future use. */
39 
40 
41 /* This is an overlay of a message entry that goes into the paged syserr log.
42    Each message entry corresponds to one syserr message. */
43 
44 dcl 1 smess based (smess_ptr) aligned,                      /* MESSAGE ENTRY */
45     2 next bit (18) unal,                                   /* Relative offset of next message entry. */
46     2 prev bit (18) unal,                                   /* Relative offset of previous message entry. */
47     2 seq_num fixed bin (35),                               /* Sequence number of this message. */
48     2 time fixed bin (71) unal,                             /* Time message logged at */
49     2 code fixed bin (11) unal,                             /* Syserr code associated with this message. */
50     2 text_len fixed bin (11) unal,                         /* Length of message text in ASCII characters. */
51     2 data_size fixed bin (11) unal,                        /* Size of binary data */
52     2 data_code fixed bin (11) unal,                        /* Data code */
53     2 pad bit (60) unal,
54     2 text char (0 refer (smess.text_len)),                 /* Text of expanded message */
55     2 data (0 refer (smess.data_size)) bit (36),            /* Binary portion of message */
56     2 next_smess char (1);                                  /* Dummy used to calculate next message addrss */
57 
58 /*        End of include file ... syserr_log.incl.pl1       */