COMPILATION LISTING OF SEGMENT lib_args_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 02/11/86 1609.7 mst Tue Options: optimize map single_symbol_list 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 11 12 /****^ HISTORY COMMENTS: 13* 1) change(83-10-24,Lippard), approve(), audit(), install(): 14* add -page_length, -all_matches, and -first_match options 15* 2) change(86-01-15,GDixon), approve(86-02-06,MCR7338), 16* audit(86-02-06,Lippard), install(86-02-11,MR12.0-1016): 17* A) Fix bugs in handling of -pn control arg. 18* B) Add standard short names to many control args. 19* END HISTORY COMMENTS */ 20 21 22 lib_args_: procedure (LIBRARY, STARNAME, EXCLUDE, Srequirements, Scontrol, Parg_struc, Acode); 23 24 dcl /* Parameters */ 25 Acode fixed bin(35); /* a status code. (Out) */ 26 27 dcl /* Automatic variables */ 28 Larg fixed bin, /* length of control argument. */ 29 Loperand fixed bin, /* length of control argument operand. */ 30 PSname ptr, /* ptr to switch for name table which overflowed. */ 31 PSreq ptr, /* ptr to a set of requirements switches. */ 32 Parg ptr, /* ptr to control argument. */ 33 Poperand ptr, /* ptr to control argument operand. */ 34 Sallowed bit(1) aligned, /* on if ctl arg requiring operand is allowed. */ 35 Slib bit(1) aligned, /* on if TOO_MANY_LIBS msg already printed once. */ 36 Scontrol_disallowed bit(36) aligned, /* control bits which may NOT be set. */ 37 Srequirements_disallowed bit(72) aligned, /* rqeuirements bits which may NOT be set. */ 38 1 bad_library like LIBRARY, 39 /* storage for bad library names. */ 40 code fixed bin(35), /* an error table code. */ 41 i fixed bin, /* number of input argument being processed. */ 42 j fixed bin, /* index of found control arg in keyword table. */ 43 Sstar bit(1) aligned, /* on if TOO_MANY_STAR msg already printed once. */ 44 name_type char(7) aligned, /* type of name table which has overflowed. */ 45 names_allowed fixed bin; /* number of names allowed in overflowing table. */ 46 47 dcl /* Based Variables */ 48 Sname bit(1) aligned based(PSname), 49 /* on if corresponding name table ovfl msg printed*/ 50 1 Sreq aligned like Svalid_req based(PSreq), 51 /* requirements switches. */ 52 arg char(Larg) based(Parg), 53 /* a control argument. */ 54 operand char(Loperand) based(Poperand); 55 /* a control argument operand. */ 56 57 dcl /* Built-in Functions and Conditions */ 58 (addr, convert, dimension, max, string, substr) 59 builtin, 60 conversion condition; 61 62 dcl /* Entries Called */ 63 check_star_name_$entry entry (char(*), fixed bin(35)), 64 cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin, fixed bin(35), ptr), 65 lib_descriptor_$validate_library 66 entry (char(168) varying, ptr, ptr, fixed bin(35)), 67 lib_error_list_ entry (char(32) varying, ptr, char(32) varying); 68 69 dcl /* Static Variables */ 70 1 Sc_req int static aligned, /* relationship between requirements and control */ 71 2 acl bit(72) init(""b), /* switches. */ 72 2 iacl bit(72), 73 2 object_info bit(72), 74 2 check_ascii bit(72), 75 2 check_archive bit(72), 76 2 all_status bit(72), 77 2 quota bit(72), 78 False bit(1) aligned int static options(constant) init ("0"b), 79 True bit(1) aligned int static options(constant) init ("1"b), 80 (error_table_$bad_arg, 81 error_table_$badstar, 82 error_table_$too_many_names, 83 error_table_$unimplemented_version, 84 error_table_$wrong_no_of_args) 85 fixed bin(35) ext static; 86 87 dcl keyword (66) char (30) varying int static options(constant) init ( 88 "-access ", /* 1 */ 89 "-access_class ", /* 2 */ 90 "-acl ", /* 3 */ 91 "-all ", /* 4 */ 92 "-all_matches ", /* 5 */ 93 "-author ", /* 6 */ 94 "-bit_count ", /* 7 */ 95 "-brief ", /* 8 */ 96 "-chase ", /* 9 */ 97 "-compiler_name ", /* 10 */ 98 "-compiler_options ", /* 11 */ 99 "-compiler_version ", /* 12 */ 100 "-components ", /* 13 */ 101 "-container ", /* 14 */ 102 "-contents ", /* 15 */ 103 "-copy ", /* 16 */ 104 "-cross_reference ", /* 17 */ 105 "-current_length ", /* 18 */ 106 "-date ", /* 19 */ 107 "-date_time_compiled ", /* 20 */ 108 "-date_time_dumped ", /* 21 */ 109 "-date_time_entry_modified ", /* 22 */ 110 "-date_time_contents_modified ", /* 23 */ 111 "-date_time_used ", /* 24 */ 112 "-default ", /* 25 */ 113 "-delete ", /* 26 */ 114 "-descriptor ", /* 27 */ 115 "-device ", /* 28 */ 116 "-entry ", /* 29 */ 117 "-error ", /* 30 */ 118 "-first_match ", /* 31 */ 119 "-footer ", /* 32 */ 120 "-header ", /* 33 */ 121 "-initial_acl ", /* 34 */ 122 "-into ", /* 35 */ 123 "-length ", /* 36 */ 124 "-level ", /* 37 */ 125 "-library ", /* 38 */ 126 "-link_target ", /* 39 */ 127 "-list ", /* 40 */ 128 "-long ", /* 41 */ 129 "-match ", /* 42 */ 130 "-max_length ", /* 43 */ 131 "-mode ", /* 44 */ 132 "-name ", /* 45 */ 133 "-new_line ", /* 46 */ 134 "-no_chase ", /* 47 */ 135 "-no_cross_reference ", /* 48 */ 136 "-non_ascii ", /* 49 */ 137 "-object_info ", /* 50 */ 138 "-offset ", /* 51 */ 139 "-omit ", /* 52 */ 140 "-output_file ", /* 53 */ 141 "-page_length ", /* 54 */ 142 "-pathname ", /* 55 */ 143 "-primary ", /* 56 */ 144 "-quota ", /* 57 */ 145 "-records ", /* 58 */ 146 "-retain ", /* 59 */ 147 "-ring_brackets ", /* 60 */ 148 "-safety ", /* 61 */ 149 "-search_name ", /* 62 */ 150 "-status ", /* 63 */ 151 "-time ", /* 64 */ 152 "-type ", /* 65 */ 153 "-unique_id "); /* 66 */ 154 155 dcl key_ab (47) char(6) int static options(constant) init ( 156 "-acc ", /* 2 */ 157 "-a ", /* 4 */ 158 "-amch ", /* 5 */ 159 "-at ", /* 6 */ 160 "-bc ", /* 7 */ 161 "-bf ", /* 8 */ 162 "-comp ", /* 13 */ 163 "-cont ", /* 14 */ 164 "-cp ", /* 16 */ 165 "-cref ", /* 17 */ 166 "-dt ", /* 19 */ 167 "-dtc ", /* 20 */ 168 "-dtd ", /* 21 */ 169 "-dtem ", /* 22 */ 170 "-dtcm ", /* 23 */ 171 "-dtu ", /* 24 */ 172 "-dft ", /* 25 */ 173 "-dl ", /* 26 */ 174 "-desc ", /* 27 */ 175 "-dv ", /* 28 */ 176 "-et ", /* 29 */ 177 "-fmch ", /* 31 */ 178 "-fo ", /* 32 */ 179 "-he ", /* 33 */ 180 "-iacl ", /* 34 */ 181 "-ln ", /* 36 */ 182 "-lev ", /* 37 */ 183 "-lb ", /* 38 */ 184 "-ls ", /* 40 */ 185 "-lg ", /* 41 */ 186 "-ml ", /* 43 */ 187 "-md ", /* 44 */ 188 "-nm ", /* 45 */ 189 "-nl ", /* 46 */ 190 "-ncref", /* 48 */ 191 "-ofs ", /* 51 */ 192 "-of ", /* 53 */ 193 "-pl ", /* 54 */ 194 "-pn ", /* 55 */ 195 "-pri ", /* 56 */ 196 "-rec ", /* 58 */ 197 "-ret ", /* 59 */ 198 "-rb ", /* 60 */ 199 "-st ", /* 63 */ 200 "-tm ", /* 64 */ 201 "-tp ", /* 65 */ 202 "-uid "); /* 66 */ 203 204 dcl key_ab_for_key_no (47) fixed bin int static options(constant) init ( 205 /* -acc */ 2, 206 /* -a */ 4, 207 /* -amch */ 5, 208 /* -at */ 6, 209 /* -bc */ 7, 210 /* -bf */ 8, 211 /* -comp */ 13, 212 /* -cont */ 14, 213 /* -cp */ 16, 214 /* -cref */ 17, 215 /* -dt */ 19, 216 /* -dtc */ 20, 217 /* -dtd */ 21, 218 /* -dtem */ 22, 219 /* -dtcm */ 23, 220 /* -dtu */ 24, 221 /* -dft */ 25, 222 /* -dl */ 26, 223 /* -desc */ 27, 224 /* -dv */ 28, 225 /* -et */ 29, 226 /* -fmch */ 31, 227 /* -fo */ 32, 228 /* -he */ 33, 229 /* -iacl */ 34, 230 /* -ln */ 36, 231 /* -lev */ 37, 232 /* -lb */ 38, 233 /* -ls */ 40, 234 /* -lg */ 41, 235 /* -ml */ 43, 236 /* -md */ 44, 237 /* -nm */ 45, 238 /* -nl */ 46, 239 /* -ncref */ 48, 240 /* -ofs */ 51, 241 /* -of */ 53, 242 /* -pl */ 54, 243 /* -pn */ 55, 244 /* -pri */ 56, 245 /* -rec */ 58, 246 /* -ret */ 59, 247 /* -rb */ 60, 248 /* -st */ 63, 249 /* -tm */ 64, 250 /* -tp */ 65, 251 /* -uid */ 66); 252 253 254 /* * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * */ 255 256 257 if Sc_req.acl = ""b then do; /* initialize requirements which force given */ 258 PSreq = addr(Sc_req.acl); /* Scontrol bits on. */ 259 Sreq.acl = True; 260 261 PSreq = addr(Sc_req.iacl); 262 string(Sreq) = ""b; 263 Sreq.iacl = True; 264 265 PSreq = addr(Sc_req.object_info); 266 string(Sreq) = ""b; 267 Sreq.compiler_name = True; 268 Sreq.compiler_options = True; 269 Sreq.compiler_version = True; 270 Sreq.dtc = True; 271 Sreq.object_info = True; 272 273 PSreq = addr(Sc_req.check_ascii); 274 string(Sreq) = ""b; 275 Sreq.not_ascii = True; 276 277 PSreq = addr(Sc_req.check_archive); /* all of these bits must be on in Srequirements */ 278 string(Sreq) = ""b; 279 Sreq.compiler_name = True; /* to cause Sc.check_archive to be turned on. */ 280 Sreq.compiler_options = True; 281 Sreq.compiler_version = True; 282 Sreq.dtc = True; 283 Sreq.entry_bound = True; 284 Sreq.not_ascii = True; 285 Sreq.object_info = True; 286 287 PSreq = addr(Sc_req.all_status); 288 string(Sreq) = ""b; 289 Sreq.aim = True; 290 Sreq.access_class = True; 291 Sreq.author = True; 292 Sreq.bit_count_author = True; 293 Sreq.entry_bound = True; 294 295 PSreq = addr(Sc_req.quota); 296 string(Sreq) = ""b; 297 Sreq.quota = True; 298 end; 299 300 Acode = 0; 301 if arg_struc.version ^= Varg_struc_1 then go to BAD_ARG_STRUC; 302 if ^Sc_init.descriptor then arg_struc.descriptor = ""; 303 /* initialize argument-holding variables. */ 304 if ^Sc_init.footing then arg_struc.footing = ""; 305 if ^Sc_init.heading then arg_struc.heading = ""; 306 if ^Sc_init.output_file then arg_struc.output_file = ""; 307 if ^Sc_init.page_length then arg_struc.page_length = 0; 308 if ^Sc_init.into_path then arg_struc.into_path = ""; 309 if ^Sc_init.time then arg_struc.time = 0; 310 if ^Sc_init.search_names then STARNAME.N = 0; 311 if ^Sc_init.library then LIBRARY.N = 0; 312 EXCLUDE.N = 0; 313 Srequirements = arg_struc.Srequirements_initial; 314 Scontrol = arg_struc.Scontrol_initial; 315 Sc.descriptor = False; 316 Sc.footing = False; 317 Sc.heading = False; 318 Sc.output_file = False; 319 Sc.page_length = False; 320 Sc.into_path = False; 321 Sc.search_names = False; 322 Sc.library = False; 323 Sc.time = False; 324 Poperand = addr(Poperand); /* initialize operand to a null string for use */ 325 Loperand = 0; /* in error messages. */ 326 Slib = False; 327 Sstar = False; 328 Srequirements_disallowed = ^arg_struc.Srequirements_allowed; 329 Scontrol_disallowed = ^arg_struc.Scontrol_allowed; 330 331 do i = arg_struc.Iarg_list to arg_struc.Larg_list; 332 call cu_$arg_ptr_rel (i, Parg, Larg, code, arg_struc.Parg_list); 333 /* get the argument. */ 334 if substr (arg, 1, 1) = "-" then; /* if argument is not a control argument, it must */ 335 else do; /* be a star name. */ 336 Poperand = Parg; 337 Loperand = Larg; 338 Larg = 0; 339 if Sc_allowed.search_names then 340 go to SET_STARNAME; 341 else go to SET_LIBNAME; 342 end; 343 do j = 1 to dimension (key_ab, 1) while (arg ^= key_ab(j)); 344 end; 345 if j > dimension (key_ab, 1) then do; 346 do j = 1 to dimension (keyword, 1) while (arg ^= keyword(j)); 347 end; 348 if j > dimension (keyword, 1) then go to BAD_OPT; 349 end; 350 else j = key_ab_for_key_no (j); 351 go to KEY(j); /* if arg is a valid keyword, process it. */ 352 353 KEY(27): Sallowed = Sc_allowed.descriptor; /* if this is a keyword which requires an operand,*/ 354 go to GET_OPERAND; 355 KEY(32): Sallowed = Sc_allowed.footing; /* then get the next argument. */ 356 go to GET_OPERAND; 357 KEY(33): Sallowed = Sc_allowed.heading; 358 go to GET_OPERAND; 359 KEY(35): Sallowed = Sc_allowed.into_path; 360 go to GET_OPERAND; 361 KEY(38): Sallowed = Sc_allowed.library; 362 go to GET_OPERAND; 363 KEY(53): Sallowed = Sc_allowed.output_file; 364 go to GET_OPERAND; 365 KEY(54): Sallowed = Sc_allowed.page_length; 366 go to GET_OPERAND; 367 KEY(62): Sallowed = Sc_allowed.search_names; 368 go to GET_OPERAND; 369 KEY(64): Sallowed = Sc_allowed.time; 370 go to GET_OPERAND; 371 GET_OPERAND: if i = arg_struc.Larg_list then /* See if there's another arg. It's expected. */ 372 if Sallowed then 373 go to MISSING_ARG; 374 else go to BAD_OPT; 375 i = i + 1; 376 call cu_$arg_ptr_rel (i, Poperand, Loperand, code, arg_struc.Parg_list); 377 /* get the next arg. */ 378 if ^Sallowed then go to BAD_OPT; 379 go to KEY_OPERAND(j); /* process it. */ 380 381 KEY(1): S.mode = True; /* -access (all access attributes required) */ 382 S.rb = True; 383 S.acl = True; 384 Sc.acl = True; 385 S.iacl = True; 386 Sc.iacl = True; 387 S.access_class = True; 388 S.aim = True; 389 S.entry_bound = True; 390 S.safety = True; 391 Sc.all_status = True; 392 go to NEXT_ARG; 393 394 KEY(2): S.access_class = True; /* -access_class */ 395 S.aim = True; 396 Sc.all_status = True; 397 go to NEXT_ARG; 398 399 KEY(3): S.acl = True; /* -acl */ 400 Sc.acl = True; 401 go to NEXT_ARG; 402 403 KEY(4): Srequirements = arg_struc.Srequirements_allowed; 404 if (Srequirements & Sc_req.acl) then /* -all or -a (set all requirements on). */ 405 Sc.acl = True; 406 if (Srequirements & Sc_req.iacl) then Sc.iacl = True; 407 if (Srequirements & Sc_req.object_info) then Sc.object_info = True; 408 if (Srequirements & Sc_req.check_ascii) then Sc.check_ascii = True; 409 if ((Srequirements & Sc_req.check_archive) = Sc_req.check_archive) then 410 Sc.check_archive = True; 411 if (Srequirements & Sc_req.all_status) then Sc.all_status = True; 412 if (Srequirements & Sc_req.quota) then Sc.quota = True; 413 go to NEXT_ARG; 414 415 KEY(5): Sc.first_match = False; /* -all_matches or -amch */ 416 go to NEXT_ARG; 417 418 KEY(6): S.author = True; /* -author or -at */ 419 S.bit_count_author = True; 420 Sc.all_status = True; 421 go to NEXT_ARG; 422 423 KEY(7): S.bit_count = True; /* -bit_count or -bc */ 424 S.msf_indicator = True; 425 go to NEXT_ARG; 426 427 KEY(8): Sc.long = False; /* -brief or -bf */ 428 go to NEXT_ARG; 429 430 KEY(9): Sc.chase = True; /* -chase (links should be chased). */ 431 go to NEXT_ARG; 432 433 KEY(10): S.compiler_name = True; /* -compiler_name */ 434 Sc.object_info = True; 435 go to NEXT_ARG; 436 437 KEY(11): S.compiler_options = True; /* -compiler_options */ 438 Sc.object_info = True; 439 go to NEXT_ARG; 440 441 KEY(12): S.compiler_version = True; /* -compiler_version */ 442 Sc.object_info = True; 443 go to NEXT_ARG; 444 445 KEY(13): Sc.components = True; /* -components or -comp (print all nodes below a */ 446 go to NEXT_ARG; /* parent node) */ 447 448 KEY(14): Sc.container = True; /* -container or -cont (print parent nodes) */ 449 go to NEXT_ARG; 450 451 KEY(15): S.dtc = True; /* -contents (description of entry contents */ 452 S.compiler_version = True; /* is required). */ 453 S.compiler_name = True; 454 S.compiler_options = True; 455 S.object_info = True; 456 Sc.object_info = True; 457 S.not_ascii = True; 458 Sc.check_ascii = True; 459 S.entry_bound = True; 460 Sc.all_status = True; 461 Sc.check_archive = True; 462 go to NEXT_ARG; 463 464 KEY(16): S.copy = True; /* -copy or -cp (copy switch setting reqd). */ 465 go to NEXT_ARG; 466 467 KEY(17): S.cross_ref = True; /* -cross_reference or -cref. */ 468 go to NEXT_ARG; 469 470 KEY(18): S.current_length = True; /* -current_length */ 471 go to NEXT_ARG; 472 473 KEY(19): S.dtm = True; /* -date or -dt (all storage system dates reqd). */ 474 S.dtu = True; 475 S.dtem = True; 476 S.dtd = True; 477 S.dtc = True; 478 Sc.object_info = True; 479 go to NEXT_ARG; 480 481 KEY(20): S.dtc = True; /* -date_time_compiled or -dtc */ 482 Sc.object_info = True; 483 go to NEXT_ARG; 484 485 KEY(21): S.dtd = True; /* -date_time_dumped or -dtd */ 486 go to NEXT_ARG; 487 488 KEY(22): S.dtem = True; /* -date_time_entry_modified or -dtem */ 489 go to NEXT_ARG; 490 491 KEY(23): S.dtm = True; /* -date_time_contents_modified or -dtcm */ 492 go to NEXT_ARG; 493 494 KEY(24): S.dtu = True; /* -date_time_used or -dtu */ 495 go to NEXT_ARG; 496 497 KEY(25): Sc.default = True; /* -default or -dft (default info required for */ 498 go to NEXT_ARG; /* each entry, according to library search pgm,*/ 499 /* in addition to info reqd by control args). */ 500 501 KEY(26): Sc.delete = True; /* -delete of -dl (Library entries to be deleted)*/ 502 go to NEXT_ARG; 503 504 KEY_OPERAND(27): 505 arg_struc.descriptor = operand; /* -descriptor or -desc (use other than */ 506 Sc.descriptor = True; /* default library descriptor.) */ 507 go to NEXT_ARG; 508 509 KEY(28): S.lvid = True; /* -device or -dv */ 510 go to NEXT_ARG; 511 512 KEY(29): Sc.components = False; /* -entry or -et (info about parent or component */ 513 Sc.container = False; /* of matching library entry is not required). */ 514 go to NEXT_ARG; 515 516 KEY(30): S.kids_error = True; /* -error (errors obtaining descendant */ 517 go to NEXT_ARG; /* nodes required). */ 518 519 KEY(31): Sc.first_match = True; /* -first_match or -fmch */ 520 go to NEXT_ARG; 521 522 KEY_OPERAND(32): 523 arg_struc.footing = operand; /* -footer or -fo (set value of footing). */ 524 Sc.footing = True; 525 go to NEXT_ARG; 526 527 KEY_OPERAND(33): 528 arg_struc.heading = operand; /* -header or -he (set value of heading line.) */ 529 Sc.heading = True; 530 go to NEXT_ARG; 531 532 KEY(34): S.iacl = True; /* -initial_acl or -iacl */ 533 Sc.iacl = True; 534 go to NEXT_ARG; 535 536 KEY_OPERAND(35): 537 arg_struc.into_path = operand; /* -into (path into which entries are fetched). */ 538 Sc.into_path = True; 539 go to NEXT_ARG; 540 541 KEY(36): S.records_used = True; /* -length or -ln (all lengths required). */ 542 S.current_length = True; 543 S.bit_count = True; 544 S.msf_indicator = True; 545 S.offset = True; 546 S.max_length = True; 547 S.quota = True; 548 Sc.quota = True; 549 go to NEXT_ARG; 550 551 KEY(37): S.level = True; /* -level or -lev (level number to precede each */ 552 go to NEXT_ARG; /* entry). */ 553 554 KEY_OPERAND(38): /* -library or -lb; store library name. */ 555 SET_LIBNAME: if ^Sc.library then do; 556 LIBRARY.N = 0; /* user wants to override initial value. */ 557 Sc.library = True; 558 end; 559 if LIBRARY.N = dimension(LIBRARY.group,1) then go to TOO_MANY_LIBS; 560 LIBRARY.N = LIBRARY.N + 1; 561 LIBRARY.V(LIBRARY.N) = operand; 562 call check_star_name_$entry (operand, code); 563 if code = error_table_$badstar then do; 564 LIBRARY.N = LIBRARY.N - 1; 565 go to BAD_LIB; /* make sure library name has proper format. */ 566 end; 567 else LIBRARY.C(LIBRARY.N) = code; 568 if LIBRARY.C(LIBRARY.N) = 2 then do; /* if star name is **, make it first name. */ 569 if LIBRARY.C(1) = 2 then LIBRARY.N = max(LIBRARY.N - 1, 1); 570 else do; /* 1st name not already **; swap with Nth name. */ 571 LIBRARY.V(LIBRARY.N) = LIBRARY.V(1); 572 LIBRARY.C(LIBRARY.N) = LIBRARY.C(1); 573 LIBRARY.V(1) = operand; 574 LIBRARY.C(1) = 2; 575 end; 576 end; 577 go to NEXT_ARG; 578 579 KEY(39): S.link_target = True; /* -link_target */ 580 go to NEXT_ARG; 581 582 KEY(40): Sc.list = True; /* -list or -ls (Library entries subject to */ 583 go to NEXT_ARG; /* cleanup are to be listed.) */ 584 585 KEY(41): Sc.long = True; /* -long or -lg */ 586 go to NEXT_ARG; 587 588 KEY(42): S.matching_names = True; /* -match (all matching names required). */ 589 go to NEXT_ARG; 590 591 KEY(43): S.max_length = True; /* -max_length or -ml */ 592 go to NEXT_ARG; 593 594 KEY(44): S.mode = True; /* -mode or -md */ 595 go to NEXT_ARG; 596 597 KEY(45): S.names = True; /* -name or -nm */ 598 go to NEXT_ARG; 599 600 KEY(46): S.new_line = True; /* -new_line or -nl (new-line char to separate */ 601 go to NEXT_ARG; /* major entries. */ 602 603 KEY(47): Sc.chase = False; /* -no_chase */ 604 go to NEXT_ARG; 605 606 KEY(48): S.cross_ref = False; /* -no_cross_reference or -ncref */ 607 go to NEXT_ARG; 608 609 KEY(49): S.not_ascii = True; /* -non_ascii (check for non-ascii segment */ 610 Sc.check_ascii = True; /* required). */ 611 go to NEXT_ARG; 612 613 KEY(50): S.object_info = True; /* -object_info (other compiler attributes */ 614 Sc.object_info = True; /* required). */ 615 go to NEXT_ARG; 616 617 KEY(51): S.offset = True; /* -offset or -ofs (offset of archive comps reqd).*/ 618 go to NEXT_ARG; 619 620 KEY(52): Sc.retain = False; /* -omit (don't retain entries awaiting deletion).*/ 621 go to NEXT_ARG; 622 623 KEY_OPERAND(53): 624 arg_struc.output_file = operand; /* -output_file or -of */ 625 Sc.output_file = True; 626 go to NEXT_ARG; 627 628 KEY_OPERAND(54): /* -page_length or -pl */ 629 on conversion go to BAD_TIME; 630 arg_struc.page_length = convert(arg_struc.page_length, operand); 631 revert conversion; 632 if arg_struc.page_length < 10 | arg_struc.page_length > 120 then go to BAD_TIME; 633 go to NEXT_ARG; 634 635 KEY(55): S.pathname = True; /* -pathname or -pn */ 636 go to NEXT_ARG; 637 638 KEY(56): S.primary_name = True; /* -primary or -pri */ 639 go to NEXT_ARG; 640 641 KEY(57): S.quota = True; /* -quota */ 642 Sc.quota = True; 643 go to NEXT_ARG; 644 645 KEY(58): S.records_used = True; /* -records or -rec */ 646 go to NEXT_ARG; 647 648 KEY(59): Sc.retain = True; /* -retain or -ret (keep nodes awaiting deletion).*/ 649 go to NEXT_ARG; 650 651 KEY(60): S.rb = True; /* -ring_brackets or -rb */ 652 S.entry_bound = True; 653 Sc.all_status = True; 654 go to NEXT_ARG; 655 656 KEY(61): S.safety = True; /* -safety */ 657 go to NEXT_ARG; 658 659 KEY_OPERAND(62): /* -search_name (arg which follows looks */ 660 SET_STARNAME: /* like a keyword, but is really a star name. */ 661 if ^Sc.search_names then do; 662 STARNAME.N = 0; 663 Sc.search_names = True; 664 end; 665 else if STARNAME.N = 1 then /* if a star name of ** has been encountered */ 666 if STARNAME.C(1) = 2 then /* previously, ignore all other star names. */ 667 go to NEXT_ARG; 668 if STARNAME.N = dimension (STARNAME.group,1) then go to TOO_MANY_STAR; 669 STARNAME.N = STARNAME.N + 1; 670 STARNAME.V(STARNAME.N) = operand; 671 call check_star_name_$entry (operand, code); 672 if code = error_table_$badstar then do; 673 STARNAME.N = STARNAME.N - 1; 674 go to BAD_STAR; /* make sure starname name has proper format. */ 675 end; 676 else STARNAME.C(STARNAME.N) = code; 677 if STARNAME.C(STARNAME.N) = 2 then do; /* if this starname is **, then ignore all other */ 678 STARNAME.N = 1; /* star names, and use only this one. */ 679 STARNAME.V(1) = operand; 680 STARNAME.C(1) = 2; 681 end; 682 go to NEXT_ARG; 683 684 KEY(63): S.primary_name = True; /* -status (all info given by status -all). */ 685 S.matching_names = True; 686 S.kids = True; 687 S.kids_error = True; 688 S.type = True; 689 S.copy = True; 690 S.unique_id = True; 691 S.dtem = True; 692 S.dtd = True; 693 S.dtm = True; 694 S.dtu = True; 695 S.link_target = True; 696 S.records_used = True; 697 S.current_length = True; 698 S.msf_indicator = True; 699 S.bit_count = True; 700 S.offset = True; 701 S.lvid = True; 702 S.max_length = True; 703 704 S.author = True; 705 S.bit_count_author = True; 706 Sc.all_status = True; 707 go to NEXT_ARG; 708 709 KEY_OPERAND(64): 710 Sc.time = True; 711 on conversion go to BAD_TIME; /* -time NN or -tm NN */ 712 arg_struc.time = convert(arg_struc.time, operand); 713 revert conversion; 714 if arg_struc.time < 0 then go to BAD_TIME; 715 go to NEXT_ARG; 716 717 KEY(65): S.type = True; /* -type or -tp */ 718 go to NEXT_ARG; 719 720 KEY(66): S.unique_id = True; /* -unique_id or -uid */ 721 go to NEXT_ARG; 722 723 BAD_TIME: revert conversion; 724 go to BAD_OPT; 725 726 NEXT_ARG: if Srequirements & Srequirements_disallowed then do; 727 Srequirements = Srequirements & arg_struc.Srequirements_allowed; 728 BAD_OPT: code = error_table_$bad_arg; 729 BAD_LIB: 730 BAD_STAR: call arg_struc.put_error (code, arg_struc.program, " ^a ^a", arg, operand); 731 if Acode = 0 then Acode = code; 732 end; 733 else if Scontrol & Scontrol_disallowed then do; 734 Scontrol = Scontrol & arg_struc.Scontrol_allowed; 735 go to BAD_OPT; 736 end; 737 Loperand = 0; 738 go to END_LOOP; 739 740 MISSING_ARG: call arg_struc.put_error (error_table_$wrong_no_of_args, arg_struc.program, " 741 The ^a control argument requires an operand.", arg); 742 if Acode = 0 then Acode = error_table_$wrong_no_of_args; 743 go to END_LOOP; 744 745 TOO_MANY_LIBS: name_type = "Library"; 746 names_allowed = dimension(LIBRARY.group, 1); 747 PSname = addr(Slib); 748 go to TOO_MANY; 749 TOO_MANY_STAR: name_type = "Search"; 750 names_allowed = dimension(STARNAME.group, 1); 751 PSname = addr(Sstar); 752 753 TOO_MANY: if Sname then 754 call arg_struc.put_error (error_table_$too_many_names, arg_struc.program, " 755 ^a name ^a ^a ignored.", name_type, arg, operand); 756 else do; 757 Sname = True; 758 call arg_struc.put_error (error_table_$too_many_names, arg_struc.program, " 759 ^a name storage exceeded; only ^d names can be given. 760 ^a ^a ignored.", name_type, names_allowed, arg, operand); 761 if Acode = 0 then Acode = error_table_$too_many_names; 762 end; 763 go to END_LOOP; 764 765 END_LOOP: end; 766 767 /* mark args requiring operand as present if */ 768 /* arg given, or if default value given. */ 769 Sc.descriptor = Sc.descriptor | Sc_init.descriptor; 770 Sc.footing = Sc.footing | Sc_init.footing; 771 Sc.heading = Sc.heading | Sc_init.heading; 772 Sc.output_file = Sc.output_file | Sc_init.output_file; 773 Sc.page_length = Sc.page_length | Sc_init.page_length; 774 Sc.into_path = Sc.into_path | Sc_init.into_path; 775 Sc.search_names = Sc.search_names | Sc_init.search_names; 776 Sc.library = Sc.library | Sc_init.library; 777 Sc.time = Sc.time | Sc_init.time; 778 779 if LIBRARY.N > 0 then do; /* validate the library names. */ 780 call lib_descriptor_$validate_library (arg_struc.descriptor, addr(LIBRARY), addr(bad_library), code); 781 if bad_library.N > 0 then do; 782 call arg_struc.put_error (error_table_$bad_arg, arg_struc.program, " 783 Library descriptor '^a' does not define the", arg_struc.descriptor); 784 call lib_error_list_ ("library name", addr(bad_library), arg_struc.program); 785 if Acode = 0 then Acode = error_table_$bad_arg; 786 end; 787 else if code ^= 0 then do; 788 call arg_struc.put_error (code, arg_struc.program, " 789 While accessing library descriptor: ^a ", arg_struc.descriptor); 790 if Acode = 0 then Acode = code; 791 end; 792 else if LIBRARY.C(1) = 2 then LIBRARY.N = 1; /* If ** given as library name, ignore all others.*/ 793 end; 794 return; 795 796 797 BAD_ARG_STRUC: 798 call arg_struc.put_error (error_table_$unimplemented_version, "lib_args_", " 799 Version ^d of the library argument structure is not supported.", arg_struc.version); 800 code = error_table_$unimplemented_version; 801 1 1 /* START OF lib_arg_struc_.incl.pl1 * * * * * * * * * * * * * * * * */ 1 2 1 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 4 /* */ 1 5 /* NAME: lib_arg_struc_.incl.pl1 */ 1 6 /* */ 1 7 /* This include segment defines structures used by the library maintenance tools */ 1 8 /* to process their input arguments. These structures are the arguments to the */ 1 9 /* lib_args_ subroutine. */ 1 10 /* */ 1 11 /* STATUS */ 1 12 /* */ 1 13 /* 0) Created on: May 25, 1976 by Gary C. Dixon */ 1 14 /* 1) Modified: October 24, 1983 by Jim Lippard to add page_length */ 1 15 /* */ 1 16 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 17 1 18 2 1 /* START OF: lib_args_.incl.pl1 * * * * * * * * * * * * * * * * */ 2 2 2 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 4 /* */ 2 5 /* N__a_m_e: lib_args_.incl.pl1 */ 2 6 /* */ 2 7 /* This include segment defines structures for the arrays of library names and search*/ 2 8 /* names used by library descriptor commands. This segment, lib_Svalid_req_.incl.pl1, */ 2 9 /* and lib_Scontrol_.incl.pl1 define the complete set of structures required as input */ 2 10 /* to the lib_descriptor_ subroutine. */ 2 11 /* */ 2 12 /* S__t_a_t_u_s */ 2 13 /* */ 2 14 /* 0) Created on: March 1, 1975 by A. J. Scherer */ 2 15 /* 1) Modified on: April 8, 1975 by G. C. Dixon */ 2 16 /* 2) Modified on: May 13, 1976 by G. C. Dixon */ 2 17 /* 3) Modified on: January 17, 1984 by Jim Lippard to make structures aligned. */ 2 18 /* */ 2 19 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 20 2 21 2 22 dcl 1 LIBRARY aligned, /* a structure containing names of libraries to */ 2 23 /* be searched. */ 2 24 2 N fixed bin, /* attribute: number of library names in array. */ 2 25 2 group (100), /* attribute: array of library names */ 2 26 3 V char(32) unal, /* attribute: a library name (value). */ 2 27 3 C fixed bin(35); /* attribute: code from check_star_name_ for */ 2 28 /* this library name. */ 2 29 2 30 dcl 1 STARNAME aligned, /* a structure containing names of library entries*/ 2 31 /* being searched for. */ 2 32 2 N fixed bin, /* attribute: number of starnames in array. */ 2 33 2 group (1000), /* attribute: array of starnames */ 2 34 3 V char(32) unal, /* attribute: a starname (value). */ 2 35 3 C fixed bin(35); /* attribute: code from check_star_name_ for */ 2 36 /* this starname. */ 2 37 2 38 dcl 1 EXCLUDE aligned like STARNAME; 2 39 /* structure containing names of library entries */ 2 40 /* to be excluded from a search. */ 2 41 2 42 /* END OF: lib_args_.incl.pl1 * * * * * * * * * * * * * * * * */ 1 19 1 20 1 21 dcl Parg_struc ptr; /* ptr to the structure described below. */ 1 22 1 23 dcl 1 arg_struc structure based (Parg_struc), 1 24 2 version fixed bin, /* version number (currently 1). */ 1 25 2 program char(32) varying, /* name of calling program. */ 1 26 2 Parg_list ptr, /* ptr to calling program's argument list. */ 1 27 2 Iarg_list fixed bin, /* first arg of calling program's argument list */ 1 28 /* to be processed. */ 1 29 2 Larg_list fixed bin, /* total number of arguments in calling pgm's list*/ 1 30 2 put_error entry options(variable), 1 31 /* program to call to output an error. */ 1 32 2 Srequirements_allowed bit(72) aligned, /* bits on if control argument associated with */ 1 33 /* that bit is acceptable to the program. */ 1 34 2 Scontrol_allowed bit(36) aligned, /* bits on if control operation associated with */ 1 35 /* that bit is acceptable to the program. */ 1 36 2 Srequirements_initial bit(72) aligned, /* bits on indicating initial settings for */ 1 37 /* Srequirements. */ 1 38 2 Scontrol_initial bit(36) aligned, /* bits on indicating initial settings for */ 1 39 /* Scontrol. */ 1 40 2 descriptor char(168) varying, /* name of library descriptor to be used. */ 1 41 2 footing char(45) varying, /* footing to be used on output pages. */ 1 42 2 heading char(120) varying, /* heading to be used on 1st output page. */ 1 43 2 into_path char(168) varying, /* path into which library entries to be fetched. */ 1 44 2 output_file char(168) varying, /* path of output file to be written. */ 1 45 2 page_length fixed bin, /* length of output page */ 1 46 2 time fixed bin; /* grace period (in days) for library_cleanup. */ 1 47 dcl 1 Sreq_allowed aligned like Svalid_req based (addr(arg_struc.Srequirements_allowed)); 1 48 /* allowed requirements switches. */ 1 49 dcl 1 Sreq_init aligned like Svalid_req based (addr(arg_struc.Srequirements_initial)); 1 50 /* initial values for requirements switches. */ 1 51 dcl 1 Sc_allowed aligned like Sc based (addr(arg_struc.Scontrol_allowed)); 1 52 /* allowed control switches. */ 1 53 dcl 1 Sc_init aligned like Sc based (addr(arg_struc.Scontrol_initial)); 1 54 /* initial values for control switches. */ 1 55 dcl Varg_struc_1 fixed bin int static init (1); 1 56 1 57 /* END OF lib_arg_struc_.incl.pl1 * * * * * * * * * * * * * * * * */ 802 803 3 1 /* START OF: lib_Svalid_req_.incl.pl1 * * * * * * * * * * * * * * * * */ 3 2 3 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 4 /* */ 3 5 /* N__a_m_e: lib_Svalid_req_.incl.pl1 */ 3 6 /* */ 3 7 /* This include segment defines the switches which request/validate the fields */ 3 8 /* in a status node produced by lib_get_tree_. This segment, lib_Scontrol_.incl.pl1, */ 3 9 /* and lib_args_.incl.pl1 define the complete set of structures required as input to */ 3 10 /* the lib_descriptor_ subroutine. This subroutine is called by all of the library */ 3 11 /* descriptor commands to obtain information about entries in a library. */ 3 12 /* */ 3 13 /* If a switch is on, then the corresponding information in the node is valid, or */ 3 14 /* is requested for output. */ 3 15 /* */ 3 16 /* S__t_a_t_u_s */ 3 17 /* */ 3 18 /* 0) Created on: April 8, 1975 by G. C. Dixon */ 3 19 /* */ 3 20 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 21 3 22 3 23 dcl 1 Svalid_req aligned based, 3 24 2 primary_name bit(1) unal, /* switch: output includes primary name */ 3 25 2 matching_names bit(1) unal, /* switch: output includes matching names */ 3 26 2 names bit(1) unal, /* switch: output includes all names */ 3 27 3 28 2 pathname bit(1) unal, /* switch: output include pathname of node target */ 3 29 2 kids bit(1) unal, /* switch: children nodes (inferior) exist */ 3 30 2 kids_error bit(1) unal, /* switch: error occurred obtaining kid's info */ 3 31 3 32 2 type bit(1) unal, /* switch: type */ 3 33 2 mode bit(1) unal, /* switch: user's access mode to node target */ 3 34 2 safety bit(1) unal, /* switch: safety switch setting */ 3 35 3 36 2 aim bit(1) unal, /* switch: Access Isolation Mechanism switches */ 3 37 2 copy bit(1) unal, /* switch: copy-on-write switch setting */ 3 38 2 unique_id bit(1) unal, /* switch: unique identifier */ 3 39 3 40 2 author bit(1) unal, /* switch: author of node target */ 3 41 2 dtem bit(1) unal, /* switch: date attributes modified */ 3 42 2 dtd bit(1) unal, /* switch: date dumped */ 3 43 3 44 2 link_target bit(1) unal, /* switch: target pathname of link node */ 3 45 2 dtm bit(1) unal, /* switch: date modified */ 3 46 2 dtu bit(1) unal, /* switch: date used */ 3 47 3 48 2 rb bit(1) unal, /* switch: ring brackets */ 3 49 2 access_class bit(1) unal, /* switch: AIM access class */ 3 50 2 records_used bit(1) unal, /* switch: records used */ 3 51 3 52 2 current_length bit(1) unal, /* switch: current length */ 3 53 2 max_length bit(1) unal, /* switch: maximum length */ 3 54 2 msf_indicator bit(1) unal, /* switch: count of MSF components. */ 3 55 3 56 2 bit_count bit(1) unal, /* switch: bit count */ 3 57 2 bit_count_author bit(1) unal, /* switch: bit count author. */ 3 58 2 offset bit(1) unal, /* switch: offset from segment base */ 3 59 3 60 2 entry_bound bit(1) unal, /* switch: call limit for gate node */ 3 61 2 lvid bit(1) unal, /* switch: logical volume id */ 3 62 2 pvid bit(1) unal, /* switch: physical volume id */ 3 63 3 64 2 quota bit(1) unal, /* switch: directory quota information */ 3 65 2 acl bit(1) unal, /* switch: ACL */ 3 66 2 iacl bit(1) unal, /* switch: initial ACLs */ 3 67 3 68 2 dtc bit(1) unal, /* switch: date-time compiled */ 3 69 2 compiler_name bit(1) unal, /* switch: name of compiler */ 3 70 2 compiler_version bit(1) unal, /* switch: compiler version number */ 3 71 3 72 2 compiler_options bit(1) unal, /* switch: compiler options info */ 3 73 2 object_info bit(1) unal, /* switch: other object segment info */ 3 74 2 not_ascii bit(1) unal, /* switch: contents is not printable */ 3 75 3 76 2 user bit(1) unal, /* switch: user-defined node information */ 3 77 2 root_search_proc bit(1) unal, /* switch: root search procedure info. */ 3 78 2 prev_mode bit(1) unal, /* switch: user's previous acces mode set. */ 3 79 2 pad bit(26) unal, 3 80 3 81 2 delete bit(1) unal, /* switch: on (for lcln) if node to be deleted. */ 3 82 3 83 2 cross_ref bit(1) unal, /* switch: cross-reference all names */ 3 84 2 level bit(1) unal, /* switch: output status tree level number */ 3 85 2 new_line bit(1) unal; /* switch: output begins with newline char */ 3 86 3 87 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 88 /* */ 3 89 /* The following declarations define a series of bit strings to be overlaid by */ 3 90 /* structures which are exactly like Svalid_req above, except for their level 1 name. */ 3 91 /* These structures are used throughout the library descriptor commands and subroutines. */ 3 92 /* */ 3 93 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 94 3 95 3 96 dcl 1 S aligned based (addr(Srequirements)) like Svalid_req, 3 97 Srequirements bit(72) aligned; 3 98 3 99 /* END OF: lib_Svalid_req_.incl.pl1 * * * * * * * * * * * * * * * * */ 804 805 4 1 /* START OF: lib_Scontrol_.incl.pl1 * * * * * * * * * * * * * * * * */ 4 2 4 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 4 /* */ 4 5 /* N__a_m_e: lib_Scontrol_.incl.pl1 */ 4 6 /* */ 4 7 /* This include segment defines the control switches used by library descriptor */ 4 8 /* commands and subroutines. These switches control the amount of information which is */ 4 9 /* attached to each node of the tree by lib_get_tree_. This segment, lib_args_.incl.pl1, */ 4 10 /* and lib_Svalid_req_.incl.pl1 define the complete set of structures required as input */ 4 11 /* to the lib_descriptor_ subroutine. */ 4 12 /* */ 4 13 /* S__t_a_t_u_s */ 4 14 /* */ 4 15 /* 0) Created on: April 8, 1975 by G. C. Dixon */ 4 16 /* 1) Modified on: October 24, 1983 by Jim Lippard to add page_length, first_match */ 4 17 /* */ 4 18 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 19 4 20 dcl 1 Sc aligned based (addr (Scontrol)), 4 21 2 acl bit(1) unal, /* switch: return ACL for library entries. */ 4 22 2 all_status bit(1) unal, /* switch: return extra status information. */ 4 23 2 chase bit(1) unal, /* switch: link entries are to be chased. */ 4 24 4 25 2 check_archive bit(1) unal, /* switch: see if contents of entry is archive. */ 4 26 2 check_ascii bit(1) unal, /* switch: see if contents of entry is ascii. */ 4 27 2 components bit(1) unal, /* switch: return info about parent of terminal */ 4 28 /* nodes of the tree, and about all the */ 4 29 /* nodes below the parent. */ 4 30 4 31 2 container bit(1) unal, /* switch: return info about parent of terminal */ 4 32 /* nodes of the tree. */ 4 33 2 default bit(1) unal, /* switch: use default requirement switch settings*/ 4 34 2 iacl bit(1) unal, /* switch: return initial ACLs for library entries*/ 4 35 4 36 2 object_info bit(1) unal, /* switch: return object info for object segments.*/ 4 37 2 quota bit(1) unal, /* switch: return quota information. */ 4 38 2 retain bit(1) unal, /* switch: print information about nodes awaiting */ 4 39 /* deletion. */ 4 40 4 41 2 pad bit(10) unal, 4 42 4 43 2 first_match bit(1) unal, /* switch: stop after first match */ 4 44 2 page_length bit(1) unal, /* switch: page length of output */ 4 45 4 46 2 delete bit(1) unal, /* switch: delete library entries */ 4 47 2 descriptor bit(1) unal, /* switch: library descriptor */ 4 48 2 exclude bit(1) unal, /* switch: exclusion search names. */ 4 49 4 50 2 footing bit(1) unal, /* switch: footing for output pages. */ 4 51 2 heading bit(1) unal, /* switch: heading for 1st output page. */ 4 52 2 into_path bit(1) unal, /* switch: path into which entries are fetched. */ 4 53 4 54 2 library bit(1) unal, /* switch: library names */ 4 55 2 list bit(1) unal, /* switch: list library entries */ 4 56 2 long bit(1) unal, /* switch: long output format required. */ 4 57 4 58 2 output_file bit(1) unal, /* switch: pathname of output file */ 4 59 2 search_names bit(1) unal, /* switch: search names */ 4 60 2 time bit(1) unal, /* switch: grace time for deletion of entries. */ 4 61 Scontrol bit(36) aligned; /* switches: aligned copy of control switches. */ 4 62 4 63 /* END OF: lib_Scontrol_.incl.pl1 * * * * * * * * * * * * * * * * */ 806 807 808 end lib_args_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 02/11/86 1609.7 lib_args_.pl1 >spec>install>1016>lib_args_.pl1 802 1 02/16/84 0928.6 lib_arg_struc_.incl.pl1 >ldd>include>lib_arg_struc_.incl.pl1 1-19 2 02/16/84 0928.6 lib_args_.incl.pl1 >ldd>include>lib_args_.incl.pl1 804 3 02/28/77 1409.3 lib_Svalid_req_.incl.pl1 >ldd>include>lib_Svalid_req_.incl.pl1 806 4 02/16/84 0928.6 lib_Scontrol_.incl.pl1 >ldd>include>lib_Scontrol_.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) Acode parameter fixed bin(35,0) dcl 24 set ref 22 300* 731 731* 742 742* 761 761* 785 785* 790 790* BAD_ARG_STRUC 004552 constant label dcl 797 ref 301 BAD_LIB 004002 constant label dcl 729 ref 565 BAD_OPT 003777 constant label dcl 728 ref 348 374 378 724 735 BAD_STAR 004002 constant label dcl 729 ref 674 BAD_TIME 003762 constant label dcl 723 ref 628 632 711 714 C 11 parameter fixed bin(35,0) array level 3 in structure "LIBRARY" dcl 2-22 in procedure "lib_args_" set ref 567* 568 569 572* 572 574* 792 C 11 parameter fixed bin(35,0) array level 3 in structure "STARNAME" dcl 2-30 in procedure "lib_args_" set ref 665 676* 677 680* END_LOOP 004304 constant label dcl 765 ref 738 743 763 EXCLUDE parameter structure level 1 dcl 2-38 set ref 22 False constant bit(1) initial dcl 69 ref 315 316 317 318 319 320 321 322 323 326 327 415 427 512 513 603 606 620 GET_OPERAND 002404 constant label dcl 371 ref 354 356 358 360 362 364 366 368 370 Iarg_list 14 based fixed bin(17,0) level 2 dcl 1-23 ref 331 KEY 000000 constant label array(66) dcl 353 ref 351 KEY_OPERAND 000102 constant label array(27:64) dcl 504 ref 379 LIBRARY parameter structure level 1 dcl 2-22 set ref 22 780 780 Larg 000100 automatic fixed bin(17,0) dcl 27 set ref 332* 334 337 338* 343 346 729 729 740 740 753 753 758 758 Larg_list 15 based fixed bin(17,0) level 2 dcl 1-23 ref 331 371 Loperand 000101 automatic fixed bin(17,0) dcl 27 set ref 325* 337* 376* 504 522 527 536 561 562 562 573 623 630 670 671 671 679 712 729 729 737* 753 753 758 758 MISSING_ARG 004065 constant label dcl 740 ref 371 N 000120 automatic fixed bin(17,0) level 2 in structure "bad_library" dcl 27 in procedure "lib_args_" set ref 781 N parameter fixed bin(17,0) level 2 in structure "STARNAME" dcl 2-30 in procedure "lib_args_" set ref 310* 662* 665 668 669* 669 670 673* 673 676 677 678* N parameter fixed bin(17,0) level 2 in structure "LIBRARY" dcl 2-22 in procedure "lib_args_" set ref 311* 556* 559 560* 560 561 564* 564 567 568 569* 569 571 572 779 792* N parameter fixed bin(17,0) level 2 in structure "EXCLUDE" dcl 2-38 in procedure "lib_args_" set ref 312* NEXT_ARG 003764 constant label dcl 726 ref 392 397 401 413 416 421 425 428 431 435 439 443 446 449 462 465 468 471 479 483 486 489 492 495 498 502 507 510 514 517 520 525 530 534 539 549 552 577 580 583 586 589 592 595 598 601 604 607 611 615 618 621 626 633 636 639 643 646 649 654 657 665 682 707 715 718 721 PSname 000102 automatic pointer dcl 27 set ref 747* 751* 753 757 PSreq 000104 automatic pointer dcl 27 set ref 258* 259 261* 262 263 265* 266 267 268 269 270 271 273* 274 275 277* 278 279 280 281 282 283 284 285 287* 288 289 290 291 292 293 295* 296 297 Parg 000106 automatic pointer dcl 27 set ref 332* 334 336 343 346 729 740 753 758 Parg_list 12 based pointer level 2 dcl 1-23 set ref 332* 376* Parg_struc parameter pointer dcl 1-21 ref 22 301 302 302 304 304 305 305 306 306 307 307 308 308 309 309 310 311 313 314 328 329 331 331 332 339 353 355 357 359 361 363 365 367 369 371 376 403 504 522 527 536 623 630 630 632 632 712 712 714 727 729 729 734 740 740 753 753 758 758 769 770 771 772 773 774 775 776 777 780 782 782 782 784 788 788 788 797 797 Poperand 000110 automatic pointer dcl 27 set ref 324* 324 336* 376* 504 522 527 536 561 562 573 623 630 670 671 679 712 729 753 758 S based structure level 1 dcl 3-96 SET_LIBNAME 003153 constant label dcl 554 ref 341 SET_STARNAME 003517 constant label dcl 659 ref 339 STARNAME parameter structure level 1 dcl 2-30 set ref 22 Sallowed 000112 automatic bit(1) dcl 27 set ref 353* 355* 357* 359* 361* 363* 365* 367* 369* 371 378 Sc based structure level 1 dcl 4-20 Sc_allowed based structure level 1 dcl 1-51 Sc_init based structure level 1 dcl 1-53 Sc_req 000010 internal static structure level 1 dcl 69 Scontrol parameter bit(36) dcl 4-20 set ref 22 314* 315 316 317 318 319 320 321 322 323 384 386 391 396 400 404 406 407 408 409 411 412 415 420 427 430 434 438 442 445 448 456 458 460 461 478 482 497 501 506 512 513 519 524 529 533 538 548 554 557 582 585 603 610 614 620 625 642 648 653 659 663 706 709 733 734* 734 769 769 770 770 771 771 772 772 773 773 774 774 775 775 776 776 777 777 Scontrol_allowed 24 based bit(36) level 2 dcl 1-23 set ref 329 339 353 355 357 359 361 363 365 367 369 734 Scontrol_disallowed 000114 automatic bit(36) dcl 27 set ref 329* 733 Scontrol_initial 27 based bit(36) level 2 dcl 1-23 set ref 302 304 305 306 307 308 309 310 311 314 769 770 771 772 773 774 775 776 777 Slib 000113 automatic bit(1) dcl 27 set ref 326* 747 Sname based bit(1) dcl 47 set ref 753 757* Sreq based structure level 1 dcl 47 set ref 262* 266* 274* 278* 288* 296* Sreq_allowed based structure level 1 dcl 1-47 Sreq_init based structure level 1 dcl 1-49 Srequirements parameter bit(72) dcl 3-96 set ref 22 313* 381 382 383 385 387 388 389 390 394 395 399 403* 404 406 407 408 409 411 412 418 419 423 424 433 437 441 451 452 453 454 455 457 459 464 467 470 473 474 475 476 477 481 485 488 491 494 509 516 532 541 542 543 544 545 546 547 551 579 588 591 594 597 600 606 609 613 617 635 638 641 645 651 652 656 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 704 705 717 720 726 727* 727 Srequirements_allowed 22 based bit(72) level 2 dcl 1-23 ref 328 403 727 Srequirements_disallowed 000116 automatic bit(72) dcl 27 set ref 328* 726 Srequirements_initial 25 based bit(72) level 2 dcl 1-23 ref 313 Sstar 001730 automatic bit(1) dcl 27 set ref 327* 751 Svalid_req based structure level 1 dcl 3-23 TOO_MANY 004144 constant label dcl 753 ref 748 TOO_MANY_LIBS 004127 constant label dcl 745 ref 559 TOO_MANY_STAR 004136 constant label dcl 749 ref 668 True constant bit(1) initial dcl 69 ref 259 263 267 268 269 270 271 275 279 280 281 282 283 284 285 289 290 291 292 293 297 381 382 383 384 385 386 387 388 389 390 391 394 395 396 399 400 404 406 407 408 409 411 412 418 419 420 423 424 430 433 434 437 438 441 442 445 448 451 452 453 454 455 456 457 458 459 460 461 464 467 470 473 474 475 476 477 478 481 482 485 488 491 494 497 501 506 509 516 519 524 529 532 533 538 541 542 543 544 545 546 547 548 551 557 579 582 585 588 591 594 597 600 609 610 613 614 617 625 635 638 641 642 645 648 651 652 653 656 663 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 704 705 706 709 717 720 757 V 1 parameter char(32) array level 3 in structure "STARNAME" packed unaligned dcl 2-30 in procedure "lib_args_" set ref 670* 679* V 1 parameter char(32) array level 3 in structure "LIBRARY" packed unaligned dcl 2-22 in procedure "lib_args_" set ref 561* 571* 571 573* Varg_struc_1 constant fixed bin(17,0) initial dcl 1-55 ref 301 access_class 0(19) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 387* 394* access_class 0(19) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 290* acl based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 384* 400* 404* acl 0(31) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 259* acl 000010 internal static bit(72) initial level 2 in structure "Sc_req" dcl 69 in procedure "lib_args_" set ref 257 258 404 acl 0(31) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 383* 399* addr builtin function dcl 57 ref 258 261 265 273 277 287 295 302 304 305 306 307 308 309 310 311 315 316 317 318 319 320 321 322 323 324 339 353 355 357 359 361 363 365 367 369 381 382 383 384 385 386 387 388 389 390 391 394 395 396 399 400 404 406 407 408 409 411 412 415 418 419 420 423 424 427 430 433 434 437 438 441 442 445 448 451 452 453 454 455 456 457 458 459 460 461 464 467 470 473 474 475 476 477 478 481 482 485 488 491 494 497 501 506 509 512 513 516 519 524 529 532 533 538 541 542 543 544 545 546 547 548 551 554 557 579 582 585 588 591 594 597 600 603 606 609 610 613 614 617 620 625 635 638 641 642 645 648 651 652 653 656 659 663 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 704 705 706 709 717 720 747 751 769 769 769 770 770 770 771 771 771 772 772 772 773 773 773 774 774 774 775 775 775 776 776 776 777 777 777 780 780 780 780 784 784 aim 0(09) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 388* 395* aim 0(09) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 289* all_status 0(01) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 391* 396* 411* 420* 460* 653* 706* all_status 12 000010 internal static bit(72) level 2 in structure "Sc_req" dcl 69 in procedure "lib_args_" set ref 287 411 arg based char unaligned dcl 47 set ref 334 343 346 729* 740* 753* 758* arg_struc based structure level 1 unaligned dcl 1-23 author 0(12) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 418* 704* author 0(12) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 291* bad_library 000120 automatic structure level 1 unaligned dcl 27 set ref 780 780 784 784 bit_count 0(24) based bit(1) level 2 packed unaligned dcl 3-96 set ref 423* 543* 699* bit_count_author 0(25) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 292* bit_count_author 0(25) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 419* 705* chase 0(02) based bit(1) level 2 packed unaligned dcl 4-20 set ref 430* 603* check_archive 10 000010 internal static bit(72) level 2 in structure "Sc_req" dcl 69 in procedure "lib_args_" set ref 277 409 409 check_archive 0(03) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 409* 461* check_ascii 6 000010 internal static bit(72) level 2 in structure "Sc_req" dcl 69 in procedure "lib_args_" set ref 273 408 check_ascii 0(04) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 408* 458* 610* check_star_name_$entry 000026 constant entry external dcl 62 ref 562 671 code 001725 automatic fixed bin(35,0) dcl 27 set ref 332* 376* 562* 563 567 671* 672 676 728* 729* 731 780* 787 788* 790 800* compiler_name 0(34) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 433* 453* compiler_name 0(34) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 267* 279* compiler_options 1 based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 437* 454* compiler_options 1 based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 268* 280* compiler_version 0(35) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 441* 452* compiler_version 0(35) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 269* 281* components 0(05) based bit(1) level 2 packed unaligned dcl 4-20 set ref 445* 512* container 0(06) based bit(1) level 2 packed unaligned dcl 4-20 set ref 448* 513* conversion 001736 stack reference condition dcl 57 ref 628 631 711 713 723 convert builtin function dcl 57 ref 630 712 copy 0(10) based bit(1) level 2 packed unaligned dcl 3-96 set ref 464* 689* cross_ref 1(33) based bit(1) level 2 packed unaligned dcl 3-96 set ref 467* 606* cu_$arg_ptr_rel 000030 constant entry external dcl 62 ref 332 376 current_length 0(21) based bit(1) level 2 packed unaligned dcl 3-96 set ref 470* 542* 697* default 0(07) based bit(1) level 2 packed unaligned dcl 4-20 set ref 497* delete 0(24) based bit(1) level 2 packed unaligned dcl 4-20 set ref 501* descriptor 0(25) based bit(1) level 2 in structure "Sc_allowed" packed unaligned dcl 1-51 in procedure "lib_args_" ref 353 descriptor 30 based varying char(168) level 2 in structure "arg_struc" dcl 1-23 in procedure "lib_args_" set ref 302* 504* 780* 782* 788* descriptor 0(25) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 315* 506* 769* 769 descriptor 0(25) based bit(1) level 2 in structure "Sc_init" packed unaligned dcl 1-53 in procedure "lib_args_" ref 302 769 dimension builtin function dcl 57 ref 343 345 346 348 559 668 746 750 dtc 0(33) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 451* 477* 481* dtc 0(33) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 270* 282* dtd 0(14) based bit(1) level 2 packed unaligned dcl 3-96 set ref 476* 485* 692* dtem 0(13) based bit(1) level 2 packed unaligned dcl 3-96 set ref 475* 488* 691* dtm 0(16) based bit(1) level 2 packed unaligned dcl 3-96 set ref 473* 491* 693* dtu 0(17) based bit(1) level 2 packed unaligned dcl 3-96 set ref 474* 494* 694* entry_bound 0(27) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 389* 459* 652* entry_bound 0(27) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 283* 293* error_table_$bad_arg 000036 external static fixed bin(35,0) dcl 69 set ref 728 782* 785 error_table_$badstar 000040 external static fixed bin(35,0) dcl 69 ref 563 672 error_table_$too_many_names 000042 external static fixed bin(35,0) dcl 69 set ref 753* 758* 761 error_table_$unimplemented_version 000044 external static fixed bin(35,0) dcl 69 set ref 797* 800 error_table_$wrong_no_of_args 000046 external static fixed bin(35,0) dcl 69 set ref 740* 742 first_match 0(22) based bit(1) level 2 packed unaligned dcl 4-20 set ref 415* 519* footing 0(27) based bit(1) level 2 in structure "Sc_init" packed unaligned dcl 1-53 in procedure "lib_args_" ref 304 770 footing 103 based varying char(45) level 2 in structure "arg_struc" dcl 1-23 in procedure "lib_args_" set ref 304* 522* footing 0(27) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 316* 524* 770* 770 footing 0(27) based bit(1) level 2 in structure "Sc_allowed" packed unaligned dcl 1-51 in procedure "lib_args_" ref 355 group 1 parameter structure array level 2 in structure "LIBRARY" dcl 2-22 in procedure "lib_args_" set ref 559 746 group 1 parameter structure array level 2 in structure "STARNAME" dcl 2-30 in procedure "lib_args_" set ref 668 750 heading 0(28) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 317* 529* 771* 771 heading 120 based varying char(120) level 2 in structure "arg_struc" dcl 1-23 in procedure "lib_args_" set ref 305* 527* heading 0(28) based bit(1) level 2 in structure "Sc_allowed" packed unaligned dcl 1-51 in procedure "lib_args_" ref 357 heading 0(28) based bit(1) level 2 in structure "Sc_init" packed unaligned dcl 1-53 in procedure "lib_args_" ref 305 771 i 001726 automatic fixed bin(17,0) dcl 27 set ref 331* 332* 371 375* 375 376* iacl 0(32) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 263* iacl 2 000010 internal static bit(72) level 2 in structure "Sc_req" dcl 69 in procedure "lib_args_" set ref 261 406 iacl 0(32) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 385* 532* iacl 0(08) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 386* 406* 533* into_path 0(29) based bit(1) level 2 in structure "Sc_init" packed unaligned dcl 1-53 in procedure "lib_args_" ref 308 774 into_path 0(29) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 320* 538* 774* 774 into_path 0(29) based bit(1) level 2 in structure "Sc_allowed" packed unaligned dcl 1-51 in procedure "lib_args_" ref 359 into_path 157 based varying char(168) level 2 in structure "arg_struc" dcl 1-23 in procedure "lib_args_" set ref 308* 536* j 001727 automatic fixed bin(17,0) dcl 27 set ref 343* 343* 345 346* 346* 348 350* 350 351 379 key_ab 000227 constant char(6) initial array unaligned dcl 155 ref 343 343 345 key_ab_for_key_no 000150 constant fixed bin(17,0) initial array dcl 204 ref 350 keyword 000336 constant varying char(30) initial array dcl 87 ref 346 346 348 kids 0(04) based bit(1) level 2 packed unaligned dcl 3-96 set ref 686* kids_error 0(05) based bit(1) level 2 packed unaligned dcl 3-96 set ref 516* 687* level 1(34) based bit(1) level 2 packed unaligned dcl 3-96 set ref 551* lib_args_ 001704 constant entry external dcl 22 lib_descriptor_$validate_library 000032 constant entry external dcl 62 ref 780 lib_error_list_ 000034 constant entry external dcl 62 ref 784 library 0(30) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 322* 554 557* 776* 776 library 0(30) based bit(1) level 2 in structure "Sc_init" packed unaligned dcl 1-53 in procedure "lib_args_" ref 311 776 library 0(30) based bit(1) level 2 in structure "Sc_allowed" packed unaligned dcl 1-51 in procedure "lib_args_" ref 361 link_target 0(15) based bit(1) level 2 packed unaligned dcl 3-96 set ref 579* 695* list 0(31) based bit(1) level 2 packed unaligned dcl 4-20 set ref 582* long 0(32) based bit(1) level 2 packed unaligned dcl 4-20 set ref 427* 585* lvid 0(28) based bit(1) level 2 packed unaligned dcl 3-96 set ref 509* 701* matching_names 0(01) based bit(1) level 2 packed unaligned dcl 3-96 set ref 588* 685* max builtin function dcl 57 ref 569 max_length 0(22) based bit(1) level 2 packed unaligned dcl 3-96 set ref 546* 591* 702* mode 0(07) based bit(1) level 2 packed unaligned dcl 3-96 set ref 381* 594* msf_indicator 0(23) based bit(1) level 2 packed unaligned dcl 3-96 set ref 424* 544* 698* name_type 001732 automatic char(7) dcl 27 set ref 745* 749* 753* 758* names 0(02) based bit(1) level 2 packed unaligned dcl 3-96 set ref 597* names_allowed 001734 automatic fixed bin(17,0) dcl 27 set ref 746* 750* 758* new_line 1(35) based bit(1) level 2 packed unaligned dcl 3-96 set ref 600* not_ascii 1(02) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 275* 284* not_ascii 1(02) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 457* 609* object_info 4 000010 internal static bit(72) level 2 in structure "Sc_req" dcl 69 in procedure "lib_args_" set ref 265 407 object_info 0(09) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 407* 434* 438* 442* 456* 478* 482* 614* object_info 1(01) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 271* 285* object_info 1(01) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 455* 613* offset 0(26) based bit(1) level 2 packed unaligned dcl 3-96 set ref 545* 617* 700* operand based char unaligned dcl 47 set ref 504 522 527 536 561 562* 573 623 630 670 671* 679 712 729* 753* 758* output_file 0(33) based bit(1) level 2 in structure "Sc_init" packed unaligned dcl 1-53 in procedure "lib_args_" ref 306 772 output_file 0(33) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 318* 625* 772* 772 output_file 0(33) based bit(1) level 2 in structure "Sc_allowed" packed unaligned dcl 1-51 in procedure "lib_args_" ref 363 output_file 232 based varying char(168) level 2 in structure "arg_struc" dcl 1-23 in procedure "lib_args_" set ref 306* 623* page_length 0(23) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 319* 773* 773 page_length 0(23) based bit(1) level 2 in structure "Sc_allowed" packed unaligned dcl 1-51 in procedure "lib_args_" ref 365 page_length 0(23) based bit(1) level 2 in structure "Sc_init" packed unaligned dcl 1-53 in procedure "lib_args_" ref 307 773 page_length 305 based fixed bin(17,0) level 2 in structure "arg_struc" dcl 1-23 in procedure "lib_args_" set ref 307* 630* 630 632 632 pathname 0(03) based bit(1) level 2 packed unaligned dcl 3-96 set ref 635* primary_name based bit(1) level 2 packed unaligned dcl 3-96 set ref 638* 684* program 1 based varying char(32) level 2 dcl 1-23 set ref 729* 740* 753* 758* 782* 784* 788* put_error 16 based entry variable level 2 dcl 1-23 ref 729 740 753 758 782 788 797 quota 0(10) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 412* 548* 642* quota 14 000010 internal static bit(72) level 2 in structure "Sc_req" dcl 69 in procedure "lib_args_" set ref 295 412 quota 0(30) based bit(1) level 2 in structure "S" packed unaligned dcl 3-96 in procedure "lib_args_" set ref 547* 641* quota 0(30) based bit(1) level 2 in structure "Sreq" packed unaligned dcl 47 in procedure "lib_args_" set ref 297* rb 0(18) based bit(1) level 2 packed unaligned dcl 3-96 set ref 382* 651* records_used 0(20) based bit(1) level 2 packed unaligned dcl 3-96 set ref 541* 645* 696* retain 0(11) based bit(1) level 2 packed unaligned dcl 4-20 set ref 620* 648* safety 0(08) based bit(1) level 2 packed unaligned dcl 3-96 set ref 390* 656* search_names 0(34) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 321* 659 663* 775* 775 search_names 0(34) based bit(1) level 2 in structure "Sc_init" packed unaligned dcl 1-53 in procedure "lib_args_" ref 310 775 search_names 0(34) based bit(1) level 2 in structure "Sc_allowed" packed unaligned dcl 1-51 in procedure "lib_args_" ref 339 367 string builtin function dcl 57 set ref 262* 266* 274* 278* 288* 296* substr builtin function dcl 57 ref 334 time 0(35) based bit(1) level 2 in structure "Sc" packed unaligned dcl 4-20 in procedure "lib_args_" set ref 323* 709* 777* 777 time 0(35) based bit(1) level 2 in structure "Sc_allowed" packed unaligned dcl 1-51 in procedure "lib_args_" ref 369 time 0(35) based bit(1) level 2 in structure "Sc_init" packed unaligned dcl 1-53 in procedure "lib_args_" ref 309 777 time 306 based fixed bin(17,0) level 2 in structure "arg_struc" dcl 1-23 in procedure "lib_args_" set ref 309* 712* 712 714 type 0(06) based bit(1) level 2 packed unaligned dcl 3-96 set ref 688* 717* unique_id 0(11) based bit(1) level 2 packed unaligned dcl 3-96 set ref 690* 720* version based fixed bin(17,0) level 2 dcl 1-23 set ref 301 797* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5006 5056 4632 5016 Length 5350 4632 50 255 154 16 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME lib_args_ 1194 external procedure is an external procedure. on unit on line 628 64 on unit on unit on line 711 64 on unit STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 Sc_req lib_args_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME lib_args_ 000100 Larg lib_args_ 000101 Loperand lib_args_ 000102 PSname lib_args_ 000104 PSreq lib_args_ 000106 Parg lib_args_ 000110 Poperand lib_args_ 000112 Sallowed lib_args_ 000113 Slib lib_args_ 000114 Scontrol_disallowed lib_args_ 000116 Srequirements_disallowed lib_args_ 000120 bad_library lib_args_ 001725 code lib_args_ 001726 i lib_args_ 001727 j lib_args_ 001730 Sstar lib_args_ 001732 name_type lib_args_ 001734 names_allowed lib_args_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_var_desc call_ext_out_desc call_ext_out return tra_ext enable ext_entry int_entry any_to_any_tr THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. check_star_name_$entry cu_$arg_ptr_rel lib_descriptor_$validate_library lib_error_list_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$badstar error_table_$too_many_names error_table_$unimplemented_version error_table_$wrong_no_of_args LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 22 001676 257 001711 258 001713 259 001715 261 001717 262 001721 263 001724 265 001726 266 001730 267 001733 268 001735 269 001737 270 001741 271 001743 273 001745 274 001747 275 001752 277 001754 278 001756 279 001761 280 001763 281 001765 282 001767 283 001771 284 001773 285 001775 287 001777 288 002001 289 002004 290 002006 291 002010 292 002012 293 002014 295 002016 296 002020 297 002023 300 002025 301 002027 302 002033 304 002042 305 002046 306 002052 307 002056 308 002062 309 002066 310 002072 311 002076 312 002102 313 002103 314 002110 315 002112 316 002114 317 002116 318 002120 319 002122 320 002124 321 002126 322 002130 323 002132 324 002134 325 002136 326 002137 327 002140 328 002141 329 002147 331 002152 332 002161 334 002203 336 002211 337 002212 338 002214 339 002215 341 002223 343 002224 344 002240 345 002242 346 002245 347 002264 348 002266 349 002271 350 002272 351 002274 353 002275 354 002304 355 002305 356 002314 357 002315 358 002324 359 002325 360 002334 361 002335 362 002344 363 002345 364 002354 365 002355 366 002364 367 002365 368 002374 369 002375 370 002403 371 002404 374 002413 375 002414 376 002415 378 002434 379 002436 381 002440 382 002443 383 002445 384 002447 385 002451 386 002453 387 002455 388 002457 389 002461 390 002463 391 002465 392 002467 394 002470 395 002473 396 002475 397 002477 399 002500 400 002503 401 002505 403 002506 404 002516 406 002523 407 002531 408 002537 409 002545 411 002554 412 002562 413 002570 415 002571 416 002574 418 002575 419 002600 420 002602 421 002604 423 002605 424 002610 425 002612 427 002613 428 002616 430 002617 431 002622 433 002623 434 002626 435 002630 437 002631 438 002635 439 002637 441 002640 442 002643 443 002645 445 002646 446 002651 448 002652 449 002655 451 002656 452 002661 453 002663 454 002665 455 002670 456 002672 457 002674 458 002676 459 002700 460 002702 461 002704 462 002706 464 002707 465 002712 467 002713 468 002717 470 002720 471 002723 473 002724 474 002727 475 002731 476 002733 477 002735 478 002737 479 002741 481 002742 482 002745 483 002747 485 002750 486 002753 488 002754 489 002757 491 002760 492 002763 494 002764 495 002767 497 002770 498 002773 501 002774 502 002777 504 003000 506 003014 507 003016 509 003017 510 003022 512 003023 513 003026 514 003030 516 003031 517 003034 519 003035 520 003040 522 003041 524 003055 525 003057 527 003060 529 003074 530 003076 532 003077 533 003102 534 003104 536 003105 538 003121 539 003123 541 003124 542 003127 543 003131 544 003133 545 003135 546 003137 547 003141 548 003143 549 003145 551 003146 552 003152 554 003153 556 003161 557 003162 559 003164 560 003167 561 003170 562 003201 563 003221 564 003225 565 003230 567 003231 568 003237 569 003241 571 003255 572 003261 573 003262 574 003267 577 003271 579 003272 580 003275 582 003276 583 003301 585 003302 586 003305 588 003306 589 003311 591 003312 592 003315 594 003316 595 003321 597 003322 598 003325 600 003326 601 003332 603 003333 604 003336 606 003337 607 003343 609 003344 610 003350 611 003352 613 003353 614 003357 615 003361 617 003362 618 003365 620 003366 621 003371 623 003372 625 003406 626 003410 628 003411 630 003430 631 003443 632 003444 633 003454 635 003455 636 003460 638 003461 639 003464 641 003465 642 003470 643 003472 645 003473 646 003476 648 003477 649 003502 651 003503 652 003506 653 003510 654 003512 656 003513 657 003516 659 003517 662 003525 663 003526 664 003530 665 003531 668 003540 669 003543 670 003544 671 003555 672 003575 673 003601 674 003604 676 003605 677 003613 678 003615 679 003617 680 003625 682 003627 684 003630 685 003633 686 003635 687 003637 688 003641 689 003643 690 003645 691 003647 692 003651 693 003653 694 003655 695 003657 696 003661 697 003663 698 003665 699 003667 700 003671 701 003673 702 003675 704 003677 705 003701 706 003703 707 003705 709 003706 711 003711 712 003730 713 003743 714 003744 715 003751 717 003752 718 003755 720 003756 721 003761 723 003762 724 003763 726 003764 727 003771 728 003777 729 004002 731 004045 732 004052 733 004053 734 004056 735 004062 737 004063 738 004064 740 004065 742 004120 743 004126 745 004127 746 004131 747 004133 748 004135 749 004136 750 004140 751 004142 753 004144 757 004217 758 004221 761 004275 763 004303 765 004304 769 004306 770 004316 771 004323 772 004330 773 004335 774 004342 775 004347 776 004354 777 004361 779 004364 780 004366 781 004407 782 004411 784 004444 785 004471 786 004477 787 004500 788 004502 790 004534 791 004541 792 004542 794 004551 797 004552 800 004606 808 004611 ----------------------------------------------------------- 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