COMPILATION LISTING OF SEGMENT interpret_resource_desc_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/08/85 1135.0 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 /* Written and never journalized, God knows when (probably by Tavares). */ 11 /* Modified April 1985 by Chris Jones to not print AIM range of free resources. */ 12 13 interpret_resource_desc_: proc (resource_desc_ptr, nth, callername, rst_control, called_as_af, return_string, code); 14 15 dcl nth fixed bin parameter, 16 called_as_af bit (1) aligned parameter, 17 return_string char (*) varying parameter, 18 callername char (*) parameter, 19 code fixed bin (35) parameter; 20 21 dcl SYSTEM_HIGH bit (72) aligned; 22 1 1 /* --------------- BEGIN include file resource_control_desc.incl.pl1 --------------- */ 1 2 1 3 /* Written by R.J.C. Kissel 3/78. */ 1 4 /* Modified 09/28/78 by C. D. Tavares */ 1 5 1 6 dcl 1 resource_descriptions based (resource_desc_ptr) aligned, 1 7 2 version_no fixed bin, /* caller must set this to resource_desc_version_1 */ 1 8 2 n_items fixed bin, /* Number of resources described by this structure. */ 1 9 2 item (Resource_count refer (resource_descriptions.n_items)) aligned, 1 10 3 type char (32), /* e.g., "tape_drive" */ 1 11 3 name char (32), /* e.g., "tapa_03" */ 1 12 3 uid bit (36), /* The resource unique id. */ 1 13 3 potential_attributes bit (72), /* resource's permissible attributes */ 1 14 3 attributes (2) bit (72), /* RCP attribute description (output) */ 1 15 3 desired_attributes (4) bit (72), /* desired attributes (input) */ 1 16 3 potential_aim_range (2) bit (72), /* Lowest and highest possible AIM bounds for resource */ 1 17 3 aim_range (2) bit (72), /* Current AIM range */ 1 18 3 owner char (32), /* e.g., "Smith.Project" */ 1 19 3 acs_path char (168), /* Access control segment pathname. */ 1 20 3 location char (168), /* String describing location in unusual cases */ 1 21 3 comment char (168), /* User-settable comment string */ 1 22 3 charge_type char (32), /* accounting identifier for this resource */ 1 23 3 rew bit (3) unaligned, /* user's effective access to resource */ 1 24 3 (usage_lock, /* This resource may not be acquired or used. */ 1 25 release_lock, /* The owner is not allowed to release the resource. */ 1 26 awaiting_clear, /* Resource awaiting manual clear */ 1 27 user_alloc) bit (1) unaligned, /* User claims volume contains useful data */ 1 28 3 pad2 bit (29) unaligned, /* Ignored field. */ 1 29 3 given aligned, /* each of these bits says the corresponding */ 1 30 /* item is significant on input */ 1 31 (4 (name, 1 32 uid, 1 33 potential_attributes, 1 34 desired_attributes, 1 35 potential_aim_range, 1 36 aim_range, 1 37 owner, 1 38 acs_path, 1 39 location, 1 40 comment, 1 41 charge_type, 1 42 usage_lock, 1 43 release_lock, 1 44 user_alloc) bit (1), 1 45 4 pad1 bit (22)) unaligned, 1 46 3 state bit (36) aligned, /* For use of resource_control_ only */ 1 47 3 status_code fixed bin (35); /* Standard system status code for this resource. */ 1 48 1 49 1 50 /* Note that the reservation description must always be used with a resource 1 51* description structure. When they are used together the two structures must 1 52* have the same number of entries, i.e. Resource_count is the same for both. */ 1 53 1 54 1 55 dcl 1 reservation_description based (resource_res_ptr) aligned, 1 56 2 version_no fixed bin, /* The version number for this structure. */ 1 57 2 reserved_for char (32), /* Group id of reserved for process. */ 1 58 2 reserved_by char (32), /* Group id of reserved by process. */ 1 59 2 reservation_id fixed bin (71), /* Reservation id of this reservation group. */ 1 60 2 group_starting_time fixed bin (71), /* Starting time for this reservation group. */ 1 61 2 asap_duration fixed bin (71), /* Duration after which as soon as possible is no longer good. */ 1 62 2 flags aligned, 1 63 (3 auto_expire bit (1), /* Should reservation expire when this process terminates. */ 1 64 3 asap bit (1), /* Make this reservation group as soon as possible. */ 1 65 3 rel bit (1), /* Times are relative/absolute. */ 1 66 3 sec bit (1)) unaligned, /* Times are in sec/microsec. */ 1 67 2 n_items fixed bin, /* Number of resources reserved in this group. */ 1 68 2 reservation_group (Resource_count refer (reservation_description.n_items)), 1 69 3 starting_time fixed bin (71), /* When this resource res. starts in the group. */ 1 70 3 duration fixed bin (71); /* Duration of this resource res. in the group. */ 1 71 1 72 dcl (resource_desc_ptr, 1 73 resource_res_ptr) pointer; 1 74 1 75 dcl (resource_desc_version_1 initial (1), 1 76 resource_res_version_1 initial (1)) internal static options (constant); 1 77 1 78 dcl Resource_count fixed bin; /* The number of resources described in the structures. */ 1 79 1 80 /* ---------------- END include file resource_control_desc.incl.pl1 ---------------- */ 23 2 1 /* --------------- BEGIN INCLUDE FILE rst_control.incl.pl1 --------------- */ 2 2 2 3 dcl 1 rst_control aligned, 2 4 2 (default bit (1), 2 5 name bit (1), 2 6 uid bit (1), 2 7 potential_attributes bit (1), 2 8 attributes bit (1), 2 9 desired_attributes bit (1), 2 10 potential_aim_range bit (1), 2 11 aim_range bit (1), 2 12 owner bit (1), 2 13 acs_path bit (1), 2 14 location bit (1), 2 15 comment bit (1), 2 16 charge_type bit (1), 2 17 mode bit (1), 2 18 usage_lock bit (1), 2 19 release_lock bit (1), 2 20 awaiting_clear bit (1), 2 21 user_alloc bit (1), 2 22 given_flags bit (1), 2 23 mbz bit (16), 2 24 any_given_item bit (1)) unaligned; 2 25 2 26 dcl rst_control_defaults bit (36) aligned static options (constant) initial 2 27 ("1100100001010100010"b); 2 28 2 29 /* ---------------- END INCLUDE FILE rst_control.incl.pl1 ----------------- */ 24 25 26 dcl 1 itemx based (itemptr) aligned like resource_descriptions.item, 27 itemptr pointer; 28 29 dcl (ioa_$rsnnl, ioa_, ioa_$nnl, com_err_, active_fnc_err_) ext entry options (variable); 30 31 dcl (i, j) fixed bin, 32 (first, last) fixed bin, 33 saved_code fixed bin (35), 34 acc (2) char (256), 35 (want_acc, want_pacc) bit (1) aligned, 36 error_table_$unimplemented_version ext fixed bin (35) static, 37 pacc (2) char (256), 38 temp_atts (2) bit (72) aligned, 39 attstring char (512) varying; 40 41 dcl mode_strings (8) char (4) varying static options (constant) initial 42 ("null", "w", "e", "ew", "r", "rw", "re", "rew"); 43 44 dcl convert_authorization_$to_string ext entry (bit (72) aligned, char (*), fixed bin (35)), 45 convert_authorization_$from_string ext entry (bit (72) aligned, char (*), fixed bin (35)), 46 cv_rcp_attributes_$to_string ext entry (char (*) aligned, (2) bit (72) aligned, char (*) varying, fixed bin (35)), 47 cv_rcp_attributes_$to_string_rel ext entry (char (*) aligned, (4) bit (72) aligned, char (*) varying, fixed bin (35)); 48 49 saved_code = 0; 50 51 if resource_descriptions.version_no ^= resource_desc_version_1 then do; 52 code = error_table_$unimplemented_version; 53 return; 54 end; 55 56 call convert_authorization_$from_string (SYSTEM_HIGH, "system_high", code); 57 if code ^= 0 then call err (code, "converting system_high"); 58 59 if nth = 0 then do; 60 first = 1; 61 last = resource_descriptions.n_items; 62 end; 63 else first, last = nth; 64 65 do i = first to last; 66 67 itemptr = addr (resource_descriptions.item (i)); 68 69 if rst_control.name 70 | rst_control.default 71 | rst_control.any_given_item 72 | (first ^= last) then 73 call ioa_ ("Resource: ^a ^a^[^; (not by name)^]", 74 itemx.type, itemx.name, itemx.given.name); 75 76 if (rst_control.uid 77 | (itemx.given.uid & rst_control.any_given_item)) then 78 if called_as_af then 79 call ioa_$rsnnl ("^w", return_string, 0, itemx.uid); 80 else call ioa_ ("Unique ID:^-^w", itemx.uid); 81 82 if (rst_control.potential_attributes 83 | (itemx.given.potential_attributes & rst_control.any_given_item)) then do; 84 unspec (temp_atts) = ""b; 85 temp_atts (1) = itemx.potential_attributes; 86 call cv_rcp_attributes_$to_string (itemx.type, temp_atts, attstring, code); 87 if code ^= 0 then call err (code, "Potential attributes"); 88 89 else if called_as_af then return_string = attstring; 90 else call ioa_ ("Potential Attributes:^/^2-^a", attstring); 91 end; 92 93 if rst_control.attributes then do; 94 call cv_rcp_attributes_$to_string (itemx.type, itemx.attributes (*), attstring, code); 95 if code ^= 0 then call err (code, "Attributes"); 96 97 else if called_as_af then return_string = attstring; 98 else call ioa_ ("Attributes:^-^a", attstring); 99 end; 100 101 if (rst_control.desired_attributes 102 | (itemx.given.desired_attributes & rst_control.any_given_item)) then do; 103 call cv_rcp_attributes_$to_string_rel (itemx.type, itemx.desired_attributes (*), attstring, code); 104 if code ^= 0 then call err (code, "Desired attributes"); 105 else if called_as_af then return_string = attstring; 106 else call ioa_ ("Desired attributes:^-^a", attstring); 107 end; 108 109 if (rst_control.owner 110 | (itemx.given.owner & rst_control.any_given_item)) then 111 if called_as_af then return_string = rtrim (itemx.owner, " "); 112 else call ioa_ ("Owner:^2-^a", itemx.owner); 113 114 if (rst_control.acs_path 115 | (itemx.given.acs_path & rst_control.any_given_item)) then 116 if called_as_af then 117 if itemx.acs_path = "" then return_string = """"""; 118 else return_string = rtrim (itemx.acs_path, " "); 119 else call ioa_ ("ACS Pathname:^-^[none^;^a^]", (itemx.acs_path = ""), itemx.acs_path); 120 121 want_pacc = (rst_control.potential_aim_range 122 | (itemx.given.potential_aim_range & rst_control.any_given_item)); 123 want_acc = (rst_control.aim_range 124 | (itemx.given.aim_range & rst_control.any_given_item)); 125 126 if want_pacc | want_acc then do; 127 128 do j = 1 to 2; 129 code = 0; 130 if itemx.potential_aim_range (j) = ""b then pacc (j) = "system_low"; 131 else if itemx.potential_aim_range (j) = SYSTEM_HIGH then pacc (j) = "system_high"; 132 else call convert_authorization_$to_string (itemx.potential_aim_range (j), pacc (j), code); 133 if want_pacc then 134 if code ^= 0 then do; 135 call err (code, "Potential AIM range"); 136 want_pacc = ""b; 137 end; 138 139 code = 0; 140 if itemx.aim_range (j) = ""b then acc (j) = "system_low"; 141 else if itemx.aim_range (j) = SYSTEM_HIGH then acc (j) = "system_high"; 142 else call convert_authorization_$to_string (itemx.aim_range (j), acc (j), code); 143 if want_acc then 144 if code ^= 0 then do; 145 call err (code, "AIM range"); 146 want_acc = ""b; 147 end; 148 end; 149 150 if want_pacc then 151 if called_as_af then 152 if pacc (1) = pacc (2) then return_string = rtrim (pacc (1), " "); 153 else return_string = rtrim (pacc (1), " ") || "; " || rtrim (pacc (2), " "); 154 else call ioa_ ("Potential AIM ^[Class:^/^2-^a^;Range:^/^2-^a : ^a", (pacc (1) = pacc (2)), pacc); 155 156 if want_acc then 157 if called_as_af then 158 if acc (1) = acc (2) then return_string = rtrim (acc (1), " "); 159 else return_string = rtrim (acc (1), " ") || "; " || rtrim (acc (2), " "); 160 else if itemx.owner ^= "free" then 161 call ioa_ ("AIM ^[Class:^-^a^;Range:^-^a : ^a^]", (acc (1) = acc (2)), acc); 162 end; 163 164 if (rst_control.location 165 | (itemx.given.location & rst_control.any_given_item)) then 166 if called_as_af then return_string = """" || rtrim (itemx.location, " ") || """"; 167 else call ioa_ ("Location:^2-^[""""^;^a^]", (itemx.location = ""), itemx.location); 168 169 if (rst_control.comment 170 | (itemx.given.comment & rst_control.any_given_item) 171 | (itemx.comment ^= "" & rst_control.default)) then 172 if called_as_af then return_string = """" || rtrim (itemx.comment, " ") || """"; 173 else call ioa_ ("Comment:^2-^[""""^;^a^]", (itemx.comment = ""), itemx.comment); 174 175 if (rst_control.charge_type 176 | (itemx.given.charge_type & rst_control.any_given_item)) then 177 if called_as_af then return_string = """" || rtrim (itemx.charge_type, " ") || """"; 178 else call ioa_ ("Charge type:^-^[""""^;^a^]", (itemx.charge_type = ""), itemx.charge_type); 179 180 if rst_control.mode then 181 if called_as_af then return_string = mode_strings (binary (itemx.rew) + 1); 182 else call ioa_ ("Mode:^2-^a", mode_strings (binary (itemx.rew) + 1)); 183 184 if (rst_control.usage_lock 185 | (itemx.given.usage_lock & rst_control.any_given_item) 186 | (itemx.usage_lock & rst_control.default)) then 187 if called_as_af then 188 if itemx.usage_lock then return_string = "true"; 189 else return_string = "false"; 190 else call ioa_ ("Usage Lock:^-^[on^;off^]", itemx.usage_lock); 191 192 if (rst_control.release_lock 193 | (itemx.given.release_lock & rst_control.any_given_item) 194 | (itemx.release_lock & rst_control.default)) then 195 if called_as_af then 196 if itemx.release_lock then return_string = "true"; 197 else return_string = "false"; 198 else call ioa_ ("Release Lock:^-^[on^;off^]", itemx.release_lock); 199 200 if (rst_control.awaiting_clear 201 | (itemx.awaiting_clear & rst_control.default)) then 202 if called_as_af then 203 if itemx.awaiting_clear then return_string = "true"; 204 else return_string = "false"; 205 else call ioa_ ("Awaiting Clear:^-^[yes^;no^]", itemx.awaiting_clear); 206 207 if (rst_control.user_alloc 208 | (itemx.given.user_alloc & rst_control.any_given_item) 209 | rst_control.default) then 210 if called_as_af then 211 if itemx.user_alloc then return_string = "true"; 212 else return_string = "false"; 213 else call ioa_ ("Allocation state:^-^[allocated^;free^]", itemx.user_alloc); 214 215 if rst_control.given_flags then do; 216 call ioa_ ("Given flags:"); 217 if itemx.given.name then call ioa_ ("^-name"); 218 if itemx.given.uid then call ioa_ ("^-uid"); 219 if itemx.given.potential_attributes then call ioa_ ("^-potential_attributes"); 220 if itemx.given.desired_attributes then call ioa_ ("^-desired_attributes"); 221 if itemx.given.potential_aim_range then call ioa_ ("^-potential_aim_range"); 222 if itemx.given.owner then call ioa_ ("^-owner"); 223 if itemx.given.acs_path then call ioa_ ("^-acs_path"); 224 if itemx.given.location then call ioa_ ("^-location"); 225 if itemx.given.comment then call ioa_ ("^-comment"); 226 if itemx.given.charge_type then call ioa_ ("^-charge_type"); 227 if itemx.given.usage_lock then call ioa_ ("^-usage_lock"); 228 if itemx.given.release_lock then call ioa_ ("^-release_lock"); 229 if itemx.given.user_alloc then call ioa_ ("^-alloc"); 230 end; 231 232 if i ^= last then call ioa_ (""); 233 end; 234 235 code = saved_code; 236 return; 237 238 err: proc (code, reason); 239 240 dcl code fixed bin (35) parameter, 241 reason char (*) parameter; 242 243 if called_as_af then call active_fnc_err_ (code, callername, reason); 244 else call com_err_ (code, callername, reason); 245 246 if called_as_af then return_string = ""; 247 saved_code = code; 248 end err; 249 250 end interpret_resource_desc_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/08/85 1026.9 interpret_resource_desc_.pl1 >spec>on>41-15>interpret_resource_desc_.pl1 23 1 02/13/79 1715.0 resource_control_desc.incl.pl1 >ldd>include>resource_control_desc.incl.pl1 24 2 11/20/79 2015.5 rst_control.incl.pl1 >ldd>include>rst_control.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. SYSTEM_HIGH 000100 automatic bit(72) dcl 21 set ref 56* 131 141 acc 000111 automatic char(256) array unaligned dcl 31 set ref 140* 141* 142* 156 156 156 159 159 160 160 160* acs_path 266(07) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 114 223 acs_path 0(09) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 114 acs_path 57 based char(168) level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 114 118 119 119* active_fnc_err_ 000016 constant entry external dcl 29 ref 243 aim_range 266(05) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 123 aim_range 0(07) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 123 aim_range 43 based bit(72) array level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 140 141 142* any_given_item 0(35) parameter bit(1) level 2 packed unaligned dcl 2-3 ref 69 76 82 101 109 114 121 123 164 169 175 184 192 207 attributes 23 based bit(72) array level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 94* attributes 0(04) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 93 attstring 000517 automatic varying char(512) dcl 31 set ref 86* 89 90* 94* 97 98* 103* 105 106* awaiting_clear 265(05) based bit(1) level 2 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" set ref 200 200 205* awaiting_clear 0(16) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 200 called_as_af parameter bit(1) dcl 15 ref 13 76 89 97 105 109 114 150 156 164 169 175 180 184 192 200 207 243 246 callername parameter char unaligned dcl 15 set ref 13 243* 244* charge_type 255 based char(32) level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 175 178 178* charge_type 0(12) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 175 charge_type 266(10) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 175 226 code parameter fixed bin(35,0) dcl 15 in procedure "interpret_resource_desc_" set ref 13 52* 56* 57 57* 86* 87 87* 94* 95 95* 103* 104 104* 129* 132* 133 135* 139* 142* 143 145* 235* code parameter fixed bin(35,0) dcl 240 in procedure "err" set ref 238 243* 244* 247 com_err_ 000014 constant entry external dcl 29 ref 244 comment 0(11) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 169 comment 266(09) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 169 225 comment 203 based char(168) level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 169 169 173 173* convert_authorization_$from_string 000024 constant entry external dcl 44 ref 56 convert_authorization_$to_string 000022 constant entry external dcl 44 ref 132 142 cv_rcp_attributes_$to_string 000026 constant entry external dcl 44 ref 86 94 cv_rcp_attributes_$to_string_rel 000030 constant entry external dcl 44 ref 103 default parameter bit(1) level 2 packed unaligned dcl 2-3 ref 69 169 184 192 200 207 desired_attributes 27 based bit(72) array level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 103* desired_attributes 266(03) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 101 220 desired_attributes 0(05) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 101 error_table_$unimplemented_version 000020 external static fixed bin(35,0) dcl 31 ref 52 first 000106 automatic fixed bin(17,0) dcl 31 set ref 60* 63* 65 69 given 266 based structure level 2 dcl 26 given_flags 0(18) parameter bit(1) level 2 packed unaligned dcl 2-3 ref 215 i 000104 automatic fixed bin(17,0) dcl 31 set ref 65* 67 232* ioa_ 000012 constant entry external dcl 29 ref 69 80 90 98 106 112 119 154 160 167 173 178 182 190 198 205 213 216 217 218 219 220 221 222 223 224 225 226 227 228 229 232 ioa_$rsnnl 000010 constant entry external dcl 29 ref 76 item 2 based structure array level 2 dcl 1-6 set ref 67 itemptr 000102 automatic pointer dcl 26 set ref 67* 69 69 69 76 76 80 82 85 86 94 94 101 103 103 109 109 112 114 114 118 119 119 121 123 130 131 132 140 141 142 160 164 164 167 167 169 169 169 173 173 175 175 178 178 180 182 184 184 184 190 192 192 192 198 200 200 205 207 207 213 217 218 219 220 221 222 223 224 225 226 227 228 229 itemx based structure level 1 dcl 26 j 000105 automatic fixed bin(17,0) dcl 31 set ref 128* 130 130 131 131 132 132 140 140 141 141 142 142* last 000107 automatic fixed bin(17,0) dcl 31 set ref 61* 63* 65 69 232 location 131 based char(168) level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 164 167 167* location 266(08) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 164 224 location 0(10) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 164 mode 0(13) parameter bit(1) level 2 packed unaligned dcl 2-3 ref 180 mode_strings 000000 constant varying char(4) initial array dcl 41 set ref 180 182* n_items 1 based fixed bin(17,0) level 2 dcl 1-6 ref 61 name 10 based char(32) level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 69* name 0(01) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 69 name 266 based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" set ref 69* 217 nth parameter fixed bin(17,0) dcl 15 ref 13 59 63 owner 0(08) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 109 owner 47 based char(32) level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 109 112* 160 owner 266(06) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 109 222 pacc 000313 automatic char(256) array unaligned dcl 31 set ref 130* 131* 132* 150 150 150 153 153 154 154 154* potential_aim_range 0(06) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 121 potential_aim_range 37 based bit(72) array level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 130 131 132* potential_aim_range 266(04) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 121 221 potential_attributes 266(02) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 82 219 potential_attributes 21 based bit(72) level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" ref 85 potential_attributes 0(03) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 82 reason parameter char unaligned dcl 240 set ref 238 243* 244* release_lock 0(15) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 192 release_lock 265(04) based bit(1) level 2 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" set ref 192 192 198* release_lock 266(12) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 192 228 resource_desc_ptr parameter pointer dcl 1-72 ref 13 51 61 67 resource_desc_version_1 constant fixed bin(17,0) initial dcl 1-75 ref 51 resource_descriptions based structure level 1 dcl 1-6 return_string parameter varying char dcl 15 set ref 13 76* 89* 97* 105* 109* 114* 118* 150* 153* 156* 159* 164* 169* 175* 180* 184* 189* 192* 197* 200* 204* 207* 212* 246* rew 265 based bit(3) level 2 packed unaligned dcl 26 ref 180 182 rst_control parameter structure level 1 dcl 2-3 ref 13 saved_code 000110 automatic fixed bin(35,0) dcl 31 set ref 49* 235 247* temp_atts 000513 automatic bit(72) array dcl 31 set ref 84* 85* 86* type based char(32) level 2 dcl 26 set ref 69* 86* 94* 103* uid 20 based bit(36) level 2 in structure "itemx" dcl 26 in procedure "interpret_resource_desc_" set ref 76* 80* uid 0(02) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 76 uid 266(01) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 76 218 usage_lock 266(11) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 184 227 usage_lock 265(03) based bit(1) level 2 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" set ref 184 184 190* usage_lock 0(14) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 184 user_alloc 266(13) based bit(1) level 3 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" ref 207 229 user_alloc 0(17) parameter bit(1) level 2 in structure "rst_control" packed unaligned dcl 2-3 in procedure "interpret_resource_desc_" ref 207 user_alloc 265(06) based bit(1) level 2 in structure "itemx" packed unaligned dcl 26 in procedure "interpret_resource_desc_" set ref 207 213* version_no based fixed bin(17,0) level 2 dcl 1-6 ref 51 want_acc 000311 automatic bit(1) dcl 31 set ref 123* 126 143 146* 156 want_pacc 000312 automatic bit(1) dcl 31 set ref 121* 126 133 136* 150 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Resource_count automatic fixed bin(17,0) dcl 1-78 ioa_$nnl 000000 constant entry external dcl 29 reservation_description based structure level 1 dcl 1-55 resource_res_ptr automatic pointer dcl 1-72 resource_res_version_1 internal static fixed bin(17,0) initial dcl 1-75 rst_control_defaults internal static bit(36) initial dcl 2-26 NAMES DECLARED BY EXPLICIT CONTEXT. err 003741 constant entry internal dcl 238 ref 57 87 95 104 135 145 interpret_resource_desc_ 000446 constant entry external dcl 13 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 67 binary builtin function ref 180 182 rtrim builtin function ref 109 118 150 153 153 156 159 159 164 169 175 unspec builtin function ref 84 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4202 4234 4045 4212 Length 4500 4045 32 227 135 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME interpret_resource_desc_ 542 external procedure is an external procedure. err internal procedure shares stack frame of external procedure interpret_resource_desc_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME interpret_resource_desc_ 000100 SYSTEM_HIGH interpret_resource_desc_ 000102 itemptr interpret_resource_desc_ 000104 i interpret_resource_desc_ 000105 j interpret_resource_desc_ 000106 first interpret_resource_desc_ 000107 last interpret_resource_desc_ 000110 saved_code interpret_resource_desc_ 000111 acc interpret_resource_desc_ 000311 want_acc interpret_resource_desc_ 000312 want_pacc interpret_resource_desc_ 000313 pacc interpret_resource_desc_ 000513 temp_atts interpret_resource_desc_ 000517 attstring interpret_resource_desc_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_cs cat_realloc_cs call_ext_out_desc return mpfx2 shorten_stack ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ convert_authorization_$from_string convert_authorization_$to_string cv_rcp_attributes_$to_string cv_rcp_attributes_$to_string_rel ioa_ ioa_$rsnnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 13 000440 49 000466 51 000467 52 000474 53 000476 56 000477 57 000523 59 000545 60 000550 61 000552 62 000556 63 000557 65 000561 67 000567 69 000575 76 000632 80 000703 82 000727 84 000742 85 000745 86 000752 87 000777 89 001025 90 001042 93 001062 94 001066 95 001114 97 001141 98 001156 101 001201 103 001214 104 001242 105 001265 106 001302 109 001322 112 001363 114 001405 118 001442 119 001464 121 001516 123 001535 126 001547 128 001552 129 001557 130 001561 131 001577 132 001610 133 001634 135 001641 136 001663 139 001664 140 001666 141 001705 142 001716 143 001742 145 001747 146 001767 148 001770 150 001772 153 002026 154 002106 156 002140 159 002174 160 002254 164 002313 167 002377 169 002432 173 002525 175 002560 178 002644 180 002677 182 002732 184 002763 189 003026 190 003040 192 003062 197 003125 198 003137 200 003161 204 003216 205 003230 207 003252 212 003311 213 003323 215 003346 216 003352 217 003367 218 003406 219 003425 220 003445 221 003465 222 003505 223 003524 224 003546 225 003567 226 003611 227 003634 228 003655 229 003700 232 003717 233 003733 235 003735 236 003740 238 003741 243 003752 244 004003 246 004027 247 004035 248 004040 ----------------------------------------------------------- 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