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