COMPILATION LISTING OF SEGMENT gtss_dump_filact_args_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1257.3 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 gtss_dump_filact_args_: proc (apv); 10 11 /** Dump conplete arguments for filact drl. 12* 13* Author: Dave Ward 07/14/79 14***/ 15 dcl apv ptr parm; 16 ap = apv; 17 if (fn >= lbound (f, 1))& (fn <= hbound (f, 1)) then do; 18 call ioa_$nnl ("DRL FILACT (function ^2i)^/", fn); 19 goto f (fn); 20 end; 21 call com_err_ (0, "gtss_dump_filcat_args_", 22 "Function # ^i out of range ^i to ^i", 23 fn, 24 lbound (f, 1), 25 hbound (f, 1)); 26 return; 27 28 f (11): ; /** Modify file. **/ 29 alp = pointer (ap, all); 30 cfp = pointer (ap, cfl); 31 32 /* Display file/catalog description. */ 33 nu = 1; 34 more_name: ; 35 if nu = 1 then do; 36 if user (1).id ^= (72)"1"b then do; 37 call gtss_bcd_ascii_ (addr (user (1).id), 12, addr (nascii)); 38 call ioa_$nnl ("^a", nascii); 39 end; 40 end; 41 else do; 42 call ioa_$nnl ("/"); 43 call gtss_bcd_ascii_ (addr (user (nu).id), 12, addr (nascii)); 44 call ioa_$nnl ("^a", nascii); 45 end; 46 if cf.eol ^= -1 then do; 47 nu = nu+1; 48 goto more_name; 49 end; 50 call ioa_$nnl ("^/"); 51 52 /* Display general permissions. */ 53 call ioa_$nnl ("General permissions:"); 54 pp = pointer (ap, pl); 55 if string (pp -> b36) = (36)"1"b then 56 call ioa_$nnl (" UNCHANGED.^/"); 57 else 58 if pp -> fb18 = 0 then 59 call ioa_$nnl (" DELETED.^/"); 60 else 61 call pr_perms (pp); 62 call ioa_$nnl ("012345678901234567890123456789012345^/^36b^/^/", string (pp -> b36)); 63 64 /* Display new name. */ 65 nnp = pointer (ap, nnl); 66 if nn.name = (72)"1"b then 67 call ioa_$nnl ("Name not changed.^/"); 68 else do; 69 call gtss_bcd_ascii_ (addr (nn.name), 12, addr (nascii)); 70 call ioa_$nnl ("New name ""^a""^/", nascii); 71 end; 72 73 /* Display options. */ 74 op = pointer (ap, ol); 75 if string (ob) = "0"b then 76 call ioa_$nnl ("No option bits set.^/"); 77 else do; 78 call ioa_$nnl ("Option bit:"); 79 do i = 0 to 17; 80 if ob (i) then call ioa_$nnl (" ^i", i); 81 end; 82 if ob (4) then 83 if max_size = -1 then call ioa_$nnl (" New nax size UNLIMITED."); 84 else call ioa_$nnl (" New max size ^i", max_size); 85 call ioa_$nnl ("^/"); 86 end; 87 88 /* Display specific permissions. */ 89 nsp = 0; 90 next_sp: ; 91 if nsp = 1 then call ioa_$nnl ("Specific permissions:^/"); 92 if nsp>0 then do; 93 call gtss_bcd_ascii_ (addr (userid (nsp)), 12, addr (nascii)); 94 call ioa_$nnl (" ^a", nascii); 95 pp = addr (usp (nsp, 0)); 96 if pp -> fb19 = 1 then 97 call ioa_$nnl (" retain name permissions NONE.^/"); 98 else 99 if pp -> fb19 = 0 then 100 call ioa_$nnl (" DELETED.^/"); 101 else 102 call pr_perms (pp); 103 call ioa_$nnl ("012345678901234567890123456789012345^/^36b^/^/", string (pp -> b36)); 104 end; 105 if o.eol ^= -1 then do; 106 nsp = nsp+1; 107 goto next_sp; 108 end; 109 if nsp = 0 then 110 call ioa_$nnl ("No user specific permissions.^/"); 111 112 /* Display user attributes. */ 113 if ob (8) then 114 call ioa_$nnl ("User attributes ^35b^/", user_attr); 115 else 116 call ioa_$nnl ("No user specified attributes.^/"); 117 return; 118 119 pr_perms: proc (pp); 120 121 /* Print permissions. */ 122 dcl pp ptr parm; 123 if pp -> b36 (0) then call ioa_$nnl (" read"); 124 if pp -> b36 (1) then call ioa_$nnl (" write"); 125 if pp -> b36 (2) then call ioa_$nnl (" append"); 126 if pp -> b36 (3) then call ioa_$nnl (" execute"); 127 if pp -> b36 (4) then call ioa_$nnl (" purge"); 128 if pp -> b36 (5) then call ioa_$nnl (" modify"); 129 if pp -> b36 (6) then call ioa_$nnl (" lock"); 130 if pp -> b36 (8) then call ioa_$nnl (" create"); 131 if pp -> b36 (9) then call ioa_$nnl (" recovery"); 132 call ioa_$nnl ("^/"); 133 end /* pr_perms */; 134 135 dcl alp ptr; 136 dcl ap ptr; 137 dcl b36 (0:35)bit(1)unal based; 138 dcl cfp ptr; 139 dcl com_err_ entry options(variable); 140 dcl fb18 fixed bin(18)unsigned unal based; 141 dcl fb19 fixed bin(19)unsigned unal based; 142 dcl gtss_bcd_ascii_ entry(ptr,fixed bin(24),ptr); 143 dcl i fixed bin; 144 dcl ioa_$nnl entry options(variable); 145 dcl nascii char(12); 146 dcl nnp ptr; 147 dcl nsp fixed bin init(0); 148 dcl nu fixed bin; 149 dcl op ptr; 150 dcl pp ptr; 151 152 dcl 1 a aligned based(ap), 153 2 v1 fixed bin(17)unal, 154 2 all fixed bin(18)unsigned unal, 155 2 fn fixed bin(17)unal, 156 2 bl fixed bin(18)unsigned unal; 157 158 dcl 1 al aligned based(alp), 159 2 sl fixed bin(18)unsigned unal, 160 2 v2 bit(18)unal, 161 2 cfl fixed bin(18)unsigned unal, 162 2 pl fixed bin(18)unsigned unal, 163 2 ol fixed bin(18)unsigned unal, 164 2 nnl fixed bin(18)unsigned unal; 165 166 dcl 1 cf aligned based(cfp), 167 2 user (nu), 168 3 id bit(72), 169 3 passwrd bit(72), 170 2 eol fixed bin(35); 171 172 dcl 1 nn aligned based(nnp), 173 2 name bit(72), 174 2 passwrd bit(72); 175 176 dcl 1 o aligned based(op), 177 2 w1, 178 3 ob (0:17)bit(1)unal, 179 3 dn bit(12)unal, 180 3 v3 bit(6)unal, 181 2 w2, 182 3 init_size fixed bin(18)unsigned unal, 183 3 max_size fixed bin(17) unal, 184 2 specific_permission (nsp), 185 3 userid bit(72), 186 3 usp (0:35)bit(1)unal, 187 2 eol fixed bin(35), 188 2 user_attr, 189 3 b1 bit(1)unal, 190 3 b35 bit(35)unal; 191 end /* gtss_dump_filact_agrs_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1043.8 gtss_dump_filact_args_.pl1 >spec>on>7105>gtss_dump_filact_args_.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. a based structure level 1 dcl 152 al based structure level 1 dcl 158 all 0(18) based fixed bin(18,0) level 2 packed unsigned unaligned dcl 152 ref 29 alp 000100 automatic pointer dcl 135 set ref 29* 30 54 65 74 ap 000102 automatic pointer dcl 136 set ref 16* 17 17 18 19 21 29 29 30 54 65 74 apv parameter pointer dcl 15 ref 9 16 b36 based bit(1) array unaligned dcl 137 ref 55 62 62 103 103 123 124 125 126 127 128 129 130 131 cf based structure level 1 dcl 166 cfl 1 based fixed bin(18,0) level 2 packed unsigned unaligned dcl 158 ref 30 cfp 000104 automatic pointer dcl 138 set ref 30* 36 37 37 43 43 46 com_err_ 000010 constant entry external dcl 139 ref 21 eol based fixed bin(35,0) level 2 in structure "o" dcl 176 in procedure "gtss_dump_filact_args_" ref 105 eol based fixed bin(35,0) level 2 in structure "cf" dcl 166 in procedure "gtss_dump_filact_args_" ref 46 fb18 based fixed bin(18,0) unsigned unaligned dcl 140 ref 57 fb19 based fixed bin(19,0) unsigned unaligned dcl 141 ref 96 98 fn 1 based fixed bin(17,0) level 2 packed unaligned dcl 152 set ref 17 17 18* 19 21* gtss_bcd_ascii_ 000012 constant entry external dcl 142 ref 37 43 69 93 i 000106 automatic fixed bin(17,0) dcl 143 set ref 79* 80 80* id based bit(72) array level 3 dcl 166 set ref 36 37 37 43 43 ioa_$nnl 000014 constant entry external dcl 144 ref 18 38 42 44 50 53 55 57 62 66 70 75 78 80 82 84 85 91 94 96 98 103 109 113 115 123 124 125 126 127 128 129 130 131 132 max_size 1(18) based fixed bin(17,0) level 3 packed unaligned dcl 176 set ref 82 84* name based bit(72) level 2 dcl 172 set ref 66 69 69 nascii 000107 automatic char(12) unaligned dcl 145 set ref 37 37 38* 43 43 44* 69 69 70* 93 93 94* nn based structure level 1 dcl 172 nnl 2(18) based fixed bin(18,0) level 2 packed unsigned unaligned dcl 158 ref 65 nnp 000112 automatic pointer dcl 146 set ref 65* 66 69 69 nsp 000114 automatic fixed bin(17,0) initial dcl 147 set ref 89* 91 92 93 93 95 105 106* 106 109 113 147* nu 000115 automatic fixed bin(17,0) dcl 148 set ref 33* 35 43 43 46 47* 47 o based structure level 1 dcl 176 ob based bit(1) array level 3 packed unaligned dcl 176 ref 75 80 82 113 ol 2 based fixed bin(18,0) level 2 packed unsigned unaligned dcl 158 ref 74 op 000116 automatic pointer dcl 149 set ref 74* 75 80 82 82 84 93 93 95 105 113 113 pl 1(18) based fixed bin(18,0) level 2 packed unsigned unaligned dcl 158 ref 54 pp 000120 automatic pointer dcl 150 in procedure "gtss_dump_filact_args_" set ref 54* 55 57 60* 62 62 95* 96 98 101* 103 103 pp parameter pointer dcl 122 in procedure "pr_perms" ref 119 123 124 125 126 127 128 129 130 131 specific_permission 2 based structure array level 2 dcl 176 user based structure array level 2 dcl 166 user_attr based structure level 2 dcl 176 set ref 113* userid 2 based bit(72) array level 3 dcl 176 set ref 93 93 usp 4 based bit(1) array level 3 packed unaligned dcl 176 set ref 95 w1 based structure level 2 dcl 176 w2 1 based structure level 2 dcl 176 NAMES DECLARED BY EXPLICIT CONTEXT. f 000000 constant label array(11:11) dcl 28 ref 17 17 19 21 21 21 21 gtss_dump_filact_args_ 000255 constant entry external dcl 9 more_name 000402 constant label dcl 34 ref 48 next_sp 001154 constant label dcl 90 ref 107 pr_perms 001434 constant entry internal dcl 119 ref 60 101 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 37 37 37 37 43 43 43 43 69 69 69 69 93 93 93 93 95 hbound builtin function ref 17 21 21 lbound builtin function ref 17 21 21 pointer builtin function ref 29 30 54 65 74 string builtin function ref 55 62 62 75 103 103 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1774 2012 1722 2004 Length 2210 1722 16 161 52 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_dump_filact_args_ 153 external procedure is an external procedure. pr_perms internal procedure shares stack frame of external procedure gtss_dump_filact_args_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_dump_filact_args_ 000100 alp gtss_dump_filact_args_ 000102 ap gtss_dump_filact_args_ 000104 cfp gtss_dump_filact_args_ 000106 i gtss_dump_filact_args_ 000107 nascii gtss_dump_filact_args_ 000112 nnp gtss_dump_filact_args_ 000114 nsp gtss_dump_filact_args_ 000115 nu gtss_dump_filact_args_ 000116 op gtss_dump_filact_args_ 000120 pp gtss_dump_filact_args_ 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_ gtss_bcd_ascii_ ioa_$nnl NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 9 000252 147 000262 16 000263 17 000267 18 000275 19 000314 21 000317 26 000364 28 000365 29 000366 30 000373 33 000400 34 000402 35 000403 36 000406 37 000413 38 000434 40 000453 42 000454 43 000467 44 000513 46 000532 47 000537 48 000540 50 000541 53 000554 54 000573 55 000601 57 000623 60 000650 62 000652 65 000676 66 000704 69 000725 70 000746 74 000767 75 000775 78 001015 79 001032 80 001037 81 001063 82 001065 84 001113 85 001140 89 001153 90 001154 91 001155 92 001174 93 001176 94 001221 95 001240 96 001246 98 001273 101 001314 103 001316 105 001342 106 001351 107 001352 109 001353 113 001371 115 001417 117 001433 119 001434 123 001436 124 001457 125 001501 126 001523 127 001545 128 001567 129 001611 130 001633 131 001655 132 001701 133 001714 ----------------------------------------------------------- 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