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 */