COMPILATION LISTING OF SEGMENT expand_pnt_audit_info_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1005.7 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 4* * * 5* *********************************************************** */ 6 /* format: style5 */ 7 8 expand_pnt_audit_info_: 9 procedure (P_log_message_format_ptr, P_expand_mode_ptr, P_info_ptr, 10 P_info_size, P_expansion, P_code); 11 12 /**** This program expands the extended binary information associated with 13* PNT change audit records. */ 14 15 /* Written 1985-01-28 by E. Swenson */ 16 17 /* Parameters */ 18 19 dcl P_code fixed bin (35) parameter; 20 /* status code */ 21 dcl P_expand_mode_ptr ptr parameter; 22 dcl P_expansion char (*) varying parameter; 23 /* character string to output */ 24 dcl P_info_ptr ptr parameter; /* pointer to I&A binary info */ 25 dcl P_info_size fixed bin (17) parameter; 26 /* size of binary info */ 27 dcl P_log_message_format_ptr 28 ptr parameter; 29 30 /* Automatic */ 31 32 dcl code fixed bin (35); /* status code */ 33 dcl ioa_$rsnnl entry () options (variable); 34 dcl new_pnt_info_ptr ptr; /* pointer to pnt_audit_entry structure */ 35 dcl p ptr; /* used to reference binary data */ 36 dcl temp char (1024) varying; 37 /* temporary string */ 38 39 /* Entries */ 40 41 dcl display_access_class_ entry (bit (72) aligned) 42 returns (char (32) aligned); 43 dcl display_access_class_$range 44 entry ((2) bit (72) aligned) 45 returns (char (32) aligned); 46 47 /* External */ 48 49 dcl error_table_$bad_arg fixed bin (35) external static; 50 dcl error_table_$unimplemented_version 51 fixed bin (35) external static; 52 53 /* Builtin */ 54 55 dcl addr builtin; 56 dcl size builtin; 57 58 59 /* Program */ 60 p = P_info_ptr; 61 if P_info_size < (size (pnt_audit_record) - size (pnt_audit_entry) - 1) 62 then 63 do; 64 P_code = error_table_$bad_arg; 65 return; 66 end; 67 68 if p -> pnt_audit_record.version ^= PNT_AUDIT_RECORD_VERSION_1 then 69 do; 70 P_code = error_table_$unimplemented_version; 71 return; 72 end; 73 74 P_code = 0; 75 76 /**** Determine which of the possibly two pnt_audit_entry structures 77* to display as "new" vs "old" data. */ 78 79 if p -> pnt_audit_record.flags.modify then 80 new_pnt_info_ptr = addr (p -> pnt_audit_record.pnt_entry_2); 81 else 82 new_pnt_info_ptr = addr (p -> pnt_audit_record.pnt_entry_1); 83 84 call ioa_$rsnnl ( 85 "User id = ^a, Operation = ^a^[, Changed password^]^[, Changed network password^]^/^[Old^;New^] PNT info:^/^a^/" 86 , temp, (0), p -> pnt_audit_record.user_id, DISPLAY_OPERATION (), 87 p -> pnt_audit_record.flags.password_changed, 88 p -> pnt_audit_record.flags.network_password_changed, 89 p -> pnt_audit_record.flags.delete, 90 DISPLAY_PNT_AUDIT_ENTRY (new_pnt_info_ptr)); 91 92 /**** For the modify opertation, there are two pnt_audit_entry structures 93* supplied. Process the other one. */ 94 95 if p -> pnt_audit_record.flags.modify then 96 call ioa_$rsnnl ("^aOld PNT info:^/^a^/", temp, (0), temp, 97 DISPLAY_PNT_AUDIT_ENTRY ( 98 addr (p -> pnt_audit_record.pnt_entry_1))); 99 100 /**** Update the relevant information for our caller */ 101 102 P_expansion = P_expansion || temp; 103 P_info_size = P_info_size - size (pnt_audit_record); 104 105 return; 106 107 DISPLAY_OPERATION: 108 procedure () returns (char (*)); 109 110 /**** This internal procedure returns a character string representation 111* of the PNT operation being interpreted. */ 112 113 if p -> pnt_audit_record.flags.add then 114 return ("add"); 115 else if p -> pnt_audit_record.flags.delete then 116 return ("delete"); 117 else if p -> pnt_audit_record.flags.modify then 118 return ("modify"); 119 else 120 return ("unknown"); 121 122 end DISPLAY_OPERATION; 123 124 DISPLAY_PNT_AUDIT_ENTRY: 125 procedure (P_pnt_audit_entry_ptr) returns (char (*)); 126 127 /**** This internal procedure displays the contents of a pnt_audit_entry 128* structure */ 129 130 dcl P_pnt_audit_entry_ptr ptr parameter; /* pointer to info structure */ 131 dcl audit_flags_str char (256) automatic; 132 /* representation of audit flags */ 133 dcl p ptr automatic; /* temporary pointer */ 134 dcl temp char (512) automatic; 135 /* temporary */ 136 dcl convert_access_audit_flags_$to_string 137 entry (bit (36) aligned, char (*), 138 fixed bin (35)); 139 140 p = P_pnt_audit_entry_ptr; 141 142 call convert_access_audit_flags_$to_string (p 143 -> pnt_audit_entry.audit_flags, audit_flags_str, code); 144 if code ^= 0 then 145 audit_flags_str = "-invalid-"; 146 147 call ioa_$rsnnl ( 148 "Alias = ""^a"", Authorization range = ^a, Audit flags = ""^a"", Flags = ""^a""^[, Password timelock = ^a^]" 149 , temp, (0), p -> pnt_audit_entry.alias, 150 display_access_class_$range (p 151 -> pnt_audit_entry.authorization_range), audit_flags_str, 152 DISPLAY_PNT_FLAGS (addr (p -> pnt_audit_entry.flags)), 153 p -> pnt_audit_entry.flags.pw_time_lock, 154 DISPLAY_PASSWORD_TIMELOCK (p -> pnt_audit_entry.password_timelock)); 155 return (temp); 156 end DISPLAY_PNT_AUDIT_ENTRY; 157 158 DISPLAY_PNT_FLAGS: 159 procedure (P_pnt_flags_ptr) returns (char (*)); 160 161 /**** This procedure returns a displayable representation of the 162* flags in the PNT. */ 163 164 dcl P_pnt_flags_ptr ptr parameter; 165 dcl 1 pnt_flags like pnt_entry.public.flags 166 based (P_pnt_flags_ptr); 167 168 dcl temp char (256) automatic; 169 170 call ioa_$rsnnl ( 171 "^[^^^]password,^[^^^]network_pw,^[^^^]trap,^[^^^]lock,^[^^^]change,^[^^^]must_change,^[^^^]generate,^[^^^]operator,^[^^^]time_lock" 172 , temp, (0), ^pnt_flags.has_password, 173 ^pnt_flags.has_network_password, ^pnt_flags.trap, ^pnt_flags.lock, 174 pnt_flags.nochange, ^pnt_flags.must_change, ^pnt_flags.generate_pw, 175 ^pnt_flags.operator, ^pnt_flags.pw_time_lock); 176 return (temp); 177 178 end DISPLAY_PNT_FLAGS; 179 180 DISPLAY_PASSWORD_TIMELOCK: 181 procedure (P_password_timelock) returns (char (*)); 182 183 /**** This procedure returns the value of the password time lock, 184* if there is one. */ 185 186 dcl P_password_timelock fixed bin (71) parameter; 187 dcl date_str char (250) varying automatic; 188 dcl date_time_$format entry (char (*), fixed bin (71), 189 char (*), char (*)) 190 returns (char (250) var); 191 192 if P_password_timelock = 0 then 193 return ("none"); 194 else 195 do; 196 date_str = 197 date_time_$format ("date_time", P_password_timelock, "", "") 198 ; 199 return ((date_str)); 200 end; 201 202 end DISPLAY_PASSWORD_TIMELOCK; /* format: off */ 203 /* BEGIN include file access_audit_bin_header.incl.pl1 */ 1 2 1 3 /* format: style4 */ 1 4 1 5 /* NOTE: All changes must also be done to access_audit_bin_header.incl.alm */ 1 6 1 7 /* 85-01-18 E. Swenson - renamed to access_audit_bin_header.incl.pl1 */ 1 8 /* 85-01-17 E. Swenson - restructured, added session_uid, changed 1 9* min and max authorization to authorization range. */ 1 10 /* 85-01-07 EJ Sharpe - added min_authorization, cleanup */ 1 11 /* 84-11-15 EJ Sharpe - added event_flags word */ 1 12 /* 84-11-06 EJ Sharpe - added unaligned attr to version and proxy_flag */ 1 13 /* 84-10-24 EJ Sharpe - added the constants */ 1 14 /* 84-09-04 BIM - created */ 1 15 1 16 declare audit_record_ptr pointer; 1 17 1 18 dcl 1 audit_record_header aligned based (audit_record_ptr), 1 19 2 header aligned like arh_header_, 1 20 2 subject aligned like arh_user_info_; 1 21 1 22 dcl 1 audit_record_header_proxy aligned based (audit_record_ptr), 1 23 2 header aligned like arh_header_, 1 24 2 subjects (2) aligned like arh_user_info_; 1 25 1 26 dcl 1 arh_header_ aligned based, 1 27 2 type fixed bin (9) unsigned unaligned, 1 28 2 version fixed bin (9) unsigned unaligned, 1 29 2 flags unaligned, 1 30 3 ( 1 31 subject_is_process, /* binary data in subject is valid */ 1 32 object_is_valid /* There is an object */ 1 33 ) bit (1) unaligned, 1 34 3 pad bit (16) unaligned, 1 35 2 operation_code bit (36) aligned, /* like access_audit_encoded_op */ 1 36 2 event_flags bit (36) aligned, /* like access_audit_eventflags */ 1 37 2 session_uid fixed bin (35); /* uid for the login session */ 1 38 1 39 dcl 1 arh_user_info_ aligned based, 1 40 2 person char (22) unaligned, /* see anonymous bit */ 1 41 2 project char (9) unaligned, /* blank for nologin w/out proj */ 1 42 2 tag char (1) unaligned, 1 43 2 ring fixed bin (3) uns unaligned, 1 44 2 anonymous bit (1) unaligned, 1 45 2 pad3 bit (32) unaligned, 1 46 2 process_id bit (36) aligned, 1 47 2 authorization bit (72) aligned, 1 48 2 authorization_range (2) bit (72) aligned; 1 49 1 50 dcl ARH_TYPE_PROXY fixed bin init (2) 1 51 static options (constant); 1 52 dcl ARH_TYPE_NO_PROXY fixed bin init (1) 1 53 static options (constant); 1 54 dcl ACCESS_AUDIT_HEADER_VERSION_3 fixed bin (9) unsigned 1 55 init (3) static options (constant); 1 56 1 57 /* End include file access_audit_bin_header.incl.pl1 */ 203 204 /* format: style2 */ 2 2 2 3 /* BEGIN include file pnt_audit_record.incl.pl1 */ 2 4 2 5 /* Written: 1985-01-25 by E. Swenson 2 6* Modification History: 2 7**/ 2 8 2 9 dcl 1 pnt_audit_record structure aligned based, 2 10 2 type fixed bin (9) unsigned unaligned, 2 11 2 version fixed bin (9) unsigned unaligned, 2 12 2 pad1 bit (18) unaligned, 2 13 2 flags unaligned, 2 14 3 add bit (1) unaligned, 2 15 3 delete bit (1) unaligned, 2 16 3 modify bit (1) unaligned, 2 17 3 password_changed bit (1) unaligned, 2 18 3 network_password_changed bit (1) unaligned, 2 19 3 pad2 bit (31) unaligned, 2 20 2 user_id char (32), 2 21 2 pnt_entry_1 aligned like pnt_audit_entry, 2 22 2 pnt_entry_2 aligned like pnt_audit_entry; 2 23 2 24 dcl 1 pnt_audit_entry aligned based, 2 25 2 flags like pnt_entry.public.flags, 2 26 2 alias char (8), 2 27 2 authorization_range (2) bit (72) aligned, 2 28 2 password_timelock fixed bin (71), 2 29 2 audit_flags bit (36); 2 30 2 31 dcl PNT_AUDIT_RECORD_VERSION_1 fixed bin (9) initial (1) internal static options (constant); 2 32 2 33 /* END include file pnt_audit_record.incl.pl1 */ 204 205 /* BEGIN INCLUDE FILE ... pnt_entry.incl.pl1 */ 3 2 3 3 /* Modified 790702 by C. Hornig for MSF PNT */ 3 4 /* Modified 84-07-18 BIM for V2, aim ranges, long passwords. */ 3 5 /* Modified 84-09-25 for operator attribute... -E. A. Ranzenbach */ 3 6 /* Modified 85-03-05 E. Swenson for user_validated_time */ 3 7 3 8 /**** The ms_table_mgr_ has fixed sized entries, for now. 3 9* The presence of a version field and some pad allow 3 10* us to have incrementally-upgraded PNTE's in a future change. 3 11**/ 3 12 3 13 /**** The conversion to V2 copies the existing encrypted passwords. 3 14* Since the 32 character scrambling algorithm will not give the 3 15* same results, the short_XX flags indicate that the old scrambler 3 16* should be used. The short flags are automatically turned off 3 17* by calls to update the password with the long-scrambled form. */ 3 18 3 19 /* format: style4,insnl,delnl */ 3 20 3 21 declare pntep pointer automatic; 3 22 declare 1 pnt_entry based (pntep) aligned, /* declaration of a single PNT entry */ 3 23 2 version fixed bin, 3 24 2 private aligned, 3 25 3 pw_flags aligned, 3 26 4 short_pw bit (1) unal, /* ON password is eight-character form */ 3 27 4 short_network_pw bit (1) unal, /* ON card password is eight character form. */ 3 28 3 password character (32), /* person's password */ 3 29 3 network_password character (32), 3 30 2 public, 3 31 3 user_id character (32), /* user ID (for alias entries */ 3 32 3 alias character (8), 3 33 3 default_project character (16), /* user's default project */ 3 34 3 flags, /* one-bit flags */ 3 35 4 has_password bit (1) unaligned, 3 36 4 has_network_password bit (1) unaligned, 3 37 4 trap bit (1) unal, /* If this password is used, holler */ 3 38 4 lock bit (1) unal, /* prevent login if on. */ 3 39 4 nochange bit (1) unal, /* user cannot change password */ 3 40 4 must_change bit unal, /* user must change password at next login */ 3 41 4 pw_time_lock bit (1) unal, /* if password has a time lock */ 3 42 4 generate_pw bit (1) unal, /* ON if we give new pw, OFF lets user select new pw */ 3 43 4 last_bad_pw_reported bit (1) unal, /* ON if user has NOT been told about last bad password */ 3 44 4 operator bit (1) unal, /* ON if user can login as an operator... */ 3 45 4 pads bit (26) unal, 3 46 3 n_good_pw fixed bin, /* Number of good passwords */ 3 47 3 n_bad_pw fixed bin, /* Number of wrong passwords */ 3 48 3 n_bad_pw_since_good fixed bin, /* Number of wrong passwords since good */ 3 49 3 time_pw_changed fixed bin (71), /* When password was modified by user */ 3 50 3 51 3 time_last_good_pw fixed bin (71), 3 52 3 time_last_bad_pw fixed bin (71), /* When pw was last given wrong */ 3 53 3 bad_pw_term_id character (4), /* where bad password from */ 3 54 3 bad_pw_line_type fixed bin (17), /* ... */ 3 55 3 bad_pw_term_type character (32), 3 56 3 password_timelock fixed bin (71), /* Password is locked up until here */ 3 57 3 person_authorization (2) bit (72), /* authorization of this person */ 3 58 3 default_person_authorization bit (72), /* default authorization of this person */ 3 59 3 audit bit (36), /* audit flags for person */ 3 60 3 pad1 bit (36), /* pad to even word boundary */ 3 61 3 user_validated_time fixed bin (71), /* time this PNT entry was last validated by an administrator */ 3 62 2 pad (80 - 64) bit (36) aligned; 3 63 3 64 declare PNT_ENTRY_VERSION_2 fixed bin init (2) int static options (constant); 3 65 3 66 /* END INCLUDE FILE ... pnte.incl.pl1 */ 205 206 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 4 2 4 3 4 4 /****^ HISTORY COMMENTS: 4 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 4 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 4 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 4 8* attribute switches. 4 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 4 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 4 12* be deleted. 4 13* B) Add constants identifying attributes that can be changed by user at 4 14* login, etc. 4 15* END HISTORY COMMENTS */ 4 16 4 17 4 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 4 19 4 20 /* format: style4 */ 4 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 4 22 (2 administrator bit (1), /* 1 system administrator privileges */ 4 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 4 24 2 nobump bit (1), /* 2 user cannot be bumped */ 4 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 4 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 4 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 4 28* . of same project (distinct from "nobump") */ 4 29 2 nolist bit (1), /* 7 don't list user on "who" */ 4 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 4 31 2 multip bit (1), /* 9 user may have several processes */ 4 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 4 33 2 brief bit (1), /* 11 no login or logout message */ 4 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 4 35 2 vhomedir bit (1), /* 13 user may change homedir */ 4 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 4 37 2 sb_ok bit (1), /* 15 user may be standby */ 4 38 2 pm_ok bit (1), /* 16 user may be primary */ 4 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 4 40 2 daemon bit (1), /* 18 user may login as daemon */ 4 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 4 42 2 no_warning bit (1), /* 20 no warning message */ 4 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 4 44* . in PDT: this user has an individual load control group */ 4 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 4 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 4 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 4 48 2 pad bit (12)) unaligned; 4 49 4 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 4 51 ("none", /* 0 */ 4 52 "administrator", /* 1 */ 4 53 "primary_line", /* 2 */ 4 54 "nobump", /* 3 */ 4 55 "guaranteed_login", /* 4 */ 4 56 "anonymous", /* 5 */ 4 57 "nopreempt", /* 6 */ 4 58 "nolist", /* 7 */ 4 59 "dialok", /* 8 */ 4 60 "multip", /* 9 */ 4 61 "bumping", /* 10 */ 4 62 "brief", /* 11 */ 4 63 "vinitproc", /* 12 */ 4 64 "vhomedir", /* 13 */ 4 65 "nostartup", /* 14 */ 4 66 "no_secondary", /* 15 */ 4 67 "no_prime", /* 16 */ 4 68 "no_eo", /* 17 */ 4 69 "daemon", /* 18 */ 4 70 "", /* 19 vdim OBSOLETE */ 4 71 "no_warning", /* 20 */ 4 72 "igroup", /* 21 */ 4 73 "save_pdir", /* 22 */ 4 74 "disconnect_ok", /* 23 */ 4 75 "save_on_disconnect"); /* 24 */ 4 76 4 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 4 78 ("null", /* 0 */ 4 79 "admin", /* 1 */ 4 80 "", "", /* 2 - 3 */ 4 81 "guar", /* 4 */ 4 82 "anon", /* 5 */ 4 83 "", "", /* 6 - 7 */ 4 84 "dial", /* 8 */ 4 85 "multi_login", /* 9 */ 4 86 "preempting", /* 10 */ 4 87 "", /* 11 */ 4 88 "v_process_overseer", /* 12 */ 4 89 "v_home_dir", /* 13 */ 4 90 "no_start_up", /* 14 */ 4 91 "no_sec", /* 15 */ 4 92 "no_primary", /* 16 */ 4 93 "no_edit_only", /* 17 */ 4 94 "op_login", /* 18 */ 4 95 "", /* 19 */ 4 96 "nowarn", /* 20 */ 4 97 "", "", "", /* 21 - 23 */ 4 98 "save"); /* 24 */ 4 99 4 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 4 101 options(constant) init("000000000010000000010000000000000000"b); 4 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 4 103 4 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 4 105 options(constant) init("000000000010000000010000000000000000"b); 4 106 /* PDT value for (brief, no_warning) is default */ 4 107 4 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 4 109 options(constant) init("000100000110010000010000000000000000"b); 4 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 4 111 5 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 5 2 5 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 4 /* */ 5 5 /* This include file describes the attributes of an absentee job. It is */ 5 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 5 7 /* and PIT.incl.pl1. */ 5 8 /* */ 5 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 5 10 5 11 /****^ HISTORY COMMENTS: 5 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 5 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 5 14* Separated abs_attributes from the request structure 5 15* (abs_message_format.incl.pl1) so that the identical structure could be 5 16* used in the ute structure (user_table_entry.incl.pl1). 5 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 5 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 5 19* Added ABS_ATTRIBUTE_NAMES array. 5 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 5 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 5 22* Added the no_start_up flag. SCP6367 5 23* END HISTORY COMMENTS */ 5 24 5 25 dcl 1 user_abs_attributes aligned based, 5 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 5 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 5 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 5 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 5 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 5 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 5 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 5 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 5 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 5 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 5 36 2 attributes_pad bit (26) unaligned; 5 37 5 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 5 39 "restartable", 5 40 "user_deferred_until_time", 5 41 "proxy", 5 42 "set_bit_cnt", 5 43 "time_in_gmt", 5 44 "user_deferred_indefinitely", 5 45 "secondary_ok", 5 46 "truncate_absout", 5 47 "restarted", 5 48 "no_start_up"); 5 49 5 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 5 51 4 112 4 113 4 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 206 207 /* format: on */ 208 209 end expand_pnt_audit_info_; 210 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0943.2 expand_pnt_audit_info_.pl1 >special_ldd>install>MR12.2-1047>expand_pnt_audit_info_.pl1 203 1 02/12/85 1429.5 access_audit_bin_header.incl.pl1 >ldd>include>access_audit_bin_header.incl.pl1 204 2 02/12/85 1429.5 pnt_audit_record.incl.pl1 >ldd>include>pnt_audit_record.incl.pl1 205 3 03/15/85 0953.1 pnt_entry.incl.pl1 >ldd>include>pnt_entry.incl.pl1 206 4 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 4-112 5 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. PNT_AUDIT_RECORD_VERSION_1 constant fixed bin(9,0) initial dcl 2-31 ref 68 P_code parameter fixed bin(35,0) dcl 19 set ref 8 64* 70* 74* P_expand_mode_ptr parameter pointer dcl 21 ref 8 P_expansion parameter varying char dcl 22 set ref 8 102* 102 P_info_ptr parameter pointer dcl 24 ref 8 60 P_info_size parameter fixed bin(17,0) dcl 25 set ref 8 61 103* 103 P_log_message_format_ptr parameter pointer dcl 27 ref 8 P_password_timelock parameter fixed bin(71,0) dcl 186 set ref 180 192 196* P_pnt_audit_entry_ptr parameter pointer dcl 130 ref 124 140 P_pnt_flags_ptr parameter pointer dcl 164 ref 158 170 170 170 170 170 170 170 170 170 add 1 based bit(1) level 3 packed packed unaligned dcl 2-9 ref 113 addr builtin function dcl 55 ref 79 81 95 95 147 147 alias 1 based char(8) level 2 dcl 2-24 set ref 147* arh_header_ based structure level 1 dcl 1-26 arh_user_info_ based structure level 1 dcl 1-39 audit_flags 12 based bit(36) level 2 dcl 2-24 set ref 142* audit_flags_str 000100 automatic char(256) packed unaligned dcl 131 set ref 142* 144* 147* authorization_range 3 based bit(72) array level 2 dcl 2-24 set ref 147* 147* code 000100 automatic fixed bin(35,0) dcl 32 set ref 142* 144 convert_access_audit_flags_$to_string 000020 constant entry external dcl 136 ref 142 date_str 000100 automatic varying char(250) dcl 187 set ref 196* 199 date_time_$format 000022 constant entry external dcl 188 ref 196 delete 1(01) based bit(1) level 3 packed packed unaligned dcl 2-9 set ref 84* 115 display_access_class_$range 000012 constant entry external dcl 43 ref 147 147 error_table_$bad_arg 000014 external static fixed bin(35,0) dcl 49 ref 64 error_table_$unimplemented_version 000016 external static fixed bin(35,0) dcl 50 ref 70 flags 1 based structure level 2 in structure "pnt_audit_record" packed packed unaligned dcl 2-9 in procedure "expand_pnt_audit_info_" flags based structure level 2 in structure "pnt_audit_entry" dcl 2-24 in procedure "expand_pnt_audit_info_" set ref 147 147 flags 40 based structure level 3 in structure "pnt_entry" dcl 3-22 in procedure "expand_pnt_audit_info_" generate_pw 0(07) based bit(1) level 2 packed packed unaligned dcl 165 ref 170 has_network_password 0(01) based bit(1) level 2 packed packed unaligned dcl 165 ref 170 has_password based bit(1) level 2 packed packed unaligned dcl 165 ref 170 ioa_$rsnnl 000010 constant entry external dcl 33 ref 84 95 147 170 lock 0(03) based bit(1) level 2 packed packed unaligned dcl 165 ref 170 modify 1(02) based bit(1) level 3 packed packed unaligned dcl 2-9 ref 79 95 117 must_change 0(05) based bit(1) level 2 packed packed unaligned dcl 165 ref 170 network_password_changed 1(04) based bit(1) level 3 packed packed unaligned dcl 2-9 set ref 84* new_pnt_info_ptr 000102 automatic pointer dcl 34 set ref 79* 81* 84* nochange 0(04) based bit(1) level 2 packed packed unaligned dcl 165 set ref 170* operator 0(09) based bit(1) level 2 packed packed unaligned dcl 165 ref 170 p 000104 automatic pointer dcl 35 in procedure "expand_pnt_audit_info_" set ref 60* 68 79 79 81 84 84 84 84 95 95 95 113 115 117 p 000200 automatic pointer dcl 133 in procedure "DISPLAY_PNT_AUDIT_ENTRY" set ref 140* 142 147 147 147 147 147 147 147 password_changed 1(03) based bit(1) level 3 packed packed unaligned dcl 2-9 set ref 84* password_timelock 10 based fixed bin(71,0) level 2 dcl 2-24 set ref 147* pnt_audit_entry based structure level 1 dcl 2-24 set ref 61 pnt_audit_record based structure level 1 dcl 2-9 set ref 61 103 pnt_entry based structure level 1 dcl 3-22 pnt_entry_1 12 based structure level 2 dcl 2-9 set ref 81 95 95 pnt_entry_2 26 based structure level 2 dcl 2-9 set ref 79 pnt_flags based structure level 1 packed packed unaligned dcl 165 public 22 based structure level 2 dcl 3-22 pw_time_lock 0(06) based bit(1) level 3 in structure "pnt_audit_entry" packed packed unaligned dcl 2-24 in procedure "expand_pnt_audit_info_" set ref 147* pw_time_lock 0(06) based bit(1) level 2 in structure "pnt_flags" packed packed unaligned dcl 165 in procedure "DISPLAY_PNT_FLAGS" ref 170 size builtin function dcl 56 ref 61 61 103 temp 000100 automatic char(256) packed unaligned dcl 168 in procedure "DISPLAY_PNT_FLAGS" set ref 170* 176 temp 000202 automatic char(512) packed unaligned dcl 134 in procedure "DISPLAY_PNT_AUDIT_ENTRY" set ref 147* 155 temp 000106 automatic varying char(1024) dcl 36 in procedure "expand_pnt_audit_info_" set ref 84* 95* 95* 102 trap 0(02) based bit(1) level 2 packed packed unaligned dcl 165 ref 170 user_id 2 based char(32) level 2 dcl 2-9 set ref 84* version 0(09) based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 2-9 ref 68 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 5-38 ACCESS_AUDIT_HEADER_VERSION_3 internal static fixed bin(9,0) initial unsigned dcl 1-54 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 4-77 ARH_TYPE_NO_PROXY internal static fixed bin(17,0) initial dcl 1-52 ARH_TYPE_PROXY internal static fixed bin(17,0) initial dcl 1-50 PNT_ENTRY_VERSION_2 internal static fixed bin(17,0) initial dcl 3-64 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 4-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 4-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 4-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 4-50 audit_record_header based structure level 1 dcl 1-18 audit_record_header_proxy based structure level 1 dcl 1-22 audit_record_ptr automatic pointer dcl 1-16 display_access_class_ 000000 constant entry external dcl 41 pntep automatic pointer dcl 3-21 user_abs_attributes based structure level 1 dcl 5-25 user_attributes based structure level 1 dcl 4-21 NAMES DECLARED BY EXPLICIT CONTEXT. DISPLAY_OPERATION 000475 constant entry internal dcl 107 ref 84 DISPLAY_PASSWORD_TIMELOCK 001143 constant entry internal dcl 180 ref 147 DISPLAY_PNT_AUDIT_ENTRY 000556 constant entry internal dcl 124 ref 84 95 DISPLAY_PNT_FLAGS 000757 constant entry internal dcl 158 ref 147 expand_pnt_audit_info_ 000216 constant entry external dcl 8 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1412 1436 1226 1422 Length 1746 1226 24 273 163 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME expand_pnt_audit_info_ 422 external procedure is an external procedure. DISPLAY_OPERATION 64 internal procedure uses returns(char(*)) or returns(bit(*)). DISPLAY_PNT_AUDIT_ENTRY 348 internal procedure uses returns(char(*)) or returns(bit(*)), and is called during a stack extension. DISPLAY_PNT_FLAGS 220 internal procedure uses returns(char(*)) or returns(bit(*)). DISPLAY_PASSWORD_TIMELOCK 156 internal procedure uses returns(char(*)) or returns(bit(*)), and is called during a stack extension. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME DISPLAY_PASSWORD_TIMELOCK 000100 date_str DISPLAY_PASSWORD_TIMELOCK DISPLAY_PNT_AUDIT_ENTRY 000100 audit_flags_str DISPLAY_PNT_AUDIT_ENTRY 000200 p DISPLAY_PNT_AUDIT_ENTRY 000202 temp DISPLAY_PNT_AUDIT_ENTRY DISPLAY_PNT_FLAGS 000100 temp DISPLAY_PNT_FLAGS expand_pnt_audit_info_ 000100 code expand_pnt_audit_info_ 000102 new_pnt_info_ptr expand_pnt_audit_info_ 000104 p expand_pnt_audit_info_ 000106 temp expand_pnt_audit_info_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this_desc call_int_other_desc return_mac shorten_stack ext_entry_desc int_entry_desc return_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_access_audit_flags_$to_string date_time_$format display_access_class_$range ioa_$rsnnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 8 000210 60 000231 61 000235 64 000240 65 000242 68 000243 70 000250 71 000252 74 000253 79 000254 81 000262 84 000264 95 000372 102 000454 103 000471 105 000473 107 000474 113 000502 115 000517 117 000532 119 000545 124 000555 140 000563 142 000567 144 000610 147 000616 155 000745 158 000756 170 000764 176 001132 180 001142 192 001150 196 001163 199 001216 ----------------------------------------------------------- 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