COMPILATION LISTING OF SEGMENT last_message_info Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 06/30/86 1403.2 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* This module implements the following command/active functions: 7* 8* last_message_sender (lms) - print/return the user ID of the 9* last message sender. 10* last_message_time (lmt) - print/return the date/time of the last 11* message. 12* last_message (lm) - print/return the last message. 13**/ 14 /* Written 05/30/84 by Jim Lippard */ 15 last_message_info: procedure options (variable); 16 return; /* not an entry */ 17 18 dcl ME char (19); 19 dcl VERSION char (3) internal static options (constant) init ("1.0"); 20 21 dcl com_err_ entry () options (variable); 22 23 dcl date_time_$format entry (char (*), fixed bin (71), char (*), char (*)) returns (char (250) var); 24 25 dcl expand_pathname_$add_suffix entry (char (*), char (*), char (*), char (*), fixed bin (35)); 26 27 dcl ioa_ entry () options (variable); 28 29 dcl mlsys_utils_$parse_mailbox_control_args entry (ptr, fixed bin, ptr, char (*), char (*), fixed bin (35)); 30 31 dcl message_facility_$get_msgf_mbx_ptr entry (char (*), char (*), ptr, fixed bin (35)); 32 dcl message_facility_$get_last_message_info entry (ptr, ptr, fixed bin (35)); 33 34 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 35 36 dcl requote_string_ entry (char (*)) returns (char (*)); 37 38 dcl ssu_$abort_line entry () options (variable); 39 dcl ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin (21)); 40 dcl ssu_$destroy_invocation entry (ptr); 41 dcl ssu_$return_arg entry (ptr, fixed bin, bit (1) aligned, ptr, fixed bin (21)); 42 dcl ssu_$standalone_invocation entry (ptr, char (*), char (*), ptr, entry, fixed bin (35)); 43 44 dcl user_info_$whoami entry (char (*), char (*), char (*)); 45 46 dcl cleanup condition; 47 48 dcl active_function bit (1) aligned; 49 50 dcl arg_count fixed bin; 51 dcl arg_ptr ptr; 52 dcl arg_len fixed bin (21); 53 dcl arg char (arg_len) based (arg_ptr); 54 55 dcl dname char (168); 56 dcl ename char (32); 57 58 dcl idx fixed bin; 59 60 dcl inhibit_error bit (1) aligned; 61 62 dcl 1 local_lmi aligned like last_message_info; 63 64 dcl 1 local_pcao aligned like parse_ca_options; 65 66 dcl msgf_mbx_ptr ptr; 67 68 dcl msg_time char (250) var; 69 70 dcl path bit (1) aligned; 71 72 dcl person char (22); 73 dcl project char (9); 74 75 dcl return_ptr ptr; 76 dcl return_len fixed bin (21); 77 dcl return_arg char (return_len) varying based (return_ptr); 78 79 dcl sci_ptr ptr; 80 81 dcl (addr, fixed, length, null, rtrim, substr) builtin; 82 83 dcl TRUE bit (1) aligned internal static options (constant) init ("1"b); 84 dcl FALSE bit (1) aligned internal static options (constant) init ("0"b); 85 86 dcl LFHTSP char (3) internal static options (constant) init (" 87 "); 88 89 dcl code fixed bin (35); 90 91 dcl error_table_$noarg fixed bin (35) ext static; 92 93 last_message_sender: lms: entry; 94 ME = "last_message_sender"; 95 go to COMMON; 96 97 last_message_time: lmt: entry; 98 ME = "last_message_time"; 99 go to COMMON; 100 101 last_message: lm: entry; 102 ME = "last_message"; 103 104 COMMON: 105 106 /* initialize variables */ 107 inhibit_error, path = FALSE; 108 sci_ptr = null (); 109 110 on cleanup call cleanup_lmi; 111 112 /* create ssu_ invocation */ 113 call ssu_$standalone_invocation (sci_ptr, ME, VERSION, null (), abort_lmi, code); 114 115 if code ^= 0 then do; 116 call com_err_ (code, ME, "Creating standalone subsystem invocation."); 117 return; 118 end; 119 120 /* process arguments */ 121 call ssu_$return_arg (sci_ptr, arg_count, active_function, return_ptr, return_len); 122 123 do idx = 1 to arg_count; 124 call ssu_$arg_ptr (sci_ptr, idx, arg_ptr, arg_len); 125 if arg = "-inhibit_error" | arg = "-ihe" then inhibit_error = TRUE; 126 else if arg = "-pathname" | arg = "-pn" then do; 127 idx = idx + 1; 128 if idx > arg_count then call ssu_$abort_line (sci_ptr, error_table_$noarg, 129 "A pathname must be specified after ""^a"".", arg); 130 131 if path then call ssu_$abort_line (sci_ptr, (0), 132 "Usage: ^[lms^;^[lmt^;lm^]^] {mbx_specification}", (ME = "last_message_sender"), (ME = "last_message_time")); 133 134 call ssu_$arg_ptr (sci_ptr, idx, arg_ptr, arg_len); 135 call expand_pathname_$add_suffix (arg, "mbx", dname, ename, code); 136 137 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "^a", arg); 138 139 path = TRUE; 140 end; 141 else do; 142 /* let mlsys_utils_ have at it */ 143 local_pcao.version = PARSE_CA_OPTIONS_VERSION_1; 144 local_pcao.logbox_creation_mode = DONT_CREATE_MAILBOX; 145 local_pcao.savebox_creation_mode = DONT_CREATE_MAILBOX; 146 local_pcao.abort_on_errors = TRUE; 147 local_pcao.validate_addresses = FALSE; 148 local_pcao.mbz = ""b; 149 150 call mlsys_utils_$parse_mailbox_control_args (sci_ptr, idx, addr (local_pcao), dname, ename, code); 151 152 if code ^= 0 then call ssu_$abort_line (sci_ptr, code); 153 154 idx = idx - 1; 155 156 if path then call ssu_$abort_line (sci_ptr, (0), 157 "Usage: ^[lms^;^[lmt^;lm^]^] {mbx_specification}", (ME = "last_message_sender"), (ME = "last_message_time")); 158 159 path = TRUE; 160 end; 161 end; 162 163 if ^path then do; 164 call user_info_$whoami (person, project, ""); 165 dname = ">udd>" || rtrim (project) || ">" || person; 166 ename = rtrim (person) || ".mbx"; 167 end; 168 169 call message_facility_$get_msgf_mbx_ptr (dname, ename, msgf_mbx_ptr, code); 170 171 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "^a", pathname_ (dname, ename)); 172 173 local_lmi.version = LAST_MESSAGE_INFO_VERSION_1; 174 175 call message_facility_$get_last_message_info (msgf_mbx_ptr, addr (local_lmi), code); 176 177 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "^a", pathname_ (dname, ename)); 178 179 if local_lmi.last_message_id = ""b then do; 180 if ^inhibit_error then call ssu_$abort_line (sci_ptr, (0), "No last message."); 181 else if active_function then return_arg = ""; 182 go to MAIN_RETURN; 183 end; 184 185 message_info_ptr = local_lmi.last_message_ptr; 186 187 if ME = "last_message_sender" then do; 188 if active_function then return_arg = 189 requote_string_ (substr (message_info.sender, 1, length (rtrim (message_info.sender)) - 2)); 190 else call ioa_ ("^a", substr (message_info.sender, 1, length (rtrim (message_info.sender)) - 2)); 191 end; 192 193 else if ME = "last_message_time" then do; 194 msg_time = date_time_$format ("date_time", fixed (substr (local_lmi.last_message_id, 19, 54), 71), "", ""); 195 if active_function then return_arg = requote_string_ ((msg_time)); 196 else call ioa_ ("^a", msg_time); 197 end; 198 199 else if ME = "last_message" then do; 200 mail_format_ptr = message_info.message_ptr; 201 if active_function then return_arg = requote_string_ (rtrim (mail_format.text, LFHTSP)); 202 else call ioa_ ("^a", rtrim (mail_format.text, LFHTSP)); 203 end; 204 205 MAIN_RETURN: 206 call cleanup_lmi; 207 RETURN_FROM_LMI: 208 return; 209 210 cleanup_lmi: proc; 211 if sci_ptr ^= null () then call ssu_$destroy_invocation (sci_ptr); 212 return; 213 end; 214 215 abort_lmi: proc; 216 call cleanup_lmi; 217 go to RETURN_FROM_LMI; 218 end abort_lmi; 219 220 1 1 /* BEGIN INCLUDE FILE last_message_info.incl.pl1 */ 1 2 /* Written 05/15/84 by Jim Lippard */ 1 3 /* Modified 01/11/85 by Jim Lippard to remove last_message_index. */ 1 4 1 5 dcl 1 last_message_info aligned based (last_message_info_ptr), 1 6 2 version char (8), 1 7 2 last_message_ptr ptr, 1 8 2 last_message_id bit (72) aligned, 1 9 2 last_message_number fixed bin; 1 10 1 11 dcl last_message_info_ptr ptr; 1 12 1 13 dcl LAST_MESSAGE_INFO_VERSION_1 char (8) internal static options (constant) init ("lastmsg1"); 1 14 1 15 /* END INCLUDE FILE last_message_info.incl.pl1 */ 221 222 2 1 /* BEGIN Mailbox Message Include File (mail_format.incl.pl1) */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(86-01-09,Herbst), approve(86-03-25,MCR7367), 2 6* audit(86-04-28,Margolin), install(86-05-22,MR12.0-1059): 2 7* Added "seen" switch. 2 8* 2) change(86-06-02,Herbst), approve(86-06-02,MCR7367), audit(86-06-30,Wong), 2 9* install(86-06-30,MR12.0-1080): 2 10* Updated to version 4 for seen switch. 2 11* END HISTORY COMMENTS */ 2 12 2 13 /* Last modified by K. T. Pogran, 3/6/75 */ 2 14 /* Modified by D. M. Wells, August 10, 1977 for v4 message segments. */ 2 15 /* Modified: 3 June 1981 by G. Palter for mail system subroutine interface */ 2 16 2 17 declare mail_format_ptr pointer aligned; 2 18 2 19 declare MAIL_FORMAT_VERSION_4 initial (4) 2 20 fixed bin internal static options (constant); 2 21 2 22 declare text_length fixed bin (21); 2 23 2 24 declare 1 mail_format aligned based (mail_format_ptr), 2 25 2 header, 2 26 3 version fixed bin (17), 2 27 3 sent_from char (32) aligned, 2 28 3 lines fixed bin (17), 2 29 3 text_len fixed bin (21), 2 30 3 switches aligned, 2 31 4 wakeup bit (1) unaligned, 2 32 4 urgent bit (1) unaligned, 2 33 4 notify bit (1) unaligned, 2 34 4 acknowledge bit (1) unaligned, 2 35 4 obsolete bit (1) unaligned, 2 36 4 canonical bit (1) unaligned, 2 37 4 seen bit (1) unaligned, 2 38 4 others bit (65) unaligned, 2 39 2 text char(text_length refer (mail_format.header.text_len)) aligned; 2 40 2 41 /* END Mailbox Message Include File (mail_format.incl.pl1) */ 223 224 3 1 /* BEGIN INCLUDE FILE message_info.incl.pl1 */ 3 2 /* Written 05/15/84 by Jim Lippard */ 3 3 3 4 dcl 1 message_info aligned based (message_info_ptr), 3 5 2 version char (8), 3 6 2 sender char (32), 3 7 2 message_ptr ptr, 3 8 2 authorization bit (72); 3 9 3 10 dcl message_info_ptr ptr; 3 11 3 12 dcl MESSAGE_INFO_VERSION_1 char (8) internal static options (constant) init ("msginfo1"); 3 13 3 14 /* END INCLUDE FILE message_info.incl.pl1 */ 225 226 4 1 /* BEGIN INCLUDE FILE ... mlsys_parse_ca_options.incl.pl1 */ 4 2 /* Created: June 1983 by G. Palter */ 4 3 /* Modified: March 1984 by G. Palter to remove ignore_log_save option */ 4 4 4 5 /* Options for the mlsys_utils_$parse_address_control_arguments, mlsys_utils_$parse_address_list_control_arguments, and 4 6* mlsys_utils_$parse_mailbox_control_arguments entrypoints */ 4 7 4 8 dcl 1 parse_ca_options aligned based (parse_ca_options_ptr), 4 9 2 version character (8) unaligned, 4 10 2 logbox_creation_mode fixed binary, /* specifies the action to be taken if the address/mailbox is 4 11* the user's logbox, address/mailbox validation is requested, 4 12* and the logbox does not exist */ 4 13 2 savebox_creation_mode fixed binary, /* ... same as above but for any savebox */ 4 14 2 flags, 4 15 3 abort_on_errors bit (1) unaligned, /* ON => use ssu_$abort_line to report errors (ie: abort on 4 16* the first error); OFF => use ssu_$print_message */ 4 17 3 validate_addresses bit (1) unaligned, /* ON => validate the existence of the address/mailbox; 4 18* OFF => only validate the command/request line syntax */ 4 19 3 mbz bit (34) unaligned; /* must be set to ""b by the caller */ 4 20 4 21 dcl PARSE_CA_OPTIONS_VERSION_1 character (8) static options (constant) initial ("mlspca01"); 4 22 4 23 dcl parse_ca_options_ptr pointer; 4 24 4 25 4 26 /* Defined logbox/savebox creation modes */ 4 27 4 28 dcl (DONT_CREATE_MAILBOX initial (0), /* do not create the mailbox and issue an error message */ 4 29 QUERY_TO_CREATE_MAILBOX initial (1), /* ask the user for permission to create the mailbox */ 4 30 CREATE_AND_ANNOUNCE_MAILBOX initial (2), /* create the mailbox and inform the user of this action */ 4 31 SILENTLY_CREATE_MAILBOX initial (3)) /* create the mailbox but don't inform the user */ 4 32 fixed binary static options (constant); 4 33 4 34 /* END INCLUDE FILE ... mlsys_parse_ca_options.incl.pl1 */ 227 228 end last_message_info; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 06/30/86 1344.2 last_message_info.pl1 >spec>install>1080>last_message_info.pl1 221 1 01/22/85 2000.0 last_message_info.incl.pl1 >ldd>include>last_message_info.incl.pl1 223 2 06/30/86 1338.8 mail_format.incl.pl1 >spec>install>1080>mail_format.incl.pl1 225 3 11/08/84 0926.0 message_info.incl.pl1 >ldd>include>message_info.incl.pl1 227 4 06/18/84 1324.1 mlsys_parse_ca_options.incl.pl1 >ldd>include>mlsys_parse_ca_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. DONT_CREATE_MAILBOX constant fixed bin(17,0) initial dcl 4-28 ref 144 145 FALSE constant bit(1) initial dcl 84 ref 104 147 LAST_MESSAGE_INFO_VERSION_1 000002 constant char(8) initial unaligned dcl 1-13 ref 173 LFHTSP 000004 constant char(3) initial unaligned dcl 86 ref 201 201 202 202 ME 000100 automatic char(19) unaligned dcl 18 set ref 94* 98* 102* 113* 116* 131 131 156 156 187 193 199 PARSE_CA_OPTIONS_VERSION_1 000000 constant char(8) initial unaligned dcl 4-21 ref 143 TRUE constant bit(1) initial dcl 83 ref 125 139 146 159 VERSION 000005 constant char(3) initial unaligned dcl 19 set ref 113* abort_on_errors 4 000215 automatic bit(1) level 3 packed unaligned dcl 64 set ref 146* active_function 000114 automatic bit(1) dcl 48 set ref 121* 181 188 195 201 addr builtin function dcl 81 ref 150 150 175 175 arg based char unaligned dcl 53 set ref 125 125 126 126 128* 135* 137* arg_count 000115 automatic fixed bin(17,0) dcl 50 set ref 121* 123 128 arg_len 000120 automatic fixed bin(21,0) dcl 52 set ref 124* 125 125 126 126 128 128 134* 135 135 137 137 arg_ptr 000116 automatic pointer dcl 51 set ref 124* 125 125 126 126 128 134* 135 137 cleanup 000106 stack reference condition dcl 46 ref 110 code 000344 automatic fixed bin(35,0) dcl 89 set ref 113* 115 116* 135* 137 137* 150* 152 152* 169* 171 171* 175* 177 177* com_err_ 000010 constant entry external dcl 21 ref 116 date_time_$format 000012 constant entry external dcl 23 ref 194 dname 000121 automatic char(168) unaligned dcl 55 set ref 135* 150* 165* 169* 171* 171* 177* 177* ename 000173 automatic char(32) unaligned dcl 56 set ref 135* 150* 166* 169* 171* 171* 177* 177* error_table_$noarg 000046 external static fixed bin(35,0) dcl 91 set ref 128* expand_pathname_$add_suffix 000014 constant entry external dcl 25 ref 135 fixed builtin function dcl 81 ref 194 194 flags 4 000215 automatic structure level 2 dcl 64 header based structure level 2 dcl 2-24 idx 000203 automatic fixed bin(17,0) dcl 58 set ref 123* 124* 127* 127 128 134* 150* 154* 154* inhibit_error 000204 automatic bit(1) dcl 60 set ref 104* 125* 180 ioa_ 000016 constant entry external dcl 27 ref 190 196 202 last_message_id 4 000206 automatic bit(72) level 2 dcl 62 set ref 179 194 194 last_message_info based structure level 1 dcl 1-5 last_message_ptr 2 000206 automatic pointer level 2 dcl 62 set ref 185 length builtin function dcl 81 ref 188 188 190 190 local_lmi 000206 automatic structure level 1 dcl 62 set ref 175 175 local_pcao 000215 automatic structure level 1 dcl 64 set ref 150 150 logbox_creation_mode 2 000215 automatic fixed bin(17,0) level 2 dcl 64 set ref 144* mail_format based structure level 1 dcl 2-24 mail_format_ptr 000346 automatic pointer dcl 2-17 set ref 200* 201 201 202 202 mbz 4(02) 000215 automatic bit(34) level 3 packed unaligned dcl 64 set ref 148* message_facility_$get_last_message_info 000024 constant entry external dcl 32 ref 175 message_facility_$get_msgf_mbx_ptr 000022 constant entry external dcl 31 ref 169 message_info based structure level 1 dcl 3-4 message_info_ptr 000350 automatic pointer dcl 3-10 set ref 185* 188 188 188 188 190 190 190 190 200 message_ptr 12 based pointer level 2 dcl 3-4 ref 200 mlsys_utils_$parse_mailbox_control_args 000020 constant entry external dcl 29 ref 150 msg_time 000224 automatic varying char(250) dcl 68 set ref 194* 195 196* msgf_mbx_ptr 000222 automatic pointer dcl 66 set ref 169* 175* null builtin function dcl 81 ref 108 113 113 211 parse_ca_options based structure level 1 dcl 4-8 path 000324 automatic bit(1) dcl 70 set ref 104* 131 139* 156 159* 163 pathname_ 000026 constant entry external dcl 34 ref 171 171 177 177 person 000325 automatic char(22) unaligned dcl 72 set ref 164* 165 166 project 000333 automatic char(9) unaligned dcl 73 set ref 164* 165 requote_string_ 000030 constant entry external dcl 36 ref 188 195 201 return_arg based varying char dcl 77 set ref 181* 188* 195* 201* return_len 000340 automatic fixed bin(21,0) dcl 76 set ref 121* 181 188 195 201 return_ptr 000336 automatic pointer dcl 75 set ref 121* 181 188 195 201 rtrim builtin function dcl 81 ref 165 166 188 188 190 190 201 201 202 202 savebox_creation_mode 3 000215 automatic fixed bin(17,0) level 2 dcl 64 set ref 145* sci_ptr 000342 automatic pointer dcl 79 set ref 108* 113* 121* 124* 128* 131* 134* 137* 150* 152* 156* 171* 177* 180* 211 211* sender 2 based char(32) level 2 dcl 3-4 ref 188 188 188 188 190 190 190 190 ssu_$abort_line 000032 constant entry external dcl 38 ref 128 131 137 152 156 171 177 180 ssu_$arg_ptr 000034 constant entry external dcl 39 ref 124 134 ssu_$destroy_invocation 000036 constant entry external dcl 40 ref 211 ssu_$return_arg 000040 constant entry external dcl 41 ref 121 ssu_$standalone_invocation 000042 constant entry external dcl 42 ref 113 substr builtin function dcl 81 ref 188 188 190 190 194 194 text 15 based char level 2 dcl 2-24 ref 201 201 202 202 text_len 12 based fixed bin(21,0) level 3 dcl 2-24 ref 201 201 202 202 user_info_$whoami 000044 constant entry external dcl 44 ref 164 validate_addresses 4(01) 000215 automatic bit(1) level 3 packed unaligned dcl 64 set ref 147* version 000215 automatic char(8) level 2 in structure "local_pcao" packed unaligned dcl 64 in procedure "last_message_info" set ref 143* version 000206 automatic char(8) level 2 in structure "local_lmi" dcl 62 in procedure "last_message_info" set ref 173* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. CREATE_AND_ANNOUNCE_MAILBOX internal static fixed bin(17,0) initial dcl 4-28 MAIL_FORMAT_VERSION_4 internal static fixed bin(17,0) initial dcl 2-19 MESSAGE_INFO_VERSION_1 internal static char(8) initial unaligned dcl 3-12 QUERY_TO_CREATE_MAILBOX internal static fixed bin(17,0) initial dcl 4-28 SILENTLY_CREATE_MAILBOX internal static fixed bin(17,0) initial dcl 4-28 last_message_info_ptr automatic pointer dcl 1-11 parse_ca_options_ptr automatic pointer dcl 4-23 text_length automatic fixed bin(21,0) dcl 2-22 NAMES DECLARED BY EXPLICIT CONTEXT. COMMON 000232 constant label dcl 104 ref 95 99 MAIN_RETURN 002015 constant label dcl 205 ref 182 RETURN_FROM_LMI 002021 constant label dcl 207 ref 217 abort_lmi 002045 constant entry internal dcl 215 ref 113 113 cleanup_lmi 002023 constant entry internal dcl 210 ref 110 205 216 last_message 000222 constant entry external dcl 101 last_message_info 000142 constant entry external dcl 15 last_message_sender 000160 constant entry external dcl 93 last_message_time 000201 constant entry external dcl 97 lm 000213 constant entry external dcl 101 lms 000151 constant entry external dcl 93 lmt 000172 constant entry external dcl 97 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2604 2654 2264 2614 Length 3164 2264 50 273 317 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME last_message_info 328 external procedure is an external procedure. on unit on line 110 64 on unit cleanup_lmi 68 internal procedure is called by several nonquick procedures. abort_lmi 64 internal procedure is assigned to an entry variable. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME last_message_info 000100 ME last_message_info 000114 active_function last_message_info 000115 arg_count last_message_info 000116 arg_ptr last_message_info 000120 arg_len last_message_info 000121 dname last_message_info 000173 ename last_message_info 000203 idx last_message_info 000204 inhibit_error last_message_info 000206 local_lmi last_message_info 000215 local_pcao last_message_info 000222 msgf_mbx_ptr last_message_info 000224 msg_time last_message_info 000324 path last_message_info 000325 person last_message_info 000333 project last_message_info 000336 return_ptr last_message_info 000340 return_len last_message_info 000342 sci_ptr last_message_info 000344 code last_message_info 000346 mail_format_ptr last_message_info 000350 message_info_ptr last_message_info THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out call_int_this call_int_other return tra_ext enable shorten_stack ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ date_time_$format expand_pathname_$add_suffix ioa_ message_facility_$get_last_message_info message_facility_$get_msgf_mbx_ptr mlsys_utils_$parse_mailbox_control_args pathname_ requote_string_ ssu_$abort_line ssu_$arg_ptr ssu_$destroy_invocation ssu_$return_arg ssu_$standalone_invocation user_info_$whoami THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$noarg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 15 000141 16 000147 93 000150 94 000165 95 000170 97 000171 98 000206 99 000211 101 000212 102 000227 104 000232 108 000235 110 000237 113 000261 115 000322 116 000324 117 000350 121 000351 123 000370 124 000377 125 000414 126 000431 127 000441 128 000442 131 000500 134 000550 135 000565 137 000623 139 000657 140 000661 143 000662 144 000665 145 000667 146 000670 147 000672 148 000674 150 000676 152 000734 154 000753 156 000755 159 001025 161 001027 163 001031 164 001033 165 001054 166 001123 167 001152 169 001153 171 001200 173 001251 175 001253 177 001270 179 001341 180 001343 181 001374 182 001400 185 001401 187 001403 188 001407 190 001467 191 001531 193 001533 194 001537 195 001576 196 001644 197 001664 199 001665 200 001671 201 001674 202 001753 203 002014 205 002015 207 002021 210 002022 211 002030 212 002043 215 002044 216 002052 217 002057 ----------------------------------------------------------- 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