COMPILATION LISTING OF SEGMENT resource_status Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/06/87 1314.9 mst Thu Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(87-06-19,Rauschelbach), approve(87-06-29,MCR7736), 17* audit(87-07-21,Farley), install(87-08-06,MR12.1-1064): 18* Error message duplication was removed, and a call to com_err_ with a more 19* standard version. 20* END HISTORY COMMENTS */ 21 22 23 resource_status: rst: proc; 24 25 /* This command prints information about selected RCP resources. 26* 27* Written in 1979 by C. D. Tavares. 28* Last modified 11/19/80 by CDT to change -usage_lock to -lock and to make 29* sure it always calls the system error routine appropriate to its calling 30* mode (command or AF). 31* Modified 7/82 BIM to get the arg list ptr before looking at the arg list. 32**/ 33 34 /* automatic */ 35 36 dcl al fixed bin, 37 alp pointer, 38 ap pointer, 39 arg_ptr entry (fixed bin, pointer, fixed bin, fixed bin (35)) variable, 40 arg_ptr_rel entry (fixed bin, pointer, fixed bin, fixed bin (35), pointer) variable, 41 called_as_af bit (1) aligned, 42 code fixed bin (35), 43 resource_type char (32), 44 (i, j, control_arg_type) fixed bin, 45 nargs fixed bin, 46 priv_sw bit (1) aligned, 47 return_ptr pointer, 48 return_len fixed bin (24); 49 /* static */ 50 51 dcl registry_dir char (168) static initial (">system_control_1>rcp"); 52 53 /* constants */ 54 55 dcl Name fixed bin initial (0) static options (constant); 56 57 dcl legal_control_args (44) char (24) static options (constant) initial 58 ("-priv", "FUTURE_EXP", /* 1, 2 */ 59 "-unique_id", "-uid", /* 3, 4 */ 60 "-potential_attributes", "-pattr", /* 5, 6 */ 61 "-attributes", "-attr", /* 7, 8 */ 62 "-potential_access_class", "-pacc", /* 9, 10 */ 63 "-access_class", "-acc", /* 11, 12 */ 64 "-owner", "-ow", /* 13, 14 */ 65 "-acs_path", "FUTURE_EXP", /* 15, 16 */ 66 "-location", "-loc", /* 17, 18 */ 67 "-comment", "-com", /* 19, 20 */ 68 "-charge_type", "-crgtp", /* 21, 22 */ 69 "-mode", "-md", /* 23, 24 */ 70 "-lock", "FUTURE_EXP", /* 25, 26 */ 71 "-release_lock", "-rll", /* 27, 28 */ 72 "-awaiting_clear", "FUTURE_EXP", /* 29, 30 */ 73 "-alloc", "FUTURE_EXP", /* 31, 32 */ 74 (10) (1) "FUTURE_EXP", /* 33 thru 42 */ 75 "-all", "-a"); /* 43, 44 */ 76 77 dcl explanation char (168) static options (constant) initial 78 ("^/^5xUsage: resource_status resource_type resource_names {control_args}"); 79 80 /* external static */ 81 82 dcl (error_table_$badopt, 83 error_table_$badcall, 84 error_table_$noarg, 85 error_table_$not_act_fnc, 86 error_table_$too_many_args) fixed bin (35) external static; 87 88 /* based */ 89 90 dcl arg char (al) based (ap), 91 return_string char (return_len) varying based (return_ptr); 92 1 1 /* --------------- BEGIN INCLUDE FILE rst_control.incl.pl1 --------------- */ 1 2 1 3 dcl 1 rst_control aligned, 1 4 2 (default bit (1), 1 5 name bit (1), 1 6 uid bit (1), 1 7 potential_attributes bit (1), 1 8 attributes bit (1), 1 9 desired_attributes bit (1), 1 10 potential_aim_range bit (1), 1 11 aim_range bit (1), 1 12 owner bit (1), 1 13 acs_path bit (1), 1 14 location bit (1), 1 15 comment bit (1), 1 16 charge_type bit (1), 1 17 mode bit (1), 1 18 usage_lock bit (1), 1 19 release_lock bit (1), 1 20 awaiting_clear bit (1), 1 21 user_alloc bit (1), 1 22 given_flags bit (1), 1 23 mbz bit (16), 1 24 any_given_item bit (1)) unaligned; 1 25 1 26 dcl rst_control_defaults bit (36) aligned static options (constant) initial 1 27 ("1100100001010100010"b); 1 28 1 29 /* ---------------- END INCLUDE FILE rst_control.incl.pl1 ----------------- */ 93 94 95 /* entries */ 96 97 dcl (com_err_, active_fnc_err_) ext entry options (variable), 98 cu_$af_return_arg ext entry (fixed bin, pointer, fixed bin (24), fixed bin (35)), 99 cu_$arg_list_ptr ext entry (pointer), 100 (cu_$arg_ptr, cu_$af_arg_ptr) ext entry (fixed bin, pointer, fixed bin, fixed bin (35)), 101 (cu_$arg_ptr_rel, cu_$af_arg_ptr_rel) ext entry (fixed bin, pointer, fixed bin, fixed bin (35), pointer), 102 interpret_resource_desc_ ext entry 103 (pointer, fixed bin, char (*), bit (*) aligned, bit (1) aligned, char (*) varying, fixed bin (35)), 104 resource_info_$get_primary_type entry (char (*), char (*), fixed bin (35)); 105 106 dcl (rcp_$get_status, rcp_admin_$get_status) ext entry (pointer, char (*), fixed bin (35)); 107 108 /* builtins */ 109 110 dcl (empty, hbound, index, length, null, size, string, substr, unspec) builtin; 111 2 1 /* --------------- BEGIN include file resource_control_desc.incl.pl1 --------------- */ 2 2 2 3 /* Written by R.J.C. Kissel 3/78. */ 2 4 /* Modified 09/28/78 by C. D. Tavares */ 2 5 2 6 dcl 1 resource_descriptions based (resource_desc_ptr) aligned, 2 7 2 version_no fixed bin, /* caller must set this to resource_desc_version_1 */ 2 8 2 n_items fixed bin, /* Number of resources described by this structure. */ 2 9 2 item (Resource_count refer (resource_descriptions.n_items)) aligned, 2 10 3 type char (32), /* e.g., "tape_drive" */ 2 11 3 name char (32), /* e.g., "tapa_03" */ 2 12 3 uid bit (36), /* The resource unique id. */ 2 13 3 potential_attributes bit (72), /* resource's permissible attributes */ 2 14 3 attributes (2) bit (72), /* RCP attribute description (output) */ 2 15 3 desired_attributes (4) bit (72), /* desired attributes (input) */ 2 16 3 potential_aim_range (2) bit (72), /* Lowest and highest possible AIM bounds for resource */ 2 17 3 aim_range (2) bit (72), /* Current AIM range */ 2 18 3 owner char (32), /* e.g., "Smith.Project" */ 2 19 3 acs_path char (168), /* Access control segment pathname. */ 2 20 3 location char (168), /* String describing location in unusual cases */ 2 21 3 comment char (168), /* User-settable comment string */ 2 22 3 charge_type char (32), /* accounting identifier for this resource */ 2 23 3 rew bit (3) unaligned, /* user's effective access to resource */ 2 24 3 (usage_lock, /* This resource may not be acquired or used. */ 2 25 release_lock, /* The owner is not allowed to release the resource. */ 2 26 awaiting_clear, /* Resource awaiting manual clear */ 2 27 user_alloc) bit (1) unaligned, /* User claims volume contains useful data */ 2 28 3 pad2 bit (29) unaligned, /* Ignored field. */ 2 29 3 given aligned, /* each of these bits says the corresponding */ 2 30 /* item is significant on input */ 2 31 (4 (name, 2 32 uid, 2 33 potential_attributes, 2 34 desired_attributes, 2 35 potential_aim_range, 2 36 aim_range, 2 37 owner, 2 38 acs_path, 2 39 location, 2 40 comment, 2 41 charge_type, 2 42 usage_lock, 2 43 release_lock, 2 44 user_alloc) bit (1), 2 45 4 pad1 bit (22)) unaligned, 2 46 3 state bit (36) aligned, /* For use of resource_control_ only */ 2 47 3 status_code fixed bin (35); /* Standard system status code for this resource. */ 2 48 2 49 2 50 /* Note that the reservation description must always be used with a resource 2 51* description structure. When they are used together the two structures must 2 52* have the same number of entries, i.e. Resource_count is the same for both. */ 2 53 2 54 2 55 dcl 1 reservation_description based (resource_res_ptr) aligned, 2 56 2 version_no fixed bin, /* The version number for this structure. */ 2 57 2 reserved_for char (32), /* Group id of reserved for process. */ 2 58 2 reserved_by char (32), /* Group id of reserved by process. */ 2 59 2 reservation_id fixed bin (71), /* Reservation id of this reservation group. */ 2 60 2 group_starting_time fixed bin (71), /* Starting time for this reservation group. */ 2 61 2 asap_duration fixed bin (71), /* Duration after which as soon as possible is no longer good. */ 2 62 2 flags aligned, 2 63 (3 auto_expire bit (1), /* Should reservation expire when this process terminates. */ 2 64 3 asap bit (1), /* Make this reservation group as soon as possible. */ 2 65 3 rel bit (1), /* Times are relative/absolute. */ 2 66 3 sec bit (1)) unaligned, /* Times are in sec/microsec. */ 2 67 2 n_items fixed bin, /* Number of resources reserved in this group. */ 2 68 2 reservation_group (Resource_count refer (reservation_description.n_items)), 2 69 3 starting_time fixed bin (71), /* When this resource res. starts in the group. */ 2 70 3 duration fixed bin (71); /* Duration of this resource res. in the group. */ 2 71 2 72 dcl (resource_desc_ptr, 2 73 resource_res_ptr) pointer; 2 74 2 75 dcl (resource_desc_version_1 initial (1), 2 76 resource_res_version_1 initial (1)) internal static options (constant); 2 77 2 78 dcl Resource_count fixed bin; /* The number of resources described in the structures. */ 2 79 2 80 /* ---------------- END include file resource_control_desc.incl.pl1 ---------------- */ 112 113 114 called_as_af = ""b; 115 unspec (rst_control) = ""b; 116 priv_sw = ""b; 117 118 call cu_$af_return_arg (nargs, return_ptr, return_len, code); 119 if code = 0 then called_as_af = "1"b; 120 else if code = error_table_$not_act_fnc then code = 0; 121 if code ^= 0 then call crump (code, "Getting argument count."); 122 123 if nargs < 2 then call crump (error_table_$noarg, explanation); 124 125 if called_as_af then do; 126 arg_ptr = cu_$af_arg_ptr; 127 arg_ptr_rel = cu_$af_arg_ptr_rel; 128 end; 129 else do; 130 arg_ptr = cu_$arg_ptr; 131 arg_ptr_rel = cu_$arg_ptr_rel; 132 return_ptr = null; 133 return_len = 0; 134 end; 135 136 /* First get the primary resoure type. */ 137 138 call cu_$arg_list_ptr (alp); 139 140 141 call arg_ptr_rel (1, ap, al, code, alp); 142 if code ^= 0 143 then call crump (code, "Getting argument."); 144 call resource_info_$get_primary_type (arg, resource_type, code); 145 if code ^= 0 146 then call crump (code, arg); 147 148 /* Next loop through the arguments and decide how many resources 149* the caller wants information about. */ 150 151 152 153 Resource_count = 0; 154 do i = 2 to nargs; 155 call arg_ptr (i, ap, al, code); 156 if arg = "-name" | arg = "-nm" then do; 157 i = i + 1; 158 Resource_count = Resource_count + 1; 159 end; 160 else if substr (arg, 1, 1) ^= "-" then 161 Resource_count = Resource_count + 1; 162 end; 163 164 if Resource_count <= 0 then call crump (error_table_$noarg, explanation); 165 166 begin; 167 168 dcl stackarea area (size (null -> resource_descriptions) + 100) automatic; 169 stackarea = empty (); 170 171 allocate resource_descriptions in (stackarea); 172 173 resource_descriptions.version_no = resource_desc_version_1; 174 unspec (resource_descriptions.item (*)) = ""b; 175 176 resource_descriptions.item (*).type = resource_type; 177 178 Resource_count = 0; 179 180 do i = 2 to nargs; 181 182 call arg_ptr_rel (i, ap, al, code, alp); 183 184 if code ^= 0 then call crump (code, "Getting argument."); 185 186 control_arg_type = Name; 187 188 if arg = "-name" | arg = "-nm" then do; 189 i = i + 1; 190 call arg_ptr_rel (i, ap, al, code, alp); 191 if code ^= 0 then call crump (code, "After -name."); 192 end; 193 194 else if substr (arg, 1, 1) = "-" then do; 195 do control_arg_type = 1 to hbound (legal_control_args, 1) 196 while (legal_control_args (control_arg_type) ^= arg); 197 end; 198 199 if control_arg_type > hbound (legal_control_args, 1) then call crump (error_table_$badopt, arg); 200 end; 201 202 203 goto process_control_arg (control_arg_type); 204 205 process_control_arg (1): process_control_arg (2): /* -priv */ 206 priv_sw = "1"b; 207 goto end_process_control_arg; 208 209 process_control_arg (3): process_control_arg (4): /* -unique_id, -uid */ 210 rst_control.uid = "1"b; 211 goto end_process_control_arg; 212 213 process_control_arg (5): process_control_arg (6): /* -potential_attributes, -pattr */ 214 rst_control.potential_attributes = "1"b; 215 goto end_process_control_arg; 216 217 process_control_arg (7): process_control_arg (8): /* -attributes, -attr */ 218 rst_control.attributes = "1"b; 219 goto end_process_control_arg; 220 221 process_control_arg (9): process_control_arg (10): /* -potential_access_class, -pacc */ 222 rst_control.potential_aim_range = "1"b; 223 goto end_process_control_arg; 224 225 process_control_arg (11): process_control_arg (12): /* -access_class, -acc */ 226 rst_control.aim_range = "1"b; 227 goto end_process_control_arg; 228 229 process_control_arg (13): process_control_arg (14): /* -owner, -ow */ 230 rst_control.owner = "1"b; 231 goto end_process_control_arg; 232 233 process_control_arg (15): process_control_arg (16): /* -acs_path */ 234 rst_control.acs_path = "1"b; 235 goto end_process_control_arg; 236 237 process_control_arg (17): process_control_arg (18): /* -location, -loc */ 238 rst_control.location = "1"b; 239 goto end_process_control_arg; 240 241 process_control_arg (19): process_control_arg (20): /* -comment, -com */ 242 rst_control.comment = "1"b; 243 goto end_process_control_arg; 244 245 process_control_arg (21): process_control_arg (22): /* -charge_type, -crgtp */ 246 rst_control.charge_type = "1"b; 247 goto end_process_control_arg; 248 249 process_control_arg (23): process_control_arg (24): /* -mode */ 250 rst_control.mode = "1"b; 251 goto end_process_control_arg; 252 253 process_control_arg (25): process_control_arg (26): /* -lock */ 254 rst_control.usage_lock = "1"b; 255 goto end_process_control_arg; 256 257 process_control_arg (27): process_control_arg (28): /* -release_lock, -rll */ 258 rst_control.release_lock = "1"b; 259 goto end_process_control_arg; 260 261 process_control_arg (29): process_control_arg (30): /* -awaiting_clear */ 262 rst_control.awaiting_clear = "1"b; 263 goto end_process_control_arg; 264 265 process_control_arg (31): process_control_arg (32): /* -alloc */ 266 rst_control.user_alloc = "1"b; 267 goto end_process_control_arg; 268 269 process_control_arg (43): process_control_arg (44): /* -all, -a */ 270 rst_control = "1"b; 271 rst_control.given_flags, rst_control.desired_attributes = ""b; 272 /* this is mostly debugging garbage */ 273 goto end_process_control_arg; 274 275 process_control_arg (0): /* normal name */ 276 Resource_count = Resource_count + 1; 277 resource_descriptions.item (Resource_count).name = arg; 278 resource_descriptions.given (Resource_count).name = "1"b; 279 280 end_process_control_arg: 281 end; 282 283 resource_descriptions.n_items = Resource_count; 284 285 if called_as_af then 286 if resource_descriptions.n_items > 1 then call crump (error_table_$badcall, 287 "Only one resource allowed in active function invocation."); 288 if string (rst_control) = ""b then 289 string (rst_control) = rst_control_defaults; /* default, name, attributes, mode, and user_free */ 290 291 if called_as_af then do; 292 j = index (string (rst_control), "1"b); 293 if j = 0 then call crump (error_table_$noarg, "Desired return value not specified."); 294 if j ^= length (string (rst_control)) then 295 if substr (string (rst_control), j+1) ^= ""b then 296 call crump (error_table_$too_many_args, "Cannot return more than one resource property in active function invocation."); 297 end; 298 299 Process (6): /* Status */ 300 if priv_sw then 301 call rcp_admin_$get_status (resource_desc_ptr, registry_dir, code); 302 else call rcp_$get_status (resource_desc_ptr, registry_dir, code); 303 if code ^= 0 then do; 304 305 do i = 1 to resource_descriptions.n_items while (resource_descriptions.item (i).status_code = 0); 306 end; 307 308 if i > resource_descriptions.n_items then 309 call crump (code, "Cannot obtain status from ring 1."); 310 else do; 311 if ^called_as_af then do; 312 call com_err_ (resource_descriptions.item (i).status_code, 313 "resource_status", "^a ^a", resource_descriptions.item (i).type, 314 resource_descriptions.item (i).name); 315 end; 316 else do; 317 call active_fnc_err_ (resource_descriptions.item (i).status_code, 318 "resource_status", "^a ^a", resource_descriptions.item (i).type, 319 resource_descriptions.item (i).name); 320 return_string = ""; 321 goto return_hard; 322 end; 323 end; 324 end; 325 326 else call interpret_resource_desc_ (resource_desc_ptr, 0, "resource_status", 327 string (rst_control), called_as_af, return_string, code); 328 /* ignore code, err msg has already been printed */ 329 end; /* begin block */ 330 331 return; 332 333 crump: proc (code, message); 334 335 dcl code fixed bin (35), 336 message char (*); 337 338 if called_as_af then do; 339 call active_fnc_err_ (code, "resource_status", message, "resource_status"); 340 return_string = ""; 341 end; 342 else call com_err_ (code, "resource_status", message, "resource_status"); 343 goto return_hard; 344 end crump; 345 346 return_hard: return; 347 348 test: entry (newdir); 349 350 dcl newdir char (*) parameter; 351 352 if newdir = "" then registry_dir = ">system_control_1>rcp"; 353 else registry_dir = newdir; 354 return; 355 356 end resource_status; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/06/87 1304.7 resource_status.pl1 >special_ldd>install>MR12.1-1064>resource_status.pl1 93 1 11/20/79 2015.5 rst_control.incl.pl1 >ldd>include>rst_control.incl.pl1 112 2 02/13/79 1715.0 resource_control_desc.incl.pl1 >ldd>include>resource_control_desc.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. Name constant fixed bin(17,0) initial dcl 55 ref 186 Resource_count 000144 automatic fixed bin(17,0) dcl 2-78 set ref 153* 158* 158 160* 160 164 168 171 171 178* 275* 275 277 278 283 acs_path 0(09) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 233* active_fnc_err_ 000076 constant entry external dcl 97 ref 317 339 aim_range 0(07) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 225* al 000100 automatic fixed bin(17,0) dcl 36 set ref 141* 144 144 145 145 155* 156 156 160 182* 188 188 190* 194 195 199 199 277 alp 000102 automatic pointer dcl 36 set ref 138* 141* 182* 190* ap 000104 automatic pointer dcl 36 set ref 141* 144 145 155* 156 156 160 182* 188 188 190* 194 195 199 277 arg based char unaligned dcl 90 set ref 144* 145* 156 156 160 188 188 194 195 199* 277 arg_ptr 000106 automatic entry variable dcl 36 set ref 126* 130* 155 arg_ptr_rel 000112 automatic entry variable dcl 36 set ref 127* 131* 141 182 190 attributes 0(04) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 217* awaiting_clear 0(16) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 261* called_as_af 000116 automatic bit(1) dcl 36 set ref 114* 119* 125 285 291 311 326* 338 charge_type 0(12) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 245* code 000117 automatic fixed bin(35,0) dcl 36 in procedure "rst" set ref 118* 119 120 120* 121 121* 141* 142 142* 144* 145 145* 155* 182* 184 184* 190* 191 191* 299* 302* 303 308* 326* code parameter fixed bin(35,0) dcl 335 in procedure "crump" set ref 333 339* 342* com_err_ 000074 constant entry external dcl 97 ref 312 342 comment 0(11) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 241* control_arg_type 000132 automatic fixed bin(17,0) dcl 36 set ref 186* 195* 195* 199 203 cu_$af_arg_ptr 000106 constant entry external dcl 97 ref 126 cu_$af_arg_ptr_rel 000112 constant entry external dcl 97 ref 127 cu_$af_return_arg 000100 constant entry external dcl 97 ref 118 cu_$arg_list_ptr 000102 constant entry external dcl 97 ref 138 cu_$arg_ptr 000104 constant entry external dcl 97 ref 130 cu_$arg_ptr_rel 000110 constant entry external dcl 97 ref 131 desired_attributes 0(05) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 271* empty builtin function dcl 110 ref 168 169 error_table_$badcall 000064 external static fixed bin(35,0) dcl 82 set ref 285* error_table_$badopt 000062 external static fixed bin(35,0) dcl 82 set ref 199* error_table_$noarg 000066 external static fixed bin(35,0) dcl 82 set ref 123* 164* 293* error_table_$not_act_fnc 000070 external static fixed bin(35,0) dcl 82 ref 120 error_table_$too_many_args 000072 external static fixed bin(35,0) dcl 82 set ref 294* explanation 000056 constant char(168) initial unaligned dcl 77 set ref 123* 164* given 270 based structure array level 3 dcl 2-6 given_flags 0(18) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 271* hbound builtin function dcl 110 ref 195 199 i 000130 automatic fixed bin(17,0) dcl 36 set ref 154* 155* 157* 157* 180* 182* 189* 189 190* 305* 305* 308 312 312 312 317 317 317 index builtin function dcl 110 ref 292 interpret_resource_desc_ 000114 constant entry external dcl 97 ref 326 item 2 based structure array level 2 dcl 2-6 set ref 174* j 000131 automatic fixed bin(17,0) dcl 36 set ref 292* 293 294 294 legal_control_args 000130 constant char(24) initial array unaligned dcl 57 ref 195 195 199 length builtin function dcl 110 ref 294 location 0(10) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 237* message parameter char unaligned dcl 335 set ref 333 339* 342* mode 0(13) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 249* n_items 1 based fixed bin(17,0) level 2 dcl 2-6 set ref 171* 174 176 283* 285 305 308 name 12 based char(32) array level 3 in structure "resource_descriptions" dcl 2-6 in procedure "rst" set ref 277* 312* 317* name 270 based bit(1) array level 4 in structure "resource_descriptions" packed unaligned dcl 2-6 in procedure "rst" set ref 278* nargs 000133 automatic fixed bin(17,0) dcl 36 set ref 118* 123 154 180 newdir parameter char unaligned dcl 350 ref 348 352 353 null builtin function dcl 110 ref 132 168 owner 0(08) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 229* potential_aim_range 0(06) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 221* potential_attributes 0(03) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 213* priv_sw 000134 automatic bit(1) dcl 36 set ref 116* 205* 299 rcp_$get_status 000120 constant entry external dcl 106 ref 302 rcp_admin_$get_status 000122 constant entry external dcl 106 ref 299 registry_dir 000010 internal static char(168) initial unaligned dcl 51 set ref 299* 302* 352* 353* release_lock 0(15) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 257* resource_desc_ptr 000142 automatic pointer dcl 2-72 set ref 171* 173 174 176 277 278 283 285 299* 302* 305 305 308 312 312 312 317 317 317 326* resource_desc_version_1 constant fixed bin(17,0) initial dcl 2-75 ref 173 resource_descriptions based structure level 1 dcl 2-6 set ref 168 171 resource_info_$get_primary_type 000116 constant entry external dcl 97 ref 144 resource_type 000120 automatic char(32) unaligned dcl 36 set ref 144* 176 return_len 000140 automatic fixed bin(24,0) dcl 36 set ref 118* 133* 320 326 340 return_ptr 000136 automatic pointer dcl 36 set ref 118* 132* 320 326 340 return_string based varying char dcl 90 set ref 320* 326* 340* rst_control 000141 automatic structure level 1 dcl 1-3 set ref 115* 269* 288 288* 292 294 294 326 326 rst_control_defaults constant bit(36) initial dcl 1-26 ref 288 size builtin function dcl 110 ref 168 stackarea 000100 automatic area dcl 168 set ref 168* 169* 171 status_code 272 based fixed bin(35,0) array level 3 dcl 2-6 set ref 305 312* 317* string builtin function dcl 110 set ref 288 288* 292 294 294 326 326 substr builtin function dcl 110 ref 160 194 294 type 2 based char(32) array level 3 dcl 2-6 set ref 176* 312* 317* uid 0(02) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 209* unspec builtin function dcl 110 set ref 115* 174* usage_lock 0(14) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 253* user_alloc 0(17) 000141 automatic bit(1) level 2 packed unaligned dcl 1-3 set ref 265* version_no based fixed bin(17,0) level 2 dcl 2-6 set ref 173* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. reservation_description based structure level 1 dcl 2-55 resource_res_ptr automatic pointer dcl 2-72 resource_res_version_1 internal static fixed bin(17,0) initial dcl 2-75 NAMES DECLARED BY EXPLICIT CONTEXT. crump 002444 constant entry internal dcl 333 ref 121 123 142 145 164 184 191 199 285 293 294 308 end_process_control_arg 001723 constant label dcl 280 ref 207 211 215 219 223 227 231 235 239 243 247 251 255 259 263 267 273 process_control_arg 000000 constant label array(0:44) dcl 205 ref 203 resource_status 000717 constant entry external dcl 23 return_hard 002403 constant label dcl 346 ref 321 343 rst 000710 constant entry external dcl 23 test 002407 constant entry external dcl 348 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3032 3156 2577 3042 Length 3422 2577 124 230 233 52 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rst 141 external procedure is an external procedure. begin block on line 166 182 begin block uses auto adjustable storage. crump 92 internal procedure is called by several nonquick procedures. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 registry_dir rst STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 166 000100 stackarea begin block on line 166 rst 000100 al rst 000102 alp rst 000104 ap rst 000106 arg_ptr rst 000112 arg_ptr_rel rst 000116 called_as_af rst 000117 code rst 000120 resource_type rst 000130 i rst 000131 j rst 000132 control_arg_type rst 000133 nargs rst 000134 priv_sw rst 000136 return_ptr rst 000140 return_len rst 000141 rst_control rst 000142 resource_desc_ptr rst 000144 Resource_count rst THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. enter_begin_block leave_begin_block call_ent_var call_ext_out_desc call_ext_out call_int_this_desc call_int_other_desc return_mac tra_ext_1 alloc_auto_adj ext_entry ext_entry_desc int_entry_desc index_bs_1_eis op_alloc_ op_empty_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ cu_$af_arg_ptr cu_$af_arg_ptr_rel cu_$af_return_arg cu_$arg_list_ptr cu_$arg_ptr cu_$arg_ptr_rel interpret_resource_desc_ rcp_$get_status rcp_admin_$get_status resource_info_$get_primary_type THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badcall error_table_$badopt error_table_$noarg error_table_$not_act_fnc error_table_$too_many_args LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 000707 114 000724 115 000725 116 000726 118 000727 119 000743 120 000750 121 000754 123 001000 125 001020 126 001023 127 001030 128 001033 130 001034 131 001041 132 001044 133 001046 138 001047 141 001055 142 001075 144 001116 145 001142 153 001163 154 001164 155 001173 156 001207 157 001221 158 001222 159 001223 160 001224 162 001231 164 001233 166 001252 168 001255 169 001270 171 001273 173 001303 174 001305 176 001315 178 001336 180 001340 182 001350 184 001366 186 001411 188 001414 189 001426 190 001427 191 001445 192 001471 194 001472 195 001476 197 001514 199 001516 203 001542 205 001545 207 001547 209 001550 211 001552 213 001553 215 001555 217 001556 219 001560 221 001561 223 001563 225 001564 227 001566 229 001567 231 001571 233 001572 235 001574 237 001575 239 001577 241 001600 243 001602 245 001603 247 001605 249 001606 251 001610 253 001611 255 001613 257 001614 259 001616 261 001617 263 001621 265 001622 267 001624 269 001625 271 001701 273 001705 275 001706 277 001707 278 001720 280 001723 283 001725 285 001730 288 001756 291 001763 292 001766 293 001773 294 002015 299 002051 302 002076 303 002117 305 002122 306 002140 308 002142 311 002167 312 002172 315 002243 317 002244 320 002315 321 002317 324 002322 326 002323 329 002401 331 002402 346 002403 348 002404 352 002422 353 002436 354 002442 333 002443 338 002457 339 002463 340 002523 341 002525 342 002526 343 002566 ----------------------------------------------------------- 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