COMPILATION LISTING OF SEGMENT set_volume_quota Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/19/84 1019.9 mst Mon 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 /* format: style2,indcomtxt */ 12 13 /* SET_VOLUME_QUOTA: Command to set logical volume quota for a quota account */ 14 15 /* Written March 1976 by Larry Johnson */ 16 /* Modified 83-12-07 BIM for correct precision of quota */ 17 18 set_volume_quota: 19 svq: 20 procedure options (variable); 21 22 dcl name char (16) int static options (constant) init ("set_volume_quota"); 23 dcl code fixed bin (35); /* System status code */ 24 dcl arg_ptr ptr; /* Pointer to command argument */ 25 dcl arg_len fixed bin; /* Length of command argument */ 26 dcl arg char (arg_len) based (arg_ptr); 27 /* The argument */ 28 dcl volume char (32); /* Logical volume name */ 29 dcl account char (32); /* Name of quota account */ 30 dcl quota fixed bin (35); /* The quota to set */ 31 32 dcl i fixed bin; 33 dcl sw bit (1) aligned; 34 35 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 36 dcl com_err_ entry options (variable); 37 dcl ioa_ entry options (variable); 38 dcl cv_dec_check_ entry (char (*), fixed bin) returns (fixed bin (35)); 39 dcl mdc_$set_volume_quota entry (char (*), char (*), bit (1) aligned, fixed bin (35), fixed bin (35)); 40 dcl get_group_id_$tag_star entry returns (char (32)); 41 42 dcl substr builtin; 43 44 45 call cu_$arg_ptr (1, arg_ptr, arg_len, code); /* Get volume name */ 46 if code ^= 0 47 then do; 48 call ioa_ ("Usage: ^a volume quota -account-", name); 49 return; 50 end; 51 volume = arg; 52 53 call cu_$arg_ptr (2, arg_ptr, arg_len, code); /* Get quota */ 54 if code ^= 0 55 then do; 56 call com_err_ (code, name, "Quota"); 57 return; 58 end; 59 60 quota = cv_dec_check_ (arg, i); 61 if i ^= 0 62 then do; 63 call com_err_ (0, name, "Quota must be numeric: ^a", arg); 64 return; 65 end; 66 67 if substr (arg, 1, 1) = "+" | substr (arg, 1, 1) = "-" 68 then sw = "1"b; /* Incremental */ 69 else sw = "0"b; 70 71 call cu_$arg_ptr (3, arg_ptr, arg_len, code); /* Get account name */ 72 if code ^= 0 73 then account = get_group_id_$tag_star (); 74 else account = arg; 75 76 call mdc_$set_volume_quota (volume, account, sw, quota, code); 77 if code ^= 0 78 then call com_err_ (code, name, "^a", volume); 79 return; 80 81 end set_volume_quota; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/18/84 1430.0 set_volume_quota.pl1 >spec>on>40-16>set_volume_quota.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. account 000115 automatic char(32) unaligned dcl 29 set ref 72* 74* 76* arg based char unaligned dcl 26 set ref 51 60* 63* 67 67 74 arg_len 000104 automatic fixed bin(17,0) dcl 25 set ref 45* 51 53* 60 60 63 63 67 67 71* 74 arg_ptr 000102 automatic pointer dcl 24 set ref 45* 51 53* 60 63 67 67 71* 74 code 000100 automatic fixed bin(35,0) dcl 23 set ref 45* 46 53* 54 56* 71* 72 76* 77 77* com_err_ 000012 constant entry external dcl 36 ref 56 63 77 cu_$arg_ptr 000010 constant entry external dcl 35 ref 45 53 71 cv_dec_check_ 000016 constant entry external dcl 38 ref 60 get_group_id_$tag_star 000022 constant entry external dcl 40 ref 72 i 000126 automatic fixed bin(17,0) dcl 32 set ref 60* 61 ioa_ 000014 constant entry external dcl 37 ref 48 mdc_$set_volume_quota 000020 constant entry external dcl 39 ref 76 name 000000 constant char(16) initial unaligned dcl 22 set ref 48* 56* 63* 77* quota 000125 automatic fixed bin(35,0) dcl 30 set ref 60* 76* substr builtin function dcl 42 ref 67 67 sw 000127 automatic bit(1) dcl 33 set ref 67* 69* 76* volume 000105 automatic char(32) unaligned dcl 28 set ref 51* 76* 77* NAMES DECLARED BY EXPLICIT CONTEXT. set_volume_quota 000051 constant entry external dcl 18 svq 000042 constant entry external dcl 18 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 512 536 410 522 Length 712 410 24 140 101 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME svq 166 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME svq 000100 code svq 000102 arg_ptr svq 000104 arg_len svq 000105 volume svq 000115 account svq 000125 quota svq 000126 i svq 000127 sw svq 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 cv_dec_check_ get_group_id_$tag_star ioa_ mdc_$set_volume_quota NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 18 000041 45 000056 46 000074 48 000076 49 000116 51 000117 53 000124 54 000143 56 000145 57 000170 60 000171 61 000215 63 000217 64 000253 67 000254 69 000270 71 000271 72 000310 74 000322 76 000327 77 000356 79 000407 ----------------------------------------------------------- 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