COMPILATION LISTING OF SEGMENT cmcs_expand_tree_path Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/24/89 1023.6 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 6* * * 7* *********************************************************** */ 8 9 10 11 12 /****^ HISTORY COMMENTS: 13* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 14* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 15* MCR8060 cmcs_expand_tree_path.pl1 Reformatted code to new Cobol standard. 16* END HISTORY COMMENTS */ 17 18 19 /* Modified since Version 4.3 */ 20 21 /* format: style3 */ 22 cmcs_expand_tree_path: 23 cmetp: 24 proc (); 25 26 /* This COBOL MCS command and active function provides the command interface to expand 27* a short-form CMCS tree_path (no blanks, period delimiters) into the proper 48-char 28* tree_path string. Its primary use will be as an active function for interactive 29* and absentee initiation of COBOL MCS application programs that have an 30* "INITIAL MESSAGE" clause, where the program must be told what CMCS queue (and subqueues) 31* to use in its initial RECEIVE request. 32* 33* Bob May, 6/30/77 */ 34 35 dcl af_sw bit (1); 36 37 dcl my_name char (21) init ("cmcs_expand_tree_path"); 38 39 dcl tree_path char (48); 40 1 1 /* BEGIN INCLUDE FILE...cmcs_arg_processing.incl.pl1 */ 1 2 1 3 dcl arg_count fixed bin, /* total number of args in cmd line */ 1 4 arg_no fixed bin, /* used in arg processing loops */ 1 5 arg_ptr ptr, /* ptr to last arg retrieved */ 1 6 arg_len fixed bin, /* size in chars of last arg retrieved with cu_$arg_ptr */ 1 7 arg char (arg_len) based (arg_ptr); 1 8 1 9 dcl af_return_arg_ptr ptr, 1 10 af_return_arg_len fixed bin, 1 11 af_return_arg char (af_return_arg_len) varying based (af_return_arg_ptr); 1 12 1 13 dcl cu_$arg_count entry (fixed bin), 1 14 cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)), 1 15 com_err_ entry options (variable); 1 16 1 17 dcl cu_$af_return_arg entry (fixed bin, ptr, fixed bin, fixed bin (35)), 1 18 cu_$af_arg_count entry (fixed bin, fixed bin (35)), 1 19 cu_$af_arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)), 1 20 active_fnc_err_ entry options (variable); 1 21 1 22 dcl error_table_$not_act_fnc fixed bin (35) external; 1 23 1 24 /* END INCLUDE FILE...cmcs_arg_processing.incl.pl1 */ 41 42 43 dcl code fixed bin (35); 44 45 dcl ioa_ entry options (variable); 46 47 dcl cmcs_expand_tree_path_ 48 entry (char (*), char (48), fixed bin (35)); 49 50 /* */ 51 52 call cu_$af_return_arg (arg_count, af_return_arg_ptr, af_return_arg_len, code); 53 if code ^= 0 54 then if code = error_table_$not_act_fnc 55 then do; 56 call cu_$arg_count (arg_count); 57 af_sw = "0"b; 58 end; 59 else do; /* probably active function, but something else is wrong */ 60 call active_fnc_err_ (code, my_name, "Attempting to get active function paramters."); 61 return; 62 end; 63 else af_sw = "1"b; /* everything is go for AF */ 64 65 if arg_count ^= 1 66 then do; 67 print_usage: 68 code = 0; 69 print_error: 70 if af_sw 71 then call active_fnc_err_ (code, my_name, 72 "^/Usage: cmcs_expand_tree_path level_name1{.l_n2{.l_n3{.l_n4}}}"); 73 else call com_err_ (code, my_name, "^/Usage: cmcs_expand_tree_path level_name1{.l_n2{.l_n3{.l_n4}}}"); 74 return; 75 end; 76 77 if af_sw 78 then call cu_$af_arg_ptr (1, arg_ptr, arg_len, code); 79 else call cu_$arg_ptr (1, arg_ptr, arg_len, code); 80 if code ^= 0 81 then go to print_error; 82 83 call cmcs_expand_tree_path_ (arg, tree_path, code); 84 if code ^= 0 85 then go to print_error; 86 87 if af_sw 88 then af_return_arg = """" || tree_path || """"; /* enclose it quotes for command line */ 89 else call ioa_ ("""^48a""", tree_path); 90 return; 91 92 end /* cmcs_expand_tree_path */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0836.6 cmcs_expand_tree_path.pl1 >spec>install>MR12.3-1048>cmcs_expand_tree_path.pl1 41 1 03/27/82 0439.5 cmcs_arg_processing.incl.pl1 >ldd>include>cmcs_arg_processing.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. active_fnc_err_ 000022 constant entry external dcl 1-17 ref 60 69 af_return_arg based varying char dcl 1-9 set ref 87* af_return_arg_len 000132 automatic fixed bin(17,0) dcl 1-9 set ref 52* 87 af_return_arg_ptr 000130 automatic pointer dcl 1-9 set ref 52* 87 af_sw 000100 automatic bit(1) packed unaligned dcl 35 set ref 57* 63* 69 77 87 arg based char packed unaligned dcl 1-3 set ref 83* arg_count 000123 automatic fixed bin(17,0) dcl 1-3 set ref 52* 56* 65 arg_len 000126 automatic fixed bin(17,0) dcl 1-3 set ref 77* 79* 83 83 arg_ptr 000124 automatic pointer dcl 1-3 set ref 77* 79* 83 cmcs_expand_tree_path_ 000030 constant entry external dcl 47 ref 83 code 000133 automatic fixed bin(35,0) dcl 43 set ref 52* 53 53 60* 67* 69* 73* 77* 79* 80 83* 84 com_err_ 000014 constant entry external dcl 1-13 ref 73 cu_$af_arg_ptr 000020 constant entry external dcl 1-17 ref 77 cu_$af_return_arg 000016 constant entry external dcl 1-17 ref 52 cu_$arg_count 000010 constant entry external dcl 1-13 ref 56 cu_$arg_ptr 000012 constant entry external dcl 1-13 ref 79 error_table_$not_act_fnc 000024 external static fixed bin(35,0) dcl 1-22 ref 53 ioa_ 000026 constant entry external dcl 45 ref 89 my_name 000101 automatic char(21) initial packed unaligned dcl 37 set ref 37* 60* 69* 73* tree_path 000107 automatic char(48) packed unaligned dcl 39 set ref 83* 87 89* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. arg_no automatic fixed bin(17,0) dcl 1-3 cu_$af_arg_count 000000 constant entry external dcl 1-17 NAMES DECLARED BY EXPLICIT CONTEXT. cmcs_expand_tree_path 000072 constant entry external dcl 22 cmetp 000062 constant entry external dcl 22 print_error 000165 constant label dcl 69 ref 80 84 print_usage 000164 constant label dcl 67 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 540 572 405 550 Length 1000 405 32 171 132 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cmetp 148 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cmetp 000100 af_sw cmetp 000101 my_name cmetp 000107 tree_path cmetp 000123 arg_count cmetp 000124 arg_ptr cmetp 000126 arg_len cmetp 000130 af_return_arg_ptr cmetp 000132 af_return_arg_len cmetp 000133 code cmetp THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ cmcs_expand_tree_path_ com_err_ cu_$af_arg_ptr cu_$af_return_arg cu_$arg_count cu_$arg_ptr ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$not_act_fnc LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 37 000054 22 000061 52 000100 53 000115 56 000122 57 000130 58 000131 60 000132 61 000155 62 000156 63 000157 65 000161 67 000164 69 000165 73 000214 74 000240 77 000241 79 000263 80 000302 83 000304 84 000330 87 000332 89 000363 90 000403 ----------------------------------------------------------- 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