COMPILATION LISTING OF SEGMENT print_projfile Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 08/29/88 0929.6 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 print_projfile: proc; 13 14 /* Print out "projfile" */ 15 /* 16* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures. (UNCA) 17* Modified June 1981 by E. N. Kittlitz for UNCA rate structures. 18* Modified 1984-08-27 BIM for projfile version, unaligned strings. 19**/ 20 21 22 /****^ HISTORY COMMENTS: 23* 1) change(87-08-11,GDixon), approve(88-08-15,MCR7969), 24* audit(88-08-04,Lippard), install(88-08-29,MR12.2-1093): 25* Set ec error code when only rate structure 0 is used. (phx14422) 26* END HISTORY COMMENTS */ 27 28 29 dcl ap ptr, 30 al fixed bin (21), 31 bchr char (al) based (ap), 32 dn char (168), 33 (dt1, dt2) char (8), 34 x (0:7) float bin, 35 disk_price (0:9) float bin, 36 dcost float bin, 37 (co, dp) char (64) aligned, 38 en char (32), 39 (i, np) fixed; 40 dcl pp ptr; 41 dcl ec fixed bin (35); 42 dcl rs_number fixed bin; /* rate structure index */ 43 dcl max_rs_number fixed bin; 44 45 dcl com_err_ entry options (variable), 46 cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)), 47 get_wdir_ entry () returns (char (168)), 48 cv_$mwvf entry (float bin) returns (char (15)), 49 date_time_ entry (fixed bin (71), char (*)), 50 system_info_$titles entry options (variable), 51 system_info_$max_rs_number entry (fixed bin), 52 expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)), 53 hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, fixed bin (35)), 54 hcs_$terminate_noname entry (ptr, fixed bin (35)), 55 ioa_ entry options (variable); 56 dcl search_sat_$rs_number entry (char (*), fixed bin, fixed bin (35)); 57 dcl search_sat_$clean_up entry; 58 dcl system_info_$prices_rs entry (fixed bin, 59 (0: 7) float bin, (0: 7) float bin, (0: 7) float bin, (0: 7) float bin, float bin, float bin); 60 dcl error_table_$noentry external fixed bin (35); 61 62 dcl null builtin; 63 64 1 1 /* BEGIN INCLUDE FILE .. projfile.incl.pl1 */ 1 2 /* Modified by T. Casey April 1976 to change disk_infs (obsolete) to dir_disk_use */ 1 3 /* Modified 1984-07-09 BIM for dir_disk_quota, version */ 1 4 /* Modified 1984-09-14 BIM for reasonable array size */ 1 5 1 6 dcl 1 projfile based (pp) aligned, /* Project history file */ 1 7 2 nproj fixed bin (35), /* number of entries */ 1 8 2 version fixed bin, 1 9 2 projfilexx0 (6) bit (36) aligned, 1 10 2 projfiletab (3000), /* in seg limit */ 1 11 3 id char (12) unal, /* project ID */ 1 12 3 title char (52) unal, /* project title */ 1 13 3 inv char (32) unal, /* name of principal investigator */ 1 14 3 inv_addr char (32) unal, /* address */ 1 15 3 sup char (32) unal, /* name of supervisor */ 1 16 3 sup_addr char (32) unal, /* address */ 1 17 3 sup_phone char (16) unal, /* telephone */ 1 18 3 on fixed bin (71), /* date on */ 1 19 3 off fixed bin (71), /* date off */ 1 20 3 disk_psec fixed bin (71), /* project disk page-seconds */ 1 21 3 disk_quota fixed bin (35), /* project disk quota */ 1 22 3 dir_disk_quota fixed bin (35), /* project dir disk quota */ 1 23 3 disk_use fixed bin (35), /* total segment pages used */ 1 24 3 dir_disk_use fixed bin (35), /* total directory pages used */ 1 25 3 misc_charges float bin, /* manuals, etc */ 1 26 3 n_misc fixed bin, /* number of entries */ 1 27 3 processed fixed bin, /* temp for usage-report */ 1 28 3 pad bit (36) aligned; /* out to even number of words */ 1 29 1 30 dcl loph int static fixed bin (17) options (constant) init (8), /* lth of projfile header */ 1 31 lope int static fixed bin (17) options (constant) init (66); /* lth of projflile entry */ 1 32 1 33 dcl PROJFILE_VERSION fixed bin init (3) int static options (constant); 1 34 1 35 /* END INCLUDE FILE ... projfile.incl.pl1 */ 65 66 67 /* - - - - */ 68 69 call system_info_$max_rs_number (max_rs_number); 70 71 call cu_$arg_ptr (1, ap, al, ec); 72 if ec ^= 0 then do; 73 dn = get_wdir_ (); 74 en = "projfile"; 75 end; 76 else do; 77 call expand_pathname_ (bchr, dn, en, ec); 78 if ec ^= 0 then go to er; 79 end; 80 call hcs_$initiate (dn, en, "", 0, 1, pp, ec); 81 if pp = null then do; 82 er: call com_err_ (ec, "print_projfile", ""); 83 return; 84 end; 85 86 np = pp -> projfile.nproj; 87 88 call system_info_$titles (co, dp); 89 call ioa_ ("^|^a^/^/^-^a^/^/Project file listing: ^d entries^/^/", 90 co, dp, np); 91 if projfile.version ^= PROJFILE_VERSION 92 then call com_err_ (0, "print_projfile", "Warning, projfile version is ^d, not current version ^d.", projfile.version, PROJFILE_VERSION); 93 94 do rs_number = 0 to max_rs_number; /* get all rates */ 95 call system_info_$prices_rs (rs_number, x, x, x, x, disk_price (rs_number), x (1)); 96 end; 97 98 do i = 1 to np; 99 call date_time_ (on (i), dt1); 100 if off (i) = 0 then dt2 = ""; 101 else call date_time_ (off (i), dt2); 102 if max_rs_number = 0 then ec, rs_number = 0; 103 else call search_sat_$rs_number ((id (i)), rs_number, ec); /* get rate index */ 104 if ^(ec = error_table_$noentry & disk_psec (i) = 0) then do; 105 if ec ^= 0 then 106 call com_err_ (ec, "print_projfile", 107 "Trying to locate project ""^a"" in the sat. Default rates will be used.", id (i)); 108 end; 109 dcost = disk_psec (i) * disk_price (rs_number); 110 call ioa_ ("^9a^3x^52a ^8a ^8a", 111 id (i), title (i), dt1, dt2); 112 call ioa_ ("^12xInvestigator: ^32a ^32a", inv (i), inv_addr (i)); 113 call ioa_ ("^12xSupervisor:^3x^32a ^32a ^16a", sup (i), sup_addr (i), sup_phone (i)); 114 call ioa_ ("^12xDisk charge: ^15a ^d/^d directory ^d/^d", 115 cv_$mwvf (dcost), disk_quota (i), disk_use (i), dir_disk_quota (i), dir_disk_use (i)); 116 if misc_charges (i) ^= 0e0 then 117 call ioa_ ("^12xMisc charges: ^15a ^d", cv_$mwvf (misc_charges (i)), n_misc (i)); 118 call ioa_ (""); 119 end; 120 call hcs_$terminate_noname (pp, ec); 121 call search_sat_$clean_up; /* tidy up */ 122 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/29/88 0858.6 print_projfile.pl1 >spec>install>1093>print_projfile.pl1 65 1 09/20/84 0925.7 projfile.incl.pl1 >ldd>include>projfile.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. PROJFILE_VERSION 000001 constant fixed bin(17,0) initial dcl 1-33 set ref 91 91* al 000102 automatic fixed bin(21,0) dcl 29 set ref 71* 77 77 ap 000100 automatic pointer dcl 29 set ref 71* 77 bchr based char packed unaligned dcl 29 set ref 77* co 000205 automatic char(64) dcl 29 set ref 88* 89* com_err_ 000010 constant entry external dcl 45 ref 82 91 105 cu_$arg_ptr 000012 constant entry external dcl 45 ref 71 cv_$mwvf 000016 constant entry external dcl 45 ref 114 114 116 116 date_time_ 000020 constant entry external dcl 45 ref 99 101 dcost 000204 automatic float bin(27) dcl 29 set ref 109* 114* 114* dir_disk_quota 103 based fixed bin(35,0) array level 3 dcl 1-6 set ref 114* dir_disk_use 105 based fixed bin(35,0) array level 3 dcl 1-6 set ref 114* disk_price 000172 automatic float bin(27) array dcl 29 set ref 95* 109 disk_psec 100 based fixed bin(71,0) array level 3 dcl 1-6 ref 104 109 disk_quota 102 based fixed bin(35,0) array level 3 dcl 1-6 set ref 114* disk_use 104 based fixed bin(35,0) array level 3 dcl 1-6 set ref 114* dn 000103 automatic char(168) packed unaligned dcl 29 set ref 73* 77* 80* dp 000225 automatic char(64) dcl 29 set ref 88* 89* dt1 000156 automatic char(8) packed unaligned dcl 29 set ref 99* 110* dt2 000160 automatic char(8) packed unaligned dcl 29 set ref 100* 101* 110* ec 000262 automatic fixed bin(35,0) dcl 41 set ref 71* 72 77* 78 80* 82* 102* 103* 104 105 105* 120* en 000245 automatic char(32) packed unaligned dcl 29 set ref 74* 77* 80* error_table_$noentry 000044 external static fixed bin(35,0) dcl 60 ref 104 expand_pathname_ 000026 constant entry external dcl 45 ref 77 get_wdir_ 000014 constant entry external dcl 45 ref 73 hcs_$initiate 000030 constant entry external dcl 45 ref 80 hcs_$terminate_noname 000032 constant entry external dcl 45 ref 120 i 000255 automatic fixed bin(17,0) dcl 29 set ref 98* 99 100 101 103 104 105 109 110 110 112 112 113 113 113 114 114 114 114 116 116 116 116* id 10 based char(12) array level 3 packed packed unaligned dcl 1-6 set ref 103 105* 110* inv 30 based char(32) array level 3 packed packed unaligned dcl 1-6 set ref 112* inv_addr 40 based char(32) array level 3 packed packed unaligned dcl 1-6 set ref 112* ioa_ 000034 constant entry external dcl 45 ref 89 110 112 113 114 116 118 max_rs_number 000264 automatic fixed bin(17,0) dcl 43 set ref 69* 94 102 misc_charges 106 based float bin(27) array level 3 dcl 1-6 set ref 116 116* 116* n_misc 107 based fixed bin(17,0) array level 3 dcl 1-6 set ref 116* np 000256 automatic fixed bin(17,0) dcl 29 set ref 86* 89* 98 nproj based fixed bin(35,0) level 2 dcl 1-6 ref 86 null builtin function dcl 62 ref 81 off 76 based fixed bin(71,0) array level 3 dcl 1-6 set ref 100 101* on 74 based fixed bin(71,0) array level 3 dcl 1-6 set ref 99* pp 000260 automatic pointer dcl 40 set ref 80* 81 86 91 91 99 100 101 103 104 105 109 110 110 112 112 113 113 113 114 114 114 114 116 116 116 116 120* projfile based structure level 1 dcl 1-6 projfiletab 10 based structure array level 2 dcl 1-6 rs_number 000263 automatic fixed bin(17,0) dcl 42 set ref 94* 95* 95* 102* 103* 109 search_sat_$clean_up 000040 constant entry external dcl 57 ref 121 search_sat_$rs_number 000036 constant entry external dcl 56 ref 103 sup 50 based char(32) array level 3 packed packed unaligned dcl 1-6 set ref 113* sup_addr 60 based char(32) array level 3 packed packed unaligned dcl 1-6 set ref 113* sup_phone 70 based char(16) array level 3 packed packed unaligned dcl 1-6 set ref 113* system_info_$max_rs_number 000024 constant entry external dcl 45 ref 69 system_info_$prices_rs 000042 constant entry external dcl 58 ref 95 system_info_$titles 000022 constant entry external dcl 45 ref 88 title 13 based char(52) array level 3 packed packed unaligned dcl 1-6 set ref 110* version 1 based fixed bin(17,0) level 2 dcl 1-6 set ref 91 91* x 000162 automatic float bin(27) array dcl 29 set ref 95* 95* 95* 95* 95* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. lope internal static fixed bin(17,0) initial dcl 1-30 loph internal static fixed bin(17,0) initial dcl 1-30 NAMES DECLARED BY EXPLICIT CONTEXT. er 000346 constant label dcl 82 ref 78 print_projfile 000175 constant entry external dcl 12 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1404 1452 1206 1414 Length 1664 1206 46 176 176 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME print_projfile 248 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME print_projfile 000100 ap print_projfile 000102 al print_projfile 000103 dn print_projfile 000156 dt1 print_projfile 000160 dt2 print_projfile 000162 x print_projfile 000172 disk_price print_projfile 000204 dcost print_projfile 000205 co print_projfile 000225 dp print_projfile 000245 en print_projfile 000255 i print_projfile 000256 np print_projfile 000260 pp print_projfile 000262 ec print_projfile 000263 rs_number print_projfile 000264 max_rs_number print_projfile THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_ptr cv_$mwvf date_time_ expand_pathname_ get_wdir_ hcs_$initiate hcs_$terminate_noname ioa_ search_sat_$clean_up search_sat_$rs_number system_info_$max_rs_number system_info_$prices_rs system_info_$titles THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$noentry LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 12 000174 69 000202 71 000210 72 000227 73 000231 74 000240 75 000243 77 000244 78 000274 80 000276 81 000342 82 000346 83 000373 86 000374 88 000376 89 000412 91 000441 94 000505 95 000513 96 000533 98 000535 99 000545 100 000565 101 000574 102 000611 103 000616 104 000646 105 000656 109 000715 110 000725 112 000763 113 001010 114 001041 116 001111 118 001154 119 001165 120 001167 121 001200 122 001205 ----------------------------------------------------------- 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