1 /* BEGIN INCLUDE FILE ... memo_segment.incl.pl1 ... July, 1979 ... W. Olin Sibert */ 2 /* * This include file describes a memo segment. Presently, this structure is still 3 * compatible with "old" version 3 memo segments, although it uses more of the pad 4 * fields; hence, it is still identified as version 3. If the conversion to version 5 * 4 memo segments is ever done, this will have to be changed for version 4. 6 */ 7 8 dcl memo_segment_ptr pointer; 9 10 dcl MAX_NUMBER_MEMOS fixed bin internal static options (constant) init (5802); 11 /* max number of memos in a memo segment */ 12 13 dcl MEMO_SEGMENT_VERSION_3 fixed bin internal static options (constant) init (3); 14 15 dcl 1 memo_segment aligned based (memo_segment_ptr), /* current version of whole segment */ 16 2 header like memo_segment_header, 17 2 memo_entry (MAX_NUMBER_MEMOS) like memo_segment_entry; 18 19 dcl 1 memo_segment_header aligned based, /* header for memo segment */ 20 2 version fixed bin (35), /* presently 3 */ 21 2 max_number_used fixed bin (35); /* The highest entry known to be used */ 22 23 dcl 1 memo_segment_entry aligned based, /* the entry for a single memo */ 24 2 taken bit (36) aligned, /* Zero if this entry free */ 25 2 flags aligned, /* data about this memo */ 26 3 print bit (1) unaligned, /* normal type memo */ 27 3 alarm bit (1) unaligned, /* alarm type */ 28 3 execute bit (1) unaligned, /* execute type */ 29 3 repeatsw bit (1) unaligned, /* has repeat string */ 30 3 expires bit (1) unaligned, /* has expiration time */ 31 3 remains bit (1) unaligned, /* do not delete this memo when its alarm goes off */ 32 3 single bit (1) unaligned, /* delete this non-alarm memo after one printing or execution */ 33 3 per_process bit (1) unaligned, /* causes repeat to be done from time_now, not maturity */ 34 3 pad1 bit (28) unaligned, /* not used */ 35 2 exp_delta fixed bin (35), /* delta time before memo expires */ 36 2 time fixed bin (35), /* time this memo matures */ 37 2 data char (132) aligned, /* the memo message */ 38 2 repeat char (32) aligned; /* the repeat string */ 39 40 /* END INCLUDE FILE memo_segment.incl.pl1 */