COMPILATION LISTING OF SEGMENT rdm_fwd_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 1237.7 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* format: off */ 8 9 /* Miscellaneous forward sub-requests */ 10 11 /* Created: October 1983 by B. Margolin (from sdm_misc_requests_) */ 12 13 /* format: on,style4,delnl,insnl,ifthenstmt,ifthen */ 14 15 16 rdm_fwd_misc_requests_: 17 procedure (P_sci_ptr, P_rdm_forward_invocation_ptr); 18 19 return; /* not an entry */ 20 21 22 /* Parameters */ 23 24 dcl P_sci_ptr pointer parameter; 25 dcl P_rdm_forward_invocation_ptr pointer parameter; 26 27 28 /* Remaining declarations */ 29 30 dcl argument character (argument_lth) unaligned based (argument_ptr); 31 dcl argument_ptr pointer; 32 dcl argument_lth fixed binary (21); 33 dcl (n_arguments, argument_idx) fixed binary; 34 35 dcl request_name character (72); 36 dcl force bit (1); 37 38 /* format: off */ 39 dcl (error_table_$bad_arg, error_table_$badopt, emf_et_$forwarding_aborted) 40 fixed binary (35) external; 41 /* format: on */ 42 43 dcl command_query_$yes_no entry () options (variable); 44 dcl ssu_$abort_line entry () options (variable); 45 dcl ssu_$abort_subsystem entry () options (variable); 46 dcl ssu_$arg_count entry (pointer, fixed binary); 47 dcl ssu_$arg_ptr entry (pointer, fixed binary, pointer, fixed binary (21)); 48 dcl ssu_$get_subsystem_and_request_name entry (pointer) returns (character (72) varying); 49 50 dcl index builtin; 51 52 /* The "send" request: exits forwarding sub-request-loop, sending the message. */ 53 54 send_request: 55 entry (P_sci_ptr, P_rdm_forward_invocation_ptr); 56 57 rdm_forward_invocation_ptr = P_rdm_forward_invocation_ptr; 58 59 rdm_forward_invocation.abort_code = 0; 60 call ssu_$abort_subsystem (P_sci_ptr, 0); /* Never returns */ 61 62 /* The "quit" request: exits forwarding sub-request-loop without sending the 63* message. The user is queried for permission to exit. */ 64 65 quit_request: 66 entry (P_sci_ptr, P_rdm_forward_invocation_ptr); 67 68 rdm_forward_invocation_ptr = P_rdm_forward_invocation_ptr; 69 70 request_name = ssu_$get_subsystem_and_request_name (P_sci_ptr); 71 72 call ssu_$arg_count (P_sci_ptr, n_arguments); 73 74 rdm_forward_invocation.abort_code = 0; /* assume message was processed before exit */ 75 76 force = "0"b; /* ask user by default */ 77 78 do argument_idx = 1 to n_arguments; 79 call ssu_$arg_ptr (P_sci_ptr, argument_idx, argument_ptr, argument_lth); 80 if index (argument, "-") = 1 then 81 if (argument = "-force") | (argument = "-fc") then force = "1"b; 82 else if (argument = "-no_force") | (argument = "-nfc") then force = "0"b; 83 else call ssu_$abort_line (P_sci_ptr, error_table_$badopt, "^a", argument); 84 else call ssu_$abort_line (P_sci_ptr, error_table_$bad_arg, "This request only accepts control arugments.") 85 ; 86 end; 87 88 if ^force then /* ... need the user's permission */ 89 call command_query_$yes_no (force, 0, request_name, "", 90 "The forwarded message has not been sent.^/Do you still wish to quit?"); 91 if ^force then call ssu_$abort_line (P_sci_ptr, 0); 92 93 rdm_forward_invocation.abort_code = emf_et_$forwarding_aborted; 94 call ssu_$abort_subsystem (P_sci_ptr, 0); /* never returns */ 95 1 1 /* START OF: rdm_forward_invocation.incl.pl1 * * * * * * * * * * * * * * * * */ 1 2 1 3 /* Structure used internally by the read_mail forward sub-request-loop */ 1 4 1 5 /* Written: 07 Oct 1983 by B. Margolin */ 1 6 1 7 dcl 1 rdm_forward_invocation aligned based (rdm_forward_invocation_ptr), 1 8 2 type char (8), 1 9 2 sci_ptr ptr, 1 10 2 rfso_ptr ptr, /* -> rdm_forward_subsystem_options */ 1 11 2 rdm_invocation_ptr ptr, /* for the read_mail that created this forwarding invocation */ 1 12 2 area_ptr ptr, 1 13 2 text_buffer, 1 14 3 buffer_ptr ptr, 1 15 3 buffer_used fixed bin (21), 1 16 2 flags, 1 17 3 debug_mode bit (1) unaligned, 1 18 3 fill bit (1) unaligned, 1 19 3 enter_request_loop bit (1) unaligned, 1 20 3 auto_write bit (1) unaligned, 1 21 3 pad bit (31) unaligned, 1 22 2 fill_width fixed bin, 1 23 2 temp_seg_ptr ptr, 1 24 2 abort_code fixed bin (35); 1 25 1 26 dcl rdm_forward_invocation_ptr ptr; 1 27 dcl RDM_FORWARD_INVOCATION char (8) int static options (constant) init ("rdmfwdin"); 1 28 1 29 /* END OF: rdm_forward_invocation.incl.pl1 * * * * * * * * * * * * * * * * */ 96 97 98 end rdm_fwd_misc_requests_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/27/83 1104.0 rdm_fwd_misc_requests_.pl1 >spec>on>10/27/83-mail>rdm_fwd_misc_requests_.pl1 96 1 10/27/83 1050.8 rdm_fwd_invocation.incl.pl1 >spec>on>10/27/83-mail>rdm_fwd_invocation.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_forward_invocation_ptr parameter pointer dcl 25 ref 16 54 57 65 68 P_sci_ptr parameter pointer dcl 24 set ref 16 54 60* 65 70* 72* 79* 83* 84* 91* 94* abort_code 22 based fixed bin(35,0) level 2 dcl 1-7 set ref 59* 74* 93* argument based char unaligned dcl 30 set ref 80 80 80 82 82 83* argument_idx 000104 automatic fixed bin(17,0) dcl 33 set ref 78* 79* argument_lth 000102 automatic fixed bin(21,0) dcl 32 set ref 79* 80 80 80 82 82 83 83 argument_ptr 000100 automatic pointer dcl 31 set ref 79* 80 80 80 82 82 83 command_query_$yes_no 000016 constant entry external dcl 43 ref 88 emf_et_$forwarding_aborted 000014 external static fixed bin(35,0) dcl 39 ref 93 error_table_$bad_arg 000010 external static fixed bin(35,0) dcl 39 set ref 84* error_table_$badopt 000012 external static fixed bin(35,0) dcl 39 set ref 83* force 000127 automatic bit(1) unaligned dcl 36 set ref 76* 80* 82* 88 88* 91 index builtin function dcl 50 ref 80 n_arguments 000103 automatic fixed bin(17,0) dcl 33 set ref 72* 78 rdm_forward_invocation based structure level 1 dcl 1-7 rdm_forward_invocation_ptr 000130 automatic pointer dcl 1-26 set ref 57* 59 68* 74 93 request_name 000105 automatic char(72) unaligned dcl 35 set ref 70* 88* ssu_$abort_line 000020 constant entry external dcl 44 ref 83 84 91 ssu_$abort_subsystem 000022 constant entry external dcl 45 ref 60 94 ssu_$arg_count 000024 constant entry external dcl 46 ref 72 ssu_$arg_ptr 000026 constant entry external dcl 47 ref 79 ssu_$get_subsystem_and_request_name 000030 constant entry external dcl 48 ref 70 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. RDM_FORWARD_INVOCATION internal static char(8) initial unaligned dcl 1-27 NAMES DECLARED BY EXPLICIT CONTEXT. quit_request 000126 constant entry external dcl 65 rdm_fwd_misc_requests_ 000063 constant entry external dcl 16 send_request 000073 constant entry external dcl 54 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 626 660 452 636 Length 1072 452 32 176 153 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rdm_fwd_misc_requests_ 158 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rdm_fwd_misc_requests_ 000100 argument_ptr rdm_fwd_misc_requests_ 000102 argument_lth rdm_fwd_misc_requests_ 000103 n_arguments rdm_fwd_misc_requests_ 000104 argument_idx rdm_fwd_misc_requests_ 000105 request_name rdm_fwd_misc_requests_ 000127 force rdm_fwd_misc_requests_ 000130 rdm_forward_invocation_ptr rdm_fwd_misc_requests_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. command_query_$yes_no ssu_$abort_line ssu_$abort_subsystem ssu_$arg_count ssu_$arg_ptr ssu_$get_subsystem_and_request_name THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. emf_et_$forwarding_aborted error_table_$bad_arg error_table_$badopt LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000057 19 000070 54 000071 57 000100 59 000104 60 000105 65 000123 68 000133 70 000137 72 000154 74 000166 76 000170 78 000171 79 000201 80 000217 82 000246 83 000261 84 000315 86 000342 88 000344 91 000404 93 000426 94 000432 98 000450 ----------------------------------------------------------- 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