COMPILATION LISTING OF SEGMENT xmail_send_mail_print_msg_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 09/02/88 0746.1 mst Fri 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 /* Begin xmail_send_mail_print_msg_ */ 11 /* Written by R. Ignagni July 1981 12* 13* 83-06-20 DJ Schimke: Modified to use new mail_system calls and version 2 14* mailboxes. Changed code to use xmail_data.mail_dir rather than determining 15* this pathname for itself. 16**/ 17 xmail_send_mail_print_msg_: proc (); 18 19 /* Proc called as consequence of user having selected the "Print" option 20*in the Send Mail menu. The message is first placed in a temporary "screech" 21*mailbox and then dprinted. It is initially placed in a mailbox so that the 22*printing of all Exec Mail messages (from whatever menu) look exactly the same, 23*i.e., the format of a msg in mailbox. */ 24 25 /* Constant */ 26 27 dcl CREATE_IF_NOT_FOUND bit (1) aligned static options (constant) init ("1"b); 28 dcl DELETE_SEG_FORCE_CHASE bit (6) static options (constant) init ("100101"b); 29 dcl NAME char (26) static options (constant) init ("xmail_send_mail_print_msg_"); 30 dcl STOP char (1) static options (constant) init ("q"); 31 dcl ERROR_MESSAGE char (65) static options (constant) init ("A program error has occurred. Cannot continue. Returning to menu."); 32 33 /* Automatic */ 34 35 dcl code fixed bin (35); 36 dcl svmbx_dir char (168); 37 dcl temporary_mailbox_name char (15); 38 39 dcl 1 auto_open_options like open_options; 40 dcl 1 auto_close_options like close_options; 41 42 /* Entries */ 43 44 dcl delete_$path entry (char (*), char (*), bit (6), char (*), fixed bin (35)); 45 dcl ioa_ entry () options (variable); 46 dcl mail_system_$close_mailbox entry (ptr, ptr, fixed bin (35)); 47 dcl mail_system_$open_mailbox entry (char (*), char (*), ptr, char (8), ptr, fixed bin (35)); 48 dcl mail_system_$save_message entry (ptr, char (*), char (*), bit (1) aligned, fixed bin (35)); 49 dcl unique_chars_ entry (bit (*)) returns (char (15)); 50 dcl xmail_error_$no_code entry () options (variable); 51 dcl xmail_dprint_msgs_ entry (ptr, ptr); 52 dcl xmail_select_msgs_$first entry (ptr, ptr, char (*)); 53 54 /* Builtin */ 55 56 dcl (addr, null) builtin; 57 58 /* Error codes */ 59 60 dcl mlsys_et_$savebox_created ext static fixed bin (35); 61 62 /* Conditions */ 63 64 dcl (quit, cleanup) condition; 65 66 /* Include */ 67 68 1 1 /* BEGIN INCLUDE FILE ... xmail_send_mail.incl.pl1 */ 1 2 1 3 /****^ HISTORY COMMENTS: 1 4* 1) change(87-08-10,Blair), approve(87-12-17,MCR7818), 1 5* audit(87-12-23,LJAdams), install(88-01-12,MR12.2-1013): 1 6* Add pointer for reply_to field. 1 7* END HISTORY COMMENTS */ 1 8 1 9 /* Created by R. Ignagni July 1981 */ 1 10 1 11 /* 84-08-06 JG Backs: Modified to add pointer for bcc. */ 1 12 1 13 dcl 1 send_mail_info aligned based (send_mail_info_ptr), 1 14 2 msg_exists bit (1), /* ON = new message exists */ 1 15 2 stored_seg_ptr ptr, /* ptr to stored msg seg */ 1 16 2 emacs_seg_ptr ptr, /* ptr to seg containing msg */ 1 17 2 new_msg_ptr ptr, /* ptr to new_msg structure */ 1 18 2 reply_to_list_ptr ptr, /* ptr to reply_to addr struct */ 1 19 2 to_list_ptr ptr, /* ptr to recipients addr struct */ 1 20 2 cc_list_ptr ptr, /* ptr to cc address structure */ 1 21 2 bcc_list_ptr ptr, /* ptr to bcc address structure */ 1 22 2 send_mail_area_ptr ptr, /* ptr to send_mail_area */ 1 23 2 emacs_seg_pathname char (168); 1 24 1 25 1 26 dcl send_mail_info_ptr ptr external static init (null); 1 27 1 28 /* END INCLUDE FILE xmail_send_mail.inl.pl1 */ 69 70 2 1 /* BEGIN INCLUDE FILE: xmail_data.incl.pl1 */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(85-12-20,Blair), approve(86-03-06,MCR7358), 2 6* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 7* Modified 03/15/85 by Joanne Backs adding confirm_print flag. 2 8* 2) change(85-12-20,LJAdams), approve(86-03-06,MCR7358), 2 9* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 10* Adding switch to indicate request for menu display came from general help. 2 11* This is so general help menu will be displayed in top screen. 2 12* 3) change(86-01-10,Blair), approve(86-03-06,MCR7358), 2 13* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 14* Add switch to indicate whether or not it is permissible to process mail 2 15* in other users' mailboxes (foreign_mailbox). 2 16* 4) change(86-01-13,Blair), approve(86-03-06,MCR7358), 2 17* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 18* Add bit to indicate whether or not this is a true cleanup condition. 2 19* 5) change(86-02-06,Blair), approve(86-03-06,MCR7358), 2 20* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 21* Rearrange to group all the bit flags together in one word with a pad. 2 22* 6) change(86-03-05,Blair), approve(86-03-05,MCR7358), 2 23* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 24* Change value_seg ptr to value_seg_pathname to avoid the situation where 2 25* you keep around a pointer to a structure which no longer exists. 2 26* 7) change(87-01-16,Blair), approve(87-02-05,MCR7618), 2 27* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 2 28* Add a field to indicate whether or not we should process interactive msgs. 2 29* Increment version to 4.1 so default value will get set. 2 30* 8) change(87-02-13,Blair), approve(87-02-13,MCR7618), 2 31* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 2 32* Add a field to indicate whether or not we're processing a reply so that we 2 33* will be able to rebuild the screens properly after a disconnect occurs. 2 34* Error_list #114. 2 35* 9) change(88-07-26,Blair), approve(88-07-26,MCR7959), 2 36* audit(88-08-25,RBarstad), install(88-09-02,MR12.2-1098): 2 37* Add a bit to indicate whether or not the error segment had to be created 2 38* in the pdir (because we didn't have sma access to the mlsys_dir). 2 39* END HISTORY COMMENTS */ 2 40 2 41 2 42 /* Written 5/13/81 by Paul H. Kyzivat */ 2 43 /* Modified 12/16/81 by S. Krupp to delete unused parts of structure 2 44* and to add n_fkeys_used */ 2 45 /* Modified 12/14/82 by Dave Schimke to make the xmail version a 10 character 2 46* varying string. */ 2 47 /* Modified 09/12/83 by Dave Schimke adding interactive_msgs flag */ 2 48 /* Modified 09/14/83 by Dave Schimke adding moved_user_io */ 2 49 /* Modified 09/06/84 by Joanne Backs adding lists_as_menus flag */ 2 50 /* Modified 09/21/84 by Joanne Backs adding remove_menus flag */ 2 51 2 52 dcl xmail_data_ptr external static ptr init (null); 2 53 2 54 dcl 1 xmail_data aligned based (xmail_data_ptr), 2 55 2 mail_dir char (168) varying, 2 56 2 first_label label, 2 57 2 quit_label label, 2 58 2 value_seg_pathname char (168) varying, 2 59 2 moved_user_io ptr, 2 60 2 normal_usage char (80) unal, 2 61 2 function_key_info, 2 62 3 function_key_data_ptr ptr, 2 63 3 n_fkeys_used fixed bin, 2 64 2 actee, 2 65 3 person char(32) varying, 2 66 3 project char(32) varying, 2 67 2 flags aligned, 2 68 3 mail_in_incoming bit (1) unal, 2 69 3 lists_as_menus bit (1) unal, /* personalization */ 2 70 3 remove_menus bit (1) unal, /* personalization */ 2 71 3 confirm_print bit (1) unal, /* personalization */ 2 72 3 multics_mode bit (1) unal, /* personalization */ 2 73 3 interactive_msgs bit (1) unal, /* personalization */ 2 74 3 foreign_mailbox bit (1) unal, /* read others' mailboxes */ 2 75 3 general_help bit (1) unal, /* indicated requesting gen help*/ 2 76 3 cleanup_signalled bit (1) unal, /* on when true cleanup condition */ 2 77 3 msgs_as_mail bit (1) unal, /* on for include_msgs */ 2 78 3 reply_request bit (1) unal, /* on if we're doing a reply */ 2 79 3 error_seg_in_pdir bit (1) unal, /* on if the error_seg is in the pdir */ 2 80 3 pad bit (24) unal; 2 81 2 82 2 83 2 84 dcl xmail_version char(10) var static options(constant) init("4.1"); 2 85 2 86 /* END INCLUDE FILE: xmail_data.incl.pl1 */ 71 72 3 1 /* BEGIN INCLUDE FILE ... mlsys_mailbox.incl.pl1 */ 3 2 /* Created: April 1983 by G. Palter */ 3 3 3 4 /* Definition of a mailbox as used by the Multics Mail System */ 3 5 3 6 dcl 1 mailbox aligned based (mailbox_ptr), 3 7 2 version character (8) unaligned, 3 8 2 reserved bit (144), /* for exclusive use of the mail system */ 3 9 2 mailbox_address pointer, /* mail system address of this mailbox */ 3 10 2 mailbox_dirname character (168) unaligned, /* directory containing this mailbox */ 3 11 2 mailbox_ename character (32) unaligned, /* entry name of this mailbox (includes ".mbx") */ 3 12 2 mailbox_type fixed binary, /* type of mailbox (see below) */ 3 13 2 mode bit (36), /* user's effective extended access to this mailbox */ 3 14 2 flags, 3 15 3 salvaged bit (1) unaligned, /* ON => this mailbox has been salvaged since last open */ 3 16 3 reserved bit (35) unaligned, /* for exclusive use of the mail system */ 3 17 2 message_selection_mode fixed binary, /* types of messages read: all/ordinary/interactive */ 3 18 2 sender_selection_mode fixed binary, /* whose messages were read: all/own/not-own */ 3 19 2 message_reading_level fixed binary, /* how much of each message read: keys/messages */ 3 20 2 n_messages fixed binary, /* total # of messages in this mailbox structure */ 3 21 2 n_ordinary_messages fixed binary, /* ... # of ordinary messages here */ 3 22 2 n_interactive_messages fixed binary, /* ... # of interactive messages here */ 3 23 2 n_deleted_messages fixed binary, /* ... # of messages here marked for later deletion */ 3 24 2 messages (mailbox_n_messages refer (mailbox.n_messages)), 3 25 3 key bit (72), /* unique key to read this message if not already read */ 3 26 3 message_ptr pointer; /* -> the message structure */ 3 27 3 28 dcl MAILBOX_VERSION_2 character (8) static options (constant) initial ("mlsmbx02"); 3 29 3 30 dcl mailbox_ptr pointer; 3 31 3 32 dcl mailbox_n_messages fixed binary; /* for exclusive use of the mail system */ 3 33 3 34 3 35 /* Types of mailboxes distinguished by the mail system */ 3 36 3 37 dcl (USER_DEFAULT_MAILBOX initial (1), /* the user's default mailbox for receiving mail */ 3 38 USER_LOGBOX initial (2), /* the user's logbox */ 3 39 SAVEBOX initial (3), /* a savebox */ 3 40 OTHER_MAILBOX initial (4)) /* any other type of mailbox */ 3 41 fixed binary static options (constant); 3 42 3 43 /* END INCLUDE FILE ... mlsys_mailbox.incl.pl1 */ 73 74 4 1 /* BEGIN INCLUDE FILE ... mlsys_open_options.incl.pl1 */ 4 2 /* Created: June 1983 by G. Palter */ 4 3 4 4 /* Options for the mail_system_$open_mailbox entrypoint */ 4 5 4 6 dcl 1 open_options aligned based (open_options_ptr), 4 7 2 version character (8), 4 8 2 message_selection_mode fixed binary, /* what types are to be read (all/ordinary/interactive) */ 4 9 2 sender_selection_mode fixed binary, /* selects messages by who sent them */ 4 10 2 message_reading_level fixed binary; /* specifies whether all or only part of a message is read */ 4 11 4 12 dcl OPEN_OPTIONS_VERSION_2 character (8) static options (constant) initial ("mlsopn02"); 4 13 4 14 dcl open_options_ptr pointer; 4 15 4 16 4 17 dcl ALL_MESSAGES fixed binary static options (constant) initial (0); 4 18 /* read all messages in the mailbox ... 4 19* ... used as both a message and sender selection mode */ 4 20 4 21 /* Defined message selection modes */ 4 22 4 23 dcl (ORDINARY_MESSAGES initial (1), /* read only ordinary messages */ 4 24 INTERACTIVE_MESSAGES initial (2)) /* read only interactive messages */ 4 25 fixed binary static options (constant); 4 26 4 27 4 28 /* Defined sender selection modes */ 4 29 4 30 dcl (ACCESSIBLE_MESSAGES initial (-1), /* reads whatever messages are accessible */ 4 31 OWN_MESSAGES initial (1), /* reads only those messages sent by this user */ 4 32 NOT_OWN_MESSAGES initial (2)) /* reads only those messages not sent by this user */ 4 33 fixed binary static options (constant); 4 34 4 35 4 36 /* Defined message reading levels */ 4 37 4 38 dcl (READ_KEYS initial (1), /* reads only the unique key of each message */ 4 39 READ_MESSAGES initial (2)) /* reads the entire content of each message */ 4 40 fixed binary static options (constant); 4 41 4 42 /* END INCLUDE FILE ... mlsys_open_options.incl.pl1 */ 75 76 5 1 /* BEGIN INCLUDE FILE ... mlsys_message.incl.pl1 */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(85-12-19,Herbst), approve(86-03-25,MCR7367), 5 6* audit(86-04-28,Margolin), install(86-05-22,MR12.0-1059): 5 7* Added seen switch to message. 5 8* END HISTORY COMMENTS */ 5 9 5 10 5 11 /* Created: June 1983 by G. Palter */ 5 12 5 13 /* Definition of a message as used by the Multics Mail System */ 5 14 5 15 dcl 1 message aligned based (message_ptr), 5 16 2 version character (8) unaligned, 5 17 2 reserved bit (144), /* for exclusive use of the mail system */ 5 18 2 n_reply_references fixed binary, /* # of messages for which this is a reply */ 5 19 2 n_user_fields fixed binary, /* # of non-standard header fields in this message */ 5 20 2 n_redistributions fixed binary, /* # of times this message has been forwarded */ 5 21 2 n_body_sections fixed binary, /* # of sections in the body */ 5 22 2 flags, 5 23 3 interactive bit (1) unaligned, /* ON => this is an interactive message */ 5 24 3 can_be_deleted bit (1) unaligned, /* ON => the user can delete this message if desired */ 5 25 3 marked_for_deletion bit (1) unaligned, /* ON => message will be deleted when mailbox is closed */ 5 26 3 must_be_acknowledged bit (1) unaligned, /* ON => an ACK should be generated when message is read */ 5 27 3 seen bit (1) unaligned, /* ON => user has printed message at least once */ 5 28 3 reserved bit (31) unaligned, /* for use by the mail system */ 5 29 2 pad bit (36), 5 30 2 envelope like message_envelope, /* who/when/how the message was mailed & delivered */ 5 31 2 header, 5 32 3 message_id bit (72), /* ID of this message (same value for all copies) */ 5 33 3 access_class bit (72), /* AIM access class of this message */ 5 34 3 date_time_created fixed binary (71), /* date/time this message was composed */ 5 35 3 from pointer, /* -> address list of author(s) of the message */ 5 36 3 reply_to pointer, /* -> address list of recipients for reply (if not authors) */ 5 37 3 to pointer, /* -> address list of primary recipients */ 5 38 3 cc pointer, /* -> address list of secondary recipients */ 5 39 3 bcc pointer, /* -> address list of blind recipients */ 5 40 3 subject like message_text_field, /* subject of the message */ 5 41 3 reply_references pointer, /* -> list of messages for which this message is a reply */ 5 42 3 user_fields_list pointer, /* -> list of user-defined fields in this message */ 5 43 2 redistributions_list pointer, /* -> redistributions list for this message */ 5 44 2 body, 5 45 3 total_lines fixed binary (21), /* total # of lines in the body or -1 if indeterminate */ 5 46 3 pad bit (36), 5 47 3 body_sections (message_n_body_sections refer (message.n_body_sections)) like message_body_section; 5 48 5 49 dcl MESSAGE_VERSION_2 character (8) static options (constant) initial ("mlsmsg02"); 5 50 5 51 dcl message_subject character (message.header.subject.text_lth) unaligned based (message.header.subject.text_ptr); 5 52 5 53 dcl message_ptr pointer; 5 54 5 55 dcl (message_n_body_sections, message_trace_n_relays, message_n_redistributions, message_n_user_fields, 5 56 message_references_list_n_references) 5 57 fixed binary; /* for exclusive use of the mail system */ 5 58 5 59 /* Definition of a message envelope: describes when, by whom, and by what route the message was mailed */ 5 60 5 61 dcl 1 message_envelope aligned based (message_envelope_ptr), 5 62 2 date_time_mailed fixed binary (71), /* date/time this message was entered into the mail system */ 5 63 2 sender pointer, /* -> address of entity that mailed the message */ 5 64 2 trace pointer, /* -> message_trace describing how it got here */ 5 65 2 date_time_delivered fixed binary (71), /* date/time this message was delivered */ 5 66 2 delivered_by pointer, /* -> address of entity that delivered the message */ 5 67 2 acknowledge_to pointer; /* -> address of entity to receive ACK when message is read */ 5 68 5 69 dcl message_envelope_ptr pointer; 5 70 5 71 5 72 /* Structure used in calls to mail_system_daemon_ entrypoints which manipulate the message envelope */ 5 73 5 74 dcl 1 message_envelope_parameter aligned based (message_envelope_parameter_ptr), 5 75 2 pad pointer, /* forces even word alignment */ 5 76 2 version character (8) unaligned, 5 77 2 envelope like message_envelope; 5 78 5 79 dcl MESSAGE_ENVELOPE_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsenv02"); 5 80 5 81 dcl message_envelope_parameter_ptr pointer; 5 82 5 83 5 84 /* Definition of a message trace: describes the route and each relay operation by which a message was passed through the 5 85* networks to reach this recipient */ 5 86 5 87 dcl 1 message_trace aligned based (message_trace_ptr), 5 88 2 version character (8) unaligned, 5 89 2 reserved bit (144), /* ... exclusively for use by the mail system */ 5 90 2 implicit_route pointer, /* -> an address_route which defines the route it took */ 5 91 2 pad bit (36), 5 92 2 n_relays fixed binary, /* # of relay operations required to reach this site */ 5 93 2 relays (message_trace_n_relays refer (message_trace.n_relays)), 5 94 3 date_time_relayed fixed binary (71), /* ... when this relay operation took place */ 5 95 3 sending_host character (256) varying, /* ... the host which relayed the message */ 5 96 3 receiving_host character (256) varying, /* ... the host which received it */ 5 97 3 communications_media character (32) unaligned, /* ... medium over which relay took place (ARPA, Tymnet) */ 5 98 3 communications_protocol character (32) unaligned,/* ... low-level protocol used (TCP, X.25) */ 5 99 3 mail_protocol character (32) unaligned, /* ... mailer protocol used (SMTP, NBS) */ 5 100 3 relay_id bit (72), /* ... unique ID assigned by receiving system or ""b */ 5 101 3 relay_recipient pointer; /* ... -> address of recipient as given by sending system */ 5 102 5 103 dcl MESSAGE_TRACE_VERSION_2 character (8) static options (constant) initial ("mlstrc02"); 5 104 5 105 dcl message_trace_ptr pointer; 5 106 5 107 /* Definition of a message's redistributions list */ 5 108 5 109 dcl 1 message_redistributions_list aligned based (message.redistributions_list), 5 110 2 version character (8) unaligned, 5 111 2 reserved bit (144), /* ... exclusively for use by the mail system */ 5 112 2 pad bit (36), 5 113 2 n_redistributions fixed binary, /* # of redistributions */ 5 114 2 redistributions (message_n_redistributions refer (message_redistributions_list.n_redistributions)) 5 115 like message_redistribution; /* the redistributions: oldest first */ 5 116 5 117 dcl MESSAGE_REDISTRIBUTIONS_LIST_VERSION_2 character (8) static options (constant) initial ("mlsrl002"); 5 118 5 119 5 120 /* Definition of a single redistribution (forwarding) of a message */ 5 121 5 122 dcl 1 message_redistribution aligned based (message_redistribution_ptr), 5 123 2 envelope like message_envelope, 5 124 2 header, 5 125 3 message_id bit (72), /* ID of this redistribution (same for all copies) */ 5 126 3 date_time_created fixed binary (71), /* date/time when this redistribution was made */ 5 127 3 from pointer, /* -> address list of authors of this redistribution */ 5 128 3 to pointer, /* -> address list of recipients of the redistribution */ 5 129 3 comment like message_text_field; /* optional comment associated with the redistribution */ 5 130 5 131 dcl message_redistribution_comment character (message_redistribution.comment.text_lth) unaligned 5 132 based (message_redistribution.comment.text_ptr); 5 133 5 134 dcl message_redistribution_ptr pointer; 5 135 5 136 5 137 /* Structure used in calls to mail_system_daemon_ entrypoints which manipulate the redistributions of a message */ 5 138 5 139 dcl 1 message_redistribution_parameter aligned based (message_redistribution_parameter_ptr), 5 140 2 pad pointer, /* forces even word alignment */ 5 141 2 version character (8) unaligned, 5 142 2 redistribution like message_redistribution; 5 143 5 144 dcl MESSAGE_REDISTRIBUTION_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsdist2"); 5 145 5 146 dcl message_redistribution_parameter_ptr pointer; 5 147 5 148 /* Definition of the list of user-defined fields in a message */ 5 149 5 150 dcl 1 message_user_fields_list aligned based (message.user_fields_list), 5 151 2 version character (8) unaligned, 5 152 2 reserved bit (144), /* ... exclusively for use by the mail system */ 5 153 2 pad bit (36), 5 154 2 n_user_fields fixed binary, /* # of user-defined fields in the message */ 5 155 2 user_fields (message_n_user_fields refer (message_user_fields_list.n_user_fields)) 5 156 like message_user_field; /* the actual user-defined fields */ 5 157 5 158 dcl MESSAGE_USER_FIELDS_LIST_VERSION_2 character (8) static options (constant) initial ("mlsufl02"); 5 159 5 160 5 161 /* Definition of a user defined message header field */ 5 162 5 163 dcl 1 message_user_field aligned based (message_user_field_ptr), 5 164 2 header, 5 165 3 field_id bit (36) aligned, /* identifies the purpose of this field */ 5 166 3 field_type fixed binary, /* type of data contained in this field */ 5 167 2 field_type_variable bit (144); /* the actual data (see below) */ 5 168 5 169 dcl message_user_field_ptr pointer; 5 170 5 171 5 172 /* Defined types of user defined fields */ 5 173 5 174 dcl (MESSAGE_TEXT_USER_FIELD initial (1), /* content of the field is a text string */ 5 175 MESSAGE_ADDRESS_LIST_USER_FIELD initial (2), /* content of the field is an address list */ 5 176 MESSAGE_DATE_USER_FIELD initial (3), /* content of the field is a date/time */ 5 177 MESSAGE_INTEGER_USER_FIELD initial (4)) /* content of the filed is a fixed binary value */ 5 178 fixed binary static options (constant); 5 179 5 180 5 181 /* Structures used to access the data for the different types of user defined fields */ 5 182 5 183 dcl 1 message_text_user_field aligned based (message_user_field_ptr), 5 184 2 header like message_user_field.header, 5 185 2 text like message_text_field; /* the message text */ 5 186 5 187 dcl message_text_user_field_text character (message_text_user_field.text.text_lth) unaligned 5 188 based (message_text_user_field.text.text_ptr); 5 189 5 190 dcl 1 message_address_list_user_field aligned based (message_user_field_ptr), 5 191 2 header like message_user_field.header, 5 192 2 address_list_ptr pointer, /* -> the address list */ 5 193 2 pad bit (72); 5 194 5 195 dcl 1 message_date_user_field aligned based (message_user_field_ptr), 5 196 2 header like message_user_field.header, 5 197 2 date_time fixed binary (71), /* the clock reading */ 5 198 2 pad bit (72); 5 199 5 200 dcl 1 message_integer_user_field aligned based (message_user_field_ptr), 5 201 2 header like message_user_field.header, 5 202 2 value fixed binary (35), /* the integer value */ 5 203 2 pad bit (108); 5 204 5 205 5 206 /* Structure used in calls to mail_system_ entrypoints which manipulate the user-defined fields of a message */ 5 207 5 208 dcl 1 message_user_field_parameter aligned based (message_user_field_parameter_ptr), 5 209 2 pad pointer, /* forces even word alignment */ 5 210 2 version character (8) unaligned, 5 211 2 user_field like message_user_field; 5 212 5 213 dcl MESSAGE_USER_FIELD_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsudf02"); 5 214 5 215 dcl message_user_field_parameter_ptr pointer; 5 216 5 217 /* Definition of a list of message references used as the value of message header fields (eg: In-Reply-To) */ 5 218 5 219 dcl 1 message_references_list aligned based (message_references_list_ptr), 5 220 2 version character (8) unaligned, 5 221 2 reserved bit (144), /* ... exclusively for use by the mail system */ 5 222 2 pad bit (36), 5 223 2 n_references fixed binary, /* # of references in this list */ 5 224 2 references (message_references_list_n_references refer (message_references_list.n_references)) 5 225 like message_reference; /* the references themselves */ 5 226 5 227 dcl MESSAGE_REFERENCES_LIST_VERSION_2 character (8) static options (constant) initial ("mlsref02"); 5 228 5 229 dcl message_references_list_ptr pointer; 5 230 5 231 5 232 /* Definition of a reference to another message */ 5 233 5 234 dcl 1 message_reference aligned based (message_reference_ptr), 5 235 2 message_id bit (72), /* ID of the other message */ 5 236 2 date_time_created fixed binary (71), /* date/time the other message was created */ 5 237 2 from pointer, /* -> address list of authors of the other message */ 5 238 2 subject like message_text_field; /* subject of the other message */ 5 239 5 240 dcl message_reference_subject character (message_reference.subject.text_lth) unaligned 5 241 based (message_reference.subject.text_ptr); 5 242 5 243 dcl message_reference_ptr pointer; 5 244 5 245 5 246 /* Structure used in calls to mail_system_daemon_ entrypoints which manipulate message references */ 5 247 5 248 dcl 1 message_reference_parameter aligned based (message_reference_parameter_ptr), 5 249 2 pad pointer, /* forces even word alignment */ 5 250 2 version character (8) unaligned, 5 251 2 reference like message_reference; 5 252 5 253 dcl MESSAGE_REFERENCE_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsref02"); 5 254 5 255 dcl message_reference_parameter_ptr pointer; 5 256 5 257 5 258 /* Definition of a text field in a message (Subject, Comment, or a user defined field) */ 5 259 5 260 dcl 1 message_text_field aligned based (message_text_field_ptr), 5 261 2 text_ptr pointer, /* -> the actual text */ 5 262 2 text_lth fixed binary (21), /* length of said text */ 5 263 2 flags, 5 264 3 multiline_text bit (1) unaligned, /* ON => the text of this field may span multiple lines; 5 265* OFF => the text will always be a single line */ 5 266 3 reserved bit (35) unaligned; /* for exclusive use of the mail system */ 5 267 5 268 dcl message_text_field_text character (message_text_field.text_lth) unaligned based (message_text_field.text_ptr); 5 269 5 270 dcl message_text_field_ptr pointer; 5 271 5 272 /* Definition of a section of the body of a message */ 5 273 5 274 dcl 1 message_body_section aligned based (message_body_section_ptr), 5 275 2 header, 5 276 3 section_type fixed binary, /* type of "text" stored in this section */ 5 277 3 section_n_lines fixed binary (21), /* # of lines in this section or -1 if indeterminate */ 5 278 2 section_type_variable bit (144); /* the actual data (see below) */ 5 279 5 280 dcl message_body_section_ptr pointer; 5 281 5 282 5 283 /* Defined types of message body sections */ 5 284 5 285 dcl (MESSAGE_PREFORMATTED_BODY_SECTION initial (1), /* text formatted by the authors/sender */ 5 286 MESSAGE_BIT_STRING_BODY_SECTION initial (2)) /* arbitrary bit string */ 5 287 fixed binary static options (constant); 5 288 5 289 5 290 /* Structures used to access the data for the different types of message body sections */ 5 291 5 292 dcl 1 message_preformatted_body_section aligned based (message_body_section_ptr), 5 293 2 header like message_body_section.header, 5 294 2 text_ptr pointer, /* -> the text */ 5 295 2 text_lth fixed binary (21), /* length of said text in characters */ 5 296 2 reserved bit (36); /* for exclusive use of the mail system */ 5 297 5 298 dcl message_preformatted_body_section_text character (message_preformatted_body_section.text_lth) unaligned 5 299 based (message_preformatted_body_section.text_ptr); 5 300 5 301 dcl 1 message_bit_string_body_section aligned based (message_body_section_ptr), 5 302 2 header like message_body_section.header, 5 303 2 bit_string_ptr pointer, /* -> the bit string */ 5 304 2 bit_string_lth fixed binary (24), /* length of said bit string in bits (obviously) */ 5 305 2 reserved bit (36); /* for exclusive use of the mail system */ 5 306 5 307 dcl message_bit_string_body_section_bit_string bit (message_bit_string_body_section.bit_string_lth) unaligned 5 308 based (message_bit_string_body_section.bit_string_ptr); 5 309 5 310 5 311 /* Structure used in calls to mail_system_ entrypoints which manipulate the sections of a message's body */ 5 312 5 313 dcl 1 message_body_section_parameter aligned based (message_body_section_parameter_ptr), 5 314 2 pad pointer, /* forces even word alignment */ 5 315 2 version character (8) unaligned, 5 316 2 section like message_body_section; 5 317 5 318 dcl MESSAGE_BODY_SECTION_PARAMETER_VERSION_2 character (8) static options (constant) initial ("mlsmbs02"); 5 319 5 320 dcl message_body_section_parameter_ptr pointer; 5 321 5 322 /* END INCLUDE FILE ... mlsys_message.incl.pl1 */ 77 78 6 1 /* Created 06/17/81 by Suzanne Krupp */ 6 2 6 3 dcl n_messages fixed bin; 6 4 dcl MSG_STRUCT_VERSION_1 fixed bin int static options(constant) init(1); 6 5 6 6 dcl curr_msgsp ptr; 6 7 6 8 dcl 1 curr_msgs based(curr_msgsp), 6 9 2 version fixed bin, 6 10 2 count fixed bin, 6 11 2 numbers (n_messages refer(curr_msgs.count)) fixed bin; 6 12 6 13 dcl nonexist_msgsp ptr; 6 14 6 15 dcl 1 nonexist_msgs based(nonexist_msgsp), 6 16 2 version fixed bin, 6 17 2 count fixed bin, 6 18 2 numbers (n_messages refer(nonexist_msgs.count)) fixed bin; 6 19 6 20 dcl msg_structp ptr; 6 21 6 22 dcl 1 msg_struct based(msg_structp), 6 23 2 version fixed bin, 6 24 2 count fixed bin, 6 25 2 numbers(n_messages refer(msg_struct.count)) fixed bin; 80 7 1 /* BEGIN INCLUDE FILE ... mlsys_close_options.incl.pl1 */ 7 2 /* Created: June 1983 by G. Palter */ 7 3 7 4 /* Options for the mail_system_$close_mailbox entrypoint */ 7 5 7 6 dcl 1 close_options aligned based (close_options_ptr), 7 7 2 version character (8) unaligned, 7 8 2 flags, 7 9 3 perform_deletions bit (1) unaligned, /* ON => perform deletions requested earlier */ 7 10 3 report_deletion_errors bit (1) unaligned, /* ON => report problems deleting via sub_err_ */ 7 11 3 mbz bit (34) unaligned; /* must be set to ""b by the caller */ 7 12 7 13 dcl CLOSE_OPTIONS_VERSION_2 character (8) static options (constant) initial ("mlsclo02"); 7 14 7 15 dcl close_options_ptr pointer; 7 16 7 17 /* END INCLUDE FILE ... mlsys_close_options.incl.pl1 */ 81 82 83 84 /* BEGIN */ 85 86 temporary_mailbox_name = unique_chars_ ("0"b); 87 svmbx_dir = ""; 88 89 on condition (cleanup) call CLEAN_UP; 90 on condition (quit) 91 begin; 92 dcl xmail_window_manager_$reconnect entry (); 93 call xmail_window_manager_$reconnect (); 94 call ioa_ ("""Print Sent Message"" terminated."); 95 go to EXIT; 96 end; 97 98 /* See if message exits for "printing" */ 99 100 if send_mail_info.msg_exists = "0"b | send_mail_info.emacs_seg_ptr = null () 101 then do; 102 call ioa_ ("There is no message to print."); 103 go to EXIT; 104 end; 105 106 svmbx_dir = xmail_data.mail_dir; 107 108 /* Save msg the temporary mbx so it can be dprinted */ 109 110 call mail_system_$save_message (send_mail_info.new_msg_ptr, svmbx_dir, temporary_mailbox_name, CREATE_IF_NOT_FOUND, code); 111 112 if code ^= 0 & code ^= mlsys_et_$savebox_created 113 then call xmail_error_$no_code (code, NAME, STOP, "^a", ERROR_MESSAGE); 114 115 /* Open mbx */ 116 117 auto_open_options.version = OPEN_OPTIONS_VERSION_2; 118 auto_open_options.message_selection_mode = ALL_MESSAGES; 119 auto_open_options.sender_selection_mode = ALL_MESSAGES; 120 auto_open_options.message_reading_level = READ_MESSAGES; 121 mailbox_ptr = null (); 122 call mail_system_$open_mailbox (svmbx_dir, temporary_mailbox_name || ".sv.mbx", addr (auto_open_options), MAILBOX_VERSION_2, mailbox_ptr, code); 123 if code ^= 0 then call xmail_error_$no_code (code, NAME, STOP, "^a", ERROR_MESSAGE); 124 125 /* Determine the msg ptr so that the xmail_dprint_msgs_ proc can be called to 126* actully request the dprint of the msg */ 127 128 curr_msgsp = null (); 129 call xmail_select_msgs_$first (mailbox_ptr, curr_msgsp, ""); 130 call xmail_dprint_msgs_ (mailbox_ptr, curr_msgsp); 131 132 /* Close mbx */ 133 134 auto_close_options.version = CLOSE_OPTIONS_VERSION_2; 135 auto_close_options.flags.perform_deletions = "0"b; 136 auto_close_options.flags.report_deletion_errors = "0"b; 137 auto_close_options.flags.mbz = "0"b; 138 call mail_system_$close_mailbox (mailbox_ptr, addr (auto_close_options), code); 139 if code ^= 0 then call xmail_error_$no_code (code, NAME, STOP, "^a", ERROR_MESSAGE); 140 141 EXIT: call CLEAN_UP; 142 return; 143 144 CLEAN_UP: proc (); 145 if svmbx_dir ^= "" 146 then call delete_$path (svmbx_dir, temporary_mailbox_name || ".sv.mbx", DELETE_SEG_FORCE_CHASE, NAME, (0)); /* ignore code */ 147 return; 148 end CLEAN_UP; 149 150 end xmail_send_mail_print_msg_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/02/88 0746.2 xmail_send_mail_print_msg_.pl1 >spec>install>MR12.2-1098>xmail_send_mail_print_msg_.pl1 69 1 01/14/88 2003.9 xmail_send_mail.incl.pl1 >ldd>include>xmail_send_mail.incl.pl1 71 2 09/02/88 0743.4 xmail_data.incl.pl1 >spec>install>MR12.2-1098>xmail_data.incl.pl1 73 3 10/27/83 2104.2 mlsys_mailbox.incl.pl1 >ldd>include>mlsys_mailbox.incl.pl1 75 4 10/27/83 2104.2 mlsys_open_options.incl.pl1 >ldd>include>mlsys_open_options.incl.pl1 77 5 05/22/86 1225.8 mlsys_message.incl.pl1 >ldd>include>mlsys_message.incl.pl1 79 6 06/08/82 1329.4 xmail_curr_msg_info.incl.pl1 >ldd>include>xmail_curr_msg_info.incl.pl1 81 7 10/27/83 2104.2 mlsys_close_options.incl.pl1 >ldd>include>mlsys_close_options.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. ALL_MESSAGES constant fixed bin(17,0) initial dcl 4-17 ref 118 119 CLOSE_OPTIONS_VERSION_2 000000 constant char(8) initial packed unaligned dcl 7-13 ref 134 CREATE_IF_NOT_FOUND 000040 constant bit(1) initial dcl 27 set ref 110* DELETE_SEG_FORCE_CHASE 000037 constant bit(6) initial packed unaligned dcl 28 set ref 145* ERROR_MESSAGE 000006 constant char(65) initial packed unaligned dcl 31 set ref 112* 123* 139* MAILBOX_VERSION_2 000004 constant char(8) initial packed unaligned dcl 3-28 set ref 122* NAME 000030 constant char(26) initial packed unaligned dcl 29 set ref 112* 123* 139* 145* OPEN_OPTIONS_VERSION_2 000002 constant char(8) initial packed unaligned dcl 4-12 ref 117 READ_MESSAGES constant fixed bin(17,0) initial dcl 4-38 ref 120 STOP 000027 constant char(1) initial packed unaligned dcl 30 set ref 112* 123* 139* addr builtin function dcl 56 ref 122 122 138 138 auto_close_options 000164 automatic structure level 1 packed packed unaligned dcl 40 set ref 138 138 auto_open_options 000157 automatic structure level 1 unaligned dcl 39 set ref 122 122 cleanup 000176 stack reference condition dcl 64 ref 89 close_options based structure level 1 dcl 7-6 code 000100 automatic fixed bin(35,0) dcl 35 set ref 110* 112 112 112* 122* 123 123* 138* 139 139* curr_msgsp 000206 automatic pointer dcl 6-6 set ref 128* 129* 130* delete_$path 000010 constant entry external dcl 44 ref 145 emacs_seg_ptr 4 based pointer level 2 dcl 1-13 ref 100 flags 2 000164 automatic structure level 2 packed packed unaligned dcl 40 header based structure level 2 in structure "message_user_field" dcl 5-163 in procedure "xmail_send_mail_print_msg_" header 4 based structure level 3 in structure "message_body_section_parameter" dcl 5-313 in procedure "xmail_send_mail_print_msg_" header 64 based structure array level 4 in structure "message" dcl 5-15 in procedure "xmail_send_mail_print_msg_" header 4 based structure level 3 in structure "message_user_field_parameter" dcl 5-208 in procedure "xmail_send_mail_print_msg_" header 10 based structure array level 3 in structure "message_user_fields_list" dcl 5-150 in procedure "xmail_send_mail_print_msg_" header based structure level 2 in structure "message_body_section" dcl 5-274 in procedure "xmail_send_mail_print_msg_" ioa_ 000012 constant entry external dcl 45 ref 94 102 mail_dir based varying char(168) level 2 dcl 2-54 ref 106 mail_system_$close_mailbox 000014 constant entry external dcl 46 ref 138 mail_system_$open_mailbox 000016 constant entry external dcl 47 ref 122 mail_system_$save_message 000020 constant entry external dcl 48 ref 110 mailbox_ptr 000204 automatic pointer dcl 3-30 set ref 121* 122* 129* 130* 138* mbz 2(02) 000164 automatic bit(34) level 3 packed packed unaligned dcl 40 set ref 137* message_body_section based structure level 1 dcl 5-274 message_envelope based structure level 1 dcl 5-61 message_reading_level 4 000157 automatic fixed bin(17,0) level 2 dcl 39 set ref 120* message_redistribution based structure level 1 dcl 5-122 message_reference based structure level 1 dcl 5-234 message_selection_mode 2 000157 automatic fixed bin(17,0) level 2 dcl 39 set ref 118* message_text_field based structure level 1 dcl 5-260 message_user_field based structure level 1 dcl 5-163 mlsys_et_$savebox_created 000032 external static fixed bin(35,0) dcl 60 ref 112 msg_exists based bit(1) level 2 dcl 1-13 ref 100 new_msg_ptr 6 based pointer level 2 dcl 1-13 set ref 110* null builtin function dcl 56 ref 100 121 128 open_options based structure level 1 dcl 4-6 perform_deletions 2 000164 automatic bit(1) level 3 packed packed unaligned dcl 40 set ref 135* quit 000170 stack reference condition dcl 64 ref 90 report_deletion_errors 2(01) 000164 automatic bit(1) level 3 packed packed unaligned dcl 40 set ref 136* send_mail_info based structure level 1 dcl 1-13 send_mail_info_ptr 000034 external static pointer initial dcl 1-26 ref 100 100 110 sender_selection_mode 3 000157 automatic fixed bin(17,0) level 2 dcl 39 set ref 119* svmbx_dir 000101 automatic char(168) packed unaligned dcl 36 set ref 87* 106* 110* 122* 145 145* temporary_mailbox_name 000153 automatic char(15) packed unaligned dcl 37 set ref 86* 110* 122 145 unique_chars_ 000022 constant entry external dcl 49 ref 86 version 000157 automatic char(8) level 2 in structure "auto_open_options" packed packed unaligned dcl 39 in procedure "xmail_send_mail_print_msg_" set ref 117* version 000164 automatic char(8) level 2 in structure "auto_close_options" packed packed unaligned dcl 40 in procedure "xmail_send_mail_print_msg_" set ref 134* xmail_data based structure level 1 dcl 2-54 xmail_data_ptr 000036 external static pointer initial dcl 2-52 ref 106 xmail_dprint_msgs_ 000026 constant entry external dcl 51 ref 130 xmail_error_$no_code 000024 constant entry external dcl 50 ref 112 123 139 xmail_select_msgs_$first 000030 constant entry external dcl 52 ref 129 xmail_window_manager_$reconnect 000040 constant entry external dcl 92 ref 93 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACCESSIBLE_MESSAGES internal static fixed bin(17,0) initial dcl 4-30 INTERACTIVE_MESSAGES internal static fixed bin(17,0) initial dcl 4-23 MESSAGE_ADDRESS_LIST_USER_FIELD internal static fixed bin(17,0) initial dcl 5-174 MESSAGE_BIT_STRING_BODY_SECTION internal static fixed bin(17,0) initial dcl 5-285 MESSAGE_BODY_SECTION_PARAMETER_VERSION_2 internal static char(8) initial packed unaligned dcl 5-318 MESSAGE_DATE_USER_FIELD internal static fixed bin(17,0) initial dcl 5-174 MESSAGE_ENVELOPE_PARAMETER_VERSION_2 internal static char(8) initial packed unaligned dcl 5-79 MESSAGE_INTEGER_USER_FIELD internal static fixed bin(17,0) initial dcl 5-174 MESSAGE_PREFORMATTED_BODY_SECTION internal static fixed bin(17,0) initial dcl 5-285 MESSAGE_REDISTRIBUTIONS_LIST_VERSION_2 internal static char(8) initial packed unaligned dcl 5-117 MESSAGE_REDISTRIBUTION_PARAMETER_VERSION_2 internal static char(8) initial packed unaligned dcl 5-144 MESSAGE_REFERENCES_LIST_VERSION_2 internal static char(8) initial packed unaligned dcl 5-227 MESSAGE_REFERENCE_PARAMETER_VERSION_2 internal static char(8) initial packed unaligned dcl 5-253 MESSAGE_TEXT_USER_FIELD internal static fixed bin(17,0) initial dcl 5-174 MESSAGE_TRACE_VERSION_2 internal static char(8) initial packed unaligned dcl 5-103 MESSAGE_USER_FIELDS_LIST_VERSION_2 internal static char(8) initial packed unaligned dcl 5-158 MESSAGE_USER_FIELD_PARAMETER_VERSION_2 internal static char(8) initial packed unaligned dcl 5-213 MESSAGE_VERSION_2 internal static char(8) initial packed unaligned dcl 5-49 MSG_STRUCT_VERSION_1 internal static fixed bin(17,0) initial dcl 6-4 NOT_OWN_MESSAGES internal static fixed bin(17,0) initial dcl 4-30 ORDINARY_MESSAGES internal static fixed bin(17,0) initial dcl 4-23 OTHER_MAILBOX internal static fixed bin(17,0) initial dcl 3-37 OWN_MESSAGES internal static fixed bin(17,0) initial dcl 4-30 READ_KEYS internal static fixed bin(17,0) initial dcl 4-38 SAVEBOX internal static fixed bin(17,0) initial dcl 3-37 USER_DEFAULT_MAILBOX internal static fixed bin(17,0) initial dcl 3-37 USER_LOGBOX internal static fixed bin(17,0) initial dcl 3-37 close_options_ptr automatic pointer dcl 7-15 curr_msgs based structure level 1 unaligned dcl 6-8 mailbox based structure level 1 dcl 3-6 mailbox_n_messages automatic fixed bin(17,0) dcl 3-32 message based structure level 1 dcl 5-15 message_address_list_user_field based structure level 1 dcl 5-190 message_bit_string_body_section based structure level 1 dcl 5-301 message_bit_string_body_section_bit_string based bit packed unaligned dcl 5-307 message_body_section_parameter based structure level 1 dcl 5-313 message_body_section_parameter_ptr automatic pointer dcl 5-320 message_body_section_ptr automatic pointer dcl 5-280 message_date_user_field based structure level 1 dcl 5-195 message_envelope_parameter based structure level 1 dcl 5-74 message_envelope_parameter_ptr automatic pointer dcl 5-81 message_envelope_ptr automatic pointer dcl 5-69 message_integer_user_field based structure level 1 dcl 5-200 message_n_body_sections automatic fixed bin(17,0) dcl 5-55 message_n_redistributions automatic fixed bin(17,0) dcl 5-55 message_n_user_fields automatic fixed bin(17,0) dcl 5-55 message_preformatted_body_section based structure level 1 dcl 5-292 message_preformatted_body_section_text based char packed unaligned dcl 5-298 message_ptr automatic pointer dcl 5-53 message_redistribution_comment based char packed unaligned dcl 5-131 message_redistribution_parameter based structure level 1 dcl 5-139 message_redistribution_parameter_ptr automatic pointer dcl 5-146 message_redistribution_ptr automatic pointer dcl 5-134 message_redistributions_list based structure level 1 dcl 5-109 message_reference_parameter based structure level 1 dcl 5-248 message_reference_parameter_ptr automatic pointer dcl 5-255 message_reference_ptr automatic pointer dcl 5-243 message_reference_subject based char packed unaligned dcl 5-240 message_references_list based structure level 1 dcl 5-219 message_references_list_n_references automatic fixed bin(17,0) dcl 5-55 message_references_list_ptr automatic pointer dcl 5-229 message_subject based char packed unaligned dcl 5-51 message_text_field_ptr automatic pointer dcl 5-270 message_text_field_text based char packed unaligned dcl 5-268 message_text_user_field based structure level 1 dcl 5-183 message_text_user_field_text based char packed unaligned dcl 5-187 message_trace based structure level 1 dcl 5-87 message_trace_n_relays automatic fixed bin(17,0) dcl 5-55 message_trace_ptr automatic pointer dcl 5-105 message_user_field_parameter based structure level 1 dcl 5-208 message_user_field_parameter_ptr automatic pointer dcl 5-215 message_user_field_ptr automatic pointer dcl 5-169 message_user_fields_list based structure level 1 dcl 5-150 msg_struct based structure level 1 unaligned dcl 6-22 msg_structp automatic pointer dcl 6-20 n_messages automatic fixed bin(17,0) dcl 6-3 nonexist_msgs based structure level 1 unaligned dcl 6-15 nonexist_msgsp automatic pointer dcl 6-13 open_options_ptr automatic pointer dcl 4-14 xmail_version internal static varying char(10) initial dcl 2-84 NAMES DECLARED BY EXPLICIT CONTEXT. CLEAN_UP 000600 constant entry internal dcl 144 ref 89 141 EXIT 000572 constant label dcl 141 ref 95 103 xmail_send_mail_print_msg_ 000111 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 1112 1154 654 1122 Length 1522 654 42 332 236 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xmail_send_mail_print_msg_ 204 external procedure is an external procedure. on unit on line 89 64 on unit on unit on line 90 78 on unit CLEAN_UP 94 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME xmail_send_mail_print_msg_ 000100 code xmail_send_mail_print_msg_ 000101 svmbx_dir xmail_send_mail_print_msg_ 000153 temporary_mailbox_name xmail_send_mail_print_msg_ 000157 auto_open_options xmail_send_mail_print_msg_ 000164 auto_close_options xmail_send_mail_print_msg_ 000204 mailbox_ptr xmail_send_mail_print_msg_ 000206 curr_msgsp xmail_send_mail_print_msg_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return_mac tra_ext_1 enable_op ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. delete_$path ioa_ mail_system_$close_mailbox mail_system_$open_mailbox mail_system_$save_message unique_chars_ xmail_dprint_msgs_ xmail_error_$no_code xmail_select_msgs_$first xmail_window_manager_$reconnect THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. mlsys_et_$savebox_created send_mail_info_ptr xmail_data_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 17 000110 86 000116 87 000134 89 000137 90 000161 93 000175 94 000201 95 000215 100 000220 102 000231 103 000244 106 000245 110 000253 112 000303 117 000342 118 000345 119 000347 120 000350 121 000352 122 000354 123 000420 128 000455 129 000457 130 000477 134 000510 135 000512 136 000514 137 000516 138 000520 139 000535 141 000572 142 000576 144 000577 145 000605 147 000651 ----------------------------------------------------------- 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