COMPILATION LISTING OF SEGMENT fix_quota_used Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 02/14/85 1120.6 mst Thu 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 /* format: style4,indattr,ifthenstmt,ifthen,idind35,^indcomtxt */ 11 12 fix_quota_used: proc; 13 14 /* fix_quota_used: B. Greenberg 2/19/77 */ 15 /* Modified 12/13/84 by Keith Loepere for (seg/dir) variants. */ 16 17 /* Based */ 18 19 dcl arg char (argl) based (argp); 20 21 /* Misc */ 22 23 dcl bad_dir_ condition; 24 25 /* Variables */ 26 27 dcl acted bit (1) aligned; 28 dcl argl fixed bin; 29 dcl argnum fixed bin; 30 dcl argp ptr; 31 dcl brief bit (1) aligned; 32 dcl code fixed bin (35); 33 dcl fix_dir bit (1) aligned; 34 dcl fix_seg bit (1) aligned; 35 dcl myname char (24); 36 dcl ndu fixed bin (34); 37 dcl nsu fixed bin (34); 38 dcl odu fixed bin (34); 39 dcl osu fixed bin (34); 40 dcl pathname char (168); 41 dcl salvct fixed bin; 42 43 /* Entries */ 44 45 dcl absolute_pathname_ entry (char (*), char (*), fixed bin (35)); 46 dcl com_err_ entry options (variable); 47 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 48 dcl hphcs_$correct_dir_qused entry (char (*), fixed bin (34), fixed bin (34), bit (1) aligned, fixed bin (35)); 49 dcl hphcs_$correct_qused entry (char (*), fixed bin (34), fixed bin (34), fixed bin (34), fixed bin (34), bit (1) aligned, fixed bin (35)); 50 dcl hphcs_$correct_seg_qused entry (char (*), fixed bin (34), fixed bin (34), bit (1) aligned, fixed bin (35)); 51 dcl ioa_ entry options (variable); 52 53 /* External */ 54 55 dcl error_table_$bad_arg fixed bin (35) ext static; 56 57 /* Builtin */ 58 59 dcl index builtin; 60 61 myname = "fix_quota_used"; 62 fix_dir, fix_seg = "1"b; 63 go to join; 64 65 fix_dir_quota_used: entry; 66 67 myname = "fix_dir_quota_used"; 68 fix_dir = "1"b; 69 fix_seg = "0"b; 70 go to join; 71 72 fix_seg_quota_used: entry; 73 74 myname = "fix_seg_quota_used"; 75 fix_dir = "0"b; 76 fix_seg = "1"b; 77 78 join: brief = "0"b; 79 pathname = ""; 80 81 call cu_$arg_ptr (1, argp, argl, code); 82 if code ^= 0 then do; 83 USAGE: call com_err_ (code, myname, "Usage is: ^a {-bf}", myname); 84 return; 85 end; 86 87 argnum = 1; 88 do while (code = 0); 89 if index (arg, "-") = 1 then do; 90 if arg = "-brief" | arg = "-bf" then brief = "1"b; 91 else if arg = "-long" | arg = "-lg" then brief = "0"b; 92 else do; 93 call com_err_ (error_table_$bad_arg, myname, "^a", arg); 94 return; 95 end; 96 end; 97 else do; /* must be path */ 98 call absolute_pathname_ (arg, pathname, code); 99 if code ^= 0 then do; 100 call com_err_ (code, myname, arg); 101 return; 102 end; 103 end; 104 105 argnum = argnum + 1; 106 call cu_$arg_ptr (argnum, argp, argl, code); 107 end; 108 if pathname = "" then go to USAGE; 109 110 salvct = 0; 111 112 on bad_dir_ begin; 113 call com_err_ (0, myname, "Salvage performed on ^a.", pathname); 114 salvct = salvct + 1; 115 if salvct > 3 then go to ret; 116 else go to retry; 117 end; 118 119 retry: if myname = "fix_quota_used" then 120 call hphcs_$correct_qused (pathname, osu, odu, nsu, ndu, acted, code); 121 else if fix_seg then do; 122 call hphcs_$correct_seg_qused (pathname, osu, nsu, acted, code); 123 odu, ndu = 0; 124 end; 125 else do; 126 call hphcs_$correct_dir_qused (pathname, odu, ndu, acted, code); 127 osu, nsu = 0; 128 end; 129 revert bad_dir_; 130 131 if acted then 132 if ^brief then do; 133 if code ^= 0 then call com_err_ (code, myname, "While processing ^a.", pathname); 134 if osu ^= nsu then call ioa_ ("^a: Segment quota used changed from ^d to ^d.", pathname, osu, nsu); 135 if odu ^= ndu then call ioa_ ("^a: Directory quota used changed from ^d to ^d.", pathname, odu, ndu); 136 end; 137 else ; 138 else call com_err_ (code, myname, "Could not validate/correct quota on ^a.", pathname); 139 ret: return; 140 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 02/14/85 0748.9 fix_quota_used.pl1 >special_ldd>online>41-8>fix_quota_used.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. absolute_pathname_ 000010 constant entry external dcl 45 ref 98 acted 000106 automatic bit(1) dcl 27 set ref 119* 122* 126* 131 arg based char unaligned dcl 19 set ref 89 90 90 91 91 93* 98* 100* argl 000107 automatic fixed bin(17,0) dcl 28 set ref 81* 89 90 90 91 91 93 93 98 98 100 100 106* argnum 000110 automatic fixed bin(17,0) dcl 29 set ref 87* 105* 105 106* argp 000112 automatic pointer dcl 30 set ref 81* 89 90 90 91 91 93 98 100 106* bad_dir_ 000100 stack reference condition dcl 23 ref 112 129 brief 000114 automatic bit(1) dcl 31 set ref 78* 90* 91* 131 code 000115 automatic fixed bin(35,0) dcl 32 set ref 81* 82 83* 88 98* 99 100* 106* 119* 122* 126* 133 133* 138* com_err_ 000012 constant entry external dcl 46 ref 83 93 100 113 133 138 cu_$arg_ptr 000014 constant entry external dcl 47 ref 81 106 error_table_$bad_arg 000026 external static fixed bin(35,0) dcl 55 set ref 93* fix_dir 000116 automatic bit(1) dcl 33 set ref 62* 68* 75* fix_seg 000117 automatic bit(1) dcl 34 set ref 62* 69* 76* 121 hphcs_$correct_dir_qused 000016 constant entry external dcl 48 ref 126 hphcs_$correct_qused 000020 constant entry external dcl 49 ref 119 hphcs_$correct_seg_qused 000022 constant entry external dcl 50 ref 122 index builtin function dcl 59 ref 89 ioa_ 000024 constant entry external dcl 51 ref 134 135 myname 000120 automatic char(24) unaligned dcl 35 set ref 61* 67* 74* 83* 83* 93* 100* 113* 119 133* 138* ndu 000126 automatic fixed bin(34,0) dcl 36 set ref 119* 123* 126* 135 135* nsu 000127 automatic fixed bin(34,0) dcl 37 set ref 119* 122* 127* 134 134* odu 000130 automatic fixed bin(34,0) dcl 38 set ref 119* 123* 126* 135 135* osu 000131 automatic fixed bin(34,0) dcl 39 set ref 119* 122* 127* 134 134* pathname 000132 automatic char(168) unaligned dcl 40 set ref 79* 98* 108 113* 119* 122* 126* 133* 134* 135* 138* salvct 000204 automatic fixed bin(17,0) dcl 41 set ref 110* 114* 114 115 NAMES DECLARED BY EXPLICIT CONTEXT. USAGE 000223 constant label dcl 83 ref 108 fix_dir_quota_used 000146 constant entry external dcl 65 fix_quota_used 000131 constant entry external dcl 12 fix_seg_quota_used 000163 constant entry external dcl 72 join 000176 constant label dcl 78 ref 63 70 ret 001046 constant label dcl 139 ref 115 retry 000534 constant label dcl 119 ref 116 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1216 1246 1047 1226 Length 1436 1047 30 153 146 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME fix_quota_used 194 external procedure is an external procedure. on unit on line 112 90 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME fix_quota_used 000106 acted fix_quota_used 000107 argl fix_quota_used 000110 argnum fix_quota_used 000112 argp fix_quota_used 000114 brief fix_quota_used 000115 code fix_quota_used 000116 fix_dir fix_quota_used 000117 fix_seg fix_quota_used 000120 myname fix_quota_used 000126 ndu fix_quota_used 000127 nsu fix_quota_used 000130 odu fix_quota_used 000131 osu fix_quota_used 000132 pathname fix_quota_used 000204 salvct fix_quota_used THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return tra_ext enable ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. absolute_pathname_ com_err_ cu_$arg_ptr hphcs_$correct_dir_qused hphcs_$correct_qused hphcs_$correct_seg_qused ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 12 000130 61 000136 62 000141 63 000144 65 000145 67 000153 68 000156 69 000160 70 000161 72 000162 74 000170 75 000173 76 000174 78 000176 79 000177 81 000202 82 000221 83 000223 84 000252 87 000253 88 000255 89 000260 90 000274 91 000307 93 000321 94 000353 96 000354 98 000355 99 000401 100 000403 101 000427 105 000430 106 000431 107 000446 108 000447 110 000453 112 000454 113 000470 114 000521 115 000523 116 000531 119 000534 121 000577 122 000601 123 000631 124 000633 126 000634 127 000664 129 000666 131 000667 133 000674 134 000731 135 000763 137 001015 138 001016 139 001046 ----------------------------------------------------------- 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