COMPILATION LISTING OF SEGMENT xmail_list_msgs_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 05/28/86 1034.1 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 12 13 /****^ HISTORY COMMENTS: 14* 1) change(86-02-26,Blair), approve(86-02-26,MCR7358), 15* audit(86-04-18,RBarstad), install(86-05-28,MR12.0-1062): 16* Added new entrypoint xmail_list_msgs_$set_seen_switch which uses a 17* structure of messages built by xmail_select_msgs_ and turns the seen 18* switch on or off depending on the value in switch_on_off. This entrypoint 19* is called from xmail_Consult_Files_ or xmail_Process_Mail_ after the 20* messages have been selected. 21* END HISTORY COMMENTS */ 22 23 24 xmail_list_msgs_: proc (P_mailbox_ptr, P_curr_msgsp, P_iocb_ptr); 25 26 /* Author unknown. 27* 28* 83-07-13 DJ Schimke: Modified to use new mail_system calls and version 2 29* mailboxes. 30**/ 31 32 /* Parameter */ 33 34 dcl (P_mailbox_ptr, P_curr_msgsp, P_iocb_ptr) ptr; 35 36 /* Automatic */ 37 38 dcl code fixed bin (35); 39 dcl i fixed bin; 40 dcl info_width fixed bin; 41 dcl iocb_ptr ptr; 42 dcl message_num fixed bin; 43 44 /* Static */ 45 46 dcl MARK_CURRENT_MSGS bit (1) int static options (constant) init ("1"b); 47 dcl ME_CHAR char (16) int static options (constant) init ("xmail_list_msgs_"); 48 dcl MIN_INFO_WIDTH fixed bin int static options (constant) init (67); 49 50 dcl (xmail_err_$mailbox_empty, 51 xmail_err_$all_msgs_deleted, 52 xmail_err_$no_curr_msgs) fixed bin (35) ext; 53 54 /* Entries */ 55 56 dcl get_line_length_$switch entry (ptr, fixed bin (35)) returns (fixed bin); 57 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 58 dcl mail_system_$read_message entry (ptr, fixed bin, fixed bin (35)); 59 dcl mlsys_utils_$print_message_summary entry (ptr, fixed bin, bit (1) aligned, fixed bin, ptr, fixed bin (35)); 60 dcl mlsys_utils_$print_message_summary_header entry (fixed bin, ptr, fixed bin (35)); 61 dcl xmail_error_$code_first entry () options (variable); 62 dcl xmail_error_$no_code entry () options (variable); 63 dcl xmail_validate_$mbx entry (ptr, fixed bin (35)); 64 dcl xmail_validate_$curr_msgs entry (ptr, fixed bin (35)); 65 66 /* builtin */ 67 68 dcl (addr, null) builtin; 69 70 call xmail_validate_$mbx (P_mailbox_ptr, code); 71 if code ^= 0 72 then call xmail_error_$no_code (code, ME_CHAR, "q", "Invalid mailbox structure. This is an internal programming error."); 73 74 if P_curr_msgsp = null 75 then ; 76 else do; 77 call xmail_validate_$curr_msgs (P_curr_msgsp, code); 78 if code ^= 0 79 then call xmail_error_$no_code (code, ME_CHAR, "q", "Invalid message structure. This is an internal programming error."); 80 end; 81 82 mailbox_ptr = P_mailbox_ptr; 83 curr_msgsp = P_curr_msgsp; 84 iocb_ptr = P_iocb_ptr; 85 86 if mailbox.n_messages = 0 87 then call xmail_error_$code_first (xmail_err_$mailbox_empty, ME_CHAR, "i"); 88 89 if mailbox.n_messages <= mailbox.n_deleted_messages 90 then call xmail_error_$code_first (xmail_err_$all_msgs_deleted, ME_CHAR, "i"); 91 92 call calc_info_width (info_width, code); 93 if code ^= 0 then call xmail_error_$no_code (code, ME_CHAR, "q", "Unable to get width of screen. This is an internal programming error."); 94 95 call mlsys_utils_$print_message_summary_header (info_width, iocb_ptr, code); 96 if code ^= 0 then call xmail_error_$no_code (code, ME_CHAR, "q", "Unable to print message summary header. This is an internal programming error."); 97 98 do i = 1 to mailbox.n_messages; 99 message_num = i; 100 if mailbox.messages (message_num).message_ptr = null 101 then do; 102 call mail_system_$read_message (mailbox_ptr, message_num, code); 103 if code ^= 0 104 then call xmail_error_$no_code (code, ME_CHAR, "l", "Unable to read message ^d. This is an internal programming error.", message_num); 105 end; 106 message_ptr = mailbox.messages (message_num).message_ptr; 107 108 if ^message.marked_for_deletion 109 then do; 110 call mlsys_utils_$print_message_summary (message_ptr, message_num, a_curr_msg (message_num), info_width, iocb_ptr, code); 111 if code ^= 0 112 then call xmail_error_$no_code (code, ME_CHAR, "l", "Unable to get summary for message ^d. This is an internal programming error.", message_num); 113 end; 114 end; 115 EXIT: 116 117 return; 118 119 selected: entry (P_mailbox_ptr, P_curr_msgsp, P_iocb_ptr); 120 121 call xmail_validate_$mbx (P_mailbox_ptr, code); 122 if code ^= 0 then call xmail_error_$no_code (code, ME_CHAR, "q", "Invalid mailbox structure. This is an internal programming error."); 123 124 if P_curr_msgsp = null 125 then call xmail_error_$code_first (xmail_err_$no_curr_msgs, ME_CHAR, "i"); 126 else do; 127 call xmail_validate_$curr_msgs (P_curr_msgsp, code); 128 if code ^= 0 then call xmail_error_$no_code (code, ME_CHAR, "q", "Invalid message structure. This is an internal programming error."); 129 end; 130 131 mailbox_ptr = P_mailbox_ptr; 132 curr_msgsp = P_curr_msgsp; 133 iocb_ptr = P_iocb_ptr; 134 135 call calc_info_width (info_width, code); 136 if code ^= 0 then call xmail_error_$no_code (code, ME_CHAR, "q", "Unable to get width of screen. This is an internal programming error."); 137 138 call mlsys_utils_$print_message_summary_header (info_width, iocb_ptr, code); 139 if code ^= 0 then call xmail_error_$no_code (code, ME_CHAR, "q", "Unable to print message summary header. This is an internal programming error."); 140 141 do i = 1 to curr_msgs.count; 142 message_num = curr_msgs.numbers (i); 143 message_ptr = mailbox.messages (message_num).message_ptr; 144 145 call mlsys_utils_$print_message_summary (message_ptr, message_num, ^MARK_CURRENT_MSGS, info_width, iocb_ptr, code); 146 if code ^= 0 147 then call xmail_error_$no_code (code, ME_CHAR, "q", "Unable to get summary for message ^d. This is an internal programming error."); 148 end; 149 150 return; 151 152 set_seen_switch: entry (P_mailbox_ptr, P_curr_msgsp, P_switch); 153 154 dcl P_switch bit (1) aligned; 155 dcl mail_system_$set_message_switch entry (ptr, char (4) aligned, bit (1) aligned, fixed bin (35)); 156 157 call xmail_validate_$mbx (P_mailbox_ptr, code); 158 if code ^= 0 then call xmail_error_$no_code (code, ME_CHAR, "q", "Invalid mailbox structure. This is an internal programming error."); 159 160 if P_curr_msgsp = null 161 then call xmail_error_$code_first (xmail_err_$no_curr_msgs, ME_CHAR, "i"); 162 else do; 163 call xmail_validate_$curr_msgs (P_curr_msgsp, code); 164 if code ^= 0 then call xmail_error_$no_code (code, ME_CHAR, "q", "Invalid message structure. This is an internal programming error."); 165 end; 166 167 mailbox_ptr = P_mailbox_ptr; 168 curr_msgsp = P_curr_msgsp; 169 170 do i = 1 to curr_msgs.count; 171 message_num = curr_msgs.numbers (i); 172 message_ptr = mailbox.messages (message_num).message_ptr; 173 call mail_system_$set_message_switch (message_ptr, PER_MESSAGE_SEEN_SWITCH_TYPE, P_switch, code); 174 if code ^= 0 then call xmail_error_$no_code (code, ME_CHAR, "q", "Unable to set the SEEN switch. This is an internal programming error."); 175 end; 176 return; 177 178 179 /* Internal procedures */ 180 181 a_curr_msg: proc (P_msg_num) returns (bit (1) aligned); 182 183 dcl P_msg_num fixed bin; 184 dcl i fixed bin; 185 186 if curr_msgsp = null then return ("0"b); 187 188 do i = 1 to curr_msgs.count; 189 if curr_msgs.numbers (i) = P_msg_num 190 then return ("1"b); 191 end; 192 193 return ("0"b); 194 195 end a_curr_msg; 196 197 calc_info_width: proc (P_width, P_code); 198 199 dcl P_width fixed bin; 200 dcl P_code fixed bin (35); 201 dcl window_width fixed bin; 202 dcl error_table_$no_operation fixed bin (35) ext static; 203 204 dcl 1 auto_window_position_info like window_position_info; 205 206 P_code = 0; 207 208 auto_window_position_info.version = window_position_info_version; 209 call iox_$control (iocb_ptr, "get_window_info", addr (auto_window_position_info), P_code); 210 if P_code = 0 then window_width = auto_window_position_info.width; 211 else if P_code = error_table_$no_operation /* output going to a file, possibly */ 212 then do; 213 window_width = get_line_length_$switch (iocb_ptr, (0)); 214 P_code = 0; 215 end; 216 217 /* We need to show a certain minimum amount of information. */ 218 219 if MIN_INFO_WIDTH > window_width 220 then P_width = MIN_INFO_WIDTH; 221 else P_width = window_width; 222 223 end calc_info_width; 224 225 1 1 /* BEGIN INCLUDE FILE ... mlsys_mailbox.incl.pl1 */ 1 2 /* Created: April 1983 by G. Palter */ 1 3 1 4 /* Definition of a mailbox as used by the Multics Mail System */ 1 5 1 6 dcl 1 mailbox aligned based (mailbox_ptr), 1 7 2 version character (8) unaligned, 1 8 2 reserved bit (144), /* for exclusive use of the mail system */ 1 9 2 mailbox_address pointer, /* mail system address of this mailbox */ 1 10 2 mailbox_dirname character (168) unaligned, /* directory containing this mailbox */ 1 11 2 mailbox_ename character (32) unaligned, /* entry name of this mailbox (includes ".mbx") */ 1 12 2 mailbox_type fixed binary, /* type of mailbox (see below) */ 1 13 2 mode bit (36), /* user's effective extended access to this mailbox */ 1 14 2 flags, 1 15 3 salvaged bit (1) unaligned, /* ON => this mailbox has been salvaged since last open */ 1 16 3 reserved bit (35) unaligned, /* for exclusive use of the mail system */ 1 17 2 message_selection_mode fixed binary, /* types of messages read: all/ordinary/interactive */ 1 18 2 sender_selection_mode fixed binary, /* whose messages were read: all/own/not-own */ 1 19 2 message_reading_level fixed binary, /* how much of each message read: keys/messages */ 1 20 2 n_messages fixed binary, /* total # of messages in this mailbox structure */ 1 21 2 n_ordinary_messages fixed binary, /* ... # of ordinary messages here */ 1 22 2 n_interactive_messages fixed binary, /* ... # of interactive messages here */ 1 23 2 n_deleted_messages fixed binary, /* ... # of messages here marked for later deletion */ 1 24 2 messages (mailbox_n_messages refer (mailbox.n_messages)), 1 25 3 key bit (72), /* unique key to read this message if not already read */ 1 26 3 message_ptr pointer; /* -> the message structure */ 1 27 1 28 dcl MAILBOX_VERSION_2 character (8) static options (constant) initial ("mlsmbx02"); 1 29 1 30 dcl mailbox_ptr pointer; 1 31 1 32 dcl mailbox_n_messages fixed binary; /* for exclusive use of the mail system */ 1 33 1 34 1 35 /* Types of mailboxes distinguished by the mail system */ 1 36 1 37 dcl (USER_DEFAULT_MAILBOX initial (1), /* the user's default mailbox for receiving mail */ 1 38 USER_LOGBOX initial (2), /* the user's logbox */ 1 39 SAVEBOX initial (3), /* a savebox */ 1 40 OTHER_MAILBOX initial (4)) /* any other type of mailbox */ 1 41 fixed binary static options (constant); 1 42 1 43 /* END INCLUDE FILE ... mlsys_mailbox.incl.pl1 */ 226 227 2 1 /* BEGIN INCLUDE FILE ... rdm_switch_types.incl.pl1 */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(86-03-25,Herbst), approve(86-03-25,MCR7367), 2 6* audit(86-04-28,Margolin), install(86-05-22,MR12.0-1059): 2 7* New file. 2 8* END HISTORY COMMENTS */ 2 9 2 10 /* Constants for telling rdm_mailbox_interface_$set_message_switch which switch to set */ 2 11 2 12 dcl PER_MESSAGE_SEEN_SWITCH_TYPE char (4) aligned int static options (constant) init ("SEEN"); 2 13 2 14 /* END INCLUDE FILE ... rdm_switch_types.incl.pl1 */ 228 229 3 1 /* BEGIN INCLUDE FILE ... mlsys_message.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(85-12-19,Herbst), approve(86-03-25,MCR7367), 3 6* audit(86-04-28,Margolin), install(86-05-22,MR12.0-1059): 3 7* Added seen switch to message. 3 8* END HISTORY COMMENTS */ 3 9 3 10 3 11 /* Created: June 1983 by G. Palter */ 3 12 3 13 /* Definition of a message as used by the Multics Mail System */ 3 14 3 15 dcl 1 message aligned based (message_ptr), 3 16 2 version character (8) unaligned, 3 17 2 reserved bit (144), /* for exclusive use of the mail system */ 3 18 2 n_reply_references fixed binary, /* # of messages for which this is a reply */ 3 19 2 n_user_fields fixed binary, /* # of non-standard header fields in this message */ 3 20 2 n_redistributions fixed binary, /* # of times this message has been forwarded */ 3 21 2 n_body_sections fixed binary, /* # of sections in the body */ 3 22 2 flags, 3 23 3 interactive bit (1) unaligned, /* ON => this is an interactive message */ 3 24 3 can_be_deleted bit (1) unaligned, /* ON => the user can delete this message if desired */ 3 25 3 marked_for_deletion bit (1) unaligned, /* ON => message will be deleted when mailbox is closed */ 3 26 3 must_be_acknowledged bit (1) unaligned, /* ON => an ACK should be generated when message is read */ 3 27 3 seen bit (1) unaligned, /* ON => user has printed message at least once */ 3 28 3 reserved bit (31) unaligned, /* for use by the mail system */ 3 29 2 pad bit (36), 3 30 2 envelope like message_envelope, /* who/when/how the message was mailed & delivered */ 3 31 2 header, 3 32 3 message_id bit (72), /* ID of this message (same value for all copies) */ 3 33 3 access_class bit (72), /* AIM access class of this message */ 3 34 3 date_time_created fixed binary (71), /* date/time this message was composed */ 3 35 3 from pointer, /* -> address list of author(s) of the message */ 3 36 3 reply_to pointer, /* -> address list of recipients for reply (if not authors) */ 3 37 3 to pointer, /* -> address list of primary recipients */ 3 38 3 cc pointer, /* -> address list of secondary recipients */ 3 39 3 bcc pointer, /* -> address list of blind recipients */ 3 40 3 subject like message_text_field, /* subject of the message */ 3 41 3 reply_references pointer, /* -> list of messages for which this message is a reply */ 3 42 3 user_fields_list pointer, /* -> list of user-defined fields in this message */ 3 43 2 redistributions_list pointer, /* -> redistributions list for this message */ 3 44 2 body, 3 45 3 total_lines fixed binary (21), /* total # of lines in the body or -1 if indeterminate */ 3 46 3 pad bit (36), 3 47 3 body_sections (message_n_body_sections refer (message.n_body_sections)) like message_body_section; 3 48 3 49 dcl MESSAGE_VERSION_2 character (8) static options (constant) initial ("mlsmsg02"); 3 50 3 51 dcl message_subject character (message.header.subject.text_lth) unaligned based (message.header.subject.text_ptr); 3 52 3 53 dcl message_ptr pointer; 3 54 3 55 dcl (message_n_body_sections, message_trace_n_relays, message_n_redistributions, message_n_user_fields, 3 56 message_references_list_n_references) 3 57 fixed binary; /* for exclusive use of the mail system */ 3 58 3 59 /* Definition of a message envelope: describes when, by whom, and by what route the message was mailed */ 3 60 3 61 dcl 1 message_envelope aligned based (message_envelope_ptr), 3 62 2 date_time_mailed fixed binary (71), /* date/time this message was entered into the mail system */ 3 63 2 sender pointer, /* -> address of entity that mailed the message */ 3 64 2 trace pointer, /* -> message_trace describing how it got here */ 3 65 2 date_time_delivered fixed binary (71), /* date/time this message was delivered */ 3 66 2 delivered_by pointer, /* -> address of entity that delivered the message */ 3 67 2 acknowledge_to pointer; /* -> address of entity to receive ACK when message is read */ 3 68 3 69 dcl message_envelope_ptr pointer; 3 70 3 71 3 72 /* Structure used in calls to mail_system_daemon_ entrypoints which manipulate the message envelope */ 3 73 3 74 dcl 1 message_envelope_parameter aligned based (message_envelope_parameter_ptr), 3 75 2 pad pointer, /* forces even word alignment */ 3 76 2 version character (8) unaligned, 3 77 2 envelope like message_envelope; 3 78 3 79 dcl MESSAGE_ENVELOPE_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsenv02"); 3 80 3 81 dcl message_envelope_parameter_ptr pointer; 3 82 3 83 3 84 /* Definition of a message trace: describes the route and each relay operation by which a message was passed through the 3 85* networks to reach this recipient */ 3 86 3 87 dcl 1 message_trace aligned based (message_trace_ptr), 3 88 2 version character (8) unaligned, 3 89 2 reserved bit (144), /* ... exclusively for use by the mail system */ 3 90 2 implicit_route pointer, /* -> an address_route which defines the route it took */ 3 91 2 pad bit (36), 3 92 2 n_relays fixed binary, /* # of relay operations required to reach this site */ 3 93 2 relays (message_trace_n_relays refer (message_trace.n_relays)), 3 94 3 date_time_relayed fixed binary (71), /* ... when this relay operation took place */ 3 95 3 sending_host character (256) varying, /* ... the host which relayed the message */ 3 96 3 receiving_host character (256) varying, /* ... the host which received it */ 3 97 3 communications_media character (32) unaligned, /* ... medium over which relay took place (ARPA, Tymnet) */ 3 98 3 communications_protocol character (32) unaligned,/* ... low-level protocol used (TCP, X.25) */ 3 99 3 mail_protocol character (32) unaligned, /* ... mailer protocol used (SMTP, NBS) */ 3 100 3 relay_id bit (72), /* ... unique ID assigned by receiving system or ""b */ 3 101 3 relay_recipient pointer; /* ... -> address of recipient as given by sending system */ 3 102 3 103 dcl MESSAGE_TRACE_VERSION_2 character (8) static options (constant) initial ("mlstrc02"); 3 104 3 105 dcl message_trace_ptr pointer; 3 106 3 107 /* Definition of a message's redistributions list */ 3 108 3 109 dcl 1 message_redistributions_list aligned based (message.redistributions_list), 3 110 2 version character (8) unaligned, 3 111 2 reserved bit (144), /* ... exclusively for use by the mail system */ 3 112 2 pad bit (36), 3 113 2 n_redistributions fixed binary, /* # of redistributions */ 3 114 2 redistributions (message_n_redistributions refer (message_redistributions_list.n_redistributions)) 3 115 like message_redistribution; /* the redistributions: oldest first */ 3 116 3 117 dcl MESSAGE_REDISTRIBUTIONS_LIST_VERSION_2 character (8) static options (constant) initial ("mlsrl002"); 3 118 3 119 3 120 /* Definition of a single redistribution (forwarding) of a message */ 3 121 3 122 dcl 1 message_redistribution aligned based (message_redistribution_ptr), 3 123 2 envelope like message_envelope, 3 124 2 header, 3 125 3 message_id bit (72), /* ID of this redistribution (same for all copies) */ 3 126 3 date_time_created fixed binary (71), /* date/time when this redistribution was made */ 3 127 3 from pointer, /* -> address list of authors of this redistribution */ 3 128 3 to pointer, /* -> address list of recipients of the redistribution */ 3 129 3 comment like message_text_field; /* optional comment associated with the redistribution */ 3 130 3 131 dcl message_redistribution_comment character (message_redistribution.comment.text_lth) unaligned 3 132 based (message_redistribution.comment.text_ptr); 3 133 3 134 dcl message_redistribution_ptr pointer; 3 135 3 136 3 137 /* Structure used in calls to mail_system_daemon_ entrypoints which manipulate the redistributions of a message */ 3 138 3 139 dcl 1 message_redistribution_parameter aligned based (message_redistribution_parameter_ptr), 3 140 2 pad pointer, /* forces even word alignment */ 3 141 2 version character (8) unaligned, 3 142 2 redistribution like message_redistribution; 3 143 3 144 dcl MESSAGE_REDISTRIBUTION_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsdist2"); 3 145 3 146 dcl message_redistribution_parameter_ptr pointer; 3 147 3 148 /* Definition of the list of user-defined fields in a message */ 3 149 3 150 dcl 1 message_user_fields_list aligned based (message.user_fields_list), 3 151 2 version character (8) unaligned, 3 152 2 reserved bit (144), /* ... exclusively for use by the mail system */ 3 153 2 pad bit (36), 3 154 2 n_user_fields fixed binary, /* # of user-defined fields in the message */ 3 155 2 user_fields (message_n_user_fields refer (message_user_fields_list.n_user_fields)) 3 156 like message_user_field; /* the actual user-defined fields */ 3 157 3 158 dcl MESSAGE_USER_FIELDS_LIST_VERSION_2 character (8) static options (constant) initial ("mlsufl02"); 3 159 3 160 3 161 /* Definition of a user defined message header field */ 3 162 3 163 dcl 1 message_user_field aligned based (message_user_field_ptr), 3 164 2 header, 3 165 3 field_id bit (36) aligned, /* identifies the purpose of this field */ 3 166 3 field_type fixed binary, /* type of data contained in this field */ 3 167 2 field_type_variable bit (144); /* the actual data (see below) */ 3 168 3 169 dcl message_user_field_ptr pointer; 3 170 3 171 3 172 /* Defined types of user defined fields */ 3 173 3 174 dcl (MESSAGE_TEXT_USER_FIELD initial (1), /* content of the field is a text string */ 3 175 MESSAGE_ADDRESS_LIST_USER_FIELD initial (2), /* content of the field is an address list */ 3 176 MESSAGE_DATE_USER_FIELD initial (3), /* content of the field is a date/time */ 3 177 MESSAGE_INTEGER_USER_FIELD initial (4)) /* content of the filed is a fixed binary value */ 3 178 fixed binary static options (constant); 3 179 3 180 3 181 /* Structures used to access the data for the different types of user defined fields */ 3 182 3 183 dcl 1 message_text_user_field aligned based (message_user_field_ptr), 3 184 2 header like message_user_field.header, 3 185 2 text like message_text_field; /* the message text */ 3 186 3 187 dcl message_text_user_field_text character (message_text_user_field.text.text_lth) unaligned 3 188 based (message_text_user_field.text.text_ptr); 3 189 3 190 dcl 1 message_address_list_user_field aligned based (message_user_field_ptr), 3 191 2 header like message_user_field.header, 3 192 2 address_list_ptr pointer, /* -> the address list */ 3 193 2 pad bit (72); 3 194 3 195 dcl 1 message_date_user_field aligned based (message_user_field_ptr), 3 196 2 header like message_user_field.header, 3 197 2 date_time fixed binary (71), /* the clock reading */ 3 198 2 pad bit (72); 3 199 3 200 dcl 1 message_integer_user_field aligned based (message_user_field_ptr), 3 201 2 header like message_user_field.header, 3 202 2 value fixed binary (35), /* the integer value */ 3 203 2 pad bit (108); 3 204 3 205 3 206 /* Structure used in calls to mail_system_ entrypoints which manipulate the user-defined fields of a message */ 3 207 3 208 dcl 1 message_user_field_parameter aligned based (message_user_field_parameter_ptr), 3 209 2 pad pointer, /* forces even word alignment */ 3 210 2 version character (8) unaligned, 3 211 2 user_field like message_user_field; 3 212 3 213 dcl MESSAGE_USER_FIELD_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsudf02"); 3 214 3 215 dcl message_user_field_parameter_ptr pointer; 3 216 3 217 /* Definition of a list of message references used as the value of message header fields (eg: In-Reply-To) */ 3 218 3 219 dcl 1 message_references_list aligned based (message_references_list_ptr), 3 220 2 version character (8) unaligned, 3 221 2 reserved bit (144), /* ... exclusively for use by the mail system */ 3 222 2 pad bit (36), 3 223 2 n_references fixed binary, /* # of references in this list */ 3 224 2 references (message_references_list_n_references refer (message_references_list.n_references)) 3 225 like message_reference; /* the references themselves */ 3 226 3 227 dcl MESSAGE_REFERENCES_LIST_VERSION_2 character (8) static options (constant) initial ("mlsref02"); 3 228 3 229 dcl message_references_list_ptr pointer; 3 230 3 231 3 232 /* Definition of a reference to another message */ 3 233 3 234 dcl 1 message_reference aligned based (message_reference_ptr), 3 235 2 message_id bit (72), /* ID of the other message */ 3 236 2 date_time_created fixed binary (71), /* date/time the other message was created */ 3 237 2 from pointer, /* -> address list of authors of the other message */ 3 238 2 subject like message_text_field; /* subject of the other message */ 3 239 3 240 dcl message_reference_subject character (message_reference.subject.text_lth) unaligned 3 241 based (message_reference.subject.text_ptr); 3 242 3 243 dcl message_reference_ptr pointer; 3 244 3 245 3 246 /* Structure used in calls to mail_system_daemon_ entrypoints which manipulate message references */ 3 247 3 248 dcl 1 message_reference_parameter aligned based (message_reference_parameter_ptr), 3 249 2 pad pointer, /* forces even word alignment */ 3 250 2 version character (8) unaligned, 3 251 2 reference like message_reference; 3 252 3 253 dcl MESSAGE_REFERENCE_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsref02"); 3 254 3 255 dcl message_reference_parameter_ptr pointer; 3 256 3 257 3 258 /* Definition of a text field in a message (Subject, Comment, or a user defined field) */ 3 259 3 260 dcl 1 message_text_field aligned based (message_text_field_ptr), 3 261 2 text_ptr pointer, /* -> the actual text */ 3 262 2 text_lth fixed binary (21), /* length of said text */ 3 263 2 flags, 3 264 3 multiline_text bit (1) unaligned, /* ON => the text of this field may span multiple lines; 3 265* OFF => the text will always be a single line */ 3 266 3 reserved bit (35) unaligned; /* for exclusive use of the mail system */ 3 267 3 268 dcl message_text_field_text character (message_text_field.text_lth) unaligned based (message_text_field.text_ptr); 3 269 3 270 dcl message_text_field_ptr pointer; 3 271 3 272 /* Definition of a section of the body of a message */ 3 273 3 274 dcl 1 message_body_section aligned based (message_body_section_ptr), 3 275 2 header, 3 276 3 section_type fixed binary, /* type of "text" stored in this section */ 3 277 3 section_n_lines fixed binary (21), /* # of lines in this section or -1 if indeterminate */ 3 278 2 section_type_variable bit (144); /* the actual data (see below) */ 3 279 3 280 dcl message_body_section_ptr pointer; 3 281 3 282 3 283 /* Defined types of message body sections */ 3 284 3 285 dcl (MESSAGE_PREFORMATTED_BODY_SECTION initial (1), /* text formatted by the authors/sender */ 3 286 MESSAGE_BIT_STRING_BODY_SECTION initial (2)) /* arbitrary bit string */ 3 287 fixed binary static options (constant); 3 288 3 289 3 290 /* Structures used to access the data for the different types of message body sections */ 3 291 3 292 dcl 1 message_preformatted_body_section aligned based (message_body_section_ptr), 3 293 2 header like message_body_section.header, 3 294 2 text_ptr pointer, /* -> the text */ 3 295 2 text_lth fixed binary (21), /* length of said text in characters */ 3 296 2 reserved bit (36); /* for exclusive use of the mail system */ 3 297 3 298 dcl message_preformatted_body_section_text character (message_preformatted_body_section.text_lth) unaligned 3 299 based (message_preformatted_body_section.text_ptr); 3 300 3 301 dcl 1 message_bit_string_body_section aligned based (message_body_section_ptr), 3 302 2 header like message_body_section.header, 3 303 2 bit_string_ptr pointer, /* -> the bit string */ 3 304 2 bit_string_lth fixed binary (24), /* length of said bit string in bits (obviously) */ 3 305 2 reserved bit (36); /* for exclusive use of the mail system */ 3 306 3 307 dcl message_bit_string_body_section_bit_string bit (message_bit_string_body_section.bit_string_lth) unaligned 3 308 based (message_bit_string_body_section.bit_string_ptr); 3 309 3 310 3 311 /* Structure used in calls to mail_system_ entrypoints which manipulate the sections of a message's body */ 3 312 3 313 dcl 1 message_body_section_parameter aligned based (message_body_section_parameter_ptr), 3 314 2 pad pointer, /* forces even word alignment */ 3 315 2 version character (8) unaligned, 3 316 2 section like message_body_section; 3 317 3 318 dcl MESSAGE_BODY_SECTION_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsmbs02"); 3 319 3 320 dcl message_body_section_parameter_ptr pointer; 3 321 3 322 /* END INCLUDE FILE ... mlsys_message.incl.pl1 */ 230 231 4 1 /* Created 06/17/81 by Suzanne Krupp */ 4 2 4 3 dcl n_messages fixed bin; 4 4 dcl MSG_STRUCT_VERSION_1 fixed bin int static options(constant) init(1); 4 5 4 6 dcl curr_msgsp ptr; 4 7 4 8 dcl 1 curr_msgs based(curr_msgsp), 4 9 2 version fixed bin, 4 10 2 count fixed bin, 4 11 2 numbers (n_messages refer(curr_msgs.count)) fixed bin; 4 12 4 13 dcl nonexist_msgsp ptr; 4 14 4 15 dcl 1 nonexist_msgs based(nonexist_msgsp), 4 16 2 version fixed bin, 4 17 2 count fixed bin, 4 18 2 numbers (n_messages refer(nonexist_msgs.count)) fixed bin; 4 19 4 20 dcl msg_structp ptr; 4 21 4 22 dcl 1 msg_struct based(msg_structp), 4 23 2 version fixed bin, 4 24 2 count fixed bin, 4 25 2 numbers(n_messages refer(msg_struct.count)) fixed bin; 233 5 1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD */ 5 2 /* format: style3 */ 5 3 5 4 /* Modified 26 January 1982 by William York to add the set_more_handler 5 5* and reset_more_handler control orders. */ 5 6 /* Modified October 1982 by WMY to add set and get_token_characters, 5 7* set and get_more_prompt. */ 5 8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info 5 9* structure. */ 5 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for 5 11* partial screen width windows. */ 5 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info. 5 13* This should be removed when window_info.incl.pl1 is created. */ 5 14 /* Modified 29 February 1984 by Barmar to add version 1 5 15* get_editor_key_bindings_info. */ 5 16 /* Modified 1 March 1984 by Barmar to add version 1 5 17* set_editor_key_bindings_info. */ 5 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3 5 19* line_editor_key_bindings_info, which includes the name, description, and 5 20* info path */ 5 21 5 22 /* structure for the set_window_info and get_window_info 5 23* control orders. */ 5 24 5 25 dcl 1 window_position_info 5 26 based (window_position_info_ptr), 5 27 2 version fixed bin, 5 28 2 origin, 5 29 3 column fixed bin, 5 30 3 line fixed bin, 5 31 2 extent, 5 32 3 width fixed bin, 5 33 3 height fixed bin; 5 34 5 35 dcl (window_position_info_version, window_position_info_version_1) 5 36 fixed bin internal static init (1) options (constant); 5 37 dcl window_position_info_ptr 5 38 pointer; 5 39 5 40 /* structure for the set_window_status and get_window_status 5 41* control orders */ 5 42 5 43 declare window_status_info_ptr 5 44 pointer; 5 45 declare 1 window_status_info 5 46 aligned based (window_status_info_ptr), 5 47 2 version fixed bin, 5 48 2 status_string bit (36) aligned; /* string (window_status) */ 5 49 /* see window_status.incl.pl1 for the contents of this string */ 5 50 5 51 5 52 declare (window_status_version, window_status_version_1) 5 53 fixed bin internal static init (1) options (constant); 5 54 5 55 /* info structure for the set_more_responses and get_more_responses control 5 56* orders */ 5 57 5 58 5 59 dcl 1 more_responses_info 5 60 aligned based (more_responses_info_ptr), 5 61 2 version fixed bin, 5 62 2 n_yeses fixed bin, /* how many valid characters in the strings below */ 5 63 2 n_noes fixed bin, 5 64 2 yeses char (32) unaligned, 5 65 2 noes char (32) unaligned; 5 66 5 67 dcl (more_responses_info_version_1, more_responses_version) 5 68 fixed bin internal static init (1) options (constant); 5 69 dcl more_responses_info_ptr 5 70 pointer; 5 71 5 72 /* structure for the set_break_table and get_break_table 5 73* control orders */ 5 74 5 75 declare break_table_ptr pointer; 5 76 declare 1 break_table_info aligned based (break_table_ptr), 5 77 2 version fixed bin, 5 78 2 breaks (0:127) bit (1) unaligned; 5 79 5 80 declare (break_table_info_version, break_table_info_version_1) 5 81 fixed bin init (1) internal static options (constant); 5 82 5 83 declare 1 more_handler_info aligned based (more_handler_info_ptr), 5 84 2 version fixed bin, 5 85 2 flags unaligned, 5 86 3 old_handler_valid 5 87 bit(1), 5 88 3 pad bit(35), 5 89 2 more_handler entry (pointer, bit(1) aligned), 5 90 2 old_more_handler entry (pointer, bit(1) aligned); 5 91 5 92 declare more_handler_info_ptr pointer; 5 93 5 94 declare (more_handler_info_version, more_handler_info_version_3) 5 95 fixed bin internal static options (constant) init (3); 5 96 5 97 declare 1 token_characters_info aligned based (token_characters_info_ptr), 5 98 2 version char(8), 5 99 2 token_character_count 5 100 fixed bin, 5 101 2 token_characters 5 102 char (128) unaligned; 5 103 5 104 declare token_characters_info_ptr pointer; 5 105 5 106 declare token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001"); 5 107 5 108 declare 1 more_prompt_info aligned based (more_prompt_info_ptr), 5 109 2 version char(8), 5 110 2 more_prompt char(80); 5 111 5 112 declare more_prompt_info_ptr pointer; 5 113 5 114 declare more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001"); 5 115 5 116 /* Line editor stuff ... */ 5 117 5 118 dcl line_editor_key_binding_info_ptr 5 119 pointer; 5 120 5 121 dcl line_editor_binding_count 5 122 fixed bin; 5 123 dcl line_editor_longest_sequence 5 124 fixed bin; 5 125 /* For each binding, action defines what to do for that sequence. Constants 5 126* are defined in window_editor_values.incl.pl1. Only if action is set to 5 127* EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */ 5 128 5 129 dcl 1 line_editor_key_binding_info 5 130 aligned based (line_editor_key_binding_info_ptr), 5 131 2 version char(8), 5 132 2 binding_count fixed bin, 5 133 2 longest_sequence fixed bin, 5 134 2 bindings (line_editor_binding_count refer 5 135 (line_editor_key_binding_info.binding_count)), 5 136 3 sequence char(line_editor_longest_sequence refer 5 137 (line_editor_key_binding_info.longest_sequence)) varying, 5 138 3 action fixed bin, 5 139 3 numarg_action fixed binary, 5 140 3 editor_routine entry (pointer, fixed bin(35)), 5 141 3 name char (64) varying unaligned, 5 142 3 description char (256) varying unaligned, 5 143 3 info_path unaligned, 5 144 4 info_dir char (168), 5 145 4 info_entry char (32); 5 146 5 147 5 148 dcl line_editor_key_binding_info_version_3 5 149 char(8) static options (constant) init ("lekbi003"); 5 150 5 151 dcl 1 get_editor_key_bindings_info aligned based (get_editor_key_bindings_info_ptr), 5 152 2 version char (8), 5 153 2 flags, 5 154 3 entire_state bit (1) unaligned, 5 155 3 mbz bit (35) unaligned, 5 156 2 key_binding_info_ptr ptr, 5 157 2 entire_state_ptr ptr; 5 158 5 159 dcl get_editor_key_bindings_info_ptr ptr; 5 160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01"); 5 161 5 162 dcl 1 set_editor_key_bindings_info aligned 5 163 based (set_editor_key_bindings_info_ptr), 5 164 2 version char (8), 5 165 2 flags, 5 166 3 replace bit (1) unaligned, 5 167 3 update bit (1) unaligned, 5 168 3 mbz bit (34) unaligned, 5 169 2 key_binding_info_ptr ptr; 5 170 5 171 dcl set_editor_key_bindings_info_ptr ptr; 5 172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01"); 5 173 5 174 /* This should be moved to window_info.incl.pl1 when that include file is 5 175* created. JR 2/1/84 */ 5 176 5 177 dcl 1 window_edit_line_info 5 178 based (window_edit_line_info_ptr), 5 179 2 version char (8), 5 180 2 line_ptr ptr, 5 181 2 line_length fixed bin (21); /* later we will hack initial cursor position, key bindings, etc. */ 5 182 5 183 dcl window_edit_line_info_version_1 5 184 char (8) static options (constant) init ("wedl0001"); 5 185 5 186 dcl window_edit_line_info_ptr 5 187 ptr; 5 188 5 189 /* END INCLUDE FILE window_control_info.incl.pl1 */ 234 235 236 end xmail_list_msgs_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/28/86 1024.1 xmail_list_msgs_.pl1 >special_ldd>install>MR12.0-1062>xmail_list_msgs_.pl1 226 1 10/27/83 2104.2 mlsys_mailbox.incl.pl1 >ldd>include>mlsys_mailbox.incl.pl1 228 2 05/22/86 1225.8 rdm_switch_types.incl.pl1 >ldd>include>rdm_switch_types.incl.pl1 230 3 05/22/86 1225.8 mlsys_message.incl.pl1 >ldd>include>mlsys_message.incl.pl1 232 4 06/08/82 1329.4 xmail_curr_msg_info.incl.pl1 >ldd>include>xmail_curr_msg_info.incl.pl1 234 5 09/12/84 0916.7 window_control_info.incl.pl1 >ldd>include>window_control_info.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. MARK_CURRENT_MSGS constant bit(1) initial unaligned dcl 46 ref 145 ME_CHAR 000001 constant char(16) initial unaligned dcl 47 set ref 71* 78* 86* 89* 93* 96* 103* 111* 122* 124* 128* 136* 139* 146* 158* 160* 164* 174* MIN_INFO_WIDTH constant fixed bin(17,0) initial dcl 48 ref 219 219 PER_MESSAGE_SEEN_SWITCH_TYPE 000000 constant char(4) initial dcl 2-12 set ref 173* P_code parameter fixed bin(35,0) dcl 200 set ref 197 206* 209* 210 211 214* P_curr_msgsp parameter pointer dcl 34 set ref 24 74 77* 83 119 124 127* 132 152 160 163* 168 P_iocb_ptr parameter pointer dcl 34 ref 24 84 119 133 P_mailbox_ptr parameter pointer dcl 34 set ref 24 70* 82 119 121* 131 152 157* 167 P_msg_num parameter fixed bin(17,0) dcl 183 ref 181 189 P_switch parameter bit(1) dcl 154 set ref 152 173* P_width parameter fixed bin(17,0) dcl 199 set ref 197 219* 221* addr builtin function dcl 68 ref 209 209 auto_window_position_info 000141 automatic structure level 1 unaligned dcl 204 set ref 209 209 code 000100 automatic fixed bin(35,0) dcl 38 set ref 70* 71 71* 77* 78 78* 92* 93 93* 95* 96 96* 102* 103 103* 110* 111 111* 121* 122 122* 127* 128 128* 135* 136 136* 138* 139 139* 145* 146 146* 157* 158 158* 163* 164 164* 173* 174 174* count 1 based fixed bin(17,0) level 2 dcl 4-8 ref 141 170 188 curr_msgs based structure level 1 unaligned dcl 4-8 curr_msgsp 000114 automatic pointer dcl 4-6 set ref 83* 132* 141 142 168* 170 171 186 188 189 error_table_$no_operation 000042 external static fixed bin(35,0) dcl 202 ref 211 extent 3 000141 automatic structure level 2 unaligned dcl 204 flags 12 based structure level 2 dcl 3-15 get_line_length_$switch 000016 constant entry external dcl 56 ref 213 header 4 based structure level 3 in structure "message_user_field_parameter" dcl 3-208 in procedure "xmail_list_msgs_" header based structure level 2 in structure "message_body_section" dcl 3-274 in procedure "xmail_list_msgs_" header 64 based structure array level 4 in structure "message" dcl 3-15 in procedure "xmail_list_msgs_" header 10 based structure array level 3 in structure "message_user_fields_list" dcl 3-150 in procedure "xmail_list_msgs_" header based structure level 2 in structure "message_user_field" dcl 3-163 in procedure "xmail_list_msgs_" header 4 based structure level 3 in structure "message_body_section_parameter" dcl 3-313 in procedure "xmail_list_msgs_" i 000101 automatic fixed bin(17,0) dcl 39 in procedure "xmail_list_msgs_" set ref 98* 99* 141* 142* 170* 171* i 000130 automatic fixed bin(17,0) dcl 184 in procedure "a_curr_msg" set ref 188* 189* info_width 000102 automatic fixed bin(17,0) dcl 40 set ref 92* 95* 110* 135* 138* 145* iocb_ptr 000104 automatic pointer dcl 41 set ref 84* 95* 110* 133* 138* 145* 209* 213* iox_$control 000020 constant entry external dcl 57 ref 209 mail_system_$read_message 000022 constant entry external dcl 58 ref 102 mail_system_$set_message_switch 000040 constant entry external dcl 155 ref 173 mailbox based structure level 1 dcl 1-6 mailbox_ptr 000110 automatic pointer dcl 1-30 set ref 82* 86 89 89 98 100 102* 106 131* 143 167* 172 marked_for_deletion 12(02) based bit(1) level 3 packed unaligned dcl 3-15 ref 108 message based structure level 1 dcl 3-15 message_body_section based structure level 1 dcl 3-274 message_envelope based structure level 1 dcl 3-61 message_num 000106 automatic fixed bin(17,0) dcl 42 set ref 99* 100 102* 103* 106 110* 110* 110* 111* 142* 143 145* 171* 172 message_ptr 000112 automatic pointer dcl 3-53 in procedure "xmail_list_msgs_" set ref 106* 108 110* 143* 145* 172* 173* message_ptr 106 based pointer array level 3 in structure "mailbox" dcl 1-6 in procedure "xmail_list_msgs_" ref 100 106 143 172 message_redistribution based structure level 1 dcl 3-122 message_reference based structure level 1 dcl 3-234 message_text_field based structure level 1 dcl 3-260 message_user_field based structure level 1 dcl 3-163 messages 104 based structure array level 2 dcl 1-6 mlsys_utils_$print_message_summary 000024 constant entry external dcl 59 ref 110 145 mlsys_utils_$print_message_summary_header 000026 constant entry external dcl 60 ref 95 138 n_deleted_messages 103 based fixed bin(17,0) level 2 dcl 1-6 ref 89 n_messages 100 based fixed bin(17,0) level 2 dcl 1-6 ref 86 89 98 null builtin function dcl 68 ref 74 100 124 160 186 numbers 2 based fixed bin(17,0) array level 2 dcl 4-8 ref 142 171 189 version 000141 automatic fixed bin(17,0) level 2 dcl 204 set ref 208* width 3 000141 automatic fixed bin(17,0) level 3 dcl 204 set ref 210 window_position_info based structure level 1 unaligned dcl 5-25 window_position_info_version constant fixed bin(17,0) initial dcl 5-35 ref 208 window_width 000140 automatic fixed bin(17,0) dcl 201 set ref 210* 213* 219 221 xmail_err_$all_msgs_deleted 000012 external static fixed bin(35,0) dcl 50 set ref 89* xmail_err_$mailbox_empty 000010 external static fixed bin(35,0) dcl 50 set ref 86* xmail_err_$no_curr_msgs 000014 external static fixed bin(35,0) dcl 50 set ref 124* 160* xmail_error_$code_first 000030 constant entry external dcl 61 ref 86 89 124 160 xmail_error_$no_code 000032 constant entry external dcl 62 ref 71 78 93 96 103 111 122 128 136 139 146 158 164 174 xmail_validate_$curr_msgs 000036 constant entry external dcl 64 ref 77 127 163 xmail_validate_$mbx 000034 constant entry external dcl 63 ref 70 121 157 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. MAILBOX_VERSION_2 internal static char(8) initial unaligned dcl 1-28 MESSAGE_ADDRESS_LIST_USER_FIELD internal static fixed bin(17,0) initial dcl 3-174 MESSAGE_BIT_STRING_BODY_SECTION internal static fixed bin(17,0) initial dcl 3-285 MESSAGE_BODY_SECTION_PARAMETER_VERSION_2 internal static char(8) initial unaligned dcl 3-318 MESSAGE_DATE_USER_FIELD internal static fixed bin(17,0) initial dcl 3-174 MESSAGE_ENVELOPE_PARAMETER_VERSION_2 internal static char(8) initial unaligned dcl 3-79 MESSAGE_INTEGER_USER_FIELD internal static fixed bin(17,0) initial dcl 3-174 MESSAGE_PREFORMATTED_BODY_SECTION internal static fixed bin(17,0) initial dcl 3-285 MESSAGE_REDISTRIBUTIONS_LIST_VERSION_2 internal static char(8) initial unaligned dcl 3-117 MESSAGE_REDISTRIBUTION_PARAMETER_VERSION_2 internal static char(8) initial unaligned dcl 3-144 MESSAGE_REFERENCES_LIST_VERSION_2 internal static char(8) initial unaligned dcl 3-227 MESSAGE_REFERENCE_PARAMETER_VERSION_2 internal static char(8) initial unaligned dcl 3-253 MESSAGE_TEXT_USER_FIELD internal static fixed bin(17,0) initial dcl 3-174 MESSAGE_TRACE_VERSION_2 internal static char(8) initial unaligned dcl 3-103 MESSAGE_USER_FIELDS_LIST_VERSION_2 internal static char(8) initial unaligned dcl 3-158 MESSAGE_USER_FIELD_PARAMETER_VERSION_2 internal static char(8) initial unaligned dcl 3-213 MESSAGE_VERSION_2 internal static char(8) initial unaligned dcl 3-49 MSG_STRUCT_VERSION_1 internal static fixed bin(17,0) initial dcl 4-4 OTHER_MAILBOX internal static fixed bin(17,0) initial dcl 1-37 SAVEBOX internal static fixed bin(17,0) initial dcl 1-37 USER_DEFAULT_MAILBOX internal static fixed bin(17,0) initial dcl 1-37 USER_LOGBOX internal static fixed bin(17,0) initial dcl 1-37 break_table_info based structure level 1 dcl 5-76 break_table_info_version internal static fixed bin(17,0) initial dcl 5-80 break_table_info_version_1 internal static fixed bin(17,0) initial dcl 5-80 break_table_ptr automatic pointer dcl 5-75 get_editor_key_bindings_info based structure level 1 dcl 5-151 get_editor_key_bindings_info_ptr automatic pointer dcl 5-159 get_editor_key_bindings_info_version_1 internal static char(8) initial unaligned dcl 5-160 line_editor_binding_count automatic fixed bin(17,0) dcl 5-121 line_editor_key_binding_info based structure level 1 dcl 5-129 line_editor_key_binding_info_ptr automatic pointer dcl 5-118 line_editor_key_binding_info_version_3 internal static char(8) initial unaligned dcl 5-148 line_editor_longest_sequence automatic fixed bin(17,0) dcl 5-123 mailbox_n_messages automatic fixed bin(17,0) dcl 1-32 message_address_list_user_field based structure level 1 dcl 3-190 message_bit_string_body_section based structure level 1 dcl 3-301 message_bit_string_body_section_bit_string based bit unaligned dcl 3-307 message_body_section_parameter based structure level 1 dcl 3-313 message_body_section_parameter_ptr automatic pointer dcl 3-320 message_body_section_ptr automatic pointer dcl 3-280 message_date_user_field based structure level 1 dcl 3-195 message_envelope_parameter based structure level 1 dcl 3-74 message_envelope_parameter_ptr automatic pointer dcl 3-81 message_envelope_ptr automatic pointer dcl 3-69 message_integer_user_field based structure level 1 dcl 3-200 message_n_body_sections automatic fixed bin(17,0) dcl 3-55 message_n_redistributions automatic fixed bin(17,0) dcl 3-55 message_n_user_fields automatic fixed bin(17,0) dcl 3-55 message_preformatted_body_section based structure level 1 dcl 3-292 message_preformatted_body_section_text based char unaligned dcl 3-298 message_redistribution_comment based char unaligned dcl 3-131 message_redistribution_parameter based structure level 1 dcl 3-139 message_redistribution_parameter_ptr automatic pointer dcl 3-146 message_redistribution_ptr automatic pointer dcl 3-134 message_redistributions_list based structure level 1 dcl 3-109 message_reference_parameter based structure level 1 dcl 3-248 message_reference_parameter_ptr automatic pointer dcl 3-255 message_reference_ptr automatic pointer dcl 3-243 message_reference_subject based char unaligned dcl 3-240 message_references_list based structure level 1 dcl 3-219 message_references_list_n_references automatic fixed bin(17,0) dcl 3-55 message_references_list_ptr automatic pointer dcl 3-229 message_subject based char unaligned dcl 3-51 message_text_field_ptr automatic pointer dcl 3-270 message_text_field_text based char unaligned dcl 3-268 message_text_user_field based structure level 1 dcl 3-183 message_text_user_field_text based char unaligned dcl 3-187 message_trace based structure level 1 dcl 3-87 message_trace_n_relays automatic fixed bin(17,0) dcl 3-55 message_trace_ptr automatic pointer dcl 3-105 message_user_field_parameter based structure level 1 dcl 3-208 message_user_field_parameter_ptr automatic pointer dcl 3-215 message_user_field_ptr automatic pointer dcl 3-169 message_user_fields_list based structure level 1 dcl 3-150 more_handler_info based structure level 1 dcl 5-83 more_handler_info_ptr automatic pointer dcl 5-92 more_handler_info_version internal static fixed bin(17,0) initial dcl 5-94 more_handler_info_version_3 internal static fixed bin(17,0) initial dcl 5-94 more_prompt_info based structure level 1 dcl 5-108 more_prompt_info_ptr automatic pointer dcl 5-112 more_prompt_info_version_1 internal static char(8) initial unaligned dcl 5-114 more_responses_info based structure level 1 dcl 5-59 more_responses_info_ptr automatic pointer dcl 5-69 more_responses_info_version_1 internal static fixed bin(17,0) initial dcl 5-67 more_responses_version internal static fixed bin(17,0) initial dcl 5-67 msg_struct based structure level 1 unaligned dcl 4-22 msg_structp automatic pointer dcl 4-20 n_messages automatic fixed bin(17,0) dcl 4-3 nonexist_msgs based structure level 1 unaligned dcl 4-15 nonexist_msgsp automatic pointer dcl 4-13 set_editor_key_bindings_info based structure level 1 dcl 5-162 set_editor_key_bindings_info_ptr automatic pointer dcl 5-171 set_editor_key_bindings_info_version_1 internal static char(8) initial unaligned dcl 5-172 token_characters_info based structure level 1 dcl 5-97 token_characters_info_ptr automatic pointer dcl 5-104 token_characters_info_version_1 internal static char(8) initial unaligned dcl 5-106 window_edit_line_info based structure level 1 unaligned dcl 5-177 window_edit_line_info_ptr automatic pointer dcl 5-186 window_edit_line_info_version_1 internal static char(8) initial unaligned dcl 5-183 window_position_info_ptr automatic pointer dcl 5-37 window_position_info_version_1 internal static fixed bin(17,0) initial dcl 5-35 window_status_info based structure level 1 dcl 5-45 window_status_info_ptr automatic pointer dcl 5-43 window_status_version internal static fixed bin(17,0) initial dcl 5-52 window_status_version_1 internal static fixed bin(17,0) initial dcl 5-52 NAMES DECLARED BY EXPLICIT CONTEXT. EXIT 000740 constant label dcl 115 a_curr_msg 001615 constant entry internal dcl 181 ref 110 110 calc_info_width 001652 constant entry internal dcl 197 ref 92 135 selected 000743 constant entry external dcl 119 set_seen_switch 001341 constant entry external dcl 152 xmail_list_msgs_ 000230 constant entry external dcl 24 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2224 2270 1764 2234 Length 2614 1764 44 307 240 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xmail_list_msgs_ 231 external procedure is an external procedure. a_curr_msg internal procedure shares stack frame of external procedure xmail_list_msgs_. calc_info_width internal procedure shares stack frame of external procedure xmail_list_msgs_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME xmail_list_msgs_ 000100 code xmail_list_msgs_ 000101 i xmail_list_msgs_ 000102 info_width xmail_list_msgs_ 000104 iocb_ptr xmail_list_msgs_ 000106 message_num xmail_list_msgs_ 000110 mailbox_ptr xmail_list_msgs_ 000112 message_ptr xmail_list_msgs_ 000114 curr_msgsp xmail_list_msgs_ 000130 i a_curr_msg 000140 window_width calc_info_width 000141 auto_window_position_info calc_info_width THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. get_line_length_$switch iox_$control mail_system_$read_message mail_system_$set_message_switch mlsys_utils_$print_message_summary mlsys_utils_$print_message_summary_header xmail_error_$code_first xmail_error_$no_code xmail_validate_$curr_msgs xmail_validate_$mbx THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$no_operation xmail_err_$all_msgs_deleted xmail_err_$mailbox_empty xmail_err_$no_curr_msgs LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 24 000224 70 000235 71 000246 74 000302 77 000310 78 000321 82 000355 83 000361 84 000364 86 000367 89 000414 92 000443 93 000445 95 000501 96 000514 98 000550 99 000561 100 000562 102 000570 103 000603 106 000643 108 000650 110 000653 111 000676 114 000736 115 000740 119 000741 121 000750 122 000762 124 001016 127 001047 128 001060 131 001114 132 001120 133 001123 135 001126 136 001130 138 001164 139 001177 141 001233 142 001243 143 001246 145 001252 146 001276 148 001332 150 001334 152 001335 157 001346 158 001360 160 001414 163 001445 164 001456 167 001512 168 001516 170 001521 171 001531 172 001534 173 001540 174 001556 175 001612 176 001614 181 001615 186 001617 188 001625 189 001635 191 001645 193 001647 197 001652 206 001654 208 001655 209 001657 210 001712 211 001720 213 001723 214 001736 219 001740 221 001745 223 001747 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved