COMPILATION LISTING OF SEGMENT rdm_misc_requests_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell LCPD Phoenix, System M Compiled on: 10/27/83 1242.5 mst Thu 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 /* format: off */ 11 12 /* Miscellaneous read_mail requests */ 13 14 /* Created: 1978 by W. Olin Sibert */ 15 /* Modified: 30 May 1980 by G. Palter to implement suggestion #0316 -- the "." requests should indicate if abbrev 16* processing is enabled */ 17 /* Modified: 16 February 1982 by G. Palter for new calling sequence of ssu_$get_abbrev_info */ 18 /* Modified: 21 September 1982 by G. Palter to stop using rdm_data_ and to make the quit request accept -no_force and 19* -delete/-no_delete */ 20 /* Modified: September 1983 by G. Palter as part of the conversion to the new mail system interface */ 21 22 /* format: on,style4,delnl,insnl,ifthenstmt,ifthen */ 23 24 25 rdm_misc_requests_: 26 procedure (P_sci_ptr, P_rdm_invocation_ptr); 27 28 return; /* not an entrypoint */ 29 30 31 dcl P_sci_ptr pointer parameter; 32 dcl P_rdm_invocation_ptr pointer parameter; 33 34 dcl argument character (argument_lth) unaligned based (argument_ptr); 35 dcl argument_ptr pointer; 36 dcl argument_lth fixed binary (21); 37 dcl (n_arguments, argument_idx) fixed binary; 38 39 dcl request_name character (72) varying; 40 dcl quit_force bit (1); /* command_query_$yes_no is declared wrong */ 41 dcl (delete_messages, expunge_failed) bit (1) aligned; 42 dcl n_new_messages fixed binary; 43 44 dcl (subsystem_name, subsystem_version) character (32); 45 dcl subsystem_level fixed binary; 46 dcl abbrev_enabled bit (1) aligned; 47 48 /* format: off */ 49 dcl (error_table_$bad_arg, error_table_$badopt, mlsys_et_$some_messages_not_deleted) 50 fixed binary (35) external; 51 /* format: on */ 52 53 dcl command_query_$yes_no entry () options (variable); 54 dcl ioa_ entry () options (variable); 55 dcl rdm_mailbox_interface_$expunge_messages entry (pointer, bit (1) aligned); 56 dcl rdm_mailbox_interface_$read_new_messages entry (pointer, bit (1) aligned, fixed binary); 57 dcl ssu_$abort_line entry () options (variable); 58 dcl ssu_$abort_subsystem entry () options (variable); 59 dcl ssu_$arg_count entry (pointer, fixed binary); 60 dcl ssu_$arg_ptr entry (pointer, fixed binary, pointer, fixed binary (21)); 61 dcl ssu_$get_abbrev_info entry (pointer, pointer, pointer, bit (1) aligned); 62 dcl ssu_$get_invocation_count entry (pointer, fixed binary, fixed binary); 63 dcl ssu_$get_subsystem_and_request_name entry (pointer) returns (character (72) varying); 64 dcl ssu_$get_subsystem_name entry (pointer) returns (character (32)); 65 dcl ssu_$get_subsystem_version entry (pointer) returns (character (32)); 66 dcl ssu_$print_message entry () options (variable); 67 68 dcl (index, null, substr) builtin; 69 70 /* The "quit" request: exists read_mail unless new messages have arrived, in which case, the user is queried */ 71 72 quit_request: 73 entry (P_sci_ptr, P_rdm_invocation_ptr); 74 75 rdm_invocation_ptr = P_rdm_invocation_ptr; 76 77 request_name = ssu_$get_subsystem_and_request_name (P_sci_ptr); 78 79 quit_force = "0"b; /* ask if new messages present */ 80 delete_messages = "1"b; /* delete messages so marked */ 81 82 call ssu_$arg_count (P_sci_ptr, n_arguments); 83 84 do argument_idx = 1 to n_arguments; 85 call ssu_$arg_ptr (P_sci_ptr, argument_idx, argument_ptr, argument_lth); 86 if index (argument, "-") = 1 then /* a control argument */ 87 if (argument = "-force") | (argument = "-fc") then quit_force = "1"b; 88 else if (argument = "-no_force") | (argument = "-nfc") then quit_force = "0"b; 89 else if (argument = "-delete") | (argument = "-dl") then delete_messages = "1"b; 90 else if (argument = "-no_delete") | (argument = "-ndl") then delete_messages = "0"b; 91 else call ssu_$abort_line (P_sci_ptr, error_table_$badopt, """^a""", argument); 92 else call ssu_$abort_line (P_sci_ptr, error_table_$bad_arg, "This request only accepts control arguments.") 93 ; 94 end; 95 96 call rdm_mailbox_interface_$read_new_messages (rdm_invocation_ptr, "0"b, n_new_messages); 97 98 if ^quit_force & (n_new_messages > 0) then do; /* give user a change to look */ 99 call command_query_$yes_no (quit_force, 0, request_name, "", 100 "^[One new message has^s^;^d new messages have^] arrived. Do you still wish to quit?", 101 (n_new_messages = 1), n_new_messages); 102 if ^quit_force then call ssu_$abort_line (P_sci_ptr); 103 end; 104 105 if delete_messages then do; /* actually flush deleted messages */ 106 call rdm_mailbox_interface_$expunge_messages (rdm_invocation_ptr, expunge_failed); 107 if expunge_failed then /* .. unable to delete everything that should have been ... */ 108 if quit_force then /* ... but user wants out anyway: warn of possible error */ 109 call ssu_$print_message (P_sci_ptr, mlsys_et_$some_messages_not_deleted); 110 else call ssu_$abort_line (P_sci_ptr, mlsys_et_$some_messages_not_deleted); 111 end; 112 113 call ssu_$abort_subsystem (P_sci_ptr, 0); /* leave */ 114 115 return; /* can't get here */ 116 117 /* format: off */ 118 /* The "." request: prints a line of the form: 119* 120* read_mail V {(abbrev)} {(debug)} {(level N)}: No current message. # messages, # deleted. PATHNAME 121* 122* where items enclosed in {}'s are optionally printed if meaningfull */ 123 /* format: on */ 124 125 self_identify: 126 entry (P_sci_ptr, P_rdm_invocation_ptr); 127 128 rdm_invocation_ptr = P_rdm_invocation_ptr; 129 mailbox_ptr = rdm_invocation.mailbox_ptr; 130 131 call ssu_$arg_count (P_sci_ptr, n_arguments); 132 if n_arguments ^= 0 then call ssu_$abort_line (P_sci_ptr, 0, "No arguments may be given."); 133 134 call rdm_mailbox_interface_$read_new_messages (rdm_invocation_ptr, "1"b, (0)); 135 /* say what's new */ 136 137 subsystem_name = ssu_$get_subsystem_name (P_sci_ptr); 138 subsystem_version = ssu_$get_subsystem_version (P_sci_ptr); 139 call ssu_$get_abbrev_info (P_sci_ptr, (null ()), (null ()), abbrev_enabled); 140 call ssu_$get_invocation_count (P_sci_ptr, subsystem_level, (0)); 141 142 call ioa_ ( 143 "^a ^a^[ (abbrev)^]^[ (debug)^]^[ (level ^d)^;^s^]: ^[Message #^d of ^d^s^;^sNo current message. ^d message^[s^]^]^[, ^d deleted^;^s^]. ^[Reading ^a.^;^a^]" 144 , subsystem_name, subsystem_version, abbrev_enabled, rdm_invocation.debug_mode, (subsystem_level ^= 1), 145 subsystem_level, (rdm_invocation.current_message ^= 0), rdm_invocation.current_message, 146 all_chain.n_messages, (all_chain.n_messages ^= 1), (deleted_chain.n_messages > 0), 147 deleted_chain.n_messages, (substr (rdm_invocation.mailbox_name, 1, 1) ^= ">"), rdm_invocation.mailbox_name) 148 ; 149 150 return; 151 1 1 /* BEGIN INCLUDE FILE ... rdm_invocation.incl.pl1 */ 1 2 /* Created: September 1983 by G. Palter from portions of emf_info.incl.pl1 */ 1 3 1 4 /* Definition of a single invocation of read_mail */ 1 5 1 6 dcl 1 rdm_invocation aligned based (rdm_invocation_ptr), 1 7 2 type character (8), /* defines this structure as a read_mail invocation */ 1 8 2 sci_ptr pointer, /* -> subsystem utilities invocation data */ 1 9 2 area_ptr pointer, /* -> area to be used by the subsystem */ 1 10 1 11 2 mailbox_info, 1 12 3 mailbox_ptr pointer, /* -> mailbox structure being examined by this invocation */ 1 13 3 message_list_ptr pointer, /* -> list of read_mail specific information retained for each 1 14* message (eg: the "processed" flag) */ 1 15 3 message_chains, /*the various message chains ... */ 1 16 4 all pointer, /* ... all unexpunged messages */ 1 17 4 undeleted pointer, /* ... all undeleted messages */ 1 18 4 deleted pointer, /* ... all deleted messages */ 1 19 4 marked pointer, /* ... messages to be processed by the current request */ 1 20 4 marked_as_original pointer, /* ... messages being processed by a reply/forward request */ 1 21 3 mailbox_name character (168) varying, /* name of the mailbox (your mailbox/logbox/pathname) */ 1 22 1 23 2 current_message fixed binary, /* index of the current message; 0 => no current message */ 1 24 1 25 2 last_search_buffer, /* describes the buffer where read_mail constructs the ... */ 1 26 3 buffer_ptr pointer, /* ... the printed representation of messages in order ... */ 1 27 3 buffer_used fixed binary (21), /* ... to speed up regular expression searching */ 1 28 1 29 2 global_options, /* command line options affecting all of read_mail ... */ 1 30 3 flags, 1 31 4 acknowledge bit (1) unaligned, /* ... ON => acknowledge messages after printing */ 1 32 4 brief bit (1) unaligned, /* ... ON => shorten some messages and omit others */ 1 33 4 debug_mode bit (1) unaligned, /* ... ON => enable debugging features */ 1 34 4 pad bit (33) unaligned, 1 35 1 36 2 print_options, /* command line options affecting the print request ... */ 1 37 3 formatting_mode fixed binary, /* ... output mode for the message header, etc. */ 1 38 1 39 2 reply_options, /* command line options affecting the reply request ... */ 1 40 3 line_length fixed binary, /* ... line length to be used by send_mail for filling */ 1 41 3 indentation fixed binary, /* ... amount to indent original text when included */ 1 42 3 flags, 1 43 4 include_original bit (1) unaligned, /* ... ON => include original message text in the reply */ 1 44 4 include_authors bit (1) unaligned, /* ... ON => include original authors as recipients */ 1 45 4 include_recipients bit (1) unaligned, /* ... ON => include original recipients as recipients */ 1 46 4 include_self bit (2) unaligned, /* ... ON => include this user as a recipient of the reply if 1 47* selected by include_authors/include_recipients */ 1 48 4 fill_control bit (2) unaligned, /* ... controls message filling by send_mail */ 1 49 4 pad bit (29) unaligned; 1 50 1 51 dcl RDM_INVOCATION character (8) static options (constant) initial ("rdm_0009"); 1 52 1 53 dcl rdm_invocation_ptr pointer; 1 54 1 55 dcl rdm_area area based (rdm_invocation.area_ptr); 1 56 1 57 1 58 /* Defined settings for reply_options.include_self */ 1 59 1 60 dcl (DEFAULT_INCLUDE_SELF initial ("00"b), /* neither -include_self nor -no_include_self given */ 1 61 NO_INCLUDE_SELF initial ("01"b), /* -no_include_self explicitly given */ 1 62 INCLUDE_SELF initial ("10"b)) /* -include_self explicitly given */ 1 63 bit (2) aligned static options (constant); 1 64 1 65 /* END INCLUDE FILE ... rdm_invocation.incl.pl1 */ 152 153 2 1 /* BEGIN INCLUDE FILE ... rdm_message_list.incl.pl1 */ 2 2 /* Created: September 1983 by G. Palter */ 2 3 2 4 /* Definition of per-message data maintained by read_mail: This list is maintined in parallel to the mailbox structure by 2 5* read_mail's interface to the mail_system_ mailbox manager (rdm_mailbox_interface_). It serves two purposes: 2 6* (1) It provides a place to store read_mail-specific per-message data (ie: the processed flag). 2 7* (2) It provides the ability to provide arbitrary mappings between read_mail message numbers and the actual indeces 2 8* within the mailbox structure. This mapping allows read_mail to preserve its message numbers for an invocation 2 9* even if messages are expunged which causes them to disappear from the mailbox structure (NB: the "expunge" 2 10* request is not yet implemented). This mapping also allows read_mail to present the messages in the mailbox to 2 11* the user in a different order than they actually appear in the mailbox (eg: sorted by date/time created) */ 2 12 2 13 dcl 1 message_list aligned based (rdm_invocation.message_list_ptr), 2 14 2 n_messages fixed binary, /* # of messages known to read_mail at present */ 2 15 2 pad bit (36), 2 16 2 messages (message_list_n_messages refer (message_list.n_messages)), 2 17 3 message_idx fixed binary, /* index of this message in the mailbox structure */ 2 18 3 flags, 2 19 4 processed bit (1) unaligned, /* ON => this message may be deleted without query */ 2 20 4 pad bit (35) unaligned, 2 21 3 search_text, /* describes copy of messages used for regexp searches */ 2 22 4 search_text_ptr pointer, /* ... -> the saved printed represetnation */ 2 23 4 search_text_lth fixed binary (21); /* ... length of said representation in characters */ 2 24 2 25 dcl message_list_n_messages fixed binary; 2 26 2 27 /* END INCLUDE FILE ... rdm_message_list.incl.pl1 */ 154 155 3 1 /* BEGIN INCLUDE FILE ... rdm_message_chains.incl.pl1 */ 3 2 /* Created: September 1983 by G. Palter */ 3 3 3 4 3 5 /* Definition of a read_mail message chain */ 3 6 3 7 dcl 1 message_chain aligned based (message_chain_ptr), 3 8 2 n_messages fixed binary, /* # of messages in the chain */ 3 9 2 messages (message_list.n_messages) fixed binary; /* read_mail message numbers of the messages in the chain */ 3 10 3 11 dcl message_chain_ptr pointer; 3 12 3 13 3 14 /* Message chains maintained by read_mail's interface to the mail_system_ mailbox manager (rdm_mailbox_interface_) -- 3 15* (1) The first chain is a list of all messages in the mailbox which have not yet been expunged and consists of all 3 16* messages whether or not they have been marked for deletion. 3 17* (2) The second chain is a list of all messages in the mailbox which have not been marked for later deletion. 3 18* (3) The third chain is a list of all messages which have been marked for later deletion. 3 19* The message specifier parser uses one of these three chains as the basis for selecting the messages to be processed by 3 20* a request based on the use of "-include_deleted", "-only_non_deleted", or "-only_deleted", respectively; in this way, 3 21* the amount of code in the parser which must distinguish between these three types of selections is minimized */ 3 22 3 23 dcl 1 all_chain aligned based (rdm_invocation.message_chains.all) like message_chain; 3 24 dcl 1 undeleted_chain aligned based (rdm_invocation.message_chains.undeleted) like message_chain; 3 25 dcl 1 deleted_chain aligned based (rdm_invocation.message_chains.deleted) like message_chain; 3 26 3 27 3 28 /* The marked chain is the list of messages that are to be processed by the current request */ 3 29 3 30 dcl 1 marked_chain aligned based (rdm_invocation.message_chains.marked) like message_chain; 3 31 3 32 3 33 /* The marked as original chain is the list of messages that are being processed by a reply or forward request: This 3 34* chain is used to define the default set of messages to be processed by the various send_mail "original" requests and 3 35* forward "original" sub-requests */ 3 36 3 37 dcl 1 marked_as_original_chain aligned based (rdm_invocation.message_chains.marked_as_original) like message_chain; 3 38 3 39 3 40 /* Definition of the acceptable message selection criteria */ 3 41 3 42 dcl (ALL_MESSAGES initial (1), /* all messages: -include_deleted */ 3 43 NON_DELETED_MESSAGES initial (2), /* only undeleted messages: -only_non_deleted (default) */ 3 44 ONLY_DELETED_MESSAGES initial (3)) /* only deleted messages: -only_deleted */ 3 45 fixed binary static options (constant); 3 46 3 47 /* END INCLUDE FILE ... rdm_message_chains.incl.pl1 */ 156 157 158 end rdm_misc_requests_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/27/83 1104.3 rdm_misc_requests_.pl1 >spec>on>10/27/83-mail>rdm_misc_requests_.pl1 152 1 10/27/83 1050.3 rdm_invocation.incl.pl1 >spec>on>10/27/83-mail>rdm_invocation.incl.pl1 154 2 10/27/83 1050.3 rdm_message_list.incl.pl1 >spec>on>10/27/83-mail>rdm_message_list.incl.pl1 156 3 10/27/83 1050.5 rdm_message_chains.incl.pl1 >spec>on>10/27/83-mail>rdm_message_chains.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. P_rdm_invocation_ptr parameter pointer dcl 32 ref 25 72 75 125 128 P_sci_ptr parameter pointer dcl 31 set ref 25 72 77* 82* 85* 91* 92* 102* 107* 110* 113* 125 131* 132* 137* 138* 139* 140* abbrev_enabled 000155 automatic bit(1) dcl 46 set ref 139* 142* all 12 based pointer level 4 dcl 1-6 ref 142 142 all_chain based structure level 1 dcl 3-23 argument based char unaligned dcl 34 set ref 86 86 86 88 88 89 89 90 90 91* argument_idx 000104 automatic fixed bin(17,0) dcl 37 set ref 84* 85* argument_lth 000102 automatic fixed bin(21,0) dcl 36 set ref 85* 86 86 86 88 88 89 89 90 90 91 91 argument_ptr 000100 automatic pointer dcl 35 set ref 85* 86 86 86 88 88 89 89 90 90 91 command_query_$yes_no 000016 constant entry external dcl 53 ref 99 current_message 77 based fixed bin(17,0) level 2 dcl 1-6 set ref 142 142* debug_mode 103(02) based bit(1) level 4 packed unaligned dcl 1-6 set ref 142* delete_messages 000131 automatic bit(1) dcl 41 set ref 80* 89* 90* 105 deleted 16 based pointer level 4 dcl 1-6 ref 142 142 deleted_chain based structure level 1 dcl 3-25 error_table_$bad_arg 000010 external static fixed bin(35,0) dcl 49 set ref 92* error_table_$badopt 000012 external static fixed bin(35,0) dcl 49 set ref 91* expunge_failed 000132 automatic bit(1) dcl 41 set ref 106* 107 flags 103 based structure level 3 dcl 1-6 global_options 103 based structure level 2 dcl 1-6 index builtin function dcl 68 ref 86 ioa_ 000020 constant entry external dcl 54 ref 142 mailbox_info 6 based structure level 2 dcl 1-6 mailbox_name 24 based varying char(168) level 3 dcl 1-6 set ref 142 142* mailbox_ptr 6 based pointer level 3 dcl 1-6 set ref 129* 129 message_chain based structure level 1 dcl 3-7 message_chains 12 based structure level 3 dcl 1-6 mlsys_et_$some_messages_not_deleted 000014 external static fixed bin(35,0) dcl 49 set ref 107* 110* n_arguments 000103 automatic fixed bin(17,0) dcl 37 set ref 82* 84 131* 132 n_messages based fixed bin(17,0) level 2 in structure "deleted_chain" dcl 3-25 in procedure "rdm_misc_requests_" set ref 142 142* n_messages based fixed bin(17,0) level 2 in structure "all_chain" dcl 3-23 in procedure "rdm_misc_requests_" set ref 142* 142 n_new_messages 000133 automatic fixed bin(17,0) dcl 42 set ref 96* 98 99 99* null builtin function dcl 68 ref 139 139 quit_force 000130 automatic bit(1) unaligned dcl 40 set ref 79* 86* 88* 98 99* 102 107 rdm_invocation based structure level 1 dcl 1-6 rdm_invocation_ptr 000156 automatic pointer dcl 1-53 set ref 75* 96* 106* 128* 129 129 134* 142 142 142 142 142 142 142 142 142 rdm_mailbox_interface_$expunge_messages 000022 constant entry external dcl 55 ref 106 rdm_mailbox_interface_$read_new_messages 000024 constant entry external dcl 56 ref 96 134 request_name 000105 automatic varying char(72) dcl 39 set ref 77* 99* ssu_$abort_line 000026 constant entry external dcl 57 ref 91 92 102 110 132 ssu_$abort_subsystem 000030 constant entry external dcl 58 ref 113 ssu_$arg_count 000032 constant entry external dcl 59 ref 82 131 ssu_$arg_ptr 000034 constant entry external dcl 60 ref 85 ssu_$get_abbrev_info 000036 constant entry external dcl 61 ref 139 ssu_$get_invocation_count 000040 constant entry external dcl 62 ref 140 ssu_$get_subsystem_and_request_name 000042 constant entry external dcl 63 ref 77 ssu_$get_subsystem_name 000044 constant entry external dcl 64 ref 137 ssu_$get_subsystem_version 000046 constant entry external dcl 65 ref 138 ssu_$print_message 000050 constant entry external dcl 66 ref 107 substr builtin function dcl 68 ref 142 subsystem_level 000154 automatic fixed bin(17,0) dcl 45 set ref 140* 142 142* subsystem_name 000134 automatic char(32) unaligned dcl 44 set ref 137* 142* subsystem_version 000144 automatic char(32) unaligned dcl 44 set ref 138* 142* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ALL_MESSAGES internal static fixed bin(17,0) initial dcl 3-42 DEFAULT_INCLUDE_SELF internal static bit(2) initial dcl 1-60 INCLUDE_SELF internal static bit(2) initial dcl 1-60 NON_DELETED_MESSAGES internal static fixed bin(17,0) initial dcl 3-42 NO_INCLUDE_SELF internal static bit(2) initial dcl 1-60 ONLY_DELETED_MESSAGES internal static fixed bin(17,0) initial dcl 3-42 RDM_INVOCATION internal static char(8) initial unaligned dcl 1-51 marked_as_original_chain based structure level 1 dcl 3-37 marked_chain based structure level 1 dcl 3-30 message_chain_ptr automatic pointer dcl 3-11 message_list based structure level 1 dcl 2-13 message_list_n_messages automatic fixed bin(17,0) dcl 2-25 rdm_area based area(1024) dcl 1-55 undeleted_chain based structure level 1 dcl 3-24 NAMES DECLARED BY EXPLICIT CONTEXT. quit_request 000175 constant entry external dcl 72 rdm_misc_requests_ 000165 constant entry external dcl 25 self_identify 000642 constant entry external dcl 125 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1422 1474 1141 1432 Length 1764 1141 52 254 260 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rdm_misc_requests_ 324 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rdm_misc_requests_ 000100 argument_ptr rdm_misc_requests_ 000102 argument_lth rdm_misc_requests_ 000103 n_arguments rdm_misc_requests_ 000104 argument_idx rdm_misc_requests_ 000105 request_name rdm_misc_requests_ 000130 quit_force rdm_misc_requests_ 000131 delete_messages rdm_misc_requests_ 000132 expunge_failed rdm_misc_requests_ 000133 n_new_messages rdm_misc_requests_ 000134 subsystem_name rdm_misc_requests_ 000144 subsystem_version rdm_misc_requests_ 000154 subsystem_level rdm_misc_requests_ 000155 abbrev_enabled rdm_misc_requests_ 000156 rdm_invocation_ptr rdm_misc_requests_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_e_as r_ne_as call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. command_query_$yes_no ioa_ rdm_mailbox_interface_$expunge_messages rdm_mailbox_interface_$read_new_messages ssu_$abort_line ssu_$abort_subsystem ssu_$arg_count ssu_$arg_ptr ssu_$get_abbrev_info ssu_$get_invocation_count ssu_$get_subsystem_and_request_name ssu_$get_subsystem_name ssu_$get_subsystem_version ssu_$print_message THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$badopt mlsys_et_$some_messages_not_deleted LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 25 000161 28 000172 72 000173 75 000202 77 000206 79 000217 80 000220 82 000222 84 000234 85 000243 86 000261 88 000310 89 000323 90 000336 91 000350 92 000404 94 000431 96 000433 98 000450 99 000455 102 000525 105 000542 106 000544 107 000555 110 000602 113 000620 115 000637 125 000640 128 000647 129 000653 131 000655 132 000666 134 000716 137 000734 138 000746 139 000760 140 001001 142 001016 150 001137 ----------------------------------------------------------- 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