COMPILATION LISTING OF SEGMENT as_add_admin_acl_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1018.6 mst Wed 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 12 13 /****^ HISTORY COMMENTS: 14* 1) change(86-05-13,GJohnson), approve(86-05-13,MCR7387), 15* audit(86-05-13,Martinson), install(86-05-14,MR12.0-1055): 16* Correct error message documentation. 17* END HISTORY COMMENTS */ 18 19 20 /* AS_ADD_ADMIN_ACL_ 21* 22* Program to put all system administrators and all project administrators 23* on the ACL of some entry. 24* 25* PG 741121 26* Modified 750214 (Valentine's Day) by PG to add instance tag to user names. 27* Modified 750813 by PG to watch out for null system administrator names. 28**/ 29 30 as_add_admin_acl_: 31 procedure (bv_dname, bv_ename, bv_sat_ptr, bv_acl_program, bv_mode, bv_code); 32 33 /* parameters */ 34 35 declare (bv_dname char (*), 36 bv_ename char (*), 37 bv_sat_ptr ptr, 38 bv_acl_program variable entry (char (*), char (*), ptr, fixed bin, fixed bin (35)), 39 bv_mode bit (*), 40 bv_code fixed bin (35)) parameter; 41 42 /* automatic */ 43 44 declare (satp, satep) ptr, 45 (satx, adminx, aclx, n_dir_acls, n_seg_acls) fixed bin, 46 seg bit (1) aligned, 47 name char (32), 48 code fixed bin (35); 49 50 /* builtins */ 51 52 declare (addr, length, reverse, substr, verify) builtin; 53 54 /* entries */ 55 56 declare sys_log_$error_log entry options (variable); 57 58 /* external static */ 59 60 declare error_table_$argerr fixed bin (35) external static; 61 62 /* include files */ 63 1 1 /* BEGIN INCLUDE FILE ... sat.incl.pl1 */ 1 2 1 3 1 4 1 5 1 6 /****^ HISTORY COMMENTS: 1 7* 1) change(86-09-05,Parisek), approve(87-06-17,MCR7570), 1 8* audit(87-06-15,Hirneisen), install(87-08-06,MR12.1-1066): 1 9* Expand comment line of project.state to include the renamed state (state = 1 10* 3). 1 11* END HISTORY COMMENTS */ 1 12 1 13 1 14 1 15 /* Modified 740723 by PG to add AIM info */ 1 16 /* Modified 750604 by T. Casey to add priority scheduler parameters */ 1 17 /* Modified May 1976 by T. Casey to add project cutoff limits */ 1 18 /* Modified May 1978 by T. Casey to add pdir_quota */ 1 19 /* Modified November 1978 by T. Casey to add max_(fore back)ground and abs_foreground_cpu_limit */ 1 20 /* Modified July 1979 by J. N. R. Barnecut to support multiple rate structures. (UNCA) */ 1 21 /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ 1 22 /* Modified 1984-07-05 BIM range of authorizations, version 3 */ 1 23 1 24 dcl (SAT_version init (3), /* version 2 of this declaration */ 1 25 1 26 SAT_header_lth init (466), /* length in words of SAT header */ 1 27 SAT_entry_lth init (80), /* length in words of SAT entry */ 1 28 1 29 SAT_project_name_length init (9) /* proper length of project.project_id */ 1 30 ) fixed bin internal static options (constant); 1 31 1 32 dcl 1 sat based (satp) aligned, 1 33 2 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 2 2 2 3 /* the "author" items must always be the first ones in the table. The 2 4* module which moves the converted table to the System Control process 2 5* fills in these data items and assumes them to be at the head of the segment 2 6* regardless of the specific table's actual declaration. The variables 2 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 2 8* respectively. For tables installed in multiple processes, these 2 9* are to be used to lock out multiple installations. */ 2 10 2 11 /* Lock should be used as a modification lock. Since, in general, 2 12* entries may not be moved in system tables, even by installations, 2 13* it is sufficient for only installers and programs that change threads 2 14* to set or respect the lock. Simply updating data in an entry 2 15* requires no such protection. 2 16* 2 17* Last_install_time is used by readers of system tables to detect 2 18* installations or other serious modifications. By checking it before 2 19* and after copying a block of data, they can be protected against 2 20* modifications. 2 21* 2 22* Modules that set the lock should save proc_group_id, and then 2 23* put their group id there for the time they hold the lock. 2 24* if they do not actually install the, they should restore the group id. 2 25**/ 2 26 2 27 2 author aligned, /* validation data about table's author */ 2 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 2 29 3 lock bit (36), /* installation lock */ 2 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 2 31 3 update_authorization bit (1) unal, /* update only authorizations */ 2 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 2 33 3 pad bit (33) unaligned, 2 34 3 last_install_time fixed bin (71), 2 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 2 36 3 w_dir char (64), /* author's working directory */ 2 37 2 38 /* END INCLUDE FILE author.incl.pl1 */ 1 34 1 35 2 max_size fixed bin, /* max number of entries table can grow */ 1 36 2 current_size fixed bin, /* current size of table (in entries) */ 1 37 2 version fixed bin, /* version number of table (word 32) */ 1 38 2 freep fixed bin, /* free chain ptr. 0 if no free entries */ 1 39 2 n_projects fixed bin, /* number of entries actually used */ 1 40 2 pad_was_max_users bit (36) aligned, 1 41 2 max_units fixed bin, /* maximum number of login-units per session */ 1 42 2 pad_was_max_prim bit (36) aligned, 1 43 2 uwt_size fixed bin, /* size of User Weight Table */ 1 44 2 uwt (24) aligned, /* User Weight Table */ 1 45 3 initproc char (64) unaligned, /* user's initial procedure */ 1 46 3 units fixed bin, /* weight of initial procedure */ 1 47 2 system_admin (2) char (32) unal, /* system administrator ID */ 1 48 2 pad1 (4) fixed bin, /* padding to 466 wds */ 1 49 2 project (3258), /* The SAT entries. 255K segment. */ 1 50 3 pad (80) fixed bin; /* each entry is 80 words long */ 1 51 1 52 1 53 dcl 1 project based (satep) aligned, /* declaration of a single SAT entry */ 1 54 2 state fixed bin, /* state 1 = normal, 0 = free, 2 = deleted, 3 = renamed */ 1 55 2 project_id char (12) unaligned, /* project's name */ 1 56 2 project_dir char (64) unaligned, /* project's directory */ 1 57 2 pdt_ptr pointer, /* pointer to current PDT */ 1 58 2 max_users fixed bin, /* maximum number of users from project */ 1 59 2 n_users fixed bin, /* current number */ 1 60 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 1 61 2 admin (4) aligned, /* list of project's administrators */ 1 62 3 userid char (30) unal, /* administrator's user-id (personid.projectid) */ 1 63 3 pad char (2) unal, 1 64 2 cutoff char (1), /* if project is cut off, why. */ 1 65 2 min_ring fixed bin, /* lowest ring for project */ 1 66 2 max_ring fixed bin, /* highest ring for project */ 1 67 2 alias char (8) unal, /* project alias */ 1 68 2 group char (8) unal, /* default group for this project */ 1 69 2 grace_max fixed bin, /* maximum bump grace */ 1 70 2 audit bit (36), /* audit flags for project */ 1 71 2 project_authorization (2) bit (72), /* authorization of this project */ 1 72 2 groups (2) char (8) unal, /* authorized groups for this project */ 1 73 2 days_to_cutoff fixed bin (17) unaligned, /* these figures are as of last running of daily_summary */ 1 74 2 pct_balance fixed bin (17) unaligned, /* they are used for warning message printing only */ 1 75 2 dollars_to_cutoff float bin, /* and are not to be taken as up-to-date figures */ 1 76 2 pdir_quota fixed bin (17) unaligned, /* max pdir quota allowed for project */ 1 77 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and background */ 1 78 2 max_background fixed bin (9) unsigned unaligned, /* processes that a user on this project can have */ 1 79 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit on foreground absentee jobs */ 1 80 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number (0=default rates ) */ 1 81 2 satpad1 fixed bin (9) unsigned unaligned, 1 82 2 satpad (1) bit (36) aligned, /* pad to 80 words */ 1 83 2 chain fixed bin; /* if free entry, chain */ 1 84 1 85 /* END INCLUDE FILE ... sat.incl.pl1 */ 64 3 1 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 3 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 3 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 3 8* attribute switches. 3 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 3 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 3 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 3 12* be deleted. 3 13* B) Add constants identifying attributes that can be changed by user at 3 14* login, etc. 3 15* END HISTORY COMMENTS */ 3 16 3 17 3 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 3 19 3 20 /* format: style4 */ 3 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 3 22 (2 administrator bit (1), /* 1 system administrator privileges */ 3 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 3 24 2 nobump bit (1), /* 2 user cannot be bumped */ 3 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 3 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 3 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 3 28* . of same project (distinct from "nobump") */ 3 29 2 nolist bit (1), /* 7 don't list user on "who" */ 3 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 3 31 2 multip bit (1), /* 9 user may have several processes */ 3 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 3 33 2 brief bit (1), /* 11 no login or logout message */ 3 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 3 35 2 vhomedir bit (1), /* 13 user may change homedir */ 3 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 3 37 2 sb_ok bit (1), /* 15 user may be standby */ 3 38 2 pm_ok bit (1), /* 16 user may be primary */ 3 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 3 40 2 daemon bit (1), /* 18 user may login as daemon */ 3 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 3 42 2 no_warning bit (1), /* 20 no warning message */ 3 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 3 44* . in PDT: this user has an individual load control group */ 3 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 3 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 3 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 3 48 2 pad bit (12)) unaligned; 3 49 3 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 3 51 ("none", /* 0 */ 3 52 "administrator", /* 1 */ 3 53 "primary_line", /* 2 */ 3 54 "nobump", /* 3 */ 3 55 "guaranteed_login", /* 4 */ 3 56 "anonymous", /* 5 */ 3 57 "nopreempt", /* 6 */ 3 58 "nolist", /* 7 */ 3 59 "dialok", /* 8 */ 3 60 "multip", /* 9 */ 3 61 "bumping", /* 10 */ 3 62 "brief", /* 11 */ 3 63 "vinitproc", /* 12 */ 3 64 "vhomedir", /* 13 */ 3 65 "nostartup", /* 14 */ 3 66 "no_secondary", /* 15 */ 3 67 "no_prime", /* 16 */ 3 68 "no_eo", /* 17 */ 3 69 "daemon", /* 18 */ 3 70 "", /* 19 vdim OBSOLETE */ 3 71 "no_warning", /* 20 */ 3 72 "igroup", /* 21 */ 3 73 "save_pdir", /* 22 */ 3 74 "disconnect_ok", /* 23 */ 3 75 "save_on_disconnect"); /* 24 */ 3 76 3 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 3 78 ("null", /* 0 */ 3 79 "admin", /* 1 */ 3 80 "", "", /* 2 - 3 */ 3 81 "guar", /* 4 */ 3 82 "anon", /* 5 */ 3 83 "", "", /* 6 - 7 */ 3 84 "dial", /* 8 */ 3 85 "multi_login", /* 9 */ 3 86 "preempting", /* 10 */ 3 87 "", /* 11 */ 3 88 "v_process_overseer", /* 12 */ 3 89 "v_home_dir", /* 13 */ 3 90 "no_start_up", /* 14 */ 3 91 "no_sec", /* 15 */ 3 92 "no_primary", /* 16 */ 3 93 "no_edit_only", /* 17 */ 3 94 "op_login", /* 18 */ 3 95 "", /* 19 */ 3 96 "nowarn", /* 20 */ 3 97 "", "", "", /* 21 - 23 */ 3 98 "save"); /* 24 */ 3 99 3 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 3 101 options(constant) init("000000000010000000010000000000000000"b); 3 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 3 103 3 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 3 105 options(constant) init("000000000010000000010000000000000000"b); 3 106 /* PDT value for (brief, no_warning) is default */ 3 107 3 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 3 109 options(constant) init("000100000110010000010000000000000000"b); 3 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 3 111 4 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 4 2 4 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 4 /* */ 4 5 /* This include file describes the attributes of an absentee job. It is */ 4 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 4 7 /* and PIT.incl.pl1. */ 4 8 /* */ 4 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 10 4 11 /****^ HISTORY COMMENTS: 4 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 4 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 14* Separated abs_attributes from the request structure 4 15* (abs_message_format.incl.pl1) so that the identical structure could be 4 16* used in the ute structure (user_table_entry.incl.pl1). 4 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 4 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 19* Added ABS_ATTRIBUTE_NAMES array. 4 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 4 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 4 22* Added the no_start_up flag. SCP6367 4 23* END HISTORY COMMENTS */ 4 24 4 25 dcl 1 user_abs_attributes aligned based, 4 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 4 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 4 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 4 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 4 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 4 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 4 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 4 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 4 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 4 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 4 36 2 attributes_pad bit (26) unaligned; 4 37 4 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 4 39 "restartable", 4 40 "user_deferred_until_time", 4 41 "proxy", 4 42 "set_bit_cnt", 4 43 "time_in_gmt", 4 44 "user_deferred_indefinitely", 4 45 "secondary_ok", 4 46 "truncate_absout", 4 47 "restarted", 4 48 "no_start_up"); 4 49 4 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 4 51 3 112 3 113 3 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 65 66 67 /* program */ 68 69 satp = bv_sat_ptr; 70 n_seg_acls = (4 * satp -> sat.n_projects) + 2; /* maximum number of proj admins + 2 sys admins */ 71 n_dir_acls = 0; 72 seg = "1"b; 73 go to join; 74 75 as_add_admin_acls_$dir: 76 entry (bv_dname, bv_ename, bv_sat_ptr, bv_acl_program, bv_mode, bv_code); 77 78 satp = bv_sat_ptr; 79 n_dir_acls = (4 * satp -> sat.n_projects) + 2; 80 n_seg_acls = 0; 81 seg = "0"b; 82 83 join: 84 begin; /* allocate the acl structure */ 85 86 declare 1 directory_acls aligned dim (n_dir_acls) automatic, 87 2 access_name char (32), 88 2 modes bit (36), 89 2 status_code fixed bin (35); 90 91 declare 1 segment_acls aligned dim (n_seg_acls) automatic, 92 2 access_name char (32), 93 2 modes bit (36), 94 2 zero_pad bit (36), 95 2 status_code fixed bin (35); 96 97 aclx = 1; 98 do satx = 1 to sat.current_size; /* loop thru all used entries */ 99 satep = addr (sat.project (satx)); /* ptr to project entry */ 100 if project.state = 1 then do; /* in use */ 101 do adminx = 1 to 4 while (project.admin (adminx).userid ^= ""); 102 if seg then do; 103 segment_acls (aclx).access_name = add_tag (project.admin (adminx).userid); 104 segment_acls (aclx).modes = bv_mode; 105 segment_acls (aclx).zero_pad = ""b; 106 segment_acls (aclx).status_code = 0; 107 end; 108 else do; 109 directory_acls (aclx).access_name = add_tag (project.admin (adminx).userid); 110 directory_acls (aclx).modes = bv_mode; 111 directory_acls (aclx).status_code = 0; 112 end; 113 aclx = aclx + 1; 114 end; 115 end; 116 end; 117 118 do adminx = 1 to 2 while (sat.system_admin (adminx) ^= ""); 119 if seg then do; 120 segment_acls (aclx).access_name = add_tag (sat.system_admin (adminx)); 121 segment_acls (aclx).modes = bv_mode; 122 segment_acls (aclx).zero_pad = ""b; 123 segment_acls (aclx).status_code = 0; 124 end; 125 else do; 126 directory_acls (aclx).access_name = add_tag (sat.system_admin (adminx)); 127 directory_acls (aclx).modes = bv_mode; 128 directory_acls (aclx).status_code = 0; 129 end; 130 aclx = aclx + 1; 131 end; 132 aclx = aclx - 1; /* normalize to number used */ 133 134 if seg then call bv_acl_program (bv_dname, bv_ename, addr (segment_acls), aclx, code); 135 else call bv_acl_program (bv_dname, bv_ename, addr (directory_acls), aclx, code); 136 if code ^= 0 then do; 137 if code = error_table_$argerr then do; /* oh, damn! */ 138 do adminx = 1 to aclx; 139 140 if seg then do; 141 code = segment_acls (adminx).status_code; 142 name = segment_acls (adminx).access_name; 143 end; 144 else do; 145 code = directory_acls (adminx).status_code; 146 name = directory_acls (adminx).access_name; 147 end; 148 149 if code ^= 0 then 150 call sys_log_$error_log (2, code, 151 "as_add_admin_acl_", "Could not add ^a to ACL of ^a>^a", 152 name, bv_dname, bv_ename); 153 end; 154 end; 155 else call sys_log_$error_log (2, code, "as_add_admin_acl_", 156 "Could not add to ACL of ^a>^a", bv_dname, bv_ename); 157 158 bv_code = code; 159 return; 160 end; 161 end; /* the begin block */ 162 bv_code = 0; /* a-ok */ 163 return; 164 165 166 167 /* Internal procedure to add an instance tag to an administrator name */ 168 169 add_tag: 170 procedure (bv_access_name) returns (char (32)); 171 172 /* parameters */ 173 174 declare bv_access_name char (*); 175 176 /* automatic */ 177 178 declare access_name char (32); 179 declare n fixed bin; 180 181 /* program */ 182 183 access_name = bv_access_name; /* expand to char (32) */ 184 185 n = length (access_name) - verify (reverse (access_name), " ") + 1; 186 /* find length of access_name */ 187 188 substr (access_name, n + 1, 2) = ".*"; /* splat */ 189 190 return (access_name); 191 192 end add_tag; 193 194 /* BEGIN MESSAGE DOCUMENTATION 195* 196*Message: 197*as_add_admin_acl_: ERROR_MESSAGE. Could not add PGID to ACL of PATH. 198* 199*S: as (severity2) 200* 201*T: Answering Service initialization, or while the system is running. 202* 203*M: An error occurred while trying to rebuild the access control list (ACL) on PATH where: 204* 205*ERROR_MESSAGE is an error_table_ message 206*.br 207*PGID is a process group id 208*.br 209*PATH is a full pathname 210* 211*A: Manually give PGID read access (or status permission) to PATH. 212* 213* 214*Message: 215*as_add_admin_acl_: ERROR_MESSAGE. Could not add to ACL of PATH. 216* 217*S: as (severity2) 218* 219*T: Answering Service initialization, or while the system is running. 220* 221*M: Some fatal error occurred while rebuilding the access control list (ACL) of PATH. ERROR_MESSAGE is an 222*error_table_ message and PATH is the full pathname of a segment or a directory. 223* 224*A: $contact 225*The operation that caused the error must be determined and the operation repeated 226*after correction. 227* 228* END MESSAGE DOCUMENTATION */ 229 230 end as_add_admin_acl_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0941.4 as_add_admin_acl_.pl1 >special_ldd>install>MR12.2-1047>as_add_admin_acl_.pl1 64 1 08/06/87 1416.6 sat.incl.pl1 >ldd>include>sat.incl.pl1 1-34 2 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 65 3 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 3-112 4 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.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. access_name 000120 automatic char(32) packed unaligned dcl 178 in procedure "add_tag" set ref 183* 185 185 188* 190 access_name 000100 automatic char(32) array level 2 in structure "directory_acls" dcl 86 in begin block on line 83 set ref 109* 126* 146 access_name 000100 automatic char(32) array level 2 in structure "segment_acls" dcl 91 in begin block on line 83 set ref 103* 120* 142 aclx 000106 automatic fixed bin(17,0) dcl 44 set ref 97* 103 104 105 106 109 110 111 113* 113 120 121 122 123 126 127 128 130* 130 132* 132 134* 135* 138 addr builtin function dcl 52 ref 99 134 134 135 135 admin 31 based structure array level 2 dcl 1-53 adminx 000105 automatic fixed bin(17,0) dcl 44 set ref 101* 101* 103 109* 118* 118* 120 126* 138* 141 142 145 146* bv_access_name parameter char packed unaligned dcl 174 ref 169 183 bv_acl_program parameter entry variable dcl 35 ref 30 75 134 135 bv_code parameter fixed bin(35,0) dcl 35 set ref 30 75 158* 162* bv_dname parameter char packed unaligned dcl 35 set ref 30 75 134* 135* 149* 155* bv_ename parameter char packed unaligned dcl 35 set ref 30 75 134* 135* 149* 155* bv_mode parameter bit packed unaligned dcl 35 ref 30 75 104 110 121 127 bv_sat_ptr parameter pointer dcl 35 ref 30 69 75 78 code 000122 automatic fixed bin(35,0) dcl 44 set ref 134* 135* 136 137 141* 145* 149 149* 155* 158 current_size 36 based fixed bin(17,0) level 2 dcl 1-32 ref 98 directory_acls 000100 automatic structure array level 1 dcl 86 set ref 135 135 error_table_$argerr 000012 external static fixed bin(35,0) dcl 60 ref 137 length builtin function dcl 52 ref 185 modes 10 000100 automatic bit(36) array level 2 in structure "segment_acls" dcl 91 in begin block on line 83 set ref 104* 121* modes 10 000100 automatic bit(36) array level 2 in structure "directory_acls" dcl 86 in begin block on line 83 set ref 110* 127* n 000130 automatic fixed bin(17,0) dcl 179 set ref 185* 188 n_dir_acls 000107 automatic fixed bin(17,0) dcl 44 set ref 71* 79* 86 n_projects 41 based fixed bin(17,0) level 2 dcl 1-32 ref 70 79 n_seg_acls 000110 automatic fixed bin(17,0) dcl 44 set ref 70* 80* 91 name 000112 automatic char(32) packed unaligned dcl 44 set ref 142* 146* 149* project based structure level 1 dcl 1-53 in procedure "as_add_admin_acl_" project 722 based structure array level 2 in structure "sat" dcl 1-32 in procedure "as_add_admin_acl_" set ref 99 reverse builtin function dcl 52 ref 185 sat based structure level 1 dcl 1-32 satep 000102 automatic pointer dcl 44 set ref 99* 100 101 103 109 satp 000100 automatic pointer dcl 44 set ref 69* 70 78* 79 98 99 118 120 126 satx 000104 automatic fixed bin(17,0) dcl 44 set ref 98* 99* seg 000111 automatic bit(1) dcl 44 set ref 72* 81* 102 119 134 140 segment_acls 000100 automatic structure array level 1 dcl 91 set ref 134 134 state based fixed bin(17,0) level 2 dcl 1-53 ref 100 status_code 11 000100 automatic fixed bin(35,0) array level 2 in structure "directory_acls" dcl 86 in begin block on line 83 set ref 111* 128* 145 status_code 12 000100 automatic fixed bin(35,0) array level 2 in structure "segment_acls" dcl 91 in begin block on line 83 set ref 106* 123* 141 substr builtin function dcl 52 set ref 188* sys_log_$error_log 000010 constant entry external dcl 56 ref 149 155 system_admin 676 based char(32) array level 2 packed packed unaligned dcl 1-32 set ref 118 120* 126* user_attributes based structure level 1 dcl 3-21 userid 31 based char(30) array level 3 packed packed unaligned dcl 1-53 set ref 101 103* 109* verify builtin function dcl 52 ref 185 zero_pad 11 000100 automatic bit(36) array level 2 dcl 91 set ref 105* 122* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 4-38 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 3-77 SAT_entry_lth internal static fixed bin(17,0) initial dcl 1-24 SAT_header_lth internal static fixed bin(17,0) initial dcl 1-24 SAT_project_name_length internal static fixed bin(17,0) initial dcl 1-24 SAT_version internal static fixed bin(17,0) initial dcl 1-24 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 3-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 3-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 3-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 3-50 user_abs_attributes based structure level 1 dcl 4-25 NAMES DECLARED BY EXPLICIT CONTEXT. add_tag 001003 constant entry internal dcl 169 ref 103 109 120 126 as_add_admin_acl_ 000047 constant entry external dcl 30 as_add_admin_acls_$dir 000112 constant entry external dcl 75 join 000151 constant label dcl 83 ref 73 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1136 1152 1050 1146 Length 1420 1050 14 232 65 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME as_add_admin_acl_ 86 external procedure is an external procedure. begin block on line 83 170 begin block uses auto adjustable storage. add_tag internal procedure shares stack frame of begin block on line 83. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME as_add_admin_acl_ 000100 satp as_add_admin_acl_ 000102 satep as_add_admin_acl_ 000104 satx as_add_admin_acl_ 000105 adminx as_add_admin_acl_ 000106 aclx as_add_admin_acl_ 000107 n_dir_acls as_add_admin_acl_ 000110 n_seg_acls as_add_admin_acl_ 000111 seg as_add_admin_acl_ 000112 name as_add_admin_acl_ 000122 code as_add_admin_acl_ begin block on line 83 000100 segment_acls begin block on line 83 000100 directory_acls begin block on line 83 000120 access_name add_tag 000130 n add_tag THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. enter_begin_block leave_begin_block call_ent_var_desc call_ext_out_desc begin_return_mac return_mac alloc_auto_adj ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. sys_log_$error_log THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$argerr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 30 000041 69 000074 70 000100 71 000104 72 000105 73 000107 75 000110 78 000137 79 000143 80 000147 81 000150 83 000151 86 000154 91 000162 97 000167 98 000171 99 000202 100 000206 101 000211 102 000227 103 000232 104 000261 105 000272 106 000274 107 000275 109 000276 110 000325 111 000336 113 000340 114 000341 116 000343 118 000345 119 000363 120 000366 121 000414 122 000425 123 000427 124 000430 126 000431 127 000457 128 000470 130 000472 131 000473 132 000475 134 000477 135 000536 136 000572 137 000575 138 000600 140 000610 141 000612 142 000617 143 000623 145 000624 146 000631 149 000635 153 000714 154 000717 155 000720 158 000771 159 000775 161 000777 162 001000 163 001002 169 001003 183 001014 185 001021 188 001037 190 001042 ----------------------------------------------------------- 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