COMPILATION LISTING OF SEGMENT expand_channel_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 1006.0 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 4* * * 5* *********************************************************** */ 6 /* format: style5 */ 7 8 expand_channel_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 channel information stored in the binary 13* data associated with Answering Service 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 p ptr; /* used to reference binary data */ 35 dcl temp char (1024) varying; 36 /* temporary string */ 37 38 /* Entries */ 39 40 dcl display_access_class_ entry (bit (72) aligned) 41 returns (char (32) aligned); 42 dcl display_access_class_$range 43 entry ((2) bit (72) aligned) 44 returns (char (32) aligned); 45 46 /* External */ 47 48 dcl error_table_$bad_arg fixed bin (35) external static; 49 dcl error_table_$unimplemented_version 50 fixed bin (35) external static; 51 52 /* Builtin */ 53 54 dcl lbound builtin; 55 dcl hbound builtin; 56 dcl size builtin; 57 58 59 /* Program */ 60 p = P_info_ptr; 61 if P_info_size < size (as_channel_audit_record_) then 62 do; 63 P_code = error_table_$bad_arg; 64 return; 65 end; 66 67 if p -> as_channel_audit_record_.version 68 ^= AS_AUDIT_RECORD_CHN_VERSION_1 then 69 do; 70 P_code = error_table_$unimplemented_version; 71 return; 72 end; 73 74 P_code = 0; 75 76 /**** If a CDT entry pointer is not available at the time of the audit 77* message, the channel_info_valid flag is turned on in the audit 78* record. This indicates that the only valid information is the 79* channel name. */ 80 81 if p -> as_channel_audit_record_.flags.channel_info_valid then 82 do; 83 call ioa_$rsnnl ( 84 "Channel name = ^a, ^[Current access class = ^a, ^;^s^]Access Class Range = ^a, ^[Current Service type = ^a, ^;^s^]Service type = ^a, Terminal type = ""^a""^[, Userid = ^a.^a^;^s^s^]^/" 85 , temp, (0), p -> as_channel_audit_record_.channel_name, 86 p 87 -> as_channel_audit_record_.flags 88 .current_access_class_valid, 89 display_access_class_ (p 90 -> as_channel_audit_record_.current_access_class (1)), 91 display_access_class_$range (p 92 -> as_channel_audit_record_.access_class_range), 93 (p -> as_channel_audit_record_.current_service_type 94 ^= p -> as_channel_audit_record_.service_type), 95 DISPLAY_SERVICE_TYPE (p 96 -> as_channel_audit_record_.current_service_type), 97 DISPLAY_SERVICE_TYPE (p 98 -> as_channel_audit_record_.service_type), 99 p -> as_channel_audit_record_.terminal_type, 100 p -> as_channel_audit_record_.authenticated_user.personid, 101 p -> as_channel_audit_record_.authenticated_user.projectid); 102 end; 103 else 104 call ioa_$rsnnl ("Channel name = ^a", temp, (0), 105 p -> as_channel_audit_record_.channel_name); 106 107 /**** Update the relevant information for our caller. */ 108 109 P_expansion = P_expansion || temp; 110 P_info_size = P_info_size - size (as_channel_audit_record_); 111 112 return; 113 114 DISPLAY_SERVICE_TYPE: 115 procedure (P_service_type) returns (char (*)); 116 117 /**** This procedure returns a displayable representation of the 118* service type of a channel. */ 119 120 dcl P_service_type fixed bin (17) unaligned parameter; 121 122 dcl SERVICE_TYPES (9) character (10) internal 123 static options (constant) 124 initial ("login", "ftp", "mc", "slave", 125 "dial", "dialout", "inactive", "mpx", 126 "t&d"); 127 if P_service_type < lbound (SERVICE_TYPES, 1) 128 | P_service_type > hbound (SERVICE_TYPES, 1) then 129 return ("unknown"); 130 else 131 return (SERVICE_TYPES (P_service_type)); 132 133 end DISPLAY_SERVICE_TYPE; 134 135 /* format: off */ 136 /* 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 */ 136 137 /* BEGIN: as_audit_structures.incl.pl1 * * * * * */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(84-01-17,Swenson), approve(), audit(), install(): 2 5* Initial coding. 2 6* 2) change(87-06-08,GDixon), approve(87-07-13,MCR7741), 2 7* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 2 8* A) Add AS_AUDIT_CHANNEL_ACTIONS, AS_AUDIT_CHANNEL_DIRECTION, and 2 9* AS_AUDIT_CHANNEL_SERVICE_INFO arrays. 2 10* B) Add channel audit actions for dialin, dialout and dial system. 2 11* C) Correct declaration of as_channel_audit_record_.pad2. 2 12* D) Revise channel_audit_info. 2 13* 3) change(87-07-15,GDixon), approve(87-07-15,MCR7741), 2 14* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 2 15* A) Add AS_AUDIT_PROCESS_TERMINATE action code. 2 16* END HISTORY COMMENTS */ 2 17 2 18 /* format: style2 */ 2 19 2 20 /* This include file describes the binary data associated with 2 21* Answering Service audit records. */ 2 22 2 23 /**** This first structure defines the Identification and Authentication 2 24* (I&A) audit records associated with login attempts for interactive 2 25* and daemon logins */ 2 26 2 27 dcl 1 as_ia_audit_record_int_dmn 2 28 structure aligned based, 2 29 2 header like audit_record_header aligned, 2 30 2 record like as_ia_audit_record_; 2 31 2 32 /**** This one is for absentee logins which are not proxy absentees */ 2 33 2 34 dcl 1 as_ia_audit_record_abs 2 35 structure aligned based, 2 36 2 header like audit_record_header aligned, 2 37 2 record like as_ia_audit_record_, 2 38 2 absentee_input_path 2 39 char (168); 2 40 2 41 dcl 1 as_ia_audit_record_abs_proxy 2 42 structure aligned based, 2 43 2 header like audit_record_header aligned, 2 44 2 record like as_ia_audit_record_, 2 45 2 absentee_input_path 2 46 char (168), 2 47 2 proxy_user char (32); 2 48 2 49 /**** The following structure is common to all the I&A records. It 2 50* contains the relevant information about the I&A process. */ 2 51 2 52 dcl 1 as_ia_audit_record_ structure aligned based, 2 53 2 type fixed bin (9) unsigned unaligned, 2 54 2 version fixed bin (9) unsigned unaligned, 2 55 2 process_type fixed bin (3) unsigned unaligned, 2 56 2 min_ring fixed bin (3) unsigned unaligned, 2 57 2 max_ring fixed bin (3) unsigned unaligned, 2 58 2 pad1 bit (9) unaligned, 2 59 2 attributes like user_attributes, 2 60 2 audit_flags bit (36) aligned, 2 61 2 channel char (32) aligned, 2 62 2 terminal_type char (32) aligned, 2 63 2 answerback char (4) aligned; 2 64 2 65 /**** The following structure represents the binary information 2 66* associated with a communications channel access audit message. */ 2 67 2 68 dcl 1 as_channel_audit_record 2 69 structure aligned based, 2 70 2 header like audit_record_header aligned, 2 71 2 record like as_channel_audit_record_; 2 72 2 73 2 74 dcl 1 as_channel_audit_record_ 2 75 structure aligned based, 2 76 2 type fixed bin (9) unsigned unaligned, 2 77 2 version fixed bin (9) unsigned unaligned, 2 78 2 flags unaligned, 2 79 3 channel_info_valid 2 80 bit (1) unaligned, 2 81 3 current_access_class_valid 2 82 bit (1) unaligned, 2 83 3 pad1 bit (16) unaligned, 2 84 2 channel_name char (32), 2 85 2 current_access_class 2 86 (2) bit (72) aligned, 2 87 2 access_class_range (2) bit (72) aligned, 2 88 2 current_service_type 2 89 fixed bin (17) unaligned, 2 90 2 service_type fixed bin (17) unaligned, 2 91 2 terminal_type char (32), 2 92 2 authenticated_user aligned, 2 93 3 personid char (22) unaligned, 2 94 3 projectid char (9) unaligned, 2 95 3 pad2 bit (9) unaligned; 2 96 2 97 /**** The following structure represents the binary information 2 98* associated with a dial service audit record */ 2 99 2 100 dcl 1 as_dial_service_audit_record 2 101 structure aligned based, 2 102 2 header like audit_record_header aligned, 2 103 2 record like as_dial_service_audit_record_; 2 104 2 105 dcl 1 as_dial_service_audit_record_ 2 106 structure aligned based, 2 107 2 type fixed bin (9) unsigned unaligned, 2 108 2 version fixed bin (9) unsigned unaligned, 2 109 2 dial_server_ring fixed bin (3) unsigned unaligned, 2 110 2 flags unaligned, 2 111 3 registered_server 2 112 bit (1) unaligned, 2 113 3 privileged_server 2 114 bit (1) unaligned, 2 115 3 pad1 bit (13) unaligned, 2 116 2 dial_qualifier char (32); 2 117 2 118 /**** The following structure is used by dial_ctl_ to pass the required 2 119* information to as_access_audit_. This structure is necessary since 2 120* the data is not available in the user_table_entry or cdte. */ 2 121 2 122 dcl dial_server_info_ptr ptr; /* pointer to following structure */ 2 123 2 124 dcl 1 dial_server_info structure aligned based (dial_server_info_ptr), 2 125 2 server_ring fixed bin (3) unaligned, 2 126 2 flags unaligned, 2 127 3 registered bit (1) unaligned, 2 128 3 privileged bit (1) unaligned, 2 129 3 pad1 bit (31) unaligned, 2 130 2 dial_qualifier char (32); 2 131 2 132 /**** The following structure is used by dial_ctl_ to pass relevant information 2 133* to as_access_audit_. The channel name is passed here when we do not 2 134* have a cdtep, for instance. */ 2 135 2 136 dcl channel_audit_info_ptr ptr; 2 137 2 138 dcl 1 channel_audit_info aligned based (channel_audit_info_ptr), 2 139 2 channel_name char (32), 2 140 2 valid, 2 141 (3 service_info, 2 142 3 access_class, 2 143 3 access_class_range, 2 144 3 user_validation_level) 2 145 bit(1) unal, 2 146 3 mbz bit(32) unal, 2 147 2 service_info char (32), 2 148 2 access_class bit(72) aligned, 2 149 2 access_class_range (2) bit(72) aligned, 2 150 2 user_validation_level 2 151 fixed bin (3); 2 152 2 153 dcl AS_AUDIT_RECORD_IA_VERSION_1 2 154 fixed bin (9) initial (1) internal static options (constant); 2 155 2 156 dcl AS_AUDIT_RECORD_CHN_VERSION_1 2 157 fixed bin (9) initial (1) internal static options (constant); 2 158 2 159 dcl AS_AUDIT_RECORD_DIALID_VERSION_1 2 160 fixed bin (9) initial (1) internal static options (constant); 2 161 2 162 dcl ( 2 163 AS_AUDIT_PROCESS_CREATE 2 164 initial (1), 2 165 AS_AUDIT_PROCESS_DESTROY 2 166 initial (2), 2 167 AS_AUDIT_PROCESS_CONNECT 2 168 initial (3), 2 169 AS_AUDIT_PROCESS_DISCONNECT 2 170 initial (4), 2 171 AS_AUDIT_PROCESS_TERMINATE 2 172 initial (5) 2 173 ) fixed bin (17) internal static options (constant); 2 174 2 175 dcl ( 2 176 AS_AUDIT_CHANNEL_ATTACH 2 177 initial (1), 2 178 AS_AUDIT_CHANNEL_DETACH 2 179 initial (2), 2 180 AS_AUDIT_CHANNEL_DIALIN 2 181 initial (3), 2 182 AS_AUDIT_CHANNEL_DIALOUT 2 183 initial (4), 2 184 AS_AUDIT_CHANNEL_DIAL_SYSTEM 2 185 initial (5) 2 186 ) fixed bin (17) internal static options (constant); 2 187 2 188 dcl ( 2 189 AS_AUDIT_DIALID_START initial (1), 2 190 AS_AUDIT_DIALID_STOP initial (2) 2 191 ) fixed bin (17) internal static options (constant); 2 192 2 193 dcl AS_AUDIT_CHANNEL_ACTIONS 2 194 (5) char (12) internal static options (constant) 2 195 initial ("ATTACH", "DETACH", "DIALIN", "DIALOUT", "DIAL SYSTEM"); 2 196 dcl AS_AUDIT_CHANNEL_DIRECTION 2 197 (5) char (4) internal static options (constant) 2 198 initial ("to", "from", "to", "from", "to"); 2 199 dcl AS_AUDIT_CHANNEL_SERVICE_INFO 2 200 (5) char (12) internal static options (constant) 2 201 initial ("Service", "Service", "Dial ID", "Destination", "VChannel"); 2 202 dcl AS_AUDIT_PROCESS_ACTIONS 2 203 (5) char (10) internal static options (constant) 2 204 initial ("CREATE", "DESTROY", "CONNECT", "DISCONNECT", "TERMINATE"); 2 205 2 206 /* END OF: as_audit_structures.incl.pl1 * * * * * */ 137 138 /* 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 */ 138 139 /* format: on */ 140 141 end expand_channel_audit_info_; 142 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0943.2 expand_channel_audit_info_.pl1 >special_ldd>install>MR12.2-1047>expand_channel_audit_info_.pl1 136 1 02/12/85 1429.5 access_audit_bin_header.incl.pl1 >ldd>include>access_audit_bin_header.incl.pl1 137 2 08/06/87 0913.4 as_audit_structures.incl.pl1 >ldd>include>as_audit_structures.incl.pl1 138 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. AS_AUDIT_RECORD_CHN_VERSION_1 constant fixed bin(9,0) initial dcl 2-156 ref 67 P_code parameter fixed bin(35,0) dcl 19 set ref 8 63* 70* 74* P_expand_mode_ptr parameter pointer dcl 21 ref 8 P_expansion parameter varying char dcl 22 set ref 8 109* 109 P_info_ptr parameter pointer dcl 24 ref 8 60 P_info_size parameter fixed bin(17,0) dcl 25 set ref 8 61 110* 110 P_log_message_format_ptr parameter pointer dcl 27 ref 8 P_service_type parameter fixed bin(17,0) packed unaligned dcl 120 ref 114 127 127 130 SERVICE_TYPES 000000 constant char(10) initial array packed unaligned dcl 122 ref 127 127 130 access_class_range 15 based bit(72) array level 2 dcl 2-74 set ref 83* 83* arh_header_ based structure level 1 dcl 1-26 arh_user_info_ based structure level 1 dcl 1-39 as_channel_audit_record_ based structure level 1 dcl 2-74 set ref 61 110 as_dial_service_audit_record_ based structure level 1 dcl 2-105 as_ia_audit_record_ based structure level 1 dcl 2-52 audit_record_header based structure level 1 dcl 1-18 authenticated_user 32 based structure level 2 dcl 2-74 channel_info_valid 0(18) based bit(1) level 3 packed packed unaligned dcl 2-74 ref 81 channel_name 1 based char(32) level 2 dcl 2-74 set ref 83* 103* current_access_class 11 based bit(72) array level 2 dcl 2-74 set ref 83* 83* current_access_class_valid 0(19) based bit(1) level 3 packed packed unaligned dcl 2-74 set ref 83* current_service_type 21 based fixed bin(17,0) level 2 packed packed unaligned dcl 2-74 set ref 83 83* display_access_class_ 000012 constant entry external dcl 40 ref 83 83 display_access_class_$range 000014 constant entry external dcl 42 ref 83 83 error_table_$bad_arg 000016 external static fixed bin(35,0) dcl 48 ref 63 error_table_$unimplemented_version 000020 external static fixed bin(35,0) dcl 49 ref 70 flags 0(18) based structure level 2 packed packed unaligned dcl 2-74 hbound builtin function dcl 55 ref 127 ioa_$rsnnl 000010 constant entry external dcl 33 ref 83 103 lbound builtin function dcl 54 ref 127 p 000100 automatic pointer dcl 34 set ref 60* 67 81 83 83 83 83 83 83 83 83 83 83 83 83 83 103 personid 32 based char(22) level 3 packed packed unaligned dcl 2-74 set ref 83* projectid 37(18) based char(9) level 3 packed packed unaligned dcl 2-74 set ref 83* service_type 21(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 2-74 set ref 83 83* size builtin function dcl 56 ref 61 110 temp 000102 automatic varying char(1024) dcl 35 set ref 83* 103* 109 terminal_type 22 based char(32) level 2 dcl 2-74 set ref 83* user_attributes based structure level 1 dcl 3-21 version 0(09) based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 2-74 ref 67 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 4-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 3-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 AS_AUDIT_CHANNEL_ACTIONS internal static char(12) initial array packed unaligned dcl 2-193 AS_AUDIT_CHANNEL_ATTACH internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DETACH internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DIALIN internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DIALOUT internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DIAL_SYSTEM internal static fixed bin(17,0) initial dcl 2-175 AS_AUDIT_CHANNEL_DIRECTION internal static char(4) initial array packed unaligned dcl 2-196 AS_AUDIT_CHANNEL_SERVICE_INFO internal static char(12) initial array packed unaligned dcl 2-199 AS_AUDIT_DIALID_START internal static fixed bin(17,0) initial dcl 2-188 AS_AUDIT_DIALID_STOP internal static fixed bin(17,0) initial dcl 2-188 AS_AUDIT_PROCESS_ACTIONS internal static char(10) initial array packed unaligned dcl 2-202 AS_AUDIT_PROCESS_CONNECT internal static fixed bin(17,0) initial dcl 2-162 AS_AUDIT_PROCESS_CREATE internal static fixed bin(17,0) initial dcl 2-162 AS_AUDIT_PROCESS_DESTROY internal static fixed bin(17,0) initial dcl 2-162 AS_AUDIT_PROCESS_DISCONNECT internal static fixed bin(17,0) initial dcl 2-162 AS_AUDIT_PROCESS_TERMINATE internal static fixed bin(17,0) initial dcl 2-162 AS_AUDIT_RECORD_DIALID_VERSION_1 internal static fixed bin(9,0) initial dcl 2-159 AS_AUDIT_RECORD_IA_VERSION_1 internal static fixed bin(9,0) initial dcl 2-153 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 as_channel_audit_record based structure level 1 dcl 2-68 as_dial_service_audit_record based structure level 1 dcl 2-100 as_ia_audit_record_abs based structure level 1 dcl 2-34 as_ia_audit_record_abs_proxy based structure level 1 dcl 2-41 as_ia_audit_record_int_dmn based structure level 1 dcl 2-27 audit_record_header_proxy based structure level 1 dcl 1-22 audit_record_ptr automatic pointer dcl 1-16 channel_audit_info based structure level 1 dcl 2-138 channel_audit_info_ptr automatic pointer dcl 2-136 code automatic fixed bin(35,0) dcl 32 dial_server_info based structure level 1 dcl 2-124 dial_server_info_ptr automatic pointer dcl 2-122 user_abs_attributes based structure level 1 dcl 4-25 NAMES DECLARED BY EXPLICIT CONTEXT. DISPLAY_SERVICE_TYPE 000450 constant entry internal dcl 114 ref 83 83 expand_channel_audit_info_ 000143 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 630 652 517 640 Length 1142 517 22 253 110 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME expand_channel_audit_info_ 458 external procedure is an external procedure. DISPLAY_SERVICE_TYPE 65 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 expand_channel_audit_info_ 000100 p expand_channel_audit_info_ 000102 temp expand_channel_audit_info_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out call_int_this_desc return_mac shorten_stack ext_entry_desc int_entry_desc return_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. display_access_class_ 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 000135 60 000156 61 000162 63 000165 64 000167 67 000170 70 000175 71 000177 74 000200 81 000201 83 000204 102 000373 103 000375 109 000430 110 000444 112 000446 114 000447 127 000455 130 000501 ----------------------------------------------------------- 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