COMPILATION LISTING OF SEGMENT expand_rcp_obj_audit_info_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-17_1927.44_Mon_mdt Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 4* * * 5* *********************************************************** */ 6 7 /* format: style1,insnl,linecom,indcomtxt,^indnoniterdo,^inddcls */ 8 9 expand_rcp_obj_audit_info_: 10 procedure (P_log_message_format_ptr, P_expand_mode_ptr, P_info_ptr, 11 P_info_size, P_expansion, P_code); 12 13 /**** 14* EXPAND_RCP_OBJ_AUDIT_INFO_ 15* 16* This is a secondary binary expander for log messages of the 17* "access_audit" data class. It is called by expand_access_audit_msg_ 18* when the extended binary data is of the proper type. 19* 20* History: 21* 1985-02-26, EJ Sharpe: initial coding 22* 1985-03-19, E. Swenson to display raw mode and ring brackets 23*****/ 24 25 /* Parameters */ 26 27 dcl P_code fixed bin (35) parameter; /* status code */ 28 dcl P_expand_mode_ptr ptr parameter; 29 dcl P_expansion char (*) varying parameter; /* character string to output */ 30 dcl P_info_ptr ptr parameter; /* pointer to binary info */ 31 dcl P_info_size fixed bin (17) parameter; /* size of binary info */ 32 dcl P_log_message_format_ptr 33 ptr parameter; 34 35 /* Automatic */ 36 37 dcl auto_attributes (2) bit (72); /* local copy of attributes */ 38 dcl code fixed bin (35); /* status code */ 39 dcl temp char (1024) varying; /* temporary string */ 40 dcl attr_str char (256) varying; /* text rep of attributes */ 41 42 /* Based */ 43 44 dcl based_dblwd (2) bit (36) based; /* to convince ioa_ to display bit(72) values */ 45 46 47 /* Entries */ 48 49 dcl cv_rcp_attributes_$to_string 50 entry (char (*), (2) bit (72), char (*) var, fixed bin (35)); 51 dcl display_access_class_$range 52 entry ((2) bit (72) aligned) returns (char (32) aligned); 53 dcl ioa_$rsnnl entry () options (variable); 54 55 56 /* External */ 57 58 dcl error_table_$bad_arg fixed bin (35) external static; 59 dcl error_table_$unimplemented_version 60 fixed bin (35) external static; 61 62 /* Builtin */ 63 64 dcl addr builtin; 65 dcl size builtin; 66 67 /* Program */ 68 69 audit_rcp_obj_ptr = P_info_ptr; 70 71 72 if P_info_size < size (rcp_obj_info) 73 then do; 74 P_code = error_table_$bad_arg; 75 return; 76 end; 77 78 if rcp_obj_info.version ^= AUDIT_RCP_OBJ_INFO_VERSION_1 79 then do; 80 P_code = error_table_$unimplemented_version; 81 return; 82 end; 83 84 P_code = 0; 85 86 call ioa_$rsnnl ( 87 "Type: ^a^[ registry^2s^;, Name: ^a, Owner: ^a^], Access class: ^a, Raw mode = ^a^[, Ring brackets = ^d,^d^;^2s^].^/", 88 temp, (0), 89 rcp_obj_info.resource_type, rcp_obj_info.registry, rcp_obj_info.resource_name, rcp_obj_info.owner_id, 90 display_access_class_$range (rcp_obj_info.access_class), 91 SEG_ACCESS_MODE_NAMES (bin (rcp_obj_info.raw_mode)), 92 (rcp_obj_info.rcp_ring_brackets (1) ^= -1), 93 rcp_obj_info.rcp_ring_brackets (1), 94 rcp_obj_info.rcp_ring_brackets (2)); 95 96 P_expansion = P_expansion || temp; 97 98 if ^rcp_obj_info.registry 99 then do; 100 auto_attributes = rcp_obj_info.attributes; /* following call need non-aligned version */ 101 call cv_rcp_attributes_$to_string ((rcp_obj_info.resource_type), auto_attributes, attr_str, code); 102 if code ^= 0 103 then call ioa_$rsnnl ("Attributes: (Illegal) ^w^w ^w^w^/", temp, (0), 104 addr (rcp_obj_info.attributes (1)) -> based_dblwd, 105 addr (rcp_obj_info.attributes (2)) -> based_dblwd); 106 else call ioa_$rsnnl ("Attributes: ^a^/", temp, (0), attr_str); 107 P_expansion = P_expansion || temp; 108 109 call ioa_$rsnnl ( 110 "Flags: ^[^;^^^]device,^[^;^^^]volume,^[^;^^^]usage_locked,^[^;^^^]release_locked,^[^;^^^]awaiting_clear,^[^;^^^]has_acs_path^/" 111 , 112 temp, (0), rcp_obj_info.device, rcp_obj_info.volume, rcp_obj_info.usage_locked, 113 rcp_obj_info.release_locked, rcp_obj_info.awaiting_clear, rcp_obj_info.has_acs_path); 114 P_expansion = P_expansion || temp; 115 end; 116 117 /* tell expand_access_audit_msg_ how much we've done */ 118 P_info_size = P_info_size - size (rcp_obj_info); 119 120 return; 121 122 /* format: off */ 123 /* *********************************************************** 1 2* * * 1 3* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 1 4* * * 1 5* *********************************************************** */ 1 6 /* begin include file - access_audit_rcp_info.incl.pl1 */ 1 7 1 8 /* format: off */ 1 9 1 10 1 11 dcl audit_rcp_obj_ptr pointer; 1 12 1 13 dcl 1 rcp_obj_info aligned based (audit_rcp_obj_ptr), 1 14 2 info_type fixed bin (9) uns unal, /* AAB_rcp_object */ 1 15 2 version fixed bin (9) uns unal, 1 16 2 pad bit (18) unal, 1 17 2 resource_type char (32), 1 18 2 resource_name char (32), 1 19 2 owner_id char (32), 1 20 2 flags, 1 21 3 device bit (1) unal, 1 22 3 volume bit (1) unal, 1 23 3 registry bit (1) unal, 1 24 3 usage_locked bit (1) unal, 1 25 3 release_locked bit (1) unal, 1 26 3 awaiting_clear bit (1) unal, 1 27 3 has_acs_path bit (1) unal, 1 28 3 pad bit (29) unal, 1 29 2 attributes (2) bit (72), 1 30 2 access_class (2) bit (72), 1 31 2 raw_mode bit (3), 1 32 2 rcp_ring_brackets (2) fixed bin (3); 1 33 1 34 dcl AUDIT_RCP_OBJ_INFO_VERSION_1 fixed bin (9) uns unal static options (constant) init (1); 1 35 1 36 /* end include file - access_audit_rcp_info.incl.pl1 */ 1 37 1 38 123 124 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 2 2* 2 3* Values for the "access mode" argument so often used in hardcore 2 4* James R. Davis 26 Jan 81 MCR 4844 2 5* Added constants for SM access 4/28/82 Jay Pattin 2 6* Added text strings 03/19/85 Chris Jones 2 7**/ 2 8 2 9 2 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 2 11 dcl ( 2 12 N_ACCESS init ("000"b), 2 13 R_ACCESS init ("100"b), 2 14 E_ACCESS init ("010"b), 2 15 W_ACCESS init ("001"b), 2 16 RE_ACCESS init ("110"b), 2 17 REW_ACCESS init ("111"b), 2 18 RW_ACCESS init ("101"b), 2 19 S_ACCESS init ("100"b), 2 20 M_ACCESS init ("010"b), 2 21 A_ACCESS init ("001"b), 2 22 SA_ACCESS init ("101"b), 2 23 SM_ACCESS init ("110"b), 2 24 SMA_ACCESS init ("111"b) 2 25 ) bit (3) internal static options (constant); 2 26 2 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 2 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 2 29 2 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 2 31 static options (constant); 2 32 2 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 2 34 static options (constant); 2 35 2 36 dcl ( 2 37 N_ACCESS_BIN init (00000b), 2 38 R_ACCESS_BIN init (01000b), 2 39 E_ACCESS_BIN init (00100b), 2 40 W_ACCESS_BIN init (00010b), 2 41 RW_ACCESS_BIN init (01010b), 2 42 RE_ACCESS_BIN init (01100b), 2 43 REW_ACCESS_BIN init (01110b), 2 44 S_ACCESS_BIN init (01000b), 2 45 M_ACCESS_BIN init (00010b), 2 46 A_ACCESS_BIN init (00001b), 2 47 SA_ACCESS_BIN init (01001b), 2 48 SM_ACCESS_BIN init (01010b), 2 49 SMA_ACCESS_BIN init (01011b) 2 50 ) fixed bin (5) internal static options (constant); 2 51 2 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 124 125 126 end expand_rcp_obj_audit_info_; 127 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/17/00 1927.4 expand_rcp_obj_audit_info_.pl1 >udd>sm>ds>w>ml>expand_rcp_obj_audit_info_.pl1 123 1 04/11/85 1552.5 access_audit_rcp_info.incl.pl1 >ldd>incl>access_audit_rcp_info.incl.pl1 124 2 04/11/85 1552.6 access_mode_values.incl.pl1 >ldd>incl>access_mode_values.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. AUDIT_RCP_OBJ_INFO_VERSION_1 constant fixed bin(9,0) initial packed unsigned unaligned dcl 1-34 ref 78 P_code parameter fixed bin(35,0) dcl 27 set ref 9 74* 80* 84* P_expand_mode_ptr parameter pointer dcl 28 ref 9 P_expansion parameter varying char dcl 29 set ref 9 96* 96 107* 107 114* 114 P_info_ptr parameter pointer dcl 30 ref 9 69 P_info_size parameter fixed bin(17,0) dcl 31 set ref 9 72 118* 118 P_log_message_format_ptr parameter pointer dcl 32 ref 9 SEG_ACCESS_MODE_NAMES 000000 constant char(4) initial array packed unaligned dcl 2-30 set ref 86* access_class 36 based bit(72) array level 2 dcl 1-13 set ref 86* 86* addr builtin function dcl 64 ref 102 102 attr_str 000506 automatic varying char(256) dcl 40 set ref 101* 106* attributes 32 based bit(72) array level 2 dcl 1-13 set ref 100 102 102 audit_rcp_obj_ptr 000610 automatic pointer dcl 1-11 set ref 69* 72 78 86 86 86 86 86 86 86 86 86 86 98 100 101 102 102 109 109 109 109 109 109 118 auto_attributes 000100 automatic bit(72) array packed unaligned dcl 37 set ref 100* 101* awaiting_clear 31(05) based bit(1) level 3 packed packed unaligned dcl 1-13 set ref 109* based_dblwd based bit(36) array packed unaligned dcl 44 set ref 102* 102* code 000104 automatic fixed bin(35,0) dcl 38 set ref 101* 102 cv_rcp_attributes_$to_string 000010 constant entry external dcl 49 ref 101 device 31 based bit(1) level 3 packed packed unaligned dcl 1-13 set ref 109* display_access_class_$range 000012 constant entry external dcl 51 ref 86 86 error_table_$bad_arg 000016 external static fixed bin(35,0) dcl 58 ref 74 error_table_$unimplemented_version 000020 external static fixed bin(35,0) dcl 59 ref 80 flags 31 based structure level 2 dcl 1-13 has_acs_path 31(06) based bit(1) level 3 packed packed unaligned dcl 1-13 set ref 109* ioa_$rsnnl 000014 constant entry external dcl 53 ref 86 102 106 109 owner_id 21 based char(32) level 2 dcl 1-13 set ref 86* raw_mode 42 based bit(3) level 2 dcl 1-13 ref 86 rcp_obj_info based structure level 1 dcl 1-13 set ref 72 118 rcp_ring_brackets 43 based fixed bin(3,0) array level 2 dcl 1-13 set ref 86 86* 86* registry 31(02) based bit(1) level 3 packed packed unaligned dcl 1-13 set ref 86* 98 release_locked 31(04) based bit(1) level 3 packed packed unaligned dcl 1-13 set ref 109* resource_name 11 based char(32) level 2 dcl 1-13 set ref 86* resource_type 1 based char(32) level 2 dcl 1-13 set ref 86* 101 size builtin function dcl 65 ref 72 118 temp 000105 automatic varying char(1024) dcl 39 set ref 86* 96 102* 106* 107 109* 114 usage_locked 31(03) based bit(1) level 3 packed packed unaligned dcl 1-13 set ref 109* version 0(09) based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 1-13 ref 78 volume 31(01) based bit(1) level 3 packed packed unaligned dcl 1-13 set ref 109* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 2-33 E_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 M_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 N_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 REW_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 RE_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 RW_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 R_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SA_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SMA_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SM_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 S_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 W_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 NAME DECLARED BY EXPLICIT CONTEXT. expand_rcp_obj_audit_info_ 000160 constant entry external dcl 9 NAME DECLARED BY CONTEXT OR IMPLICATION. bin builtin function ref 86 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 740 762 631 750 Length 1200 631 22 202 107 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME expand_rcp_obj_audit_info_ 532 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME expand_rcp_obj_audit_info_ 000100 auto_attributes expand_rcp_obj_audit_info_ 000104 code expand_rcp_obj_audit_info_ 000105 temp expand_rcp_obj_audit_info_ 000506 attr_str expand_rcp_obj_audit_info_ 000610 audit_rcp_obj_ptr expand_rcp_obj_audit_info_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out return_mac ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cv_rcp_attributes_$to_string 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 9 000152 69 000173 72 000177 74 000202 75 000204 78 000205 80 000215 81 000217 84 000220 86 000221 96 000331 98 000345 100 000351 101 000370 102 000420 106 000460 107 000512 109 000526 114 000611 118 000625 120 000627 ----------------------------------------------------------- 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