COMPILATION LISTING OF SEGMENT sdm_debug_requests_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 05/22/86 1043.0 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 /* format: off */ 8 9 /* Debugging requests for the send_mail subsystem */ 10 11 /* Created: October 1982 by G. Palter */ 12 /* Modified: 5 September 1983 by G. Palter as part of the conversion to the new mail system interface */ 13 14 /* format: on,style4,delnl,insnl,ifthenstmt,ifthen */ 15 16 17 sdm_debug_requests_: 18 procedure (P_sci_ptr, P_sdm_invocation_ptr); 19 20 put file (sdm_debug_) data; /* forces a full symbol table ... */ 21 22 return; /* ... but not really an entrypoint */ 23 24 25 dcl P_sci_ptr pointer parameter; 26 dcl P_sdm_invocation_ptr pointer parameter; 27 28 dcl sci_ptr pointer; 29 30 dcl argument character (argument_lth) unaligned based (argument_ptr); 31 dcl argument_ptr pointer; 32 dcl argument_lth fixed binary (21); 33 dcl (n_arguments, argument_idx) fixed binary; 34 35 dcl new_debug_mode bit (1) aligned; 36 dcl code fixed binary (35); 37 38 dcl sdm_debug_ file stream internal; 39 40 dcl error_table_$bad_arg fixed binary (35) external; 41 dcl error_table_$badopt fixed binary (35) external; 42 43 dcl sdm_set_request_tables_ entry (pointer, fixed binary (35)); 44 dcl ssu_$abort_line entry () options (variable); 45 dcl ssu_$arg_count entry (pointer, fixed binary); 46 dcl ssu_$arg_ptr entry (pointer, fixed binary, pointer, fixed binary (21)); 47 dcl ssu_$set_debug_mode entry (pointer, bit (1) aligned); 48 dcl probe entry () options (variable); 49 50 dcl index builtin; 51 52 /* The "debug_mode" request: enables/disables send_mail debugging facilities */ 53 54 debug_mode: 55 entry (P_sci_ptr, P_sdm_invocation_ptr); 56 57 sci_ptr = P_sci_ptr; 58 sdm_invocation_ptr = P_sdm_invocation_ptr; 59 60 new_debug_mode = "1"b; /* defaults to turn on debug_mode */ 61 62 call ssu_$arg_count (sci_ptr, n_arguments); 63 64 do argument_idx = 1 to n_arguments; 65 call ssu_$arg_ptr (sci_ptr, argument_idx, argument_ptr, argument_lth); 66 if index (argument, "-") = 1 then /* a control argument */ 67 if argument = "-on" then new_debug_mode = "1"b; 68 else if argument = "-off" then new_debug_mode = "0"b; 69 else call ssu_$abort_line (sci_ptr, error_table_$badopt, """^a""", argument); 70 else call ssu_$abort_line (sci_ptr, error_table_$bad_arg, 71 "This request only accepts control arguments. ""^a""", argument); 72 end; 73 74 sdm_invocation.debug_mode = new_debug_mode; 75 76 call ssu_$set_debug_mode (sci_ptr, (sdm_invocation.debug_mode)); 77 /* keep ssu_ in step */ 78 79 call sdm_set_request_tables_ (sdm_invocation_ptr, code); 80 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "Setting subsystem request tables."); 81 82 return; 83 84 /* The "probe" request: invokes the probe symbolic debugger in a stack frame with all relavent data structure available */ 85 86 probe: 87 entry (P_sci_ptr, P_sdm_invocation_ptr); 88 89 sci_ptr = P_sci_ptr; 90 sdm_invocation_ptr = P_sdm_invocation_ptr; 91 92 call ssu_$arg_count (sci_ptr, n_arguments); 93 if n_arguments ^= 0 then call ssu_$abort_line (sci_ptr, 0, "No arguments may be supplied."); 94 95 call probe (); 96 97 return; 98 1 1 /* BEGIN INCLUDE FILE ... sdm_invocation.incl.pl1 */ 1 2 /* Created: August 1983 by G. Palter from portions of emf_info.incl.pl1 */ 1 3 1 4 /* Definition of a single invocation of send_mail */ 1 5 1 6 dcl 1 sdm_invocation aligned based (sdm_invocation_ptr), 1 7 2 type character (8), /* defines this structure as a send_mail invocation */ 1 8 2 sci_ptr pointer, /* -> subsystem utilities invocation data */ 1 9 2 area_ptr pointer, /* -> area to be used by the subsystem */ 1 10 1 11 2 message_info, /* information about the message being constructed */ 1 12 3 message_ptr pointer, /* ... -> the actual message */ 1 13 3 message_state fixed binary, /* ... unprocessed/modified/processed: controls quit query */ 1 14 3 date_time_body_modified fixed binary (71), /* ... last date/time the message body was changed: used to 1 15* display Date/Message-ID fields before transmission */ 1 16 1 17 2 fill_width fixed binary, /* default line length for message filling */ 1 18 2 flags, 1 19 3 brief bit (1) unaligned, /* ON => suppress "Mail delivered..." messages */ 1 20 3 acknowledge bit (1) unaligned, /* ON => user wants acknowledgement from recipients */ 1 21 3 notify bit (1) unaligned, /* ON => send each recipient a notification of delivery */ 1 22 3 fill bit (1) unaligned, /* ON => fill message body whenever modified */ 1 23 3 debug_mode bit (1) unaligned, /* ON => debugging features enabled */ 1 24 3 auto_write bit (1) unaligned, 1 25 3 pad bit (30) unaligned, /* ON => qedx request automatically rewrites on quit (sigh) */ 1 26 1 27 2 rdm_invocation_ptr pointer, /* -> description of read_mail invocation whose reply request 1 28* created this send_mail invocation */ 1 29 1 30 2 original_messages_ptr pointer, /* -> current list of original messages from which the 1 31* In-Reply-To field is to be regenerated after use of 1 32* qedx/apply -header */ 1 33 1 34 2 abort_code fixed binary (35); /* indicates whether send_mail exited with unsent message */ 1 35 1 36 dcl SDM_INVOCATION character (8) static options (constant) initial ("sdm_0008"); 1 37 1 38 dcl sdm_invocation_ptr pointer; 1 39 1 40 dcl sdm_area area based (sdm_invocation.area_ptr); 1 41 1 42 1 43 /* Possible message states: indicate whether the message has been modified in some way since it was last successfully 1 44* transmitted, logged, saved, or writen. This state is used by the quit request to control whether it should query the 1 45* user for permission to exit send_mail */ 1 46 1 47 dcl (UNPROCESSED_MESSAGE initial (-1), /* message has never been transmitted/logged/saved/written */ 1 48 1 49 MODIFIED_MESSAGE initial (1), /* message was transmitted/logged/saved/written but has been 1 50* modified since the last such operation */ 1 51 1 52 PROCESSED_MESSAGE initial (0)) /* message was transmitted/logged/saved/written and hasn't 1 53* been modified since that operation: OK to quit without 1 54* having to ask for the user's permission */ 1 55 fixed binary static options (constant); 1 56 1 57 /* END INCLUDE FILE ... sdm_invocation.incl.pl1 */ 99 100 2 1 /* BEGIN INCLUDE FILE ... sdm_original_messages.incl.pl1 */ 2 2 /* Created: August 1983 by G. Palter */ 2 3 2 4 /* Definition of the list of original messages for which this message is a reply: send_mail must keep track of this list 2 5* separately from the copy in the message itself as, when qedx/apply -header is used, the mail system can not convert the 2 6* printed representation of the In-Reply-To field back into its internal form; therefore, send_mail will delete the the 2 7* list of reply references from the message before allowing the user to edit the message and will restore the list on 2 8* return from the editor. This list is also used by callers of the send_mail subsystem (ie: read_mail's reply request) 2 9* to supply the initial content for the reply references of the message; if requested, send_mail will extract the message 2 10* body from these message(s) for inclusion in the body of the message being created by the user */ 2 11 2 12 dcl 1 original_messages aligned based (original_messages_ptr), 2 13 2 version character (8) unaligned, 2 14 2 pad bit (36), 2 15 2 n_original_messages fixed binary, /* # of original messages listed herein */ 2 16 2 messages (original_messages_n_original_messages refer (original_messages.n_original_messages)), 2 17 3 message_ptr pointer, /* ... -> the message */ 2 18 3 message_idx fixed binary, /* ... # assigned to the message by read_mail */ 2 19 3 pad bit (36); 2 20 2 21 dcl ORIGINAL_MESSAGES_VERSION_1 character (8) static options (constant) initial ("sdmoml01"); 2 22 2 23 dcl original_messages_n_original_messages fixed binary; /* required to allocate the above structure */ 2 24 2 25 dcl original_messages_ptr pointer; 2 26 2 27 2 28 /* END INCLUDE FILE ... sdm_original_messages.incl.pl1 */ 101 102 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 */ 103 104 4 1 /* BEGIN INCLUDE FILE ... mlsys_address_list.incl.pl1 */ 4 2 /* Created: June 1983 by G. Palter */ 4 3 4 4 /* Definition of an address list -- a collection of addresses used as the value of certain message fields, etc. */ 4 5 4 6 dcl 1 address_list aligned based (address_list_ptr), 4 7 2 version character (8) unaligned, 4 8 2 reserved bit (144), /* ... exclusively for use by the mail system */ 4 9 2 n_addresses fixed binary, /* # of address in this list */ 4 10 2 addresses (address_list_n_addresses refer (address_list.n_addresses)) pointer; 4 11 4 12 dcl ADDRESS_LIST_VERSION_2 character (8) static options (constant) initial ("mlsals02"); 4 13 4 14 dcl address_list_ptr pointer; 4 15 4 16 dcl address_list_n_addresses fixed binary; /* reserved exclusively for use by the mail system */ 4 17 4 18 /* END INCLUDE FILE ... mlsys_address_list.incl.pl1 */ 105 106 107 end sdm_debug_requests_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/22/86 1010.8 sdm_debug_requests_.pl1 >spec>install>1059>sdm_debug_requests_.pl1 99 1 10/27/83 2104.2 sdm_invocation.incl.pl1 >ldd>include>sdm_invocation.incl.pl1 101 2 10/27/83 2104.3 sdm_original_messages.incl.pl1 >ldd>include>sdm_original_messages.incl.pl1 103 3 05/22/86 1005.9 mlsys_message.incl.pl1 >spec>install>1059>mlsys_message.incl.pl1 105 4 10/27/83 2104.2 mlsys_address_list.incl.pl1 >ldd>include>mlsys_address_list.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. P_sci_ptr parameter pointer dcl 25 ref 17 54 57 86 89 P_sdm_invocation_ptr parameter pointer dcl 26 ref 17 54 58 86 90 address_list based structure level 1 dcl 4-6 address_list_ptr 000162 automatic pointer dcl 4-14 ref 4-6 4-6 4-6 4-6 4-6 area_ptr 4 based pointer level 2 dcl 1-6 ref 1-40 argument based char unaligned dcl 30 set ref 66 66 68 69* 70* argument_idx 000106 automatic fixed bin(17,0) dcl 33 set ref 64* 65* argument_lth 000104 automatic fixed bin(21,0) dcl 32 set ref 30 65* 66 66 68 69 69 70 70 argument_ptr 000102 automatic pointer dcl 31 set ref 30 65* 66 66 68 69 70 bit_string_lth 4 based fixed bin(24,0) level 2 dcl 3-301 ref 3-307 bit_string_ptr 2 based pointer level 2 dcl 3-301 ref 3-307 code 000110 automatic fixed bin(35,0) dcl 36 set ref 79* 80 80* comment 24 based structure level 3 dcl 3-122 debug_mode 15(04) based bit(1) level 3 packed unaligned dcl 1-6 set ref 74* 76 error_table_$bad_arg 000462 external static fixed bin(35,0) dcl 40 set ref 70* error_table_$badopt 000464 external static fixed bin(35,0) dcl 41 set ref 69* flags 15 based structure level 2 dcl 1-6 header based structure level 2 in structure "message_user_field" dcl 3-163 in procedure "sdm_debug_requests_" header 10 based structure array level 3 in structure "message_user_fields_list" dcl 3-150 in procedure "sdm_debug_requests_" header based structure level 2 in structure "message_body_section" dcl 3-274 in procedure "sdm_debug_requests_" header 4 based structure level 3 in structure "message_body_section_parameter" dcl 3-313 in procedure "sdm_debug_requests_" header 30 based structure level 2 in structure "message" dcl 3-15 in procedure "sdm_debug_requests_" header 14 based structure level 2 in structure "message_redistribution" dcl 3-122 in procedure "sdm_debug_requests_" header 64 based structure array level 4 in structure "message" dcl 3-15 in procedure "sdm_debug_requests_" header 4 based structure level 3 in structure "message_user_field_parameter" dcl 3-208 in procedure "sdm_debug_requests_" index builtin function dcl 50 ref 66 message based structure level 1 dcl 3-15 message_bit_string_body_section based structure level 1 dcl 3-301 message_body_section based structure level 1 dcl 3-274 message_body_section_parameter_ptr 000160 automatic pointer dcl 3-320 ref 3-313 3-313 3-313 3-313 3-313 3-313 3-313 3-313 message_body_section_ptr 000156 automatic pointer dcl 3-280 ref 3-274 3-274 3-274 3-274 3-274 3-292 3-292 3-292 3-292 3-292 3-292 3-292 3-301 3-301 3-301 3-301 3-301 3-301 3-301 message_envelope based structure level 1 dcl 3-61 message_envelope_parameter_ptr 000132 automatic pointer dcl 3-81 ref 3-74 3-74 3-74 3-74 3-74 3-74 3-74 3-74 3-74 3-74 message_envelope_ptr 000130 automatic pointer dcl 3-69 ref 3-61 3-61 3-61 3-61 3-61 3-61 3-61 message_preformatted_body_section based structure level 1 dcl 3-292 message_ptr 000120 automatic pointer dcl 3-53 ref 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 3-15 message_redistribution based structure level 1 dcl 3-122 message_redistribution_parameter_ptr 000140 automatic pointer dcl 3-146 ref 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 3-139 message_redistribution_ptr 000136 automatic pointer dcl 3-134 ref 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 3-122 message_redistributions_list based structure level 1 dcl 3-109 message_reference based structure level 1 dcl 3-234 message_reference_parameter_ptr 000152 automatic pointer dcl 3-255 ref 3-248 3-248 3-248 3-248 3-248 3-248 3-248 3-248 3-248 3-248 3-248 3-248 3-248 message_reference_ptr 000150 automatic pointer dcl 3-243 ref 3-234 3-234 3-234 3-234 3-234 3-234 3-234 3-234 3-234 3-234 message_references_list based structure level 1 dcl 3-219 message_references_list_ptr 000146 automatic pointer dcl 3-229 ref 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 message_text_field based structure level 1 dcl 3-260 message_text_field_ptr 000154 automatic pointer dcl 3-270 ref 3-260 3-260 3-260 3-260 3-260 3-260 message_text_user_field based structure level 1 dcl 3-183 message_trace based structure level 1 dcl 3-87 message_trace_ptr 000134 automatic pointer dcl 3-105 ref 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 message_user_field based structure level 1 dcl 3-163 message_user_field_parameter_ptr 000144 automatic pointer dcl 3-215 ref 3-208 3-208 3-208 3-208 3-208 3-208 3-208 3-208 message_user_field_ptr 000142 automatic pointer dcl 3-169 ref 3-163 3-163 3-163 3-163 3-163 3-183 3-183 3-183 3-183 3-183 3-183 3-183 3-183 3-183 3-183 3-190 3-190 3-190 3-190 3-190 3-190 3-195 3-195 3-195 3-195 3-195 3-195 3-200 3-200 3-200 3-200 3-200 3-200 message_user_fields_list based structure level 1 dcl 3-150 n_addresses 6 based fixed bin(17,0) level 2 dcl 4-6 ref 4-6 n_arguments 000105 automatic fixed bin(17,0) dcl 33 set ref 62* 64 92* 93 n_body_sections 11 based fixed bin(17,0) level 2 dcl 3-15 ref 3-15 3-15 3-15 3-15 3-15 n_original_messages 3 based fixed bin(17,0) level 2 dcl 2-12 ref 2-12 2-12 2-12 2-12 n_redistributions 7 based fixed bin(17,0) level 2 dcl 3-109 ref 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 n_references 7 based fixed bin(17,0) level 2 dcl 3-219 ref 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 3-219 n_relays 11 based fixed bin(17,0) level 2 dcl 3-87 ref 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 3-87 n_user_fields 7 based fixed bin(17,0) level 2 dcl 3-150 ref 3-150 3-150 3-150 3-150 3-150 new_debug_mode 000107 automatic bit(1) dcl 35 set ref 60* 66* 68* 74 original_messages based structure level 1 dcl 2-12 original_messages_ptr 000116 automatic pointer dcl 2-25 ref 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 probe 000500 constant entry external dcl 48 ref 95 redistributions_list 60 based pointer level 2 dcl 3-15 ref 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 3-109 sci_ptr 000100 automatic pointer dcl 28 set ref 57* 62* 65* 69* 70* 76* 80* 89* 92* 93* sdm_debug_ 000010 constant file stream dcl 38 set ref 20* sdm_invocation based structure level 1 dcl 1-6 sdm_invocation_ptr 000112 automatic pointer dcl 1-38 set ref 58* 74 76 79* 90* 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 1-6 sdm_set_request_tables_ 000466 constant entry external dcl 43 ref 79 ssu_$abort_line 000470 constant entry external dcl 44 ref 69 70 80 93 ssu_$arg_count 000472 constant entry external dcl 45 ref 62 92 ssu_$arg_ptr 000474 constant entry external dcl 46 ref 65 ssu_$set_debug_mode 000476 constant entry external dcl 47 ref 76 subject 6 based structure level 2 in structure "message_reference" dcl 3-234 in procedure "sdm_debug_requests_" subject 50 based structure level 3 in structure "message" dcl 3-15 in procedure "sdm_debug_requests_" text 2 based structure level 2 dcl 3-183 text_lth 2 based fixed bin(21,0) level 2 in structure "message_text_field" dcl 3-260 in procedure "sdm_debug_requests_" ref 3-268 text_lth 26 based fixed bin(21,0) level 4 in structure "message_redistribution" dcl 3-122 in procedure "sdm_debug_requests_" ref 3-131 text_lth 4 based fixed bin(21,0) level 3 in structure "message_text_user_field" dcl 3-183 in procedure "sdm_debug_requests_" ref 3-187 text_lth 52 based fixed bin(21,0) level 4 in structure "message" dcl 3-15 in procedure "sdm_debug_requests_" ref 3-51 text_lth 4 based fixed bin(21,0) level 2 in structure "message_preformatted_body_section" dcl 3-292 in procedure "sdm_debug_requests_" ref 3-298 text_lth 10 based fixed bin(21,0) level 3 in structure "message_reference" dcl 3-234 in procedure "sdm_debug_requests_" ref 3-240 text_ptr 6 based pointer level 3 in structure "message_reference" dcl 3-234 in procedure "sdm_debug_requests_" ref 3-240 text_ptr based pointer level 2 in structure "message_text_field" dcl 3-260 in procedure "sdm_debug_requests_" ref 3-268 text_ptr 2 based pointer level 2 in structure "message_preformatted_body_section" dcl 3-292 in procedure "sdm_debug_requests_" ref 3-298 text_ptr 24 based pointer level 4 in structure "message_redistribution" dcl 3-122 in procedure "sdm_debug_requests_" ref 3-131 text_ptr 50 based pointer level 4 in structure "message" dcl 3-15 in procedure "sdm_debug_requests_" ref 3-51 text_ptr 2 based pointer level 3 in structure "message_text_user_field" dcl 3-183 in procedure "sdm_debug_requests_" ref 3-187 user_fields_list 56 based pointer level 3 dcl 3-15 ref 3-150 3-150 3-150 3-150 3-150 3-150 3-150 3-150 3-150 3-150 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ADDRESS_LIST_VERSION_2 constant char(8) initial unaligned dcl 4-12 MESSAGE_ADDRESS_LIST_USER_FIELD constant fixed bin(17,0) initial dcl 3-174 MESSAGE_BIT_STRING_BODY_SECTION constant fixed bin(17,0) initial dcl 3-285 MESSAGE_BODY_SECTION_PARAMETER_VERSION_2 constant char(8) initial unaligned dcl 3-318 MESSAGE_DATE_USER_FIELD constant fixed bin(17,0) initial dcl 3-174 MESSAGE_ENVELOPE_PARAMETER_VERSION_2 constant char(8) initial unaligned dcl 3-79 MESSAGE_INTEGER_USER_FIELD constant fixed bin(17,0) initial dcl 3-174 MESSAGE_PREFORMATTED_BODY_SECTION constant fixed bin(17,0) initial dcl 3-285 MESSAGE_REDISTRIBUTIONS_LIST_VERSION_2 constant char(8) initial unaligned dcl 3-117 MESSAGE_REDISTRIBUTION_PARAMETER_VERSION_2 constant char(8) initial unaligned dcl 3-144 MESSAGE_REFERENCES_LIST_VERSION_2 constant char(8) initial unaligned dcl 3-227 MESSAGE_REFERENCE_PARAMETER_VERSION_2 constant char(8) initial unaligned dcl 3-253 MESSAGE_TEXT_USER_FIELD constant fixed bin(17,0) initial dcl 3-174 MESSAGE_TRACE_VERSION_2 constant char(8) initial unaligned dcl 3-103 MESSAGE_USER_FIELDS_LIST_VERSION_2 constant char(8) initial unaligned dcl 3-158 MESSAGE_USER_FIELD_PARAMETER_VERSION_2 constant char(8) initial unaligned dcl 3-213 MESSAGE_VERSION_2 constant char(8) initial unaligned dcl 3-49 MODIFIED_MESSAGE constant fixed bin(17,0) initial dcl 1-47 ORIGINAL_MESSAGES_VERSION_1 constant char(8) initial unaligned dcl 2-21 PROCESSED_MESSAGE constant fixed bin(17,0) initial dcl 1-47 SDM_INVOCATION constant char(8) initial unaligned dcl 1-36 UNPROCESSED_MESSAGE constant fixed bin(17,0) initial dcl 1-47 address_list_n_addresses 000164 automatic fixed bin(17,0) dcl 4-16 message_address_list_user_field based structure level 1 dcl 3-190 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_date_user_field based structure level 1 dcl 3-195 message_envelope_parameter based structure level 1 dcl 3-74 message_integer_user_field based structure level 1 dcl 3-200 message_n_body_sections 000122 automatic fixed bin(17,0) dcl 3-55 message_n_redistributions 000124 automatic fixed bin(17,0) dcl 3-55 message_n_user_fields 000125 automatic fixed bin(17,0) dcl 3-55 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_reference_parameter based structure level 1 dcl 3-248 message_reference_subject based char unaligned dcl 3-240 message_references_list_n_references 000126 automatic fixed bin(17,0) dcl 3-55 message_subject based char unaligned dcl 3-51 message_text_field_text based char unaligned dcl 3-268 message_text_user_field_text based char unaligned dcl 3-187 message_trace_n_relays 000123 automatic fixed bin(17,0) dcl 3-55 message_user_field_parameter based structure level 1 dcl 3-208 original_messages_n_original_messages 000114 automatic fixed bin(17,0) dcl 2-23 sdm_area based area(1024) dcl 1-40 NAMES DECLARED BY EXPLICIT CONTEXT. debug_mode 000143 constant entry external dcl 54 probe 000426 constant entry external dcl 86 sdm_debug_requests_ 000122 constant entry external dcl 17 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 642 1344 511 652 Length 10372 511 502 7011 130 450 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME sdm_debug_requests_ 230 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME sdm_debug_requests_ 000100 sci_ptr sdm_debug_requests_ 000102 argument_ptr sdm_debug_requests_ 000104 argument_lth sdm_debug_requests_ 000105 n_arguments sdm_debug_requests_ 000106 argument_idx sdm_debug_requests_ 000107 new_debug_mode sdm_debug_requests_ 000110 code sdm_debug_requests_ 000112 sdm_invocation_ptr sdm_debug_requests_ 000114 original_messages_n_original_messages sdm_debug_requests_ 000116 original_messages_ptr sdm_debug_requests_ 000120 message_ptr sdm_debug_requests_ 000122 message_n_body_sections sdm_debug_requests_ 000123 message_trace_n_relays sdm_debug_requests_ 000124 message_n_redistributions sdm_debug_requests_ 000125 message_n_user_fields sdm_debug_requests_ 000126 message_references_list_n_references sdm_debug_requests_ 000130 message_envelope_ptr sdm_debug_requests_ 000132 message_envelope_parameter_ptr sdm_debug_requests_ 000134 message_trace_ptr sdm_debug_requests_ 000136 message_redistribution_ptr sdm_debug_requests_ 000140 message_redistribution_parameter_ptr sdm_debug_requests_ 000142 message_user_field_ptr sdm_debug_requests_ 000144 message_user_field_parameter_ptr sdm_debug_requests_ 000146 message_references_list_ptr sdm_debug_requests_ 000150 message_reference_ptr sdm_debug_requests_ 000152 message_reference_parameter_ptr sdm_debug_requests_ 000154 message_text_field_ptr sdm_debug_requests_ 000156 message_body_section_ptr sdm_debug_requests_ 000160 message_body_section_parameter_ptr sdm_debug_requests_ 000162 address_list_ptr sdm_debug_requests_ 000164 address_list_n_addresses sdm_debug_requests_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry put_end stream_io THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. probe sdm_set_request_tables_ ssu_$abort_line ssu_$arg_count ssu_$arg_ptr ssu_$set_debug_mode THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$badopt LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 38 000101 17 000116 20 000130 22 000140 54 000141 57 000151 58 000155 60 000160 62 000162 64 000173 65 000203 66 000220 68 000243 69 000251 70 000304 72 000337 74 000341 76 000347 79 000364 80 000375 82 000423 86 000424 89 000434 90 000440 92 000443 93 000454 95 000503 97 000510 ----------------------------------------------------------- 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