COMPILATION LISTING OF SEGMENT clear_projfile Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 09/18/84 1203.1 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 /* ****************************************************** 8* * * 9* * * 10* * Copyright (c) 1972 by Massachusetts Institute of * 11* * Technology and Honeywell Information Systems, Inc. * 12* * * 13* * * 14* ****************************************************** */ 15 16 clear_projfile: proc; 17 18 dcl (path, dn) char (168) aligned, 19 en char (32) aligned, 20 (i, j, k, l, m, n) fixed bin, 21 movelen fixed bin, 22 ap ptr, 23 al fixed bin, 24 bchr char (al) unaligned based (ap), 25 ec fixed bin, 26 (p, q, p1, q1, pp, hp) ptr; 27 28 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin), 29 expand_path_ entry (ptr, fixed bin, ptr, ptr, fixed bin), 30 com_err_ entry options (variable); 31 32 dcl (addr, null, substr) builtin; 33 34 dcl hcs_$initiate entry (char (*) aligned, char (*) aligned, char (*) aligned, fixed bin (1), 35 fixed bin (2), ptr, fixed bin), 36 hcs_$make_seg entry (char (*) aligned, char (*) aligned, char (*) aligned, fixed bin (5), ptr, fixed bin), 37 hcs_$set_bc entry (char (*) aligned, char (*) aligned, fixed bin (24), fixed bin), 38 hcs_$terminate_noname entry (ptr, fixed bin), 39 hcs_$delentry_seg entry (ptr, fixed bin), 40 hcs_$truncate_seg entry (ptr, fixed bin, fixed bin); 41 42 43 dcl 1 movetable based aligned, 44 2 moveary (movelen) fixed bin (35); 45 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 */ 46 47 48 /* ====================================================== */ 49 50 call cu_$arg_ptr (1, ap, al, ec); 51 if ec ^= 0 then do; 52 path = "projfile"; 53 al = 8; 54 end; 55 else path = bchr; 56 call expand_path_ (addr (path), al, addr (dn), addr (en), ec); 57 if ec ^= 0 then do; 58 er: call com_err_ (ec, "clear_projfile", path); 59 return; 60 end; 61 62 call hcs_$initiate (dn, en, "", 0, 1, pp, ec); 63 if pp = null then go to er; 64 65 call hcs_$make_seg ("", "", "", 1011b, p, ec); 66 if p = null then go to er; 67 68 movelen = loph; 69 p -> movetable = pp -> movetable; 70 71 movelen = lope; 72 73 m = 0; 74 75 do i = 1 to nproj; 76 if off (i) ^= 0 then go to skip; 77 m = m + 1; 78 p1 = addr (projfiletab (i)); 79 q1 = addr (p -> projfiletab (m)); 80 q1 -> movetable = p1 -> movetable; 81 skip: end; 82 83 movelen = loph + m * lope; 84 85 call hcs_$truncate_seg (pp, 0, ec); 86 pp -> movetable = p -> movetable; 87 nproj = m; 88 call hcs_$set_bc(dn,en,movelen*36,ec); 89 90 call hcs_$terminate_noname (pp, ec); 91 call hcs_$delentry_seg (p, ec); 92 93 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/18/84 0754.6 clear_projfile.pl1 >special_ldd>online>09/18/84>clear_projfile.pl1 46 1 09/18/84 1000.6 projfile.incl.pl1 >special_ldd>online>09/18/84>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. addr builtin function dcl 32 ref 56 56 56 56 56 56 78 79 al 000242 automatic fixed bin(17,0) dcl 18 set ref 50* 53* 55 56* ap 000240 automatic pointer dcl 18 set ref 50* 55 bchr based char unaligned dcl 18 ref 55 com_err_ 000014 constant entry external dcl 28 ref 58 cu_$arg_ptr 000010 constant entry external dcl 28 ref 50 dn 000152 automatic char(168) dcl 18 set ref 56 56 62* 88* ec 000243 automatic fixed bin(17,0) dcl 18 set ref 50* 51 56* 57 58* 62* 65* 85* 88* 90* 91* en 000224 automatic char(32) dcl 18 set ref 56 56 62* 88* expand_path_ 000012 constant entry external dcl 28 ref 56 hcs_$delentry_seg 000026 constant entry external dcl 34 ref 91 hcs_$initiate 000016 constant entry external dcl 34 ref 62 hcs_$make_seg 000020 constant entry external dcl 34 ref 65 hcs_$set_bc 000022 constant entry external dcl 34 ref 88 hcs_$terminate_noname 000024 constant entry external dcl 34 ref 90 hcs_$truncate_seg 000030 constant entry external dcl 34 ref 85 i 000234 automatic fixed bin(17,0) dcl 18 set ref 75* 76 78* lope constant fixed bin(17,0) initial dcl 1-30 ref 71 83 loph constant fixed bin(17,0) initial dcl 1-30 ref 68 83 m 000235 automatic fixed bin(17,0) dcl 18 set ref 73* 77* 77 79 83 87 movelen 000236 automatic fixed bin(17,0) dcl 18 set ref 68* 69 71* 80 83* 86 88 movetable based structure level 1 dcl 43 set ref 69* 69 80* 80 86* 86 nproj based fixed bin(35,0) level 2 dcl 1-6 set ref 75 87* null builtin function dcl 32 ref 63 66 off 76 based fixed bin(71,0) array level 3 dcl 1-6 set ref 76 p 000244 automatic pointer dcl 18 set ref 65* 66 69 79 86 91* p1 000246 automatic pointer dcl 18 set ref 78* 80 path 000100 automatic char(168) dcl 18 set ref 52* 55* 56 56 58* pp 000252 automatic pointer dcl 18 set ref 62* 63 69 75 76 78 85* 86 87 90* projfile based structure level 1 dcl 1-6 projfiletab 10 based structure array level 2 dcl 1-6 set ref 78 79 q1 000250 automatic pointer dcl 18 set ref 79* 80 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. PROJFILE_VERSION internal static fixed bin(17,0) initial dcl 1-33 hp automatic pointer dcl 18 j automatic fixed bin(17,0) dcl 18 k automatic fixed bin(17,0) dcl 18 l automatic fixed bin(17,0) dcl 18 n automatic fixed bin(17,0) dcl 18 q automatic pointer dcl 18 substr builtin function dcl 32 NAMES DECLARED BY EXPLICIT CONTEXT. clear_projfile 000023 constant entry external dcl 16 er 000112 constant label dcl 58 ref 63 66 skip 000316 constant label dcl 81 ref 76 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 550 602 426 560 Length 1004 426 32 165 121 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME clear_projfile 249 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME clear_projfile 000100 path clear_projfile 000152 dn clear_projfile 000224 en clear_projfile 000234 i clear_projfile 000235 m clear_projfile 000236 movelen clear_projfile 000240 ap clear_projfile 000242 al clear_projfile 000243 ec clear_projfile 000244 p clear_projfile 000246 p1 clear_projfile 000250 q1 clear_projfile 000252 pp clear_projfile THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_ptr expand_path_ hcs_$delentry_seg hcs_$initiate hcs_$make_seg hcs_$set_bc hcs_$terminate_noname hcs_$truncate_seg NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000022 50 000030 51 000046 52 000050 53 000053 54 000055 55 000056 56 000063 57 000110 58 000112 59 000137 62 000140 63 000204 65 000210 66 000245 68 000251 69 000253 71 000261 73 000263 75 000264 76 000273 77 000300 78 000301 79 000304 80 000311 81 000316 83 000320 85 000326 86 000342 87 000351 88 000353 90 000403 91 000414 93 000425 ----------------------------------------------------------- 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