COMPILATION LISTING OF SEGMENT gfms_input_file_list_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1208.7 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 gfms_input_file_list_: proc (fn)returns (bit (1)); 7 8 /* Obtain list of names from input file "fn[.gfms]". 9* File contains list of gcos catalog/file 10* descriptions optionally preceeded by "^" (not) 11* character indicating file is not o be selected. 12* Return "1"b if failure occurs. 13* 14* Author: Dave Ward 10/19/80 15**/ 16 dcl fn char(*)parm; 17 call expand_pathname_$add_suffix ( 18 fn /* (input) pathanme. */ 19 , "gfms" /* (input) suffix name. */ 20 , dir /* (output) directory. */ 21 , ent /* (output) entry name. */ 22 , code /* (output) eror code. */ 23 ); 24 if code ^= 0 then do; 25 call com_err_ ( 26 code 27 , "gfms_input_file_list_" 28 , "Could not expand ""^a""" 29 , fn 30 ); 31 return ("1"b); /* Failed. */ 32 end; 33 34 call hcs_$initiate_count ( /* Obtain input file. */ 35 dir /* (input) directory name. */ 36 , ent /* (input) entry name. */ 37 , "" /* (input) null reference name. */ 38 , bc /* (output) file's bit count. */ 39 , 1 /* (input) not a copy. */ 40 , fp /* (output) pointer to input file. */ 41 , code /* (output) status code. */ 42 ); 43 if fp = null () then do; 44 call com_err_ ( 45 code 46 , "gfms_input_file_list_" 47 , "Input file ""^a>^a""" 48 , dir 49 , ent 50 ); 51 return ("1"b); /* Failed. */ 52 end; 53 54 /* Process names from input file. */ 55 il = divide (bc+8, 9, 24); 56 nc = 1; 57 dcl f bit(1)init("0"b); 58 do while (nc <= il); 59 k = index (substr (is, nc), NL); 60 if k = 0 then nc = il-nc+2; 61 if k>1 then do; /* Non-null line. */ 62 n = "0"b; /* => no "^". */ 63 if k>2 then do; 64 if substr (is, nc, 1) = "^" then do; 65 n = "1"b; /* => "^"file. */ 66 nc = nc+1; 67 k = k-1; 68 end; 69 end; 70 if gfms_file_name_ (n, substr (is, nc, k-1)) then f = "1"b; 71 end; 72 nc = nc+k; 73 end; 74 return (f); 75 76 /* Variables for gfms_input_file_list_: */ 77 /* IDENTIFIER ATTRIBUTES */ 78 dcl bc fixed bin(24); 79 dcl code fixed bin(35); 80 dcl com_err_ entry() options(variable); 81 dcl dir char(168); 82 dcl ent char(32); 83 dcl expand_pathname_$add_suffix entry (char(*), char(*), char(*), char(*), fixed bin(35)); 84 dcl fp ptr; 85 dcl gfms_file_name_ entry (bit(1), char(*)) returns(bit(1)); 86 dcl hcs_$initiate_count entry (char(*), char(*), char(*), fixed bin(24), fixed bin(2), ptr, fixed bin(35)); 87 dcl il fixed bin; 88 dcl ioa_ entry() options(variable); 89 dcl is char(il)aligned based(fp); 90 dcl k fixed bin; 91 dcl n bit(1); 92 dcl nc fixed bin(24); 93 94 dcl NL char(1)static int options(constant)init(" 95 "); 96 1 1 /* BEGIN INCLUDE FILE gfms_do_files.incl.pl1 (Wardd Multics) 10/19/80 2212.5 mst Sun */ 1 2 1 3 /* Hash list of files specified in -file, -no_file 1 4* control arguments and in the file designated by 1 5* the -input_file. 1 6**/ 1 7 dcl 1 file_names aligned based(inp) 1 8 , 3 number_names fixed bin 1 9 , 3 cat_start (0:1020)fixed bin 1 10 , 3 file_start (0:1020)fixed bin 1 11 , 3 file_name (4500) 1 12 , 4 not bit(1)unal 1 13 , 4 fill bit(17)unal 1 14 , 4 link fixed bin(17)unal 1 15 , 4 name char(168)var 1 16 ; 1 17 1 18 /* END INCLUDE FILE gfms_do_files.incl.pl1 */ 97 98 2 1 /* BEGIN INCLUDE FILE gfms_ext.incl.pl1 (Wardd Multics) 10/07/80 2142.2 mst Tue */ 2 2 /* Modified by: S. C. Akers 02/08/82 Add gfms_ext$working_dir, 2 3* mapping_rule, 2 4* umc_name 2 5* Modified Ron Barstad 83-06-03 attach_desc from 40 to 80 char 2 6**/ 2 7 2 8 dcl 1 gfms_ext$print_routines aligned ext 2 9 , 3 ioa entry variable options(variable) 2 10 , 3 ioa_nnl entry variable options(variable) 2 11 ; 2 12 2 13 dcl 1 gfms_ext$temp_segs aligned ext 2 14 , 3 dtp ptr 2 15 , 3 nlp ptr 2 16 , 3 inp ptr 2 17 ; 2 18 2 19 dcl 1 gfms_ext$tape_file aligned ext 2 20 , 3 cbp ptr 2 21 , 3 attach_description char(80)unal 2 22 , 3 density 2 23 , 4 ftd fixed bin /* First tape density to attempt. */ 2 24 , 4 ltd fixed bin /* Last tape density to attempt. */ 2 25 , 3 tape_reel_information 2 26 , 4 reel_serial_num char(6) 2 27 , 4 file_serial_num char(6) 2 28 , 4 reel_sequence_num char(6) 2 29 ; 2 30 2 31 dcl 1 gfms_ext$options aligned ext 2 32 , 3 close bit(1)unal /* perform iox close. */ 2 33 , 3 detach bit(1)unal /* perform iox detach. */ 2 34 , 3 dump bit(1)unal /* dump tape records/information. */ 2 35 , 3 gf bit(1)unal /* provide gtss file attributes. */ 2 36 , 3 prfn bit(1)unal /* print file names. */ 2 37 , 3 scan_ss bit(1)unal /* scan substructure, display, quit. */ 2 38 , 3 tll bit(1)unal /* print totals of llinks. */ 2 39 , 3 unload bit(1)unal /* unload files. */ 2 40 , 3 NOT_IN_USE bit(28)unal 2 41 ; 2 42 2 43 dcl gfms_ext$working_dir char (168) var ext static; /* Where to restore the files. 2 44* It may be the user's working 2 45* directory, or the UMC or SMC directory. */ 2 46 2 47 dcl gfms_ext$mapping_rule char(3) external static; 2 48 2 49 dcl gfms_ext$umc_name char(12) external static; 2 50 2 51 /* END INCLUDE FILE gfms_ext.incl.pl1 */ 99 100 end gfms_input_file_list_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1041.9 gfms_input_file_list_.pl1 >spec>on>7105>gfms_input_file_list_.pl1 97 1 03/27/82 0424.8 gfms_do_files.incl.pl1 >ldd>include>gfms_do_files.incl.pl1 99 2 10/24/83 1642.4 gfms_ext.incl.pl1 >ldd>include>gfms_ext.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. NL constant char(1) initial unaligned dcl 94 ref 59 bc 000101 automatic fixed bin(24,0) dcl 78 set ref 34* 55 code 000102 automatic fixed bin(35,0) dcl 79 set ref 17* 24 25* 34* 44* com_err_ 000010 constant entry external dcl 80 ref 25 44 dir 000103 automatic char(168) unaligned dcl 81 set ref 17* 34* 44* ent 000155 automatic char(32) unaligned dcl 82 set ref 17* 34* 44* expand_pathname_$add_suffix 000012 constant entry external dcl 83 ref 17 f 000100 automatic bit(1) initial unaligned dcl 57 set ref 57* 70* 74 fn parameter char unaligned dcl 16 set ref 6 17* 25* fp 000166 automatic pointer dcl 84 set ref 34* 43 59 64 70 70 gfms_file_name_ 000014 constant entry external dcl 85 ref 70 hcs_$initiate_count 000016 constant entry external dcl 86 ref 34 il 000170 automatic fixed bin(17,0) dcl 87 set ref 55* 58 59 60 64 70 70 is based char dcl 89 ref 59 64 70 70 k 000171 automatic fixed bin(17,0) dcl 90 set ref 59* 60 61 63 67* 67 70 70 72 n 000172 automatic bit(1) unaligned dcl 91 set ref 62* 65* 70* nc 000173 automatic fixed bin(24,0) dcl 92 set ref 56* 58 59 60* 60 64 66* 66 70 70 72* 72 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. file_names based structure level 1 dcl 1-7 gfms_ext$mapping_rule external static char(3) unaligned dcl 2-47 gfms_ext$options external static structure level 1 dcl 2-31 gfms_ext$print_routines external static structure level 1 dcl 2-8 gfms_ext$tape_file external static structure level 1 dcl 2-19 gfms_ext$temp_segs external static structure level 1 dcl 2-13 gfms_ext$umc_name external static char(12) unaligned dcl 2-49 gfms_ext$working_dir external static varying char(168) dcl 2-43 ioa_ 000000 constant entry external dcl 88 NAME DECLARED BY EXPLICIT CONTEXT. gfms_input_file_list_ 000045 constant entry external dcl 6 NAMES DECLARED BY CONTEXT OR IMPLICATION. divide builtin function ref 55 index builtin function ref 59 null builtin function ref 43 substr builtin function ref 59 64 70 70 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 520 540 427 530 Length 744 427 20 170 70 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gfms_input_file_list_ 206 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gfms_input_file_list_ 000100 f gfms_input_file_list_ 000101 bc gfms_input_file_list_ 000102 code gfms_input_file_list_ 000103 dir gfms_input_file_list_ 000155 ent gfms_input_file_list_ 000166 fp gfms_input_file_list_ 000170 il gfms_input_file_list_ 000171 k gfms_input_file_list_ 000172 n gfms_input_file_list_ 000173 nc gfms_input_file_list_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc return shorten_stack ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ expand_pathname_$add_suffix gfms_file_name_ hcs_$initiate_count NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 6 000041 57 000060 17 000061 24 000114 25 000116 31 000152 34 000160 43 000223 44 000227 51 000271 55 000277 56 000303 58 000305 59 000311 60 000330 61 000335 62 000340 63 000341 64 000343 65 000350 66 000352 67 000353 70 000355 71 000414 72 000415 73 000417 74 000420 ----------------------------------------------------------- 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