1 /* BEGIN INCLUDE FILE ... rdm_message_list.incl.pl1 */ 2 /* Created: September 1983 by G. Palter */ 3 4 /* Definition of per-message data maintained by read_mail: This list is maintined in parallel to the mailbox structure by 5 read_mail's interface to the mail_system_ mailbox manager (rdm_mailbox_interface_). It serves two purposes: 6 (1) It provides a place to store read_mail-specific per-message data (ie: the processed flag). 7 (2) It provides the ability to provide arbitrary mappings between read_mail message numbers and the actual indeces 8 within the mailbox structure. This mapping allows read_mail to preserve its message numbers for an invocation 9 even if messages are expunged which causes them to disappear from the mailbox structure (NB: the "expunge" 10 request is not yet implemented). This mapping also allows read_mail to present the messages in the mailbox to 11 the user in a different order than they actually appear in the mailbox (eg: sorted by date/time created) */ 12 13 dcl 1 message_list aligned based (rdm_invocation.message_list_ptr), 14 2 n_messages fixed binary, /* # of messages known to read_mail at present */ 15 2 pad bit (36), 16 2 messages (message_list_n_messages refer (message_list.n_messages)), 17 3 message_idx fixed binary, /* index of this message in the mailbox structure */ 18 3 flags, 19 4 processed bit (1) unaligned, /* ON => this message may be deleted without query */ 20 4 pad bit (35) unaligned, 21 3 search_text, /* describes copy of messages used for regexp searches */ 22 4 search_text_ptr pointer, /* ... -> the saved printed represetnation */ 23 4 search_text_lth fixed binary (21); /* ... length of said representation in characters */ 24 25 dcl message_list_n_messages fixed binary; 26 27 /* END INCLUDE FILE ... rdm_message_list.incl.pl1 */