COMPILATION LISTING OF SEGMENT expand_as_ia_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.2 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 4* * * 5* *********************************************************** */ 6 /* format: style5 */ 7 8 expand_as_ia_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 procedure expands the extended binary portion of Answering 13* Service Identification and Authentication (I&A) 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 1 abs_info structure aligned based, 33 2 pathname char (168), 34 2 proxy_submitter char (32); 35 dcl attributes_str char (256) varying; 36 /* character string representation of user attributes */ 37 dcl audit_flags_str char (256); /* character string representation of audit flags */ 38 dcl code fixed bin (35); /* status code */ 39 dcl ioa_$rsnnl entry () options (variable); 40 dcl p ptr; /* used to reference binary data */ 41 dcl rest_ptr ptr; /* temporary to extended binary data */ 42 dcl temp char (1024) varying; 43 /* temporary string */ 44 45 /* Entries */ 46 47 dcl convert_access_audit_flags_$to_string 48 entry (bit (36) aligned, char (*), 49 fixed bin (35)); 50 dcl format_attributes_ entry (ptr, char (*) varying); 51 52 /* External */ 53 54 dcl error_table_$bad_arg fixed bin (35) external static; 55 dcl error_table_$unimplemented_version 56 fixed bin (35) external static; 57 58 /* Constants */ 59 60 dcl PROCESS_TYPES (0:4) char (12) internal static 61 options (constant) 62 initial ("dial/slave", "interactive", 63 "absentee", "daemon", "operator"); 64 65 /* Builtin */ 66 67 dcl addr builtin; 68 dcl addwordno builtin; 69 dcl divide builtin; 70 dcl length builtin; 71 dcl size builtin; 72 dcl substr builtin; 73 74 75 /* Program */ 76 p = P_info_ptr; 77 if P_info_size < size (as_ia_audit_record_) then 78 do; 79 P_code = error_table_$bad_arg; 80 return; 81 end; 82 83 if p -> as_ia_audit_record_.version ^= AS_AUDIT_RECORD_IA_VERSION_1 then 84 do; 85 P_code = error_table_$unimplemented_version; 86 return; 87 end; 88 89 P_code = 0; 90 call format_attributes_ (addr (p -> as_ia_audit_record_.attributes), 91 attributes_str); 92 93 /**** format_attributes_ places an ugly semi-colon at the end of the 94* attributes. We'll remove it for better appearance */ 95 96 if substr (attributes_str, length (attributes_str), 1) = ";" then 97 attributes_str = 98 substr (attributes_str, 1, length (attributes_str) - 1); 99 100 call convert_access_audit_flags_$to_string (p 101 -> as_ia_audit_record_.audit_flags, audit_flags_str, code); 102 if code ^= 0 then 103 audit_flags_str = "-invalid-"; 104 105 call ioa_$rsnnl ( 106 "Process type = ^a, Min ring = ^d, Max ring = ^d, Attributes = ""^a"", Audit flags = ""^a"", Channel = ^a, Terminal type = ^a, Answerback = ""^a""^/" 107 , temp, (0), PROCESS_TYPES (p -> as_ia_audit_record_.process_type), 108 p -> as_ia_audit_record_.min_ring, 109 p -> as_ia_audit_record_.max_ring, attributes_str, audit_flags_str, 110 p -> as_ia_audit_record_.channel, 111 p -> as_ia_audit_record_.terminal_type, 112 p -> as_ia_audit_record_.answerback); 113 114 /**** Update our string so far, and the length remaining to be processed */ 115 116 P_expansion = P_expansion || temp; 117 P_info_size = P_info_size - size (as_ia_audit_record_); 118 119 /**** Handle extra information in the abs and abs_proxy records */ 120 121 if p -> as_ia_audit_record_.type ^= AAB_ia_int_dmn then 122 do; 123 rest_ptr = addwordno (p, size (as_ia_audit_record_)); 124 call ioa_$rsnnl ("Absentee input path = ^a^/", temp, (0), 125 rest_ptr -> abs_info.pathname); 126 P_expansion = P_expansion || temp; 127 P_info_size = 128 P_info_size 129 - divide (length (rest_ptr -> abs_info.pathname), 4, 17, 0); 130 131 if p -> as_ia_audit_record_.type = AAB_ia_abs_proxy then 132 do; 133 call ioa_$rsnnl ("Proxy submitter = ^a^/", temp, (0), 134 rest_ptr -> abs_info.proxy_submitter); 135 P_expansion = P_expansion || temp; 136 P_info_size = 137 P_info_size 138 - 139 divide ( 140 length (rest_ptr -> abs_info.proxy_submitter), 4, 141 17, 0); 142 end; 143 end; 144 else 145 ; 146 147 return; 148 149 /* format: off */ 150 /* 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 */ 150 151 /* begin include file - access_audit_binary_def */ 2 2 2 3 /* 1985-02-26 EJ Sharpe: added rcp object definition */ 2 4 /* 1985-01-25 E. Swenson: added pnt definition */ 2 5 /* 1985-01-22 EJ Sharpe: created */ 2 6 2 7 /**** 2 8* Each access audit log message has binary data including 2 9* the audit record header and optionally some extended 2 10* binary information. The first 9 bits (fixed bin (9) uns unal) 2 11* if the extended binary defines the type of the data 2 12* and, thus, what structure may be used to interpret it. 2 13* 2 14* This include file is a registry of the extended binary 2 15* type values. 2 16*****/ 2 17 2 18 dcl ( 2 19 /*type identifier*/ /*type*/ /*include where defined*/ 2 20 2 21 AAB_ss_object init (1), /* access_audit_ssobj_info.incl.pl1 */ 2 22 AAB_ss_link init (2), /* access_audit_ssobj_info.incl.pl1 */ 2 23 AAB_ia_int_dmn init (3), /* as_audit_structures.incl.pl1 */ 2 24 AAB_ia_abs init (4), /* as_audit_structures.incl.pl1 */ 2 25 AAB_ia_abs_proxy init (5), /* as_audit_structures.incl.pl1 */ 2 26 AAB_channel init (6), /* as_audit_structures.incl.pl1 */ 2 27 AAB_dial_service init (7), /* as_audit_structures.incl.pl1 */ 2 28 AAB_pnt_entry init (8), /* access_audit_pnt_info.incl.pl1 */ 2 29 AAB_rcp_object init (9), /* access_audit_rcp_info.incl.pl1 */ 2 30 AAB_mseg_msg init (10) /* access_audit_mseg_info.incl.pl1 */ 2 31 ) fixed bin (9) uns unal static options (constant); 2 32 2 33 /**** 2 34* The following array contains entry name fragments for the 2 35* expander procedure associated with the respective binary 2 36* data type. The actual entry name is generated like: 2 37* 2 38* entryname = "expand_"||audit_binary_expanders(TYPE)||"_audit_info_" 2 39* 2 40* Note that expand_access_audit_msg_.pl1 keeps a cache of 2 41* extended binary expander procedure entries. The cache 2 42* should be enlarged when the following array grows to more 2 43* than 36 entries. 2 44*****/ 2 45 2 46 dcl audit_binary_expanders (10) char (13) varying internal static options (constant) 2 47 init ( "ssobj", /* 1 (first two are internal */ 2 48 "sslnk", /* 2 procedures in expand_access_audit_msg_) */ 2 49 "as_ia", /* 3 (ia_int_dmn) */ 2 50 "as_ia", /* 4 (ia_abs) */ 2 51 "as_ia", /* 5 (ia_abs_proxy) */ 2 52 "channel", /* 6 */ 2 53 "dial_serv", /* 7 */ 2 54 "pnt", /* 8 */ 2 55 "rcp_obj", /* 9 */ 2 56 "mseg_msg" /* 10 */ 2 57 ); 2 58 2 59 /* end include file - access_audit_binary_def.incl.pl1 */ 151 152 /* BEGIN: as_audit_structures.incl.pl1 * * * * * */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(84-01-17,Swenson), approve(), audit(), install(): 3 5* Initial coding. 3 6* 2) change(87-06-08,GDixon), approve(87-07-13,MCR7741), 3 7* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 3 8* A) Add AS_AUDIT_CHANNEL_ACTIONS, AS_AUDIT_CHANNEL_DIRECTION, and 3 9* AS_AUDIT_CHANNEL_SERVICE_INFO arrays. 3 10* B) Add channel audit actions for dialin, dialout and dial system. 3 11* C) Correct declaration of as_channel_audit_record_.pad2. 3 12* D) Revise channel_audit_info. 3 13* 3) change(87-07-15,GDixon), approve(87-07-15,MCR7741), 3 14* audit(87-07-31,Brunelle), install(87-08-04,MR12.1-1056): 3 15* A) Add AS_AUDIT_PROCESS_TERMINATE action code. 3 16* END HISTORY COMMENTS */ 3 17 3 18 /* format: style2 */ 3 19 3 20 /* This include file describes the binary data associated with 3 21* Answering Service audit records. */ 3 22 3 23 /**** This first structure defines the Identification and Authentication 3 24* (I&A) audit records associated with login attempts for interactive 3 25* and daemon logins */ 3 26 3 27 dcl 1 as_ia_audit_record_int_dmn 3 28 structure aligned based, 3 29 2 header like audit_record_header aligned, 3 30 2 record like as_ia_audit_record_; 3 31 3 32 /**** This one is for absentee logins which are not proxy absentees */ 3 33 3 34 dcl 1 as_ia_audit_record_abs 3 35 structure aligned based, 3 36 2 header like audit_record_header aligned, 3 37 2 record like as_ia_audit_record_, 3 38 2 absentee_input_path 3 39 char (168); 3 40 3 41 dcl 1 as_ia_audit_record_abs_proxy 3 42 structure aligned based, 3 43 2 header like audit_record_header aligned, 3 44 2 record like as_ia_audit_record_, 3 45 2 absentee_input_path 3 46 char (168), 3 47 2 proxy_user char (32); 3 48 3 49 /**** The following structure is common to all the I&A records. It 3 50* contains the relevant information about the I&A process. */ 3 51 3 52 dcl 1 as_ia_audit_record_ structure aligned based, 3 53 2 type fixed bin (9) unsigned unaligned, 3 54 2 version fixed bin (9) unsigned unaligned, 3 55 2 process_type fixed bin (3) unsigned unaligned, 3 56 2 min_ring fixed bin (3) unsigned unaligned, 3 57 2 max_ring fixed bin (3) unsigned unaligned, 3 58 2 pad1 bit (9) unaligned, 3 59 2 attributes like user_attributes, 3 60 2 audit_flags bit (36) aligned, 3 61 2 channel char (32) aligned, 3 62 2 terminal_type char (32) aligned, 3 63 2 answerback char (4) aligned; 3 64 3 65 /**** The following structure represents the binary information 3 66* associated with a communications channel access audit message. */ 3 67 3 68 dcl 1 as_channel_audit_record 3 69 structure aligned based, 3 70 2 header like audit_record_header aligned, 3 71 2 record like as_channel_audit_record_; 3 72 3 73 3 74 dcl 1 as_channel_audit_record_ 3 75 structure aligned based, 3 76 2 type fixed bin (9) unsigned unaligned, 3 77 2 version fixed bin (9) unsigned unaligned, 3 78 2 flags unaligned, 3 79 3 channel_info_valid 3 80 bit (1) unaligned, 3 81 3 current_access_class_valid 3 82 bit (1) unaligned, 3 83 3 pad1 bit (16) unaligned, 3 84 2 channel_name char (32), 3 85 2 current_access_class 3 86 (2) bit (72) aligned, 3 87 2 access_class_range (2) bit (72) aligned, 3 88 2 current_service_type 3 89 fixed bin (17) unaligned, 3 90 2 service_type fixed bin (17) unaligned, 3 91 2 terminal_type char (32), 3 92 2 authenticated_user aligned, 3 93 3 personid char (22) unaligned, 3 94 3 projectid char (9) unaligned, 3 95 3 pad2 bit (9) unaligned; 3 96 3 97 /**** The following structure represents the binary information 3 98* associated with a dial service audit record */ 3 99 3 100 dcl 1 as_dial_service_audit_record 3 101 structure aligned based, 3 102 2 header like audit_record_header aligned, 3 103 2 record like as_dial_service_audit_record_; 3 104 3 105 dcl 1 as_dial_service_audit_record_ 3 106 structure aligned based, 3 107 2 type fixed bin (9) unsigned unaligned, 3 108 2 version fixed bin (9) unsigned unaligned, 3 109 2 dial_server_ring fixed bin (3) unsigned unaligned, 3 110 2 flags unaligned, 3 111 3 registered_server 3 112 bit (1) unaligned, 3 113 3 privileged_server 3 114 bit (1) unaligned, 3 115 3 pad1 bit (13) unaligned, 3 116 2 dial_qualifier char (32); 3 117 3 118 /**** The following structure is used by dial_ctl_ to pass the required 3 119* information to as_access_audit_. This structure is necessary since 3 120* the data is not available in the user_table_entry or cdte. */ 3 121 3 122 dcl dial_server_info_ptr ptr; /* pointer to following structure */ 3 123 3 124 dcl 1 dial_server_info structure aligned based (dial_server_info_ptr), 3 125 2 server_ring fixed bin (3) unaligned, 3 126 2 flags unaligned, 3 127 3 registered bit (1) unaligned, 3 128 3 privileged bit (1) unaligned, 3 129 3 pad1 bit (31) unaligned, 3 130 2 dial_qualifier char (32); 3 131 3 132 /**** The following structure is used by dial_ctl_ to pass relevant information 3 133* to as_access_audit_. The channel name is passed here when we do not 3 134* have a cdtep, for instance. */ 3 135 3 136 dcl channel_audit_info_ptr ptr; 3 137 3 138 dcl 1 channel_audit_info aligned based (channel_audit_info_ptr), 3 139 2 channel_name char (32), 3 140 2 valid, 3 141 (3 service_info, 3 142 3 access_class, 3 143 3 access_class_range, 3 144 3 user_validation_level) 3 145 bit(1) unal, 3 146 3 mbz bit(32) unal, 3 147 2 service_info char (32), 3 148 2 access_class bit(72) aligned, 3 149 2 access_class_range (2) bit(72) aligned, 3 150 2 user_validation_level 3 151 fixed bin (3); 3 152 3 153 dcl AS_AUDIT_RECORD_IA_VERSION_1 3 154 fixed bin (9) initial (1) internal static options (constant); 3 155 3 156 dcl AS_AUDIT_RECORD_CHN_VERSION_1 3 157 fixed bin (9) initial (1) internal static options (constant); 3 158 3 159 dcl AS_AUDIT_RECORD_DIALID_VERSION_1 3 160 fixed bin (9) initial (1) internal static options (constant); 3 161 3 162 dcl ( 3 163 AS_AUDIT_PROCESS_CREATE 3 164 initial (1), 3 165 AS_AUDIT_PROCESS_DESTROY 3 166 initial (2), 3 167 AS_AUDIT_PROCESS_CONNECT 3 168 initial (3), 3 169 AS_AUDIT_PROCESS_DISCONNECT 3 170 initial (4), 3 171 AS_AUDIT_PROCESS_TERMINATE 3 172 initial (5) 3 173 ) fixed bin (17) internal static options (constant); 3 174 3 175 dcl ( 3 176 AS_AUDIT_CHANNEL_ATTACH 3 177 initial (1), 3 178 AS_AUDIT_CHANNEL_DETACH 3 179 initial (2), 3 180 AS_AUDIT_CHANNEL_DIALIN 3 181 initial (3), 3 182 AS_AUDIT_CHANNEL_DIALOUT 3 183 initial (4), 3 184 AS_AUDIT_CHANNEL_DIAL_SYSTEM 3 185 initial (5) 3 186 ) fixed bin (17) internal static options (constant); 3 187 3 188 dcl ( 3 189 AS_AUDIT_DIALID_START initial (1), 3 190 AS_AUDIT_DIALID_STOP initial (2) 3 191 ) fixed bin (17) internal static options (constant); 3 192 3 193 dcl AS_AUDIT_CHANNEL_ACTIONS 3 194 (5) char (12) internal static options (constant) 3 195 initial ("ATTACH", "DETACH", "DIALIN", "DIALOUT", "DIAL SYSTEM"); 3 196 dcl AS_AUDIT_CHANNEL_DIRECTION 3 197 (5) char (4) internal static options (constant) 3 198 initial ("to", "from", "to", "from", "to"); 3 199 dcl AS_AUDIT_CHANNEL_SERVICE_INFO 3 200 (5) char (12) internal static options (constant) 3 201 initial ("Service", "Service", "Dial ID", "Destination", "VChannel"); 3 202 dcl AS_AUDIT_PROCESS_ACTIONS 3 203 (5) char (10) internal static options (constant) 3 204 initial ("CREATE", "DESTROY", "CONNECT", "DISCONNECT", "TERMINATE"); 3 205 3 206 /* END OF: as_audit_structures.incl.pl1 * * * * * */ 152 153 /* 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 */ 153 154 /* format: on */ 155 156 end expand_as_ia_audit_info_; 157 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0943.2 expand_as_ia_audit_info_.pl1 >special_ldd>install>MR12.2-1047>expand_as_ia_audit_info_.pl1 150 1 02/12/85 1429.5 access_audit_bin_header.incl.pl1 >ldd>include>access_audit_bin_header.incl.pl1 151 2 05/17/85 0615.5 access_audit_binary_def.incl.pl1 >ldd>include>access_audit_binary_def.incl.pl1 152 3 08/06/87 0913.4 as_audit_structures.incl.pl1 >ldd>include>as_audit_structures.incl.pl1 153 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. AAB_ia_abs_proxy constant fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 ref 131 AAB_ia_int_dmn constant fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 ref 121 AS_AUDIT_RECORD_IA_VERSION_1 constant fixed bin(9,0) initial dcl 3-153 ref 83 PROCESS_TYPES 000000 constant char(12) initial array packed unaligned dcl 60 set ref 105* P_code parameter fixed bin(35,0) dcl 19 set ref 8 79* 85* 89* P_expand_mode_ptr parameter pointer dcl 21 ref 8 P_expansion parameter varying char dcl 22 set ref 8 116* 116 126* 126 135* 135 P_info_ptr parameter pointer dcl 24 ref 8 76 P_info_size parameter fixed bin(17,0) dcl 25 set ref 8 77 117* 117 127* 127 136* 136 P_log_message_format_ptr parameter pointer dcl 27 ref 8 abs_info based structure level 1 dcl 32 addr builtin function dcl 67 ref 90 90 addwordno builtin function dcl 68 ref 123 answerback 23 based char(4) level 2 dcl 3-52 set ref 105* 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 3-74 as_dial_service_audit_record_ based structure level 1 dcl 3-105 as_ia_audit_record_ based structure level 1 dcl 3-52 set ref 77 117 123 attributes 1 based structure level 2 dcl 3-52 set ref 90 90 attributes_str 000100 automatic varying char(256) dcl 35 set ref 90* 96 96 96* 96 96 105* audit_flags 2 based bit(36) level 2 dcl 3-52 set ref 100* audit_flags_str 000201 automatic char(256) packed unaligned dcl 37 set ref 100* 102* 105* audit_record_header based structure level 1 dcl 1-18 channel 3 based char(32) level 2 dcl 3-52 set ref 105* code 000301 automatic fixed bin(35,0) dcl 38 set ref 100* 102 convert_access_audit_flags_$to_string 000012 constant entry external dcl 47 ref 100 divide builtin function dcl 69 ref 127 136 error_table_$bad_arg 000016 external static fixed bin(35,0) dcl 54 ref 79 error_table_$unimplemented_version 000020 external static fixed bin(35,0) dcl 55 ref 85 format_attributes_ 000014 constant entry external dcl 50 ref 90 ioa_$rsnnl 000010 constant entry external dcl 39 ref 105 124 133 length builtin function dcl 70 ref 96 96 127 136 max_ring 0(24) based fixed bin(3,0) level 2 packed packed unsigned unaligned dcl 3-52 set ref 105* min_ring 0(21) based fixed bin(3,0) level 2 packed packed unsigned unaligned dcl 3-52 set ref 105* p 000302 automatic pointer dcl 40 set ref 76* 83 90 90 100 105 105 105 105 105 105 121 123 131 pathname based char(168) level 2 dcl 32 set ref 124* 127 process_type 0(18) based fixed bin(3,0) level 2 packed packed unsigned unaligned dcl 3-52 ref 105 proxy_submitter 52 based char(32) level 2 dcl 32 set ref 133* 136 rest_ptr 000304 automatic pointer dcl 41 set ref 123* 124 127 133 136 size builtin function dcl 71 ref 77 117 123 substr builtin function dcl 72 ref 96 96 temp 000306 automatic varying char(1024) dcl 42 set ref 105* 116 124* 126 133* 135 terminal_type 13 based char(32) level 2 dcl 3-52 set ref 105* type based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 3-52 ref 121 131 user_attributes based structure level 1 dcl 4-21 version 0(09) based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 3-52 ref 83 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. AAB_channel internal static fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 AAB_dial_service internal static fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 AAB_ia_abs internal static fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 AAB_mseg_msg internal static fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 AAB_pnt_entry internal static fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 AAB_rcp_object internal static fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 AAB_ss_link internal static fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 AAB_ss_object internal static fixed bin(9,0) initial packed unsigned unaligned dcl 2-18 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 AS_AUDIT_CHANNEL_ACTIONS internal static char(12) initial array packed unaligned dcl 3-193 AS_AUDIT_CHANNEL_ATTACH internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DETACH internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DIALIN internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DIALOUT internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DIAL_SYSTEM internal static fixed bin(17,0) initial dcl 3-175 AS_AUDIT_CHANNEL_DIRECTION internal static char(4) initial array packed unaligned dcl 3-196 AS_AUDIT_CHANNEL_SERVICE_INFO internal static char(12) initial array packed unaligned dcl 3-199 AS_AUDIT_DIALID_START internal static fixed bin(17,0) initial dcl 3-188 AS_AUDIT_DIALID_STOP internal static fixed bin(17,0) initial dcl 3-188 AS_AUDIT_PROCESS_ACTIONS internal static char(10) initial array packed unaligned dcl 3-202 AS_AUDIT_PROCESS_CONNECT internal static fixed bin(17,0) initial dcl 3-162 AS_AUDIT_PROCESS_CREATE internal static fixed bin(17,0) initial dcl 3-162 AS_AUDIT_PROCESS_DESTROY internal static fixed bin(17,0) initial dcl 3-162 AS_AUDIT_PROCESS_DISCONNECT internal static fixed bin(17,0) initial dcl 3-162 AS_AUDIT_PROCESS_TERMINATE internal static fixed bin(17,0) initial dcl 3-162 AS_AUDIT_RECORD_CHN_VERSION_1 internal static fixed bin(9,0) initial dcl 3-156 AS_AUDIT_RECORD_DIALID_VERSION_1 internal static fixed bin(9,0) initial dcl 3-159 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 as_channel_audit_record based structure level 1 dcl 3-68 as_dial_service_audit_record based structure level 1 dcl 3-100 as_ia_audit_record_abs based structure level 1 dcl 3-34 as_ia_audit_record_abs_proxy based structure level 1 dcl 3-41 as_ia_audit_record_int_dmn based structure level 1 dcl 3-27 audit_binary_expanders internal static varying char(13) initial array dcl 2-46 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 3-138 channel_audit_info_ptr automatic pointer dcl 3-136 dial_server_info based structure level 1 dcl 3-124 dial_server_info_ptr automatic pointer dcl 3-122 user_abs_attributes based structure level 1 dcl 5-25 NAME DECLARED BY EXPLICIT CONTEXT. expand_as_ia_audit_info_ 000132 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 640 662 532 650 Length 1170 532 22 271 106 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME expand_as_ia_audit_info_ 566 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME expand_as_ia_audit_info_ 000100 attributes_str expand_as_ia_audit_info_ 000201 audit_flags_str expand_as_ia_audit_info_ 000301 code expand_as_ia_audit_info_ 000302 p expand_as_ia_audit_info_ 000304 rest_ptr expand_as_ia_audit_info_ 000306 temp expand_as_ia_audit_info_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return_mac ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_access_audit_flags_$to_string format_attributes_ 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 000124 76 000145 77 000151 79 000154 80 000156 83 000157 85 000164 86 000166 89 000167 90 000170 96 000206 100 000221 102 000243 105 000250 116 000344 117 000360 121 000362 123 000371 124 000374 126 000425 127 000441 131 000446 133 000455 135 000507 136 000523 147 000530 ----------------------------------------------------------- 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