COMPILATION LISTING OF SEGMENT copy_switch_on Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell LCPD Phoenix, System M Compiled on: 10/25/83 1531.3 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 /* Copy switch commands: 12* copy_switch_on, csn Turn it on. 13* copy_switch_off, csf Turn it off. 14* first coded by Noel I. Morris April 1969 15* last modified by M. Weaver 22 January 1970 14:35 16* Names changed to copy_switch_(on off) and moved to >sss>bound_fscom1_ 05/25/79 S. Herbst 17* Fixed to print proper error messages 05/31/79 W. Olin Sibert */ 18 19 copy_switch_on: csn: setcopysw: proc options (variable); 20 21 dcl np ptr; 22 dcl path char (168); 23 dcl entry char (32); 24 dcl name char (lng) based (np); 25 dcl err_name char (32) aligned; 26 dcl sw fixed bin (1); 27 dcl nargs fixed bin; 28 dcl (lng, i) fixed bin; 29 dcl code fixed bin (35); 30 31 dcl error_table_$noarg ext fixed bin (35); 32 dcl cu_$arg_count entry (fixed bin); 33 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 34 dcl com_err_ entry options (variable); 35 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 36 dcl hcs_$set_copysw entry (char (*), char (*), fixed bin (1), fixed bin (35)); 37 38 /* */ 39 40 sw = 1b; /* turn on copy switch */ 41 err_name = "copy_switch_on"; 42 go to join; 43 44 copy_switch_off: csf: resetcopysw: entry options (variable); 45 46 sw = 0b; /* turn off copy switch */ 47 err_name = "copy_switch_off"; 48 49 join: 50 call cu_$arg_count (nargs); 51 if nargs = 0 then do; 52 call com_err_ (error_table_$noarg, err_name, "^/Usage:^-^a path{s}", err_name); 53 return; 54 end; 55 56 do i = 1 to nargs; /* process all arguments */ 57 call cu_$arg_ptr (i, np, lng, code); /* grab an argument */ 58 59 call expand_pathname_ (name, path, entry, code); /* get directory and entry names */ 60 if code ^= 0 then do; 61 call com_err_ (code, err_name, "^a", name); 62 return; 63 end; 64 65 call hcs_$set_copysw (path, entry, sw, code); /* fix the copy switch */ 66 if code ^= 0 then do; 67 call com_err_ (code, err_name, "^a^[>^]^a", path, (path ^= ">"), entry); 68 return; 69 end; 70 71 end; 72 73 return; 74 75 end copy_switch_on; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/25/83 1444.2 copy_switch_on.pl1 >spec>on>eod-fix>copy_switch_on.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. code 000200 automatic fixed bin(35,0) dcl 29 set ref 57* 59* 60 61* 65* 66 67* com_err_ 000016 constant entry external dcl 34 ref 52 61 67 cu_$arg_count 000012 constant entry external dcl 32 ref 49 cu_$arg_ptr 000014 constant entry external dcl 33 ref 57 entry 000154 automatic char(32) unaligned dcl 23 set ref 59* 65* 67* err_name 000164 automatic char(32) dcl 25 set ref 41* 47* 52* 52* 61* 67* error_table_$noarg 000010 external static fixed bin(35,0) dcl 31 set ref 52* expand_pathname_ 000020 constant entry external dcl 35 ref 59 hcs_$set_copysw 000022 constant entry external dcl 36 ref 65 i 000177 automatic fixed bin(17,0) dcl 28 set ref 56* 57* lng 000176 automatic fixed bin(17,0) dcl 28 set ref 57* 59 59 61 61 name based char unaligned dcl 24 set ref 59* 61* nargs 000175 automatic fixed bin(17,0) dcl 27 set ref 49* 51 56 np 000100 automatic pointer dcl 21 set ref 57* 59 61 path 000102 automatic char(168) unaligned dcl 22 set ref 59* 65* 67* 67 sw 000174 automatic fixed bin(1,0) dcl 26 set ref 40* 46* 65* NAMES DECLARED BY EXPLICIT CONTEXT. copy_switch_off 000103 constant entry external dcl 44 copy_switch_on 000051 constant entry external dcl 19 csf 000074 constant entry external dcl 44 csn 000042 constant entry external dcl 19 join 000114 constant label dcl 49 ref 42 resetcopysw 000065 constant entry external dcl 44 setcopysw 000033 constant entry external dcl 19 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 522 546 367 532 Length 730 367 24 145 133 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME setcopysw 186 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME setcopysw 000100 np setcopysw 000102 path setcopysw 000154 entry setcopysw 000164 err_name setcopysw 000174 sw setcopysw 000175 nargs setcopysw 000176 lng setcopysw 000177 i setcopysw 000200 code setcopysw THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr expand_pathname_ hcs_$set_copysw THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$noarg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 19 000032 40 000056 41 000060 42 000063 44 000064 46 000110 47 000111 49 000114 51 000123 52 000125 53 000154 56 000155 57 000163 59 000200 60 000230 61 000232 62 000264 65 000265 66 000312 67 000314 68 000362 71 000363 73 000365 ----------------------------------------------------------- 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