COMPILATION LISTING OF SEGMENT rdm_set_request_tables_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell LCPD Phoenix, System M Compiled on: 10/27/83 1248.3 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 /* format: off */ 8 9 /* Sets the request table list used by the read_mail subsystem */ 10 11 /* Created: 17 September 1982 by G. Palter */ 12 /* Modified: 13 September 1983 by G. Palter as part of the conversion of read_mail to the new mail system interface */ 13 14 /* format: style4,delnl,insnl,ifthenstmt,ifthen */ 15 16 17 rdm_set_request_tables_: 18 procedure (P_rdm_invocation_ptr, P_code); 19 20 21 /* Parameters */ 22 23 dcl P_rdm_invocation_ptr pointer parameter; 24 dcl P_code fixed binary (35) parameter; 25 26 27 /* read_mail request tables */ 28 29 dcl 1 rdm_request_tables aligned, 30 2 header like request_tables_list.header, 31 2 tables (3) like request_tables_list.tables; /* up to 3 possible tables (see below) */ 32 33 34 /* Remaining declarations */ 35 36 dcl table_idx fixed binary; 37 38 /* format: off */ 39 dcl (rdm_request_tables_$standard_requests, rdm_request_tables_$debug_requests, ssu_request_tables_$standard_requests) 40 bit (36) aligned external; 41 /* format: on */ 42 43 dcl ssu_$set_request_tables entry (pointer, pointer, fixed binary (35)); 44 45 dcl addr builtin; 46 47 /* rdm_set_request_tables_: entry (P_rdm_invocation_ptr, P_code); */ 48 49 rdm_invocation_ptr = P_rdm_invocation_ptr; 50 51 rdm_request_tables.version = REQUEST_TABLES_LIST_VERSION_1; 52 53 table_idx = 1; /* always include standard read_mail requests */ 54 rdm_request_tables.tables (1).table_ptr = addr (rdm_request_tables_$standard_requests); 55 56 if rdm_invocation.debug_mode then do; /* include debugging requests if needed */ 57 table_idx = table_idx + 1; 58 rdm_request_tables.tables (table_idx).table_ptr = addr (rdm_request_tables_$debug_requests); 59 end; 60 61 table_idx = table_idx + 1; /* standard subsystem requests are always last */ 62 rdm_request_tables.tables (table_idx).table_ptr = addr (ssu_request_tables_$standard_requests); 63 64 rdm_request_tables.n_tables = table_idx; 65 66 call ssu_$set_request_tables (rdm_invocation.sci_ptr, addr (rdm_request_tables), P_code); 67 68 return; 69 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 */ 70 71 2 1 /* BEGIN INCLUDE FILE ... ssu_request_tables_list.incl.pl1 */ 2 2 /* Created: 8 December 1981 by G. Palter */ 2 3 2 4 /* The list of request tables in use by a subsystem invocation */ 2 5 2 6 2 7 dcl 1 request_tables_list aligned based (rtl_ptr), 2 8 2 header, 2 9 3 version fixed binary, /* version of this structure */ 2 10 3 n_tables fixed binary, /* # of request tables in the list */ 2 11 2 tables (request_tables_list_n_tables refer (request_tables_list.n_tables)), 2 12 3 table_ptr pointer, /* -> this request table */ 2 13 3 flags, 2 14 4 table_valid bit (1) unaligned, /* "1"b => this request table is valid */ 2 15 4 pad bit (35) unaligned, 2 16 3 pad bit (36); 2 17 2 18 dcl rtl_ptr pointer; 2 19 2 20 dcl request_tables_list_n_tables fixed binary; /* for allocating the above structure */ 2 21 2 22 dcl REQUEST_TABLES_LIST_VERSION_1 fixed binary static options (constant) initial (1); 2 23 2 24 /* END INCLUDE FILE ... ssu_request_tables_list.incl.pl1 */ 72 73 74 end rdm_set_request_tables_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/27/83 1104.4 rdm_set_request_tables_.pl1 >spec>on>10/27/83-mail>rdm_set_request_tables_.pl1 70 1 10/27/83 1050.3 rdm_invocation.incl.pl1 >spec>on>10/27/83-mail>rdm_invocation.incl.pl1 72 2 04/13/82 1620.2 ssu_request_tables_list.incl.pl1 >ldd>include>ssu_request_tables_list.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. P_code parameter fixed bin(35,0) dcl 24 set ref 17 66* P_rdm_invocation_ptr parameter pointer dcl 23 ref 17 49 REQUEST_TABLES_LIST_VERSION_1 constant fixed bin(17,0) initial dcl 2-22 ref 51 addr builtin function dcl 45 ref 54 58 62 66 66 debug_mode 103(02) based bit(1) level 4 packed unaligned dcl 1-6 ref 56 flags 103 based structure level 3 dcl 1-6 global_options 103 based structure level 2 dcl 1-6 header 000100 automatic structure level 2 in structure "rdm_request_tables" dcl 29 in procedure "rdm_set_request_tables_" header based structure level 2 in structure "request_tables_list" dcl 2-7 in procedure "rdm_set_request_tables_" n_tables 1 000100 automatic fixed bin(17,0) level 3 dcl 29 set ref 64* rdm_invocation based structure level 1 dcl 1-6 rdm_invocation_ptr 000120 automatic pointer dcl 1-53 set ref 49* 56 66 rdm_request_tables 000100 automatic structure level 1 dcl 29 set ref 66 66 rdm_request_tables_$debug_requests 000012 external static bit(36) dcl 39 set ref 58 rdm_request_tables_$standard_requests 000010 external static bit(36) dcl 39 set ref 54 request_tables_list based structure level 1 dcl 2-7 sci_ptr 2 based pointer level 2 dcl 1-6 set ref 66* ssu_$set_request_tables 000016 constant entry external dcl 43 ref 66 ssu_request_tables_$standard_requests 000014 external static bit(36) dcl 39 set ref 62 table_idx 000116 automatic fixed bin(17,0) dcl 36 set ref 53* 57* 57 58 61* 61 62 64 table_ptr 2 000100 automatic pointer array level 3 dcl 29 set ref 54* 58* 62* tables 2 000100 automatic structure array level 2 in structure "rdm_request_tables" dcl 29 in procedure "rdm_set_request_tables_" tables 2 based structure array level 2 in structure "request_tables_list" dcl 2-7 in procedure "rdm_set_request_tables_" version 000100 automatic fixed bin(17,0) level 3 dcl 29 set ref 51* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. DEFAULT_INCLUDE_SELF internal static bit(2) initial dcl 1-60 INCLUDE_SELF internal static bit(2) initial dcl 1-60 NO_INCLUDE_SELF internal static bit(2) initial dcl 1-60 RDM_INVOCATION internal static char(8) initial unaligned dcl 1-51 rdm_area based area(1024) dcl 1-55 request_tables_list_n_tables automatic fixed bin(17,0) dcl 2-20 rtl_ptr automatic pointer dcl 2-18 NAME DECLARED BY EXPLICIT CONTEXT. rdm_set_request_tables_ 000006 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 156 176 61 166 Length 412 61 20 200 75 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rdm_set_request_tables_ 92 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rdm_set_request_tables_ 000100 rdm_request_tables rdm_set_request_tables_ 000116 table_idx rdm_set_request_tables_ 000120 rdm_invocation_ptr rdm_set_request_tables_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ssu_$set_request_tables THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. rdm_request_tables_$debug_requests rdm_request_tables_$standard_requests ssu_request_tables_$standard_requests LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 17 000002 49 000013 51 000017 53 000021 54 000023 56 000025 57 000030 58 000031 61 000035 62 000036 64 000042 66 000044 68 000060 ----------------------------------------------------------- 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