COMPILATION LISTING OF SEGMENT exec_com_caller_ 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 1626.8 mst Tue 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 11 /* EXEC_COM_CALLER_ - Program to call the command processer to run an exec_com */ 12 /* Written July 1979 by Larry Johnson */ 13 /* Condition handling code borrowed for ec_shift_config_change_.pl1 */ 14 /* Modified November 1982 by E. N. Kittlitz. first shot at as_check_condition_ */ 15 16 /* format: style4 */ 17 exec_com_caller_: proc; 18 19 /* Automatic */ 20 21 dcl code fixed bin (35); 22 dcl bc fixed bin (24); 23 dcl entry_type fixed bin (2); 24 dcl i fixed bin; 25 dcl command_line char (512) var; 26 dcl nv_command_line char (512); 27 dcl ename char (32); 28 dcl argp ptr; 29 dcl argl fixed bin; 30 dcl arg char (argl) based (argp); 31 dcl n_args fixed bin; 32 33 34 /* External */ 35 36 dcl as_dump_ entry (char (*)); 37 dcl condition_ entry (char (*), entry); 38 dcl exec_com entry options (variable); 39 dcl hcs_$status_minf entry (char (*), char (*), fixed bin (1), fixed bin (2), fixed bin (24), fixed bin (35)); 40 dcl ioa_$rsnnl entry options (variable); 41 dcl sys_log_ entry options (variable); 42 dcl cu_$cp entry (ptr, fixed bin, fixed bin (35)); 43 dcl expand_pathname_$add_suffix entry (char (*), char (*), char (*), char (*), fixed bin (35)); 44 dcl cu_$arg_count entry (fixed bin); 45 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 46 dcl requote_string_ entry (char (*)) returns (char (*)); 47 48 49 dcl (char, hbound, ltrim, rtrim) builtin; 50 51 52 /* First argument is ec name */ 53 54 call cu_$arg_count (n_args); 55 if n_args = 0 then return; 56 call cu_$arg_ptr (1, argp, argl, code); 57 if code ^= 0 then return; 58 call expand_pathname_$add_suffix (arg, "ec", "", ename, code); 59 if code ^= 0 then return; 60 61 call hcs_$status_minf (sysdir, ename, (1), entry_type, bc, code); 62 if code ^= 0 | entry_type ^= 1 then return; 63 64 65 /* Now build command line to ee3xecute on to run the exec_com */ 66 67 call condition_ ("any_other", ucs); 68 command_line = "exec_com " || rtrim (sysdir) || ">" || rtrim (ename); 69 do i = 2 to n_args; 70 call cu_$arg_ptr (i, argp, argl, code); 71 command_line = command_line || " " || requote_string_ (arg); 72 end; 73 74 /* Now execute it */ 75 76 nv_command_line = command_line; /* Copy to non-varying string */ 77 call cu_$cp (addr (nv_command_line), length (command_line), code); 78 79 return_to_caller: 80 return; 81 82 ucs: proc (mcptr, condname, coptr, infoptr, continue); 83 84 dcl (mcptr, coptr, infoptr) ptr; 85 dcl condname char (*); 86 dcl continue bit (1); 87 dcl msg char (120); 88 dcl i fixed bin; 89 dcl non_local bit (1) unaligned; 90 dcl as_check_condition_ entry (char (*), bit (1), bit (1)); 91 92 call as_check_condition_ (condname, continue, non_local); 93 if continue /* not for us */ 94 | non_local then return; /* or cleanup (we've nothing to cleanup) */ 95 call ioa_$rsnnl ("exec_com_caller_: Error ^a while executing ^a", 96 msg, i, condname, ename); 97 call sys_log_ (2, "^a", msg); 98 call as_dump_ (rtrim (msg)); 99 goto return_to_caller; 100 101 end ucs; 102 1 1 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 1 2 1 3 /* format: style4 */ 1 4 1 5 /* This file must be kept in sync with as_data_.alm */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 1 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 1 10* Remove references to the 963 and 029 preaccess commands and remove support 1 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 1 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 1 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 14* Add references to as_data_ entrypoints added for Login Server. 1 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 1 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 17* Added new user signal field of inacrcvd (14) to handle inactivity response 1 18* from user. 1 19* END HISTORY COMMENTS */ 1 20 1 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 1 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 1 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 1 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 1 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 1 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 1 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 1 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 1 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 1 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 1 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 1 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 1 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 1 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 1 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 1 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 1 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 1 38 dcl as_data_$g115_dim char (32) ext static; 1 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 1 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 1 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 1 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 1 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 1 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 1 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 1 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 1 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 1 48 dcl as_data_$request_priority fixed bin ext static; 1 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 1 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 1 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 1 52 dcl as_data_$satp ptr ext static; /* SAT */ 1 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 1 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 1 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 1 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 1 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 1 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 1 59 dcl as_data_$version char (8) ext static; /* AS version */ 1 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 1 61 1 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 1 63 2 n_login_args fixed bin, 1 64 2 pad fixed bin, 1 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 1 66 1 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 1 68 2 n_signals fixed bin, 1 69 2 pad fixed bin, 1 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 1 71 1 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 1 73 2 n_system_signals fixed bin, 1 74 2 pad fixed bin, 1 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 1 76 1 77 dcl as_data_$login_words fixed bin ext static aligned, 1 78 /* interactive login words */ 1 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 1 80 2 n_words fixed bin, 1 81 2 pad fixed bin, 1 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 1 83 1 84 dcl as_data_$debug_flag bit (1) aligned external static; 1 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 1 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 1 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 1 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 1 89 1 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 103 104 2 1 /* BEGIN INCLUDE FILE ... as_data_definitions_.incl.pl1 ... */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 2 6* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 7* Removed ansp, autp and dutp from this include file, adding them to 2 8* answer_table.incl.pl1, absentee_user_table.incl.pl1 and 2 9* daemon_user_table.incl.pl1. 2 10* END HISTORY COMMENTS */ 2 11 2 12 2 13 /* This include file requires as_data_.incl.pl1 */ 2 14 2 15 /* format: style4 */ 2 16 2 17 dcl as_procid bit (36) aligned defined (as_data_$as_procid); 2 18 dcl as_tty char (6) based (addr (as_data_$as_tty)); 2 19 dcl asmtp ptr defined (as_data_$asmtp); 2 20 dcl devtabp ptr defined (as_data_$devtabp); 2 21 dcl ip ptr defined (as_data_$rs_ptrs (0)); 2 22 dcl mgtp ptr defined (as_data_$mgtp); 2 23 dcl pdtdir char (168) based (addr (as_data_$pdtdir)); 2 24 dcl rs_ptrs (0:9) ptr based (addr (as_data_$rs_ptrs (0))); 2 25 dcl sat_htp ptr defined (as_data_$sat_htp); 2 26 dcl satp ptr defined (as_data_$satp); 2 27 dcl scdtp ptr defined (as_data_$cdtp); 2 28 dcl sysdir char (168) defined (as_data_$sysdir); 2 29 dcl whoptr ptr defined (as_data_$whoptr); 2 30 2 31 /* END INCLUDE FILE ... as_data_definitions_.incl.pl1 ... */ 105 106 107 108 end exec_com_caller_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1540.7 exec_com_caller_.pl1 >special_ldd>install>MR12.1-1054>exec_com_caller_.pl1 103 1 08/04/87 1154.5 as_data_.incl.pl1 >spec>install>1056>as_data_.incl.pl1 105 2 08/04/87 1140.5 as_data_definitions_.incl.pl1 >spec>install>1056>as_data_definitions_.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. arg based char unaligned dcl 30 set ref 58* 71* argl 000520 automatic fixed bin(17,0) dcl 29 set ref 56* 58 58 70* 71 71 argp 000516 automatic pointer dcl 28 set ref 56* 58 70* 71 as_check_condition_ 000036 constant entry external dcl 90 ref 92 as_data_$sysdir 000034 external static char(168) unaligned dcl 1-54 ref 61 61 68 68 as_dump_ 000010 constant entry external dcl 36 ref 98 bc 000101 automatic fixed bin(24,0) dcl 22 set ref 61* code 000100 automatic fixed bin(35,0) dcl 21 set ref 56* 57 58* 59 61* 62 70* 77* command_line 000104 automatic varying char(512) dcl 25 set ref 68* 71* 71 76 77 77 condition_ 000012 constant entry external dcl 37 ref 67 condname parameter char unaligned dcl 85 set ref 82 92* 95* continue parameter bit(1) unaligned dcl 86 set ref 82 92* 93 coptr parameter pointer dcl 84 ref 82 cu_$arg_count 000026 constant entry external dcl 44 ref 54 cu_$arg_ptr 000030 constant entry external dcl 45 ref 56 70 cu_$cp 000022 constant entry external dcl 42 ref 77 ename 000505 automatic char(32) unaligned dcl 27 set ref 58* 61* 68 95* entry_type 000102 automatic fixed bin(2,0) dcl 23 set ref 61* 62 expand_pathname_$add_suffix 000024 constant entry external dcl 43 ref 58 hcs_$status_minf 000014 constant entry external dcl 39 ref 61 i 000136 automatic fixed bin(17,0) dcl 88 in procedure "ucs" set ref 95* i 000103 automatic fixed bin(17,0) dcl 24 in procedure "exec_com_caller_" set ref 69* 70* infoptr parameter pointer dcl 84 ref 82 ioa_$rsnnl 000016 constant entry external dcl 40 ref 95 mcptr parameter pointer dcl 84 ref 82 msg 000100 automatic char(120) unaligned dcl 87 set ref 95* 97* 98 98 n_args 000521 automatic fixed bin(17,0) dcl 31 set ref 54* 55 69 non_local 000137 automatic bit(1) unaligned dcl 89 set ref 92* 93 nv_command_line 000305 automatic char(512) unaligned dcl 26 set ref 76* 77 77 requote_string_ 000032 constant entry external dcl 46 ref 71 rtrim builtin function dcl 49 ref 68 68 98 98 sys_log_ 000020 constant entry external dcl 41 ref 97 sysdir defined char(168) unaligned dcl 2-28 set ref 61* 68 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. as_data_$BS external static char(1) dcl 1-21 as_data_$CR external static char(1) dcl 1-22 as_data_$abs_dim external static char(32) unaligned dcl 1-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 1-24 as_data_$acsdir external static char(168) unaligned dcl 1-25 as_data_$ansp external static pointer dcl 1-26 as_data_$as_procid external static bit(36) dcl 1-27 as_data_$as_ring external static fixed bin(3,0) dcl 1-28 as_data_$as_tty automatic char(6) unaligned dcl 1-29 as_data_$asmtp external static pointer dcl 1-30 as_data_$autp external static pointer dcl 1-31 as_data_$buzzardp external static pointer dcl 1-32 as_data_$cdtp external static pointer dcl 1-33 as_data_$debug_flag external static bit(1) dcl 1-84 as_data_$default_weight external static fixed bin(35,0) dcl 1-34 as_data_$devtabp external static pointer dcl 1-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 1-36 as_data_$dutp external static pointer dcl 1-37 as_data_$g115_dim external static char(32) unaligned dcl 1-38 as_data_$lct_initialized external static bit(1) dcl 1-39 as_data_$lct_size external static fixed bin(17,0) dcl 1-40 as_data_$login_args external static structure level 1 dcl 1-62 as_data_$login_words external static fixed bin(17,0) dcl 1-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 1-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 1-87 as_data_$ls_message_buffer_ptr external static pointer dcl 1-88 as_data_$ls_request_server_info_ptr external static pointer dcl 1-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 1-41 as_data_$mgtp external static pointer dcl 1-42 as_data_$mrd_dim external static char(32) unaligned dcl 1-43 as_data_$ntty_dim external static char(32) unaligned dcl 1-44 as_data_$pdtdir external static char(168) unaligned dcl 1-45 as_data_$pit_ptr external static pointer dcl 1-46 as_data_$rcpdir external static char(168) unaligned dcl 1-47 as_data_$request_priority external static fixed bin(17,0) dcl 1-48 as_data_$rs_ptrs external static pointer array dcl 1-49 as_data_$rtdtp external static pointer dcl 1-50 as_data_$sat_htp external static pointer dcl 1-51 as_data_$satp external static pointer dcl 1-52 as_data_$signal_types external static structure level 1 dcl 1-67 as_data_$suffix external static char(2) array unaligned dcl 1-53 as_data_$system_signal_types external static structure level 1 dcl 1-72 as_data_$teens_suffix external static char(2) array unaligned dcl 1-55 as_data_$terminet_tabs_string external static varying char(144) dcl 1-56 as_data_$tty_dim external static char(32) unaligned dcl 1-57 as_data_$update_priority external static fixed bin(17,0) dcl 1-58 as_data_$version external static char(8) unaligned dcl 1-59 as_data_$whoptr external static pointer dcl 1-60 as_data_login_words based structure level 1 dcl 1-77 as_procid defined bit(36) dcl 2-17 as_tty based char(6) unaligned dcl 2-18 asmtp defined pointer dcl 2-19 char builtin function dcl 49 devtabp defined pointer dcl 2-20 exec_com 000000 constant entry external dcl 38 hbound builtin function dcl 49 ip defined pointer dcl 2-21 ltrim builtin function dcl 49 mgtp defined pointer dcl 2-22 pdtdir based char(168) unaligned dcl 2-23 rs_ptrs based pointer array dcl 2-24 sat_htp defined pointer dcl 2-25 satp defined pointer dcl 2-26 scdtp defined pointer dcl 2-27 whoptr defined pointer dcl 2-29 NAMES DECLARED BY EXPLICIT CONTEXT. exec_com_caller_ 000045 constant entry external dcl 17 return_to_caller 000462 constant label dcl 79 set ref 99 ucs 000464 constant entry internal dcl 82 ref 67 67 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 77 77 length builtin function ref 77 77 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1030 1070 652 1040 Length 1320 652 40 214 155 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME exec_com_caller_ 408 external procedure is an external procedure. ucs 138 internal procedure is assigned to an entry variable. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME exec_com_caller_ 000100 code exec_com_caller_ 000101 bc exec_com_caller_ 000102 entry_type exec_com_caller_ 000103 i exec_com_caller_ 000104 command_line exec_com_caller_ 000305 nv_command_line exec_com_caller_ 000505 ename exec_com_caller_ 000516 argp exec_com_caller_ 000520 argl exec_com_caller_ 000521 n_args exec_com_caller_ ucs 000100 msg ucs 000136 i ucs 000137 non_local ucs THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac tra_ext_1 shorten_stack ext_entry int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. as_check_condition_ as_dump_ condition_ cu_$arg_count cu_$arg_ptr cu_$cp expand_pathname_$add_suffix hcs_$status_minf ioa_$rsnnl requote_string_ sys_log_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$sysdir LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 17 000044 54 000052 55 000060 56 000062 57 000101 58 000103 59 000141 61 000143 62 000202 67 000207 68 000234 69 000325 70 000335 71 000352 72 000434 76 000437 77 000443 79 000462 82 000463 92 000477 93 000517 95 000530 97 000566 98 000613 99 000644 ----------------------------------------------------------- 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