COMPILATION LISTING OF SEGMENT as_send_user_message_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1628.4 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* Entry to send an interactive message to a user from the answering 7* service. */ 8 9 /* format: style2,idind30 */ 10 /**** NOTE: This does NOT validate the user's access to deliver 11* mail to the destination. Clients of this should not 12* set Destination to other than "" unless they are willing 13* to use the AS's full access in delivering. */ 14 15 /**** NOTE: This still uses send_mail_, because noone has bothered 16* to make the mail system and the message facility work 17* together in a reasonable way. It could use message_facility_, 18* but that was not installed as of this writing. */ 19 20 as_send_user_message_: 21 procedure (Caller, Destination, Group_id, Message, Access_class, Sender, Express); 22 23 declare ( 24 Caller, /* for error messages */ 25 Destination, /* preferred destination */ 26 Group_id, /* user name used to construct possible default destinations */ 27 Message, 28 Sender 29 ) char (*); 30 declare Express bit (1) aligned; 31 declare Access_class bit (72) aligned; 32 declare code fixed bin (35); 33 34 declare send_mail_$access_class entry (character (*), character (*), pointer, bit (72) aligned, 35 fixed binary (35)); 36 37 declare sys_log_$error_log entry options (variable); 38 declare error_table_$messages_off fixed bin (35) ext static; 39 40 /* Destination is ignored until we can use mail_system_ */ 41 42 call try_delivery (substr (Group_id, 1, length (rtrim (Group_id)) - 2 /* tag */), code); 43 if code ^= 0 44 then call sys_log_$error_log (SL_LOG_SILENT, code, Caller, "Failed to deliver mail to user ^a.", Group_id); 45 return; 46 47 try_delivery: 48 procedure (address, code); 49 50 declare address char (*); 51 declare code fixed bin (35); 52 1 1 /* BEGIN send_mail_info include file */ 1 2 1 3 dcl send_mail_info_version_2 fixed bin init(2); 1 4 1 5 dcl 1 send_mail_info aligned, 1 6 2 version fixed bin, /* = 2 */ 1 7 2 sent_from char(32) aligned, 1 8 2 switches, 1 9 3 wakeup bit(1) unal, 1 10 3 mbz1 bit(1) unal, 1 11 3 always_add bit(1) unal, 1 12 3 never_add bit(1) unal, 1 13 3 notify bit(1) unal, 1 14 3 acknowledge bit(1) unal, 1 15 3 mbz bit(30) unal; 1 16 1 17 /* END send_mail_info include file */ 53 54 55 send_mail_info.version = send_mail_info_version_2; 56 send_mail_info.sent_from = Sender; 57 send_mail_info.switches = "0"b; 58 send_mail_info.switches.wakeup = "1"b; 59 send_mail_info.switches.always_add = ^Express; 60 61 call send_mail_$access_class (address, Message, addr (send_mail_info), Access_class, code); 62 if code = error_table_$messages_off & ^Express 63 then code = 0; 64 return; 65 end try_delivery; 66 67 68 2 1 /* BEGIN INCLUDE FILE ... mlsys_deliver_info.incl.pl1 */ 2 2 /* Created: June 1983 by G. Palter */ 2 3 2 4 /* Options for the mail_system_$deliver_message and mail_system_$redistribute_message entrypoints */ 2 5 2 6 dcl 1 deliver_options aligned based (deliver_options_ptr), 2 7 2 version character (8) unaligned, 2 8 2 delivery_mode fixed binary, /* deliver as an ordinary/interactive/express message */ 2 9 2 queueing_mode fixed binary, /* when to queue the message */ 2 10 2 queued_notification_mode fixed binary, /* when to notify sender about queued mail success/failure */ 2 11 2 flags, 2 12 3 abort bit (1) unaligned, /* ON => don't send it if any fatal errors are detected */ 2 13 3 send_if_empty bit (1) unaligned, /* ON => send the message even if its body is empty */ 2 14 3 recipient_notification bit (1) unaligned, /* ON => send "You have mail." notification */ 2 15 3 acknowledge bit (1) unaligned, /* ON => request ACK message when recipients read it */ 2 16 3 queue_mailing_lists bit (1) unaligned, /* ON => always queue the message for mailing lists */ 2 17 3 mbz bit (31) unaligned; /* must be set to ""b by the caller */ 2 18 2 19 dcl DELIVER_OPTIONS_VERSION_2 character (8) static options (constant) initial ("mlsdlo02"); 2 20 2 21 dcl deliver_options_ptr pointer; 2 22 2 23 /* Defined modes of delivery */ 2 24 2 25 dcl (ORDINARY_DELIVERY initial (1), /* send as an ordinary message */ 2 26 INTERACTIVE_DELIVERY initial (2), /* send as an interactive message */ 2 27 EXPRESS_DELIVERY initial (3)) /* send as an express interactive message; ie: deliver the 2 28* message only if the user is logged in */ 2 29 fixed binary static options (constant); 2 30 2 31 /* Defined modes for queuing mail on transient errors */ 2 32 2 33 dcl (NEVER_QUEUE initial (1), /* never queue: convert into a fatal error */ 2 34 QUEUE_FOREIGN_WHEN_NEEDED initial (2), /* never queue local mail; queue foreign mail on error */ 2 35 QUEUE_WHEN_NEEDED initial (3), /* queue all mail on any transient error */ 2 36 ALWAYS_QUEUE_FOREIGN initial (4), /* queue local mail on error; always queue foreign mail */ 2 37 ALWAYS_QUEUE initial (5)) /* always queue all mail */ 2 38 fixed binary static options (constant); 2 39 2 40 /* Defined modes of notification of success/failure to deliver queued mail */ 2 41 2 42 dcl (NEVER_NOTIFY initial (1), /* never notify the sender */ 2 43 NOTIFY_ON_ERROR initial (2), /* notify the sender only if it can not be delivered */ 2 44 ALWAYS_NOTIFY initial (3)) /* always notify the sender */ 2 45 fixed binary static options (constant); 2 46 2 47 /* Definition of the recipients of a message and the results of the attempted transmission */ 2 48 2 49 dcl 1 recipients_info aligned based (recipients_info_ptr), 2 50 2 header, 2 51 3 version character (8) unaligned, 2 52 3 area_ptr pointer, /* -> area for following structures; null => system free */ 2 53 3 expanded_recipients_result_list_ptr pointer, /* set -> expanded_recipients_result_list (if any) */ 2 54 3 n_recipients fixed binary, /* set to total # of recipients after expanding lists */ 2 55 3 n_unique_recipients fixed binary, /* set to total # of unique recipients */ 2 56 3 n_failed_recipients fixed binary, /* set to # of recipients that failed or would fail */ 2 57 3 n_lists fixed binary, /* # of address lists of recipients */ 2 58 2 lists (recipients_info_n_lists refer (recipients_info.n_lists)), 2 59 3 address_list_ptr pointer, /* -> an address list containing recipients */ 2 60 3 recipients_result_list_ptr pointer; /* set -> recipients_result_list for this address list */ 2 61 2 62 dcl RECIPIENTS_INFO_VERSION_2 character (8) static options (constant) initial ("mlsrcpt2"); 2 63 2 64 dcl (recipients_info_ptr, recipients_result_list_ptr, expanded_recipients_result_list_ptr) pointer; 2 65 2 66 dcl (recipients_info_n_lists, recipients_result_list_n_addresses, expanded_recipients_result_list_n_entries) 2 67 fixed binary; /* used to allocate these structures */ 2 68 2 69 2 70 /* Data structure returned by the mail system recording the results of the mailing for one of the input address lists */ 2 71 2 72 dcl 1 recipients_result_list aligned based (recipients_result_list_ptr), 2 73 2 n_addresses fixed binary, /* set to # of address in corresponding address list */ 2 74 2 pad bit (36), 2 75 2 results (recipients_result_list_n_addresses refer (recipients_result_list.n_addresses)), 2 76 3 code fixed binary (35), /* set to describe results of attempted delivery */ 2 77 3 expanded_list_info, /* set to identify any failing addresses found in the 2 78* expansion of this address ... */ 2 79 4 first_entry_idx fixed binary (18) unaligned unsigned, 2 80 /* ... index of first such address in structure below ... */ 2 81 4 n_entries fixed binary (18) unaligned unsigned,/* ... # of such addresses there for this address */ 2 82 3 duplicate_info, /* set to identify the prior address (if any) for which this 2 83* is a duplicate ... */ 2 84 4 list_idx fixed binary (18) unaligned unsigned, /* ... in which list ... */ 2 85 4 address_idx fixed binary (18) unaligned unsigned, /* ... and which address in that list */ 2 86 3 explanation character (128) varying; /* explanation associated with a fatal error or the message 2 87* being queued due to a transient error */ 2 88 2 89 2 90 /* Describes fatal or transient errors for those recipients which are part of mailing lists of named groups in one of the 2 91* caller's address lists */ 2 92 2 93 dcl 1 expanded_recipients_result_list aligned based (expanded_recipients_result_list_ptr), 2 94 2 n_entries fixed binary, /* set to # of failing expanded recipients */ 2 95 2 pad bit (36), 2 96 2 entries (expanded_recipients_result_list_n_entries refer (expanded_recipients_result_list.n_entries)), 2 97 3 address_ptr pointer, /* -> the failing address from the list/group */ 2 98 3 code fixed binary (35), /* set to describe why delivery failed */ 2 99 3 parent_address, /* set to identify the original recipient of whose expansion 2 100* this address is a part ... */ 2 101 4 list_idx fixed binary (18) unaligned unsigned, /* ... in which list ... */ 2 102 4 address_idx fixed binary (18) unaligned unsigned, /* ... and which address in that list */ 2 103 3 explanation character (128) varying; /* explanation associated with a fatal error or the message 2 104* being queued due to a transient error */ 2 105 2 106 /* END INCLUDE FILE ... mlsys_deliver_info.incl.pl1 */ 69 3 1 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 3 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 3 7* Added sl_info structure and associated named constants for use in calling 3 8* sys_log_$general. 3 9* END HISTORY COMMENTS */ 3 10 3 11 3 12 /* format: style4 */ 3 13 3 14 dcl ( 3 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 3 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 3 17 SL_TYPE init (-1), /* type message */ 3 18 SL_LOG_SILENT init (0), /* log message */ 3 19 SL_LOG init (1), /* log & type message */ 3 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 3 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 3 22 ) fixed bin internal static options (constant); 3 23 3 24 dcl 1 sl_info aligned automatic, 3 25 2 version char(8), /* structure version */ 3 26 2 arg_list_ptr ptr, /* arg_list with values */ 3 27 2 loc, 3 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 3 29 /* These flags control where the corresponding data item is found.*/ 3 30 /* -1: data appears in the corresponding structure element below */ 3 31 /* 0: data is not present anywhere */ 3 32 /* +N: data is Nth item in argument list pointed to by */ 3 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 3 34 /* corresponding structure element. */ 3 35 /* if data = +N: */ 3 36 /* argN is data_ptr, argN+1 is data_len */ 3 37 /* if ioa_msg = +N: */ 3 38 /* argN+1, ... argLAST are arguments substituted into the */ 3 39 /* ioa_msg control string. The formatted msg is returned. */ 3 40 2 flags, 3 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 3 42 3 flags_pad bit(35) unal, 3 43 2 mode fixed bin, /* as-mode, command-mode */ 3 44 2 severity fixed bin, /* error severity */ 3 45 2 code fixed bin(35), /* error table code */ 3 46 2 caller char(65) varying, /* caller refname$entryname*/ 3 47 2 data, /* binary data ptr/length */ 3 48 3 data_ptr ptr, 3 49 3 data_lth fixed bin(21), 3 50 2 class char(10) varying, /* binary data class */ 3 51 2 ioa_msg char(500) varying; /* formatted message text */ 3 52 3 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 54 /* */ 3 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 3 56 /* their data types should be as shown in the structure above, except that */ 3 57 /* character strings should be char(*) nonvarying. */ 3 58 /* */ 3 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 60 3 61 /* value for sl_info.version */ 3 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 3 63 3 64 /* values for sl_info.mode */ 3 65 dcl (SL_INFO_as_mode init(1), 3 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 3 67 3 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 3 69 dcl (SL_INFO_arg_given_in_structure init(-1), 3 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 3 71 3 72 3 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 74 /* */ 3 75 /* The following static structures are commonly used in the Login Server */ 3 76 /* user control software. */ 3 77 /* */ 3 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 79 3 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 3 81 3 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 3 83 2 version char(8) init ("sl_info1"), 3 84 2 arg_list_ptr ptr init (null), 3 85 2 loc, 3 86 3 (mode init (-1), 3 87 severity init ( 1), 3 88 code init ( 2), 3 89 caller init (-1), 3 90 data init ( 0), 3 91 class init ( 0), 3 92 ioa_msg init ( 3)) fixed bin, 3 93 2 flags, 3 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 3 95 3 flags_pad bit(35) unal init ("0"b), 3 96 2 mode fixed bin init ( 1), 3 97 2 severity fixed bin init ( 0), 3 98 2 code fixed bin(35) init ( 0), 3 99 2 caller char(65) varying init (""), 3 100 2 data, 3 101 3 data_ptr ptr init (null), 3 102 3 data_lth fixed bin(21) init ( 0), 3 103 2 class char(10) varying init (""), 3 104 2 ioa_msg char(500) varying init (""); 3 105 3 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 3 107 3 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 3 109 2 version char(8) init ("sl_info1"), 3 110 2 arg_list_ptr ptr init (null), 3 111 2 loc, 3 112 3 (mode init (-1), 3 113 severity init ( 1), 3 114 code init ( 0), 3 115 caller init (-1), 3 116 data init ( 0), 3 117 class init ( 0), 3 118 ioa_msg init ( 2)) fixed bin, 3 119 2 flags, 3 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 3 121 3 flags_pad bit(35) unal init ("0"b), 3 122 2 mode fixed bin init ( 1), 3 123 2 severity fixed bin init ( 0), 3 124 2 code fixed bin(35) init ( 0), 3 125 2 caller char(65) varying init (""), 3 126 2 data, 3 127 3 data_ptr ptr init (null), 3 128 3 data_lth fixed bin(21) init ( 0), 3 129 2 class char(10) varying init (""), 3 130 2 ioa_msg char(500) varying init (""); 3 131 3 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 3 133 3 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 3 135 2 version char(8) init ("sl_info1"), 3 136 2 arg_list_ptr ptr init (null), 3 137 2 loc, 3 138 3 (mode init (-1), 3 139 severity init ( 1), 3 140 code init ( 0), 3 141 caller init (-1), 3 142 data init ( 0), 3 143 class init ( 0), 3 144 ioa_msg init ( 2)) fixed bin, 3 145 2 flags, 3 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 3 147 3 flags_pad bit(35) unal init ("0"b), 3 148 2 mode fixed bin init ( 1), 3 149 2 severity fixed bin init ( 0), 3 150 2 code fixed bin(35) init ( 0), 3 151 2 caller char(65) varying init (""), 3 152 2 data, 3 153 3 data_ptr ptr init (null), 3 154 3 data_lth fixed bin(21) init ( 0), 3 155 2 class char(10) varying init (""), 3 156 2 ioa_msg char(500) varying init (""); 3 157 3 158 3 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 3 160 3 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 3 162 2 version char(8) init ("sl_info1"), 3 163 2 arg_list_ptr ptr init (null), 3 164 2 loc, 3 165 3 (mode init (-1), 3 166 severity init ( 1), 3 167 code init ( 2), 3 168 caller init (-1), 3 169 data init ( 0), 3 170 class init ( 0), 3 171 ioa_msg init ( 4)) fixed bin, 3 172 2 flags, 3 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 3 174 3 flags_pad bit(35) unal init ("0"b), 3 175 2 mode fixed bin init ( 1), 3 176 2 severity fixed bin init ( 0), 3 177 2 code fixed bin(35) init ( 0), 3 178 2 caller char(65) varying init (""), 3 179 2 data, 3 180 3 data_ptr ptr init (null), 3 181 3 data_lth fixed bin(21) init ( 0), 3 182 2 class char(10) varying init (""), 3 183 2 ioa_msg char(500) varying init (""); 3 184 3 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 3 186 3 187 dcl 1 sl_info_code_msg aligned int static options(constant), 3 188 2 version char(8) init ("sl_info1"), 3 189 2 arg_list_ptr ptr init (null), 3 190 2 loc, 3 191 3 (mode init (-1), 3 192 severity init (-1), 3 193 code init ( 1), 3 194 caller init (-1), 3 195 data init ( 0), 3 196 class init ( 0), 3 197 ioa_msg init ( 2)) fixed bin, 3 198 2 flags, 3 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 3 200 3 flags_pad bit(35) unal init ("0"b), 3 201 2 mode fixed bin init ( 1), 3 202 2 severity fixed bin init ( 0), 3 203 2 code fixed bin(35) init ( 0), 3 204 2 caller char(65) varying init (""), 3 205 2 data, 3 206 3 data_ptr ptr init (null), 3 207 3 data_lth fixed bin(21) init ( 0), 3 208 2 class char(10) varying init (""), 3 209 2 ioa_msg char(500) varying init (""); 3 210 3 211 3 212 /* Syntax: call Trace (ioa_ctl, args); */ 3 213 3 214 dcl 1 sl_info_msg aligned int static options(constant), 3 215 2 version char(8) init ("sl_info1"), 3 216 2 arg_list_ptr ptr init (null), 3 217 2 loc, 3 218 3 (mode init (-1), 3 219 severity init (-1), 3 220 code init ( 0), 3 221 caller init (-1), 3 222 data init ( 0), 3 223 class init ( 0), 3 224 ioa_msg init ( 1)) fixed bin, 3 225 2 flags, 3 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 3 227 3 flags_pad bit(35) unal init ("0"b), 3 228 2 mode fixed bin init ( 1), 3 229 2 severity fixed bin init ( 0), 3 230 2 code fixed bin(35) init ( 0), 3 231 2 caller char(65) varying init (""), 3 232 2 data, 3 233 3 data_ptr ptr init (null), 3 234 3 data_lth fixed bin(21) init ( 0), 3 235 2 class char(10) varying init (""), 3 236 2 ioa_msg char(500) varying init (""); 3 237 3 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 70 71 end as_send_user_message_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1540.6 as_send_user_message_.pl1 >special_ldd>install>MR12.1-1054>as_send_user_message_.pl1 53 1 04/27/78 1504.4 send_mail_info.incl.pl1 >ldd>include>send_mail_info.incl.pl1 69 2 10/27/83 2104.2 mlsys_deliver_info.incl.pl1 >ldd>include>mlsys_deliver_info.incl.pl1 70 3 08/04/87 1139.0 sys_log_constants.incl.pl1 >spec>install>1056>sys_log_constants.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. Access_class parameter bit(72) dcl 31 set ref 20 61* Caller parameter char unaligned dcl 23 set ref 20 43* Destination parameter char unaligned dcl 23 ref 20 Express parameter bit(1) dcl 30 ref 20 59 62 Group_id parameter char unaligned dcl 23 set ref 20 42 42 42 42 43* Message parameter char unaligned dcl 23 set ref 20 61* SL_LOG_SILENT 000003 constant fixed bin(17,0) initial dcl 3-14 set ref 43* Sender parameter char unaligned dcl 23 ref 20 56 address parameter char unaligned dcl 50 set ref 47 61* always_add 11(02) 000101 automatic bit(1) level 3 packed unaligned dcl 1-5 set ref 59* code 000100 automatic fixed bin(35,0) dcl 32 in procedure "as_send_user_message_" set ref 42* 43 43* code parameter fixed bin(35,0) dcl 51 in procedure "try_delivery" set ref 47 61* 62 62* error_table_$messages_off 000014 external static fixed bin(35,0) dcl 38 ref 62 send_mail_$access_class 000010 constant entry external dcl 34 ref 61 send_mail_info 000101 automatic structure level 1 dcl 1-5 set ref 61 61 send_mail_info_version_2 000100 automatic fixed bin(17,0) initial dcl 1-3 set ref 55 1-3* sent_from 1 000101 automatic char(32) level 2 dcl 1-5 set ref 56* switches 11 000101 automatic structure level 2 dcl 1-5 set ref 57* sys_log_$error_log 000012 constant entry external dcl 37 ref 43 version 000101 automatic fixed bin(17,0) level 2 dcl 1-5 set ref 55* wakeup 11 000101 automatic bit(1) level 3 packed unaligned dcl 1-5 set ref 58* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ALWAYS_NOTIFY internal static fixed bin(17,0) initial dcl 2-42 ALWAYS_QUEUE internal static fixed bin(17,0) initial dcl 2-33 ALWAYS_QUEUE_FOREIGN internal static fixed bin(17,0) initial dcl 2-33 DELIVER_OPTIONS_VERSION_2 internal static char(8) initial unaligned dcl 2-19 EXPRESS_DELIVERY internal static fixed bin(17,0) initial dcl 2-25 INTERACTIVE_DELIVERY internal static fixed bin(17,0) initial dcl 2-25 NEVER_NOTIFY internal static fixed bin(17,0) initial dcl 2-42 NEVER_QUEUE internal static fixed bin(17,0) initial dcl 2-33 NOTIFY_ON_ERROR internal static fixed bin(17,0) initial dcl 2-42 ORDINARY_DELIVERY internal static fixed bin(17,0) initial dcl 2-25 QUEUE_FOREIGN_WHEN_NEEDED internal static fixed bin(17,0) initial dcl 2-33 QUEUE_WHEN_NEEDED internal static fixed bin(17,0) initial dcl 2-33 RECIPIENTS_INFO_VERSION_2 internal static char(8) initial unaligned dcl 2-62 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 3-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 3-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 3-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 3-65 SL_INFO_version_1 internal static char(8) initial unaligned dcl 3-62 SL_LOG internal static fixed bin(17,0) initial dcl 3-14 SL_LOG_BEEP internal static fixed bin(17,0) initial dcl 3-14 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 3-14 SL_TYPE internal static fixed bin(17,0) initial dcl 3-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 3-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 3-14 deliver_options based structure level 1 dcl 2-6 deliver_options_ptr automatic pointer dcl 2-21 expanded_recipients_result_list based structure level 1 dcl 2-93 expanded_recipients_result_list_n_entries automatic fixed bin(17,0) dcl 2-66 expanded_recipients_result_list_ptr automatic pointer dcl 2-64 recipients_info based structure level 1 dcl 2-49 recipients_info_n_lists automatic fixed bin(17,0) dcl 2-66 recipients_info_ptr automatic pointer dcl 2-64 recipients_result_list based structure level 1 dcl 2-72 recipients_result_list_n_addresses automatic fixed bin(17,0) dcl 2-66 recipients_result_list_ptr automatic pointer dcl 2-64 sl_info automatic structure level 1 dcl 3-24 sl_info_code_msg internal static structure level 1 dcl 3-187 sl_info_msg internal static structure level 1 dcl 3-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 3-161 sl_info_sev_code_msg internal static structure level 1 dcl 3-82 sl_info_sev_coded_msg internal static structure level 1 dcl 3-134 sl_info_sev_msg internal static structure level 1 dcl 3-108 NAMES DECLARED BY EXPLICIT CONTEXT. as_send_user_message_ 000030 constant entry external dcl 20 try_delivery 000172 constant entry internal dcl 47 ref 42 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 61 61 length builtin function ref 42 42 rtrim builtin function ref 42 42 substr builtin function ref 42 42 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 422 440 326 432 Length 672 326 16 216 74 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME as_send_user_message_ 108 external procedure is an external procedure. try_delivery 100 internal procedure is called during a stack extension. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME as_send_user_message_ 000100 code as_send_user_message_ try_delivery 000100 send_mail_info_version_2 try_delivery 000101 send_mail_info try_delivery THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_int_this_desc return_mac shorten_stack ext_entry_desc int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. send_mail_$access_class sys_log_$error_log THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$messages_off LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 20 000022 42 000067 43 000127 45 000170 47 000171 1 3 000205 55 000207 56 000210 57 000217 58 000235 59 000237 61 000246 62 000304 64 000317 ----------------------------------------------------------- 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