COMPILATION LISTING OF SEGMENT convert_access_audit_flags_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/22/85 1524.7 mst Tue Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 7 /* format: style1,^inddcls,^indnoniterdo,insnl,linecom,indcomtxt */ 8 9 convert_access_audit_flags_$from_string: 10 procedure (a_flag_str, a_flag_bits, a_ec); 11 12 /* format: off */ 13 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 /* */ 15 /* CONVERT_ACCESS_AUDIT_FLAGS_ */ 16 /* */ 17 /* Routine to convert a textual representation of the access audit flags to its bit */ 18 /* string equivalent, or from the bit string to text. */ 19 /* */ 20 /* Entrypoints: */ 21 /* */ 22 /* convert_access_audit_flags_$from_string (char(*), bit(36)aligned, fixed bin(35)) */ 23 /* This entry converts the textual representation of the flags to a */ 24 /* bit string. */ 25 /* */ 26 /* convert_access_audit_flags_$edit_from_string(char(*),bit(36)aligned,fixed bin(35))*/ 27 /* This entry accepts both a textual representation of the flags and a */ 28 /* bit string of flags as input. The bit string is modified according */ 29 /* to the flags specified in the textual representation. */ 30 /* */ 31 /* convert_access_audit_flags_$to_string (char(*), bit(36)aligned, fixed bin(35)) */ 32 /* This entry converts the bit string of audit flags into a textual */ 33 /* representation. */ 34 /* convert_access_audit_flags_$to_string_long (bit(36)aligned, char(*),fixed bin(35))*/ 35 /* This entry converts the bit string of audit flags into a detailed */ 36 /* textual representation where more than one line is used for display. */ 37 /* The character string may be very large (e.g. 1024 chars). */ 38 /* */ 39 /* Flag String Syntax: */ 40 /* */ 41 /* flag-string ::= flag-item [, flag-item] */ 42 /* flag-item ::= object-type-keyword "=" grant-level-keyword "/" deny-level-keyword*/ 43 /* flag-item ::= flag-type-keyword */ 44 /* object-type-keyword = {Short_Object_Names in access_audit_names.incl.pl1} */ 45 /* grant_level_keyword = {Short_Level_Names in access_audit_names.incl.pl1} */ 46 /* flag-type-keyword = {Short_Flag_Names in access_audit_names.incl.pl1} */ 47 /* */ 48 /* Note1: "flags" is a term used a little loosely here. Some flags require more than a */ 49 /* single bit and provide auditing "level" information in respect to granted or denied */ 50 /* operations on a given object. See access_audit_flags.incl.pl1. */ 51 /* */ 52 /* Note2: This program replaces "convert_audit_" which performed the same function for */ 53 /* the pre-MR11 audit flag scheme. */ 54 /* */ 55 /* History: */ 56 /* 84-12-07 EJ Sharpe - changed flag string syntax */ 57 /* 84-11-14 EJ Sharpe - created */ 58 /* */ 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 60 /* format: on */ 61 62 63 /* PARAMETERS */ 64 65 dcl a_flag_str char (*) parameter; 66 dcl a_flag_bits bit (36) aligned parameter; 67 dcl a_ec fixed bin (35) parameter; 68 dcl a_display_str char (*) parameter; 69 dcl a_display_len fixed bin (21); 70 71 72 /* AUTOMATIC */ 73 74 dcl flag_index fixed bin; /* index into flags array */ 75 dcl object_index fixed bin; /* index into object levels array */ 76 dcl start_index fixed bin (21); /* index of first non-blank char in given string */ 77 dcl end_index fixed bin (21); /* index of last non-blank char in given string */ 78 dcl delimiter_index fixed bin (21); /* index of next "=", ",", or "-" */ 79 dcl len fixed bin (21); /* length of text formatted by ioa_ */ 80 dcl object_name_width fixed bin; /* width of object name in displays */ 81 dcl level_name_width fixed bin; /* width of level name in displays */ 82 dcl done bit (1); 83 dcl 1 flags aligned like audit_flags_alt;/* our copy of the flags */ 84 dcl ec fixed bin (35); 85 dcl v_flag_str char (1024) varying; /* we'll build flag string here */ 86 dcl flag_str_len fixed bin (21); /* length of given flags text str */ 87 dcl flag_str_ptr pointer; /* pointer to same... */ 88 dcl flag_substr_len fixed bin (21); /* length of portion unprocessed */ 89 dcl flag_substr_ptr pointer; /* pointer to unprocessed portion */ 90 dcl display_substr_len fixed bin (21); /* length of unused portion of caller's display string */ 91 dcl display_substr_ptr pointer; /* pointer to unused portion */ 92 dcl keyword_len fixed bin (21); /* length of next keyword */ 93 dcl keyword_ptr pointer; /* pointer to the keyword */ 94 95 96 /* BASED */ 97 98 dcl based_flag_str char (flag_str_len) 99 based (flag_str_ptr); /* caller's text string */ 100 dcl based_flag_substr char (flag_substr_len) 101 based (flag_substr_ptr); /* unprocessed portion of caller's text */ 102 dcl based_display_substr char (display_substr_len) 103 based (display_substr_ptr); /* unused portion of caller's text */ 104 dcl based_keyword char (keyword_len) 105 based (keyword_ptr); /* next keyword in caller's text */ 106 dcl char_array (1044480) char (1) unaligned based; 107 108 /* MISC */ 109 110 dcl True bit (1) init ("1"b) int static options (constant); 111 dcl False bit (1) init ("0"b) int static options (constant); 112 113 dcl Display_Object_Format char (32) internal static options (constant) 114 init ("^va ^va ^va"); 115 dcl WhiteSpace char (2) internal static options (constant) 116 init (" "); /* space and tab */ 117 118 dcl error_table_$bad_arg fixed bin (35) external; 119 dcl error_table_$smallarg fixed bin (35) external; 120 121 dcl ioa_$rsnp entry options (variable); 122 123 dcl before builtin; 124 dcl after builtin; 125 dcl lbound builtin; 126 dcl rtrim builtin; 127 dcl translate builtin; 128 dcl unspec builtin; 129 dcl length builtin; 130 dcl index builtin; 131 dcl substr builtin; 132 dcl addr builtin; 133 dcl verify builtin; 134 dcl search builtin; 135 dcl hbound builtin; 136 137 138 /* convert_access_audit_flags_$from_string: entry (a_flag_str, a_flag_bits, a_ec); */ 139 140 unspec (flags) = ""b; 141 goto from_string_join; 142 143 convert_access_audit_flags_$edit_from_string: 144 entry (a_flag_str, a_flag_bits, a_ec); 145 146 unspec (flags) = a_flag_bits; 147 148 from_string_join: 149 150 ec = 0; /* init */ 151 152 flag_str_len = length (a_flag_str); 153 flag_str_ptr = addr (a_flag_str); 154 155 /* avoid using ltrim and rtrim because we don't want to copy the string */ 156 start_index = verify (based_flag_str, WhiteSpace); 157 if start_index > 1 158 then do; /* adjust substr to strip leading spaces */ 159 call move_substr (flag_str_ptr, flag_str_len, start_index - 1); 160 end; 161 else if start_index = 0 162 then do; 163 flag_str_len = 0; /* string is all blank */ 164 end; 165 else /* nothing - no leading spaces */ 166 ; 167 168 end_index = search (based_flag_str, WhiteSpace); /* 1 = "all blank" - can't happen here 169* 0 = "no trailing blanks" */ 170 if end_index > 1 171 then do; 172 flag_str_len = end_index - 1; /* adjust string length to strip trailing blanks */ 173 /* make sure we didn't just hit an embedded blank */ 174 flag_substr_ptr = addr (flag_str_ptr -> char_array (end_index)); 175 /* substr is rest of caller's string */ 176 flag_substr_len = length (a_flag_str) - (start_index + end_index) + 2; 177 if verify (based_flag_substr, WhiteSpace) ^= 0 178 then ec = error_table_$bad_arg; 179 end; 180 else /* nothing - no trailing spaces */ 181 ; 182 183 184 if flag_str_len > 0 & ec = 0 185 then do; 186 flag_substr_ptr = flag_str_ptr; /* we'll start with whole string */ 187 flag_substr_len = flag_str_len; 188 189 done = False; 190 ec = 0; 191 do while (^done & ec = 0); 192 delimiter_index = search (based_flag_substr, ","); 193 if delimiter_index = 1 | delimiter_index = flag_substr_len 194 then do; 195 ec = error_table_$bad_arg; 196 end; 197 else do; 198 keyword_ptr = flag_substr_ptr; /* keyword is at beginning of the next substr */ 199 if delimiter_index = 0 200 then do; /* keyword is rest of string */ 201 keyword_len = flag_substr_len; 202 done = True; /* nothing else in the string */ 203 end; 204 else do; 205 keyword_len = delimiter_index - 1; 206 /* pick off the keyword */ 207 end; 208 if index (based_keyword, "=") ^= 0 209 then do; /* it must be an object type keyword */ 210 211 call process_object_keyword; /* sets flag index */ 212 end; 213 else do; /* it must be an normal flag keyword */ 214 call process_flag_keyword; 215 end; 216 if ^done & ec = 0 217 then call move_substr (flag_substr_ptr, flag_substr_len, keyword_len + 1); 218 end; 219 end /* do while */; 220 end; 221 222 a_ec = ec; 223 if ec = 0 224 then a_flag_bits = unspec (flags); 225 226 return; 227 228 229 convert_access_audit_flags_$to_string: 230 entry (a_flag_bits, a_flag_str, a_ec); 231 232 ec = 0; 233 unspec (flags) = a_flag_bits; 234 v_flag_str = ""; /* init varying string we'll built text in */ 235 236 if check_flag_bits () 237 then do; 238 do object_index = 1 to n_audit_objects; 239 call append_object_level_pair (object_index); 240 end; 241 do flag_index = 1 to n_audit_flags; 242 call append_flag (flag_index); 243 end; 244 if length (v_flag_str) > length (a_flag_str) /* caller give us enough room? */ 245 then ec = error_table_$smallarg; 246 else a_flag_str = v_flag_str; 247 end; 248 else ec = error_table_$bad_arg; 249 250 a_ec = ec; 251 252 return; 253 254 convert_access_audit_flags_$to_string_long: 255 entry (a_flag_bits, a_display_str, a_display_len, a_ec); 256 257 /* we'll build the display right in the caller's string */ 258 ec = 0; 259 unspec (flags) = a_flag_bits; 260 display_substr_len = length (a_display_str); 261 display_substr_ptr = addr (a_display_str); 262 263 if check_flag_bits () 264 then do; 265 call set_object_display_widths; 266 267 len = display_substr_len; 268 if len < 1 269 then goto short_arg; 270 call ioa_$rsnp (rtrim (Display_Object_Format) || "^/", based_display_substr, len, 271 object_name_width, "Object", 272 level_name_width, "Grant Level", 273 level_name_width, "Deny Level"); 274 275 call move_substr (display_substr_ptr, display_substr_len, len); 276 277 do object_index = 1 to n_audit_objects; 278 call display_object_level_pair (object_index); 279 end; 280 281 len = display_substr_len; 282 call ioa_$rsnp ("^/^a", based_display_substr, len, "Audited Events:"); 283 call move_substr (display_substr_ptr, display_substr_len, len); 284 285 do flag_index = 1 to n_audit_flags; 286 call display_flag (flag_index); 287 end; 288 end; 289 else ec = error_table_$bad_arg; 290 291 a_ec = ec; 292 /* caller's display string was built in place */ 293 a_display_len = length (a_display_str) - display_substr_len; 294 295 return; 296 297 short_arg: 298 a_ec = error_table_$smallarg; 299 300 return; 301 302 303 /* Internal Procedures for "FROM STRING" Entry */ 304 305 lowercase: 306 proc (str) returns (char (*)); 307 308 dcl str char (*); 309 310 return (translate (str, "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ")); 311 312 end lowercase; 313 314 315 316 process_flag_keyword: 317 proc (); 318 319 dcl keyword char (32); 320 dcl i fixed bin; 321 dcl found bit (1); 322 dcl switch bit (1); 323 324 /* This procedure examines the current value of the keyword 325* for what event type flag it represents */ 326 327 if keyword_len > length (keyword) 328 then do; 329 ec = error_table_$bad_arg; 330 end; 331 else do; 332 if substr (based_keyword, 1, 1) = "^" 333 then do; 334 switch = False; 335 keyword = lowercase (substr (based_keyword, 2)); 336 end; 337 else do; 338 switch = True; 339 keyword = lowercase (based_keyword); 340 end; 341 found = False; 342 do i = 1 to hbound (Short_Flag_Names, 1) while (^found); 343 if keyword = lowercase (Short_Flag_Names (i)) 344 then do; 345 found = True; 346 addr (flags) -> audit_flags_alt.flags (i) = switch; 347 end; 348 end; 349 if ^found 350 then ec = error_table_$bad_arg; 351 end; 352 353 end process_flag_keyword; 354 355 356 357 process_object_keyword: 358 proc (); 359 360 dcl keyword char (40); 361 dcl i fixed bin; 362 dcl found bit (1); 363 dcl object_index fixed bin; 364 dcl level_index fixed bin (21); 365 dcl based_level_pair char (level_pair_len) based (level_pair_ptr); 366 dcl level_pair_len fixed bin (21); 367 dcl level_pair_ptr pointer; 368 369 if keyword_len > length (keyword) 370 then do; 371 BADARG: 372 ec = error_table_$bad_arg; 373 return; 374 end; 375 else do; 376 level_index = index (based_keyword, "="); /* locate "grant/deny" */ 377 if level_index < 2 /* need something before... */ 378 | level_index >= keyword_len /* ...and after "=" */ 379 then goto BADARG; 380 381 keyword = lowercase (substr (based_keyword, 382 1, level_index - 1)); /* trim "grant/deny" pair, we'll deal with them later */ 383 384 found = False; 385 do i = 1 to hbound (Short_Object_Names, 1) while (^found); 386 if keyword = lowercase (Short_Object_Names (i)) 387 then do; 388 found = True; 389 object_index = i; /* save for process_audit_level_keyword */ 390 end; 391 end; 392 393 if ^found 394 then ec = error_table_$bad_arg; 395 else do; 396 level_pair_ptr = addr (keyword_ptr -> char_array (level_index + 1)); 397 level_pair_len = keyword_len - level_index; 398 call process_level_pair (object_index, based_level_pair); 399 end; 400 401 end; 402 403 end process_object_keyword; 404 405 406 407 408 409 process_level_pair: 410 proc (object_index, level_pair); 411 412 dcl object_index fixed bin parameter; 413 dcl level_pair char (*) parameter; 414 415 dcl level_index fixed bin; 416 dcl found bit (1); 417 dcl grant_key char (32); 418 dcl deny_key char (32); 419 420 if length (level_pair) > length (grant_key) 421 then do; 422 ec = error_table_$bad_arg; 423 end; 424 else if index (level_pair, "/") = 0 425 then do; 426 ec = error_table_$bad_arg; 427 end; 428 else do; 429 grant_key = lowercase (before (level_pair, "/")); 430 deny_key = lowercase (after (level_pair, "/")); 431 432 if grant_key ^= "" 433 then do; 434 found = False; 435 do level_index = lbound (Short_Level_Names, 1) to hbound (Short_Level_Names, 1) while (^found); 436 if grant_key = lowercase (Short_Level_Names (level_index)) 437 then do; 438 found = True; 439 flags.objects (object_index).grant_level = level_index; 440 if object_index = FSOBJ_AUDIT_OBJECT_INDEX 441 & level_index = MODIFY_ACCESS 442 then ec = error_table_$bad_arg; 443 /* should have this level on FSATTR... */ 444 end; 445 end; 446 if ^found 447 then ec = error_table_$bad_arg; 448 end; 449 450 if deny_key ^= "" 451 then do; 452 found = False; 453 do level_index = lbound (Short_Level_Names, 1) to hbound (Short_Level_Names, 1) while (^found); 454 if deny_key = lowercase (Short_Level_Names (level_index)) 455 then do; 456 found = True; 457 flags.objects (object_index).deny_level = level_index; 458 if object_index = FSOBJ_AUDIT_OBJECT_INDEX 459 & level_index = MODIFY_ACCESS 460 then ec = error_table_$bad_arg; 461 /* should have this level on FSATTR... */ 462 end; 463 end; 464 if ^found 465 then ec = error_table_$bad_arg; 466 end; 467 end; 468 469 end process_level_pair; 470 471 472 /* MOVE_SUBSTR - procedure to move a char string pointer to the "right" and adjust the length */ 473 474 move_substr: 475 proc (substr_ptr, substr_len, n_chars); 476 477 dcl substr_ptr pointer parameter; 478 dcl substr_len fixed bin (21) parameter; 479 dcl n_chars fixed bin (21) parameter; 480 dcl char_array (substr_len) char (1) unaligned based; 481 482 substr_ptr = addr (substr_ptr -> char_array (n_chars + 1)); 483 substr_len = substr_len - n_chars; 484 485 return; 486 487 end move_substr; 488 489 490 /* Internal Procedures for "TO STRING" Entries */ 491 492 check_flag_bits: 493 proc () returns (bit (1)); 494 495 /* routine to make sure pad is zero and MODIFY-ACCESS level not specified 496* for file system objects (is legal on file system attributes) */ 497 498 if addr (flags) -> audit_flags.pad ^= ""b 499 then return (False); 500 else if addr (flags) -> audit_flags.objects (FSOBJ_AUDIT_OBJECT_INDEX).deny_level = MODIFY_ACCESS 501 then return (False); 502 else if addr (flags) -> audit_flags.objects (FSOBJ_AUDIT_OBJECT_INDEX).grant_level = MODIFY_ACCESS 503 then return (False); 504 else return (True); 505 506 end check_flag_bits; 507 508 509 510 511 append_object_level_pair: 512 proc (object_index); 513 514 dcl object_index fixed bin parameter; 515 516 if v_flag_str ^= "" 517 then v_flag_str = v_flag_str || ","; 518 519 v_flag_str = v_flag_str || rtrim (Short_Object_Names (object_index)) 520 || "=" 521 || rtrim (Short_Level_Names (flags.objects (object_index).grant_level)) 522 || "/" 523 || rtrim (Short_Level_Names (flags.objects (object_index).deny_level)); 524 525 526 return; 527 528 end append_object_level_pair; 529 530 531 532 append_flag: 533 proc (flag_index); 534 535 dcl flag_index fixed bin parameter; 536 537 if v_flag_str ^= "" 538 then v_flag_str = v_flag_str || ","; 539 if ^addr (flags) -> audit_flags_alt.flags (flag_index) 540 then v_flag_str = v_flag_str || "^"; 541 v_flag_str = v_flag_str || rtrim (Short_Flag_Names (flag_index)); 542 543 return; 544 545 end append_flag; 546 547 548 549 550 set_object_display_widths: 551 proc (); 552 553 dcl i fixed bin; 554 555 /* find longest strings we're going to display */ 556 557 object_name_width = 0; 558 do i = lbound (Long_Object_Names, 1) to hbound (Long_Object_Names, 1); 559 len = length (rtrim (Long_Object_Names (i))); 560 if len > object_name_width 561 then object_name_width = len; 562 end; 563 564 level_name_width = 0; 565 do i = lbound (Long_Level_Names, 1) to hbound (Long_Level_Names, 1); 566 len = length (rtrim (Long_Level_Names (i))); 567 if len > level_name_width 568 then level_name_width = len; 569 end; 570 571 return; 572 573 end set_object_display_widths; 574 575 576 577 578 display_object_level_pair: 579 proc (object_index); 580 581 dcl object_index fixed bin parameter; 582 583 len = display_substr_len; 584 call ioa_$rsnp (Display_Object_Format, based_display_substr, len, 585 object_name_width, Long_Object_Names (object_index), 586 level_name_width, Long_Level_Names (flags.objects (object_index).grant_level), 587 level_name_width, Long_Level_Names (flags.objects (object_index).deny_level)); 588 call move_substr (display_substr_ptr, display_substr_len, len); 589 590 return; 591 592 end display_object_level_pair; 593 594 595 596 597 display_flag: 598 proc (flag_index); 599 600 dcl flag_index fixed bin parameter; 601 602 len = display_substr_len; 603 call ioa_$rsnp ("^[^14t^^^;^15t^]^a", based_display_substr, len, ^flags.flags (flag_index), 604 Long_Flag_Names (flag_index)); 605 call move_substr (display_substr_ptr, display_substr_len, len); 606 607 return; 608 609 end display_flag; 610 1 1 /* begin include file - access_audit_flags.incl.pl1 */ 1 2 1 3 /* NOTE: All changes must be done also to access_audit_flags.incl.alm !!!!!! */ 1 4 1 5 /* Modified 85-01-14 by EJ Sharpe for n_audit_access_types, constants for 1 6* indexing into flags array */ 1 7 /* Modified 85-01-07 by EJ Sharpe for cleanup */ 1 8 /* Modified 84-11-16 by EJ Sharpe to add alternate dcl */ 1 9 1 10 /* The following structure describes the per-process audit 1 11*data which determines which events must be audited. */ 1 12 1 13 dcl 1 audit_flags based aligned, 1 14 2 objects (6) unal, /* n_audit_objects */ 1 15 3 grant_level fixed bin (2) uns unal, 1 16 3 deny_level fixed bin (2) uns unal, 1 17 2 pad bit (7) unal, 1 18 2 admin_ops bit (1) unal, 1 19 2 priv_ops bit (1) unal, 1 20 2 faults bit (1) unal, 1 21 2 cc_1_10 bit (1) unal, /* small channel */ 1 22 2 cc_10_100 bit (1) unal; /* moderate channel */ 1 23 1 24 dcl 1 audit_flags_alt based aligned, 1 25 2 objects (6) unal, /* n_audit_objects */ 1 26 3 grant_level fixed bin (2) uns unal, 1 27 3 deny_level fixed bin (2) uns unal, 1 28 2 pad bit (7) unal, 1 29 2 flags (5) bit (1) unal /* n_audit_flags */; 1 30 1 31 dcl n_audit_objects init (6) 1 32 fixed bin int static options (constant); 1 33 dcl n_audit_flags init (5) 1 34 fixed bin int static options (constant); 1 35 dcl n_audit_access_types init (3) 1 36 fixed bin int static options (constant); 1 37 1 38 /* constants for indexing into the "objects" array */ 1 39 dcl ( 1 40 FSOBJ_AUDIT_OBJECT_INDEX init (1), 1 41 FSATTR_AUDIT_OBJECT_INDEX init (2), 1 42 RCP_AUDIT_OBJECT_INDEX init (3), 1 43 ADMIN_AUDIT_OBJECT_INDEX init (4), 1 44 SPECIAL_AUDIT_OBJECT_INDEX init (5), 1 45 OTHER_AUDIT_OBJECT_INDEX init (6) 1 46 ) fixed bin int static options (constant); 1 47 1 48 /* constants for indexing into the flags array (in the alternate dcl) */ 1 49 dcl ( 1 50 ADMIN_OP_AUDIT_FLAG_INDEX init (1), 1 51 PRIV_OP_AUDIT_FLAG_INDEX init (2), 1 52 FAULTS_AUDIT_FLAG_INDEX init (3), 1 53 CC_1_10_AUDIT_FLAG_INDEX init (4), 1 54 CC_10_100_AUDIT_FLAG_INDEX init (5) 1 55 ) fixed bin int static options (constant); 1 56 1 57 /* constants which define the meaning of the level values / access types */ 1 58 dcl ( 1 59 NONE init (0), 1 60 MODIFY_ACCESS init (1), 1 61 MODIFY init (2), 1 62 READ init (3) 1 63 ) fixed bin (2) uns int static options (constant); 1 64 1 65 /* Note: "MODIFY" implies "MODIFY_ACCESS" as well; 1 66* "READ" implies "MODIFY" and "MODIFY_ACCESS" as well */ 1 67 1 68 /* Note: The size of the metering data in active_hardcore_data is 1 69* dependant upon the number of audit flags and objects. 1 70* Specifically, the number of metering buckets is: 1 71* n_audit_objects*2*n_audit_access_types+n_audit_flags+1 1 72* (the extra "1" is for debugging purposes) */ 1 73 1 74 /* end include file - access_audit_flags.incl.pl1 */ 611 612 613 614 2 1 /* begin include file - access_audit_names.incl.pl1 */ 2 2 2 3 /* Modified 84-11-19 by EJ Sharpe to add "None" as a level name */ 2 4 /* Modified 84-11-30 by EJ Sharpe to split into Long and Short format arrays */ 2 5 2 6 /* The order of the names in these arrays must be the same as the 2 7*ordering of the respective items in the audit_flags structure in 2 8*access_audit_flags.incl.pl1 */ 2 9 2 10 dcl Long_Object_Names (6) char (32) int static options (constant) 2 11 init ( 2 12 "File_System_Object", 2 13 "File_System_Attribute", 2 14 "RCP_Object", 2 15 "Administrative_Object", 2 16 "Special_Object", 2 17 "Other_Object"); 2 18 2 19 dcl Short_Object_Names (6) char (8) int static options (constant) 2 20 init ( 2 21 "fsobj", 2 22 "fsattr", 2 23 "rcp", 2 24 "admin", 2 25 "special", 2 26 "other"); 2 27 2 28 dcl Long_Level_Names (0:3) char (16) int static options (constant) 2 29 init ( 2 30 "No_Audit", 2 31 "Modify_Access", 2 32 "Modify", 2 33 "Read"); 2 34 2 35 dcl Short_Level_Names (0:3) char (2) int static options (constant) 2 36 init ( 2 37 "N", 2 38 "MA", 2 39 "M", 2 40 "R"); 2 41 2 42 dcl Long_Flag_Names (5) char (32) int static options (constant) 2 43 init ( 2 44 "Administrative_Operation", 2 45 "Privileged_Operation", 2 46 "ACV/IPR_Fault", 2 47 "Small_Covert_Channel", /* 1-10 bps */ 2 48 "Moderate_Covert_Channel"); /* 10-100 bps */ 2 49 2 50 dcl Short_Flag_Names (5) char (12) int static options (constant) 2 51 init ( 2 52 "admin_op", 2 53 "priv_op", 2 54 "fault", 2 55 "small_cc", 2 56 "moderate_cc"); 2 57 2 58 /* The order of the names in the following arrays must be the same 2 59*as the ordering of the respective itmes in the event_flags structure 2 60*in access_audit_eventflags.incl.pl1 */ 2 61 2 62 dcl Long_Event_Names (7) char (32) int static options (constant) 2 63 init ( 2 64 "Special_Operation", 2 65 "Operation_Granted", 2 66 "Administrative_Operation", 2 67 "Privileged_Operation", 2 68 "Small_Covert_Channel", 2 69 "Moderate_Covert_Channel", 2 70 "Receiver_On_Covert_Channel"); 2 71 2 72 dcl Short_Event_Names (7) char (12) int static options (constant) 2 73 init ( 2 74 "special_op", 2 75 "granted", 2 76 "admin_op", 2 77 "priv_op", 2 78 "small_cc", 2 79 "moderate_cc", 2 80 "receiver"); 2 81 2 82 /* end include files - access_audit_names.incl.pl1 */ 615 616 617 618 619 end convert_access_audit_flags_$from_string; 620 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/22/85 1313.4 convert_access_audit_flags_.pl1 >spec>temp>41-5>convert_access_audit_flags_.pl1 611 1 01/22/85 1321.6 access_audit_flags.incl.pl1 >spec>temp>41-5>access_audit_flags.incl.pl1 615 2 01/22/85 1321.5 access_audit_names.incl.pl1 >spec>temp>41-5>access_audit_names.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. Display_Object_Format 000206 constant char(32) initial unaligned dcl 113 set ref 270 584* FSOBJ_AUDIT_OBJECT_INDEX constant fixed bin(17,0) initial dcl 1-39 ref 440 458 500 502 False constant bit(1) initial unaligned dcl 111 ref 189 334 341 384 434 452 498 500 502 Long_Flag_Names 000017 constant char(32) initial array unaligned dcl 2-42 set ref 603* Long_Level_Names 000072 constant char(16) initial array unaligned dcl 2-28 set ref 565 565 566 584* 584* Long_Object_Names 000126 constant char(32) initial array unaligned dcl 2-10 set ref 558 558 559 584* MODIFY_ACCESS constant fixed bin(2,0) initial unsigned dcl 1-58 ref 440 458 500 502 Short_Flag_Names 000000 constant char(12) initial array unaligned dcl 2-50 set ref 342 343* 541 Short_Level_Names 000070 constant char(2) initial array unaligned dcl 2-35 set ref 435 435 436* 453 453 454* 519 519 Short_Object_Names 000112 constant char(8) initial array unaligned dcl 2-19 set ref 385 386* 519 True constant bit(1) initial unaligned dcl 110 ref 202 338 345 388 438 456 504 WhiteSpace constant char(2) initial unaligned dcl 115 ref 156 168 177 a_display_len parameter fixed bin(21,0) dcl 69 set ref 254 293* a_display_str parameter char unaligned dcl 68 set ref 254 260 261 293 a_ec parameter fixed bin(35,0) dcl 67 set ref 9 143 222* 229 250* 254 291* 297* a_flag_bits parameter bit(36) dcl 66 set ref 9 143 146 223* 229 233 254 259 a_flag_str parameter char unaligned dcl 65 set ref 9 143 152 153 176 229 244 246* addr builtin function dcl 132 ref 153 174 261 346 396 482 498 500 502 539 after builtin function dcl 124 ref 430 430 audit_flags based structure level 1 dcl 1-13 audit_flags_alt based structure level 1 dcl 1-24 based_display_substr based char unaligned dcl 102 set ref 270* 282* 584* 603* based_flag_str based char unaligned dcl 98 ref 156 168 based_flag_substr based char unaligned dcl 100 ref 177 192 based_keyword based char unaligned dcl 104 set ref 208 332 335 335 339* 376 381 381 based_level_pair based char unaligned dcl 365 set ref 398* before builtin function dcl 123 ref 429 429 char_array based char(1) array unaligned dcl 106 in procedure "convert_access_audit_flags_$from_string" set ref 174 396 char_array based char(1) array unaligned dcl 480 in procedure "move_substr" set ref 482 delimiter_index 000104 automatic fixed bin(21,0) dcl 78 set ref 192* 193 193 199 205 deny_key 000642 automatic char(32) unaligned dcl 418 set ref 430* 450 454 deny_level 0(02) based fixed bin(2,0) array level 3 in structure "audit_flags" packed unsigned unaligned dcl 1-13 in procedure "convert_access_audit_flags_$from_string" ref 500 deny_level 0(02) 000111 automatic fixed bin(2,0) array level 3 in structure "flags" packed unsigned unaligned dcl 83 in procedure "convert_access_audit_flags_$from_string" set ref 457* 519 584 display_substr_len 000524 automatic fixed bin(21,0) dcl 90 set ref 260* 267 270 270 275* 281 282 282 283* 293 583 584 584 588* 602 603 603 605* display_substr_ptr 000526 automatic pointer dcl 91 set ref 261* 270 275* 282 283* 584 588* 603 605* done 000110 automatic bit(1) unaligned dcl 82 set ref 189* 191 202* 216 ec 000112 automatic fixed bin(35,0) dcl 84 set ref 148* 177* 184 190* 191 195* 216 222 223 232* 244* 248* 250 258* 289* 291 329* 349* 371* 393* 422* 426* 440* 446* 458* 464* end_index 000103 automatic fixed bin(21,0) dcl 77 set ref 168* 170 172 174 176 error_table_$bad_arg 000010 external static fixed bin(35,0) dcl 118 ref 177 195 248 289 329 349 371 393 422 426 440 446 458 464 error_table_$smallarg 000012 external static fixed bin(35,0) dcl 119 ref 244 297 flag_index parameter fixed bin(17,0) dcl 535 in procedure "append_flag" ref 532 539 541 flag_index parameter fixed bin(17,0) dcl 600 in procedure "display_flag" ref 597 603 603 flag_index 000100 automatic fixed bin(17,0) dcl 74 in procedure "convert_access_audit_flags_$from_string" set ref 241* 242* 285* 286* flag_str_len 000514 automatic fixed bin(21,0) dcl 86 set ref 152* 156 159* 163* 168 172* 184 187 flag_str_ptr 000516 automatic pointer dcl 87 set ref 153* 156 159* 168 174 186 flag_substr_len 000520 automatic fixed bin(21,0) dcl 88 set ref 176* 177 187* 192 193 201 216* flag_substr_ptr 000522 automatic pointer dcl 89 set ref 174* 177 186* 192 198 216* flags 000111 automatic structure level 1 dcl 83 in procedure "convert_access_audit_flags_$from_string" set ref 140* 146* 223 233* 259* 346 498 500 502 539 flags 0(31) based bit(1) array level 2 in structure "audit_flags_alt" packed unaligned dcl 1-24 in procedure "convert_access_audit_flags_$from_string" set ref 346* 539 flags 0(31) 000111 automatic bit(1) array level 2 in structure "flags" packed unaligned dcl 83 in procedure "convert_access_audit_flags_$from_string" set ref 603 found 000613 automatic bit(1) unaligned dcl 362 in procedure "process_object_keyword" set ref 384* 385 388* 393 found 000567 automatic bit(1) unaligned dcl 321 in procedure "process_flag_keyword" set ref 341* 342 345* 349 found 000631 automatic bit(1) unaligned dcl 416 in procedure "process_level_pair" set ref 434* 435 438* 446 452* 453 456* 464 grant_key 000632 automatic char(32) unaligned dcl 417 set ref 420 429* 432 436 grant_level 000111 automatic fixed bin(2,0) array level 3 in structure "flags" packed unsigned unaligned dcl 83 in procedure "convert_access_audit_flags_$from_string" set ref 439* 519 584 grant_level based fixed bin(2,0) array level 3 in structure "audit_flags" packed unsigned unaligned dcl 1-13 in procedure "convert_access_audit_flags_$from_string" ref 502 hbound builtin function dcl 135 ref 342 385 435 453 558 565 i 000710 automatic fixed bin(17,0) dcl 553 in procedure "set_object_display_widths" set ref 558* 559* 565* 566* i 000612 automatic fixed bin(17,0) dcl 361 in procedure "process_object_keyword" set ref 385* 386 389* i 000566 automatic fixed bin(17,0) dcl 320 in procedure "process_flag_keyword" set ref 342* 343 346* index builtin function dcl 130 ref 208 376 424 ioa_$rsnp 000014 constant entry external dcl 121 ref 270 282 584 603 keyword 000600 automatic char(40) unaligned dcl 360 in procedure "process_object_keyword" set ref 369 381* 386 keyword 000556 automatic char(32) unaligned dcl 319 in procedure "process_flag_keyword" set ref 327 335* 339* 343 keyword_len 000530 automatic fixed bin(21,0) dcl 92 set ref 201* 205* 208 216 327 332 335 335 339 339 369 376 377 381 381 397 keyword_ptr 000532 automatic pointer dcl 93 set ref 198* 208 332 335 335 339 376 381 381 396 lbound builtin function dcl 125 ref 435 453 558 565 len 000105 automatic fixed bin(21,0) dcl 79 set ref 267* 268 270* 275* 281* 282* 283* 559* 560 560 566* 567 567 583* 584* 588* 602* 603* 605* length builtin function dcl 129 ref 152 176 244 244 260 293 327 369 420 420 559 566 level_index 000630 automatic fixed bin(17,0) dcl 415 in procedure "process_level_pair" set ref 435* 436 439 440* 453* 454 457 458* level_index 000615 automatic fixed bin(21,0) dcl 364 in procedure "process_object_keyword" set ref 376* 377 377 381 381 396 397 level_name_width 000107 automatic fixed bin(17,0) dcl 81 set ref 270* 270* 564* 567 567* 584* 584* level_pair parameter char unaligned dcl 413 ref 409 420 424 429 429 430 430 level_pair_len 000616 automatic fixed bin(21,0) dcl 366 set ref 397* 398 398 level_pair_ptr 000620 automatic pointer dcl 367 set ref 396* 398 n_audit_flags constant fixed bin(17,0) initial dcl 1-33 ref 241 285 n_audit_objects constant fixed bin(17,0) initial dcl 1-31 ref 238 277 n_chars parameter fixed bin(21,0) dcl 479 ref 474 482 483 object_index parameter fixed bin(17,0) dcl 514 in procedure "append_object_level_pair" ref 511 519 519 519 object_index 000614 automatic fixed bin(17,0) dcl 363 in procedure "process_object_keyword" set ref 389* 398* object_index 000101 automatic fixed bin(17,0) dcl 75 in procedure "convert_access_audit_flags_$from_string" set ref 238* 239* 277* 278* object_index parameter fixed bin(17,0) dcl 581 in procedure "display_object_level_pair" ref 578 584 584 584 object_index parameter fixed bin(17,0) dcl 412 in procedure "process_level_pair" ref 409 439 440 457 458 object_name_width 000106 automatic fixed bin(17,0) dcl 80 set ref 270* 557* 560 560* 584* objects based structure array level 2 in structure "audit_flags" packed unaligned dcl 1-13 in procedure "convert_access_audit_flags_$from_string" objects 000111 automatic structure array level 2 in structure "flags" packed unaligned dcl 83 in procedure "convert_access_audit_flags_$from_string" pad 0(24) based bit(7) level 2 packed unaligned dcl 1-13 ref 498 rtrim builtin function dcl 126 ref 270 519 519 519 541 559 566 search builtin function dcl 134 ref 168 192 start_index 000102 automatic fixed bin(21,0) dcl 76 set ref 156* 157 159 161 176 str parameter char unaligned dcl 308 ref 305 310 substr builtin function dcl 131 ref 332 335 335 381 381 substr_len parameter fixed bin(21,0) dcl 478 set ref 474 483* 483 substr_ptr parameter pointer dcl 477 set ref 474 482* 482 switch 000570 automatic bit(1) unaligned dcl 322 set ref 334* 338* 346 translate builtin function dcl 127 ref 310 unspec builtin function dcl 128 set ref 140* 146* 223 233* 259* v_flag_str 000113 automatic varying char(1024) dcl 85 set ref 234* 244 246 516 516* 516 519* 519 537 537* 537 539* 539 541* 541 verify builtin function dcl 133 ref 156 177 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ADMIN_AUDIT_OBJECT_INDEX internal static fixed bin(17,0) initial dcl 1-39 ADMIN_OP_AUDIT_FLAG_INDEX internal static fixed bin(17,0) initial dcl 1-49 CC_10_100_AUDIT_FLAG_INDEX internal static fixed bin(17,0) initial dcl 1-49 CC_1_10_AUDIT_FLAG_INDEX internal static fixed bin(17,0) initial dcl 1-49 FAULTS_AUDIT_FLAG_INDEX internal static fixed bin(17,0) initial dcl 1-49 FSATTR_AUDIT_OBJECT_INDEX internal static fixed bin(17,0) initial dcl 1-39 Long_Event_Names internal static char(32) initial array unaligned dcl 2-62 MODIFY internal static fixed bin(2,0) initial unsigned dcl 1-58 NONE internal static fixed bin(2,0) initial unsigned dcl 1-58 OTHER_AUDIT_OBJECT_INDEX internal static fixed bin(17,0) initial dcl 1-39 PRIV_OP_AUDIT_FLAG_INDEX internal static fixed bin(17,0) initial dcl 1-49 RCP_AUDIT_OBJECT_INDEX internal static fixed bin(17,0) initial dcl 1-39 READ internal static fixed bin(2,0) initial unsigned dcl 1-58 SPECIAL_AUDIT_OBJECT_INDEX internal static fixed bin(17,0) initial dcl 1-39 Short_Event_Names internal static char(12) initial array unaligned dcl 2-72 n_audit_access_types internal static fixed bin(17,0) initial dcl 1-35 NAMES DECLARED BY EXPLICIT CONTEXT. BADARG 001420 constant label dcl 371 ref 377 append_flag 002436 constant entry internal dcl 532 ref 242 append_object_level_pair 002241 constant entry internal dcl 511 ref 239 check_flag_bits 002165 constant entry internal dcl 492 ref 236 263 convert_access_audit_flags_$edit_from_string 000332 constant entry external dcl 143 convert_access_audit_flags_$from_string 000307 constant entry external dcl 9 convert_access_audit_flags_$to_string 000577 constant entry external dcl 229 convert_access_audit_flags_$to_string_long 000713 constant entry external dcl 254 display_flag 002711 constant entry internal dcl 597 ref 286 display_object_level_pair 002606 constant entry internal dcl 578 ref 278 from_string_join 000353 constant label dcl 148 ref 141 lowercase 001203 constant entry internal dcl 305 ref 335 339 343 381 386 429 430 436 454 move_substr 002152 constant entry internal dcl 474 ref 159 216 275 283 588 605 process_flag_keyword 001232 constant entry internal dcl 316 ref 214 process_level_pair 001600 constant entry internal dcl 409 ref 398 process_object_keyword 001414 constant entry internal dcl 357 ref 211 set_object_display_widths 002524 constant entry internal dcl 550 ref 265 short_arg 001176 constant label dcl 297 ref 268 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4250 4266 4045 4260 Length 4540 4045 16 236 203 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME convert_access_audit_flags_$from_string 688 external procedure is an external procedure. lowercase 65 internal procedure uses returns(char(*)) or returns(bit(*)), and is called during a stack extension. process_flag_keyword internal procedure shares stack frame of external procedure convert_access_audit_flags_$f process_object_keyword internal procedure shares stack frame of external procedure convert_access_audit_flags_$f process_level_pair internal procedure shares stack frame of external procedure convert_access_audit_flags_$f move_substr internal procedure shares stack frame of external procedure convert_access_audit_flags_$f check_flag_bits internal procedure shares stack frame of external procedure convert_access_audit_flags_$f append_object_level_pair internal procedure shares stack frame of external procedure convert_access_audit_flags_$f append_flag internal procedure shares stack frame of external procedure convert_access_audit_flags_$f set_object_display_widths internal procedure shares stack frame of external procedure convert_access_audit_flags_$f display_object_level_pair internal procedure shares stack frame of external procedure convert_access_audit_flags_$f display_flag internal procedure shares stack frame of external procedure convert_access_audit_flags_$f STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME convert_access_audit_flags_$from_string 000100 flag_index convert_access_audit_flags_$from_string 000101 object_index convert_access_audit_flags_$from_string 000102 start_index convert_access_audit_flags_$from_string 000103 end_index convert_access_audit_flags_$from_string 000104 delimiter_index convert_access_audit_flags_$from_string 000105 len convert_access_audit_flags_$from_string 000106 object_name_width convert_access_audit_flags_$from_string 000107 level_name_width convert_access_audit_flags_$from_string 000110 done convert_access_audit_flags_$from_string 000111 flags convert_access_audit_flags_$from_string 000112 ec convert_access_audit_flags_$from_string 000113 v_flag_str convert_access_audit_flags_$from_string 000514 flag_str_len convert_access_audit_flags_$from_string 000516 flag_str_ptr convert_access_audit_flags_$from_string 000520 flag_substr_len convert_access_audit_flags_$from_string 000522 flag_substr_ptr convert_access_audit_flags_$from_string 000524 display_substr_len convert_access_audit_flags_$from_string 000526 display_substr_ptr convert_access_audit_flags_$from_string 000530 keyword_len convert_access_audit_flags_$from_string 000532 keyword_ptr convert_access_audit_flags_$from_string 000556 keyword process_flag_keyword 000566 i process_flag_keyword 000567 found process_flag_keyword 000570 switch process_flag_keyword 000600 keyword process_object_keyword 000612 i process_object_keyword 000613 found process_object_keyword 000614 object_index process_object_keyword 000615 level_index process_object_keyword 000616 level_pair_len process_object_keyword 000620 level_pair_ptr process_object_keyword 000630 level_index process_level_pair 000631 found process_level_pair 000632 grant_key process_level_pair 000642 deny_key process_level_pair 000710 i set_object_display_widths THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs cat_realloc_cs call_ext_out_desc call_int_this_desc return shorten_stack ext_entry_desc int_entry_desc return_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$rsnp THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$smallarg CONSTANTS 002773 aa 000 001 002 003  002774 aa 004 005 006 007  002775 aa 010 011 012 013  002776 aa 014 015 016 017  002777 aa 020 021 022 023  003000 aa 024 025 026 027  003001 aa 030 031 032 033  003002 aa 034 035 036 037  003003 aa 040 041 042 043 !"# 003004 aa 044 045 046 047 $%&' 003005 aa 050 051 052 053 ()*+ 003006 aa 054 055 056 057 ,-./ 003007 aa 060 061 062 063 0123 003010 aa 064 065 066 067 4567 003011 aa 070 071 072 073 89:; 003012 aa 074 075 076 077 <=>? 003013 aa 100 141 142 143 @abc 003014 aa 144 145 146 147 defg 003015 aa 150 151 152 153 hijk 003016 aa 154 155 156 157 lmno 003017 aa 160 161 162 163 pqrs 003020 aa 164 165 166 167 tuvw 003021 aa 170 171 172 133 xyz[ 003022 aa 134 135 136 137 \]^_ 003023 aa 140 141 142 143 `abc 003024 aa 144 145 146 147 defg 003025 aa 150 151 152 153 hijk 003026 aa 154 155 156 157 lmno 003027 aa 160 161 162 163 pqrs 003030 aa 164 165 166 167 tuvw 003031 aa 170 171 172 173 xyz{ 003032 aa 174 175 176 177 |}~ 003033 aa 200 201 202 203 003034 aa 204 205 206 207 003035 aa 210 211 212 213 003036 aa 214 215 216 217 003037 aa 220 221 222 223 003040 aa 224 225 226 227 003041 aa 230 231 232 233 003042 aa 234 235 236 237 003043 aa 240 241 242 243 003044 aa 244 245 246 247 003045 aa 250 251 252 253 003046 aa 254 255 256 257 003047 aa 260 261 262 263 003050 aa 264 265 266 267 003051 aa 270 271 272 273 003052 aa 274 275 276 277 003053 aa 300 301 302 303 003054 aa 304 305 306 307 003055 aa 310 311 312 313 003056 aa 314 315 316 317 003057 aa 320 321 322 323 003060 aa 324 325 326 327 003061 aa 330 331 332 333 003062 aa 334 335 336 337 003063 aa 340 341 342 343 003064 aa 344 345 346 347 003065 aa 350 351 352 353 003066 aa 354 355 356 357 003067 aa 360 361 362 363 003070 aa 364 365 366 367 003071 aa 370 371 372 373 003072 aa 374 375 376 377 003073 aa 400 401 402 403  003074 aa 404 405 406 407  003075 aa 410 411 412 413  003076 aa 414 415 416 417  003077 aa 420 421 422 423  003100 aa 424 425 426 427  003101 aa 430 431 432 433  003102 aa 434 435 436 437  003103 aa 440 441 442 443 !"# 003104 aa 444 445 446 447 $%&' 003105 aa 450 451 452 453 ()*+ 003106 aa 454 455 456 457 ,-./ 003107 aa 460 461 462 463 0123 003110 aa 464 465 466 467 4567 003111 aa 470 471 472 473 89:; 003112 aa 474 475 476 477 <=>? 003113 aa 500 501 502 503 @ABC 003114 aa 504 505 506 507 DEFG 003115 aa 510 511 512 513 HIJK 003116 aa 514 515 516 517 LMNO 003117 aa 520 521 522 523 PQRS 003120 aa 524 525 526 527 TUVW 003121 aa 530 531 532 533 XYZ[ 003122 aa 534 535 536 537 \]^_ 003123 aa 540 541 542 543 `abc 003124 aa 544 545 546 547 defg 003125 aa 550 551 552 553 hijk 003126 aa 554 555 556 557 lmno 003127 aa 560 561 562 563 pqrs 003130 aa 564 565 566 567 tuvw 003131 aa 570 571 572 573 xyz{ 003132 aa 574 575 576 577 |}~ 003133 aa 600 601 602 603 003134 aa 604 605 606 607 003135 aa 610 611 612 613 003136 aa 614 615 616 617 003137 aa 620 621 622 623 003140 aa 624 625 626 627 003141 aa 630 631 632 633 003142 aa 634 635 636 637 003143 aa 640 641 642 643 003144 aa 644 645 646 647 003145 aa 650 651 652 653 003146 aa 654 655 656 657 003147 aa 660 661 662 663 003150 aa 664 665 666 667 003151 aa 670 671 672 673 003152 aa 674 675 676 677 003153 aa 700 701 702 703 003154 aa 704 705 706 707 003155 aa 710 711 712 713 003156 aa 714 715 716 717 003157 aa 720 721 722 723 003160 aa 724 725 726 727 003161 aa 730 731 732 733 003162 aa 734 735 736 737 003163 aa 740 741 742 743 003164 aa 744 745 746 747 003165 aa 750 751 752 753 003166 aa 754 755 756 757 003167 aa 760 761 762 763 003170 aa 764 765 766 767 003171 aa 770 771 772 773 003172 aa 774 775 776 777 003174 aa 000006000000 003175 aa 000000000000 003176 aa 600000000041 003177 aa 000526000000 003200 aa 600000000041 003201 aa 000524000000 003202 aa 600000000041 003203 aa 000105000000 003204 aa 000002000000 003205 aa 000000000000 003206 aa 600000000041 003207 aa 000100000000 003210 aa 000002000000 003211 aa 000000000000 003212 aa 600000000041 003213 aa 000101000000 003214 aa 000002000000 003215 aa 000000000000 003216 aa 600000000041 003217 aa 000726000000 003220 aa 000006000000 003221 aa 000000000000 003222 aa 600000000041 003223 aa 000522000000 003224 aa 600000000041 003225 aa 000520000000 003226 aa 600000000041 003227 aa 000726000000 003230 aa 000 000 000 000 003231 aa 000 000 000 000 003232 aa 000 000 000 000 003233 aa 000 000 000 000 003234 aa 000 000 000 000 003235 aa 000 000 000 000 003236 aa 000 000 000 000 003237 aa 000 000 000 000 003240 aa 000 000 000 000 003241 aa 000 000 000 000 003242 aa 000 000 000 000 003243 aa 777 000 000 000 003244 aa 000 000 000 000 003245 aa 000 000 000 000 003246 aa 000 000 000 000 003247 aa 000 000 000 000 003250 aa 000 000 000 000 003251 aa 000 000 000 000 003252 aa 000 000 000 000 003253 aa 000 000 000 000 003254 aa 000 000 000 000 003255 aa 000 000 000 000 003256 aa 000 000 000 000 003257 aa 000 000 000 000 003260 aa 000 000 000 000 003261 aa 000 000 000 000 003262 aa 000 000 000 000 003263 aa 000 000 000 000 003264 aa 000 000 000 000 003265 aa 000 000 000 000 003266 aa 000 000 000 000 003267 aa 000 000 000 000 003270 aa 000 000 000 000 003271 aa 000 000 000 000 003272 aa 000 000 000 000 003273 aa 000 000 000 000 003274 aa 000 000 000 000 003275 aa 000 000 000 000 003276 aa 000 000 000 000 003277 aa 000 000 000 000 003300 aa 000 000 000 000 003301 aa 000 000 000 000 003302 aa 000 000 000 000 003303 aa 000 000 000 000 003304 aa 000 000 000 000 003305 aa 000 000 000 000 003306 aa 000 000 000 000 003307 aa 000 000 000 000 003310 aa 000 000 000 000 003311 aa 000 000 000 000 003312 aa 000 000 000 000 003313 aa 000 000 000 000 003314 aa 000 000 000 000 003315 aa 000 000 000 000 003316 aa 000 000 000 000 003317 aa 000 000 000 000 003320 aa 000 000 000 000 003321 aa 000 000 000 000 003322 aa 000 000 000 000 003323 aa 000 000 000 000 003324 aa 000 000 000 000 003325 aa 000 000 000 000 003326 aa 000 000 000 000 003327 aa 000 000 000 000 003330 aa 000 000 000 000 003331 aa 000 000 000 000 003332 aa 000 000 000 000 003333 aa 000 000 000 000 003334 aa 000 000 000 000 003335 aa 000 000 000 000 003336 aa 000 000 000 000 003337 aa 000 000 000 000 003340 aa 000 000 000 000 003341 aa 000 000 000 000 003342 aa 000 000 000 000 003343 aa 000 000 000 000 003344 aa 000 000 000 000 003345 aa 000 000 000 000 003346 aa 000 000 000 000 003347 aa 000 000 000 000 003350 aa 000 000 000 000 003351 aa 000 000 000 000 003352 aa 000 000 000 000 003353 aa 000 000 000 000 003354 aa 000 000 000 000 003355 aa 000 000 000 000 003356 aa 000 000 000 000 003357 aa 000 000 000 000 003360 aa 000 000 000 000 003361 aa 000 000 000 000 003362 aa 000 000 000 000 003363 aa 000 000 000 000 003364 aa 000 000 000 000 003365 aa 000 000 000 000 003366 aa 000 000 000 000 003367 aa 000 000 000 000 003370 aa 000 000 000 000 003371 aa 000 000 000 000 003372 aa 000 000 000 000 003373 aa 000 000 000 000 003374 aa 000 000 000 000 003375 aa 000 000 000 000 003376 aa 000 000 000 000 003377 aa 000 000 000 000 003400 aa 000 000 000 000 003401 aa 000 000 000 000 003402 aa 000 000 000 000 003403 aa 000 000 000 000 003404 aa 000 000 000 000 003405 aa 000 000 000 000 003406 aa 000 000 000 000 003407 aa 000 000 000 000 003410 aa 000 000 000 000 003411 aa 000 000 000 000 003412 aa 000 000 000 000 003413 aa 000 000 000 000 003414 aa 000 000 000 000 003415 aa 000 000 000 000 003416 aa 000 000 000 000 003417 aa 000 000 000 000 003420 aa 000 000 000 000 003421 aa 000 000 000 000 003422 aa 000 000 000 000 003423 aa 000 000 000 000 003424 aa 000 000 000 000 003425 aa 000 000 000 000 003426 aa 000 000 000 000 003427 aa 000 000 000 000 003430 aa 000 000 000 000 003431 aa 000 000 000 000 003432 aa 000 777 000 000 003433 aa 000 000 000 000 003434 aa 000 000 000 000 003435 aa 000 000 000 000 003436 aa 000 000 000 000 003437 aa 000 000 000 000 003440 aa 777 000 000 000 003441 aa 000 000 000 000 003442 aa 000 000 000 000 003443 aa 000 000 000 000 003444 aa 000 000 000 000 003445 aa 000 000 000 000 003446 aa 000 000 000 000 003447 aa 000 000 000 000 003450 aa 000 000 000 000 003451 aa 000 000 000 000 003452 aa 000 000 000 000 003453 aa 000 000 000 000 003454 aa 000 000 000 000 003455 aa 000 000 000 000 003456 aa 000 000 000 000 003457 aa 000 000 000 000 003460 aa 000 000 000 000 003461 aa 000 000 000 000 003462 aa 000 000 000 000 003463 aa 000 000 000 000 003464 aa 000 000 000 000 003465 aa 000 000 000 000 003466 aa 000 000 000 000 003467 aa 000 000 000 000 003470 aa 000 000 000 000 003471 aa 000 000 000 000 003472 aa 000 000 000 000 003473 aa 000 000 000 000 003474 aa 000 000 000 000 003475 aa 000 000 000 000 003476 aa 000 000 000 000 003477 aa 000 000 000 000 003500 aa 000 000 000 000 003501 aa 000 000 000 000 003502 aa 000 000 000 000 003503 aa 000 000 000 000 003504 aa 000 000 000 000 003505 aa 000 000 000 000 003506 aa 000 000 000 000 003507 aa 000 000 000 000 003510 aa 000 000 000 000 003511 aa 000 000 000 000 003512 aa 000 000 000 000 003513 aa 000 000 000 000 003514 aa 000 000 000 000 003515 aa 000 000 000 000 003516 aa 000 000 000 000 003517 aa 000 000 000 000 003520 aa 000 000 000 000 003521 aa 000 000 000 000 003522 aa 000 000 000 000 003523 aa 000 000 000 000 003524 aa 000 000 000 000 003525 aa 000 000 000 000 003526 aa 000 000 000 000 003527 aa 000 000 000 000 003530 aa 000 000 000 000 003531 aa 000 000 000 000 003532 aa 000 000 000 000 003533 aa 000 000 000 000 003534 aa 000 000 000 000 003535 aa 000 000 000 000 003536 aa 000 000 000 000 003537 aa 000 000 000 000 003540 aa 000 000 000 000 003541 aa 000 000 000 000 003542 aa 000 000 000 000 003543 aa 000 000 000 000 003544 aa 000 000 000 000 003545 aa 000 000 000 000 003546 aa 000 000 000 000 003547 aa 000 000 000 000 003550 aa 000 000 000 000 003551 aa 000 000 000 000 003552 aa 000 000 000 000 003553 aa 000 000 000 000 003554 aa 000 000 000 000 003555 aa 000 000 000 000 003556 aa 000 000 000 000 003557 aa 000 000 000 000 003560 aa 000 000 000 000 003561 aa 000 000 000 000 003562 aa 000 000 000 000 003563 aa 000 000 000 000 003564 aa 000 000 000 000 003565 aa 000 000 000 000 003566 aa 000 000 000 000 003567 aa 000 000 000 000 003570 aa 000 000 000 000 003571 aa 000 000 000 000 003572 aa 000 000 000 000 003573 aa 000 000 000 000 003574 aa 000 000 000 000 003575 aa 000 000 000 000 003576 aa 000 000 000 000 003577 aa 000 000 000 000 003600 aa 000 000 000 000 003601 aa 000 000 000 000 003602 aa 000 000 000 000 003603 aa 000 000 000 000 003604 aa 000 000 000 000 003605 aa 000 000 000 000 003606 aa 000 000 000 000 003607 aa 000 000 000 000 003610 aa 000 000 000 000 003611 aa 000 000 000 000 003612 aa 000 000 000 000 003613 aa 000 000 000 000 003614 aa 000 000 000 000 003615 aa 000 000 000 000 003616 aa 000 000 000 000 003617 aa 000 000 000 000 003620 aa 000 000 000 000 003621 aa 000 000 000 000 003622 aa 000 000 000 000 003623 aa 000 000 000 000 003624 aa 000 000 000 000 003625 aa 000 000 000 000 003626 aa 000 000 000 000 003627 aa 000 000 000 000 003630 aa 000006000000 003631 aa 000000000000 003632 aa 600000000041 003633 aa 000516000000 003634 aa 600000000041 003635 aa 000514000000 003636 aa 600000000041 003637 aa 000726000000 003640 aa 777 777 777 777 003641 aa 777 777 777 777 003642 aa 777 000 777 777 003643 aa 777 777 777 777 003644 aa 777 777 777 777 003645 aa 777 777 777 777 003646 aa 777 777 777 777 003647 aa 777 777 777 777 003650 aa 000 777 777 777 003651 aa 777 777 777 777 003652 aa 777 777 777 777 003653 aa 777 777 777 777 003654 aa 777 777 777 777 003655 aa 777 777 777 777 003656 aa 777 777 777 777 003657 aa 777 777 777 777 003660 aa 777 777 777 777 003661 aa 777 777 777 777 003662 aa 777 777 777 777 003663 aa 777 777 777 777 003664 aa 777 777 777 777 003665 aa 777 777 777 777 003666 aa 777 777 777 777 003667 aa 777 777 777 777 003670 aa 777 777 777 777 003671 aa 777 777 777 777 003672 aa 777 777 777 777 003673 aa 777 777 777 777 003674 aa 777 777 777 777 003675 aa 777 777 777 777 003676 aa 777 777 777 777 003677 aa 777 777 777 777 003700 aa 777 777 777 777 003701 aa 777 777 777 777 003702 aa 777 777 777 777 003703 aa 777 777 777 777 003704 aa 777 777 777 777 003705 aa 777 777 777 777 003706 aa 777 777 777 777 003707 aa 777 777 777 777 003710 aa 777 777 777 777 003711 aa 777 777 777 777 003712 aa 777 777 777 777 003713 aa 777 777 777 777 003714 aa 777 777 777 777 003715 aa 777 777 777 777 003716 aa 777 777 777 777 003717 aa 777 777 777 777 003720 aa 777 777 777 777 003721 aa 777 777 777 777 003722 aa 777 777 777 777 003723 aa 777 777 777 777 003724 aa 777 777 777 777 003725 aa 777 777 777 777 003726 aa 777 777 777 777 003727 aa 777 777 777 777 003730 aa 777 777 777 777 003731 aa 777 777 777 777 003732 aa 777 777 777 777 003733 aa 777 777 777 777 003734 aa 777 777 777 777 003735 aa 777 777 777 777 003736 aa 777 777 777 777 003737 aa 777 777 777 777 003740 aa 777 777 777 777 003741 aa 777 777 777 777 003742 aa 777 777 777 777 003743 aa 777 777 777 777 003744 aa 777 777 777 777 003745 aa 777 777 777 777 003746 aa 777 777 777 777 003747 aa 777 777 777 777 003750 aa 777 777 777 777 003751 aa 777 777 777 777 003752 aa 777 777 777 777 003753 aa 777 777 777 777 003754 aa 777 777 777 777 003755 aa 777 777 777 777 003756 aa 777 777 777 777 003757 aa 777 777 777 777 003760 aa 777 777 777 777 003761 aa 777 777 777 777 003762 aa 777 777 777 777 003763 aa 777 777 777 777 003764 aa 777 777 777 777 003765 aa 777 777 777 777 003766 aa 777 777 777 777 003767 aa 777 777 777 777 003770 aa 777 777 777 777 003771 aa 777 777 777 777 003772 aa 777 777 777 777 003773 aa 777 777 777 777 003774 aa 777 777 777 777 003775 aa 777 777 777 777 003776 aa 777 777 777 777 003777 aa 777 777 777 777 004000 aa 777 777 777 777 004001 aa 777 777 777 777 004002 aa 777 777 777 777 004003 aa 777 777 777 777 004004 aa 777 777 777 777 004005 aa 777 777 777 777 004006 aa 777 777 777 777 004007 aa 777 777 777 777 004010 aa 777 777 777 777 004011 aa 777 777 777 777 004012 aa 777 777 777 777 004013 aa 777 777 777 777 004014 aa 777 777 777 777 004015 aa 777 777 777 777 004016 aa 777 777 777 777 004017 aa 777 777 777 777 004020 aa 777 777 777 777 004021 aa 777 777 777 777 004022 aa 777 777 777 777 004023 aa 777 777 777 777 004024 aa 777 777 777 777 004025 aa 777 777 777 777 004026 aa 777 777 777 777 004027 aa 777 777 777 777 004030 aa 777 777 777 777 004031 aa 777 777 777 777 004032 aa 777 777 777 777 004033 aa 777 777 777 777 004034 aa 777 777 777 777 004035 aa 777 777 777 777 004036 aa 777 777 777 777 004037 aa 777 777 777 777 000000 aa 141 144 155 151 admi 000001 aa 156 137 157 160 n_op 000002 aa 040 040 040 040 000003 aa 160 162 151 166 priv 000004 aa 137 157 160 040 _op 000005 aa 040 040 040 040 000006 aa 146 141 165 154 faul 000007 aa 164 040 040 040 t 000010 aa 040 040 040 040 000011 aa 163 155 141 154 smal 000012 aa 154 137 143 143 l_cc 000013 aa 040 040 040 040 000014 aa 155 157 144 145 mode 000015 aa 162 141 164 145 rate 000016 aa 137 143 143 040 _cc 000017 aa 101 144 155 151 Admi 000020 aa 156 151 163 164 nist 000021 aa 162 141 164 151 rati 000022 aa 166 145 137 117 ve_O 000023 aa 160 145 162 141 pera 000024 aa 164 151 157 156 tion 000025 aa 040 040 040 040 000026 aa 040 040 040 040 000027 aa 120 162 151 166 Priv 000030 aa 151 154 145 147 ileg 000031 aa 145 144 137 117 ed_O 000032 aa 160 145 162 141 pera 000033 aa 164 151 157 156 tion 000034 aa 040 040 040 040 000035 aa 040 040 040 040 000036 aa 040 040 040 040 000037 aa 101 103 126 057 ACV/ 000040 aa 111 120 122 137 IPR_ 000041 aa 106 141 165 154 Faul 000042 aa 164 040 040 040 t 000043 aa 040 040 040 040 000044 aa 040 040 040 040 000045 aa 040 040 040 040 000046 aa 040 040 040 040 000047 aa 123 155 141 154 Smal 000050 aa 154 137 103 157 l_Co 000051 aa 166 145 162 164 vert 000052 aa 137 103 150 141 _Cha 000053 aa 156 156 145 154 nnel 000054 aa 040 040 040 040 000055 aa 040 040 040 040 000056 aa 040 040 040 040 000057 aa 115 157 144 145 Mode 000060 aa 162 141 164 145 rate 000061 aa 137 103 157 166 _Cov 000062 aa 145 162 164 137 ert_ 000063 aa 103 150 141 156 Chan 000064 aa 156 145 154 040 nel 000065 aa 040 040 040 040 000066 aa 040 040 040 040 000070 aa 116 040 115 101 N MA 000071 aa 115 040 122 040 M R 000072 aa 116 157 137 101 No_A 000073 aa 165 144 151 164 udit 000074 aa 040 040 040 040 000075 aa 040 040 040 040 000076 aa 115 157 144 151 Modi 000077 aa 146 171 137 101 fy_A 000100 aa 143 143 145 163 cces 000101 aa 163 040 040 040 s 000102 aa 115 157 144 151 Modi 000103 aa 146 171 040 040 fy 000104 aa 040 040 040 040 000105 aa 040 040 040 040 000106 aa 122 145 141 144 Read 000107 aa 040 040 040 040 000110 aa 040 040 040 040 000111 aa 040 040 040 040 000112 aa 146 163 157 142 fsob 000113 aa 152 040 040 040 j 000114 aa 146 163 141 164 fsat 000115 aa 164 162 040 040 tr 000116 aa 162 143 160 040 rcp 000117 aa 040 040 040 040 000120 aa 141 144 155 151 admi 000121 aa 156 040 040 040 n 000122 aa 163 160 145 143 spec 000123 aa 151 141 154 040 ial 000124 aa 157 164 150 145 othe 000125 aa 162 040 040 040 r 000126 aa 106 151 154 145 File 000127 aa 137 123 171 163 _Sys 000130 aa 164 145 155 137 tem_ 000131 aa 117 142 152 145 Obje 000132 aa 143 164 040 040 ct 000133 aa 040 040 040 040 000134 aa 040 040 040 040 000135 aa 040 040 040 040 000136 aa 106 151 154 145 File 000137 aa 137 123 171 163 _Sys 000140 aa 164 145 155 137 tem_ 000141 aa 101 164 164 162 Attr 000142 aa 151 142 165 164 ibut 000143 aa 145 040 040 040 e 000144 aa 040 040 040 040 000145 aa 040 040 040 040 000146 aa 122 103 120 137 RCP_ 000147 aa 117 142 152 145 Obje 000150 aa 143 164 040 040 ct 000151 aa 040 040 040 040 000152 aa 040 040 040 040 000153 aa 040 040 040 040 000154 aa 040 040 040 040 000155 aa 040 040 040 040 000156 aa 101 144 155 151 Admi 000157 aa 156 151 163 164 nist 000160 aa 162 141 164 151 rati 000161 aa 166 145 137 117 ve_O 000162 aa 142 152 145 143 bjec 000163 aa 164 040 040 040 t 000164 aa 040 040 040 040 000165 aa 040 040 040 040 000166 aa 123 160 145 143 Spec 000167 aa 151 141 154 137 ial_ 000170 aa 117 142 152 145 Obje 000171 aa 143 164 040 040 ct 000172 aa 040 040 040 040 000173 aa 040 040 040 040 000174 aa 040 040 040 040 000175 aa 040 040 040 040 000176 aa 117 164 150 145 Othe 000177 aa 162 137 117 142 r_Ob 000200 aa 152 145 143 164 ject 000201 aa 040 040 040 040 000202 aa 040 040 040 040 000203 aa 040 040 040 040 000204 aa 040 040 040 040 000205 aa 040 040 040 040 000206 aa 136 166 141 040 ^va 000207 aa 040 040 136 166 ^v 000210 aa 141 040 040 040 a 000211 aa 136 166 141 040 ^va 000212 aa 040 040 040 040 000213 aa 040 040 040 040 000214 aa 040 040 040 040 000215 aa 040 040 040 040 000216 aa 514000000001 000217 aa 524000000022 000220 aa 526000000020 000221 aa 526000000040 000222 aa 464000000000 000223 aa 526000000002 004040 aa 057 000 000 000 / 000224 aa 526000000010 000225 aa 526000000014 004041 aa 136 000 000 000 ^ 000226 aa 524000000017 000227 aa 524000000004 000230 aa 136 057 136 141 ^/^a 000231 aa 524000000012 000232 aa 524000000013 000233 aa 524000000006 000234 aa 404000000021 000235 aa 526000000000 000236 aa 524000000000 004042 aa 136 057 000 000 ^/ 004043 aa 075 000 000 000 = 004044 aa 054 000 000 000 , 000237 aa 516000000001 000240 aa 404000000025 000241 aa 404000000043 000242 aa 514000000044 000243 aa 526077777777 000244 aa 117 142 152 145 Obje 000245 aa 143 164 000 000 ct 000246 aa 104 145 156 171 Deny 000247 aa 040 114 145 166 Lev 000250 aa 145 154 000 000 el 000251 aa 107 162 141 156 Gran 000252 aa 164 040 114 145 t Le 000253 aa 166 145 154 000 vel 000254 aa 101 165 144 151 Audi 000255 aa 164 145 144 040 ted 000256 aa 105 166 145 156 Even 000257 aa 164 163 072 000 ts: 000260 aa 136 133 136 061 ^[^1 000261 aa 064 164 136 136 4t^^ 000262 aa 136 073 136 061 ^;^1 000263 aa 065 164 136 135 5t^] 000264 aa 136 141 000 000 ^a 000265 aa 101 102 103 104 ABCD 000266 aa 105 106 107 110 EFGH 000267 aa 111 112 113 114 IJKL 000270 aa 115 116 117 120 MNOP 000271 aa 121 122 123 124 QRST 000272 aa 125 126 127 130 UVWX 000273 aa 131 132 000 000 YZ 000274 aa 141 142 143 144 abcd 000275 aa 145 146 147 150 efgh 000276 aa 151 152 153 154 ijkl 000277 aa 155 156 157 160 mnop 000300 aa 161 162 163 164 qrst 000301 aa 165 166 167 170 uvwx 000302 aa 171 172 000 000 yz BEGIN PROCEDURE convert_access_audit_flags_$from ENTRY TO convert_access_audit_flags_$from STATEMENT 1 ON LINE 9 convert_access_audit_flags_$from_string: procedure (a_flag_str, a_flag_bits, a_ec); 000303 at 000003000243 000304 tt 000242000241 000305 ta 000303000000 000306 da 000072300000 000307 aa 001260 6270 00 eax7 688 000310 aa 7 00034 3521 20 epp2 pr7|28,* 000311 aa 2 01046 2721 00 tsp2 pr2|550 ext_entry_desc 000312 aa 000006000000 000313 aa 000000000000 000314 aa 6 00032 3735 20 epp7 pr6|26,* 000315 aa 7 00002 3715 20 epp5 pr7|2,* 000316 aa 6 00536 6515 00 spri5 pr6|350 000317 aa 6 00042 3535 20 epp3 pr6|34,* 000320 aa 3 00000 3515 20 epp1 pr3|0,* 000321 aa 6 00534 2515 00 spri1 pr6|348 000322 aa 7 00004 3715 20 epp5 pr7|4,* 000323 aa 6 00540 6515 00 spri5 pr6|352 000324 aa 7 00006 3535 20 epp3 pr7|6,* 000325 aa 6 00542 2535 00 spri3 pr6|354 STATEMENT 1 ON LINE 140 unspec (flags) = ""b; 000326 aa 6 00111 4501 00 stz pr6|73 STATEMENT 1 ON LINE 141 goto from_string_join; 000327 aa 000024 7100 04 tra 20,ic 000353 ENTRY TO convert_access_audit_flags_$edit STATEMENT 1 ON LINE 143 convert_access_audit_flags_$edit_from_string: entry (a_flag_str, a_flag_bits, a_ec); 000330 ta 000303000000 000331 da 000121300000 000332 aa 001260 6270 00 eax7 688 000333 aa 7 00034 3521 20 epp2 pr7|28,* 000334 aa 2 01046 2721 00 tsp2 pr2|550 ext_entry_desc 000335 aa 000006000000 000336 aa 000000000000 000337 aa 6 00032 3735 20 epp7 pr6|26,* 000340 aa 7 00002 3715 20 epp5 pr7|2,* 000341 aa 6 00536 6515 00 spri5 pr6|350 000342 aa 6 00042 3535 20 epp3 pr6|34,* 000343 aa 3 00000 3515 20 epp1 pr3|0,* 000344 aa 6 00534 2515 00 spri1 pr6|348 000345 aa 7 00004 3715 20 epp5 pr7|4,* 000346 aa 6 00540 6515 00 spri5 pr6|352 000347 aa 7 00006 3535 20 epp3 pr7|6,* 000350 aa 6 00542 2535 00 spri3 pr6|354 STATEMENT 1 ON LINE 146 unspec (flags) = a_flag_bits; 000351 aa 6 00540 2351 20 lda pr6|352,* a_flag_bits 000352 aa 6 00111 7551 00 sta pr6|73 STATEMENT 1 ON LINE 148 from_string_join: ec = 0; 000353 aa 6 00112 4501 00 stz pr6|74 ec STATEMENT 1 ON LINE 152 flag_str_len = length (a_flag_str); 000354 aa 6 00534 2361 20 ldq pr6|348,* 000355 aa 000002 6040 04 tmi 2,ic 000357 000356 aa 777777 3760 07 anq 262143,dl 000357 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000360 aa 6 00514 7561 00 stq pr6|332 flag_str_len STATEMENT 1 ON LINE 153 flag_str_ptr = addr (a_flag_str); 000361 aa 6 00536 3521 20 epp2 pr6|350,* a_flag_str 000362 aa 6 00516 2521 00 spri2 pr6|334 flag_str_ptr STATEMENT 1 ON LINE 156 start_index = verify (based_flag_str, WhiteSpace); 000363 aa 000 000 164 540 tct (pr,rl) 000364 aa 2 00000 00 0006 desc9a pr2|0,ql based_flag_str 000365 aa 003255 0000 04 arg 1709,ic 003640 = 777777777777 000366 aa 6 00056 0001 00 arg pr6|46 000367 aa 6 00056 2361 00 ldq pr6|46 000370 aa 0 00242 3761 00 anq pr0|162 = 000777777777 000371 aa 000002 6070 04 ttf 2,ic 000373 000372 aa 000001 3360 07 lcq 1,dl 000373 aa 000001 0760 07 adq 1,dl 000374 aa 6 00102 7561 00 stq pr6|66 start_index STATEMENT 1 ON LINE 157 if start_index > 1 then do; 000375 aa 000001 1160 07 cmpq 1,dl 000376 aa 000006 6044 04 tmoz 6,ic 000404 STATEMENT 1 ON LINE 159 call move_substr (flag_str_ptr, flag_str_len, start_index - 1); 000377 aa 000001 1760 07 sbq 1,dl 000400 aa 6 00726 7561 00 stq pr6|470 000401 aa 003227 3520 04 epp2 1687,ic 003630 = 000006000000 000402 aa 001550 6700 04 tsp4 872,ic 002152 STATEMENT 1 ON LINE 160 end; 000403 aa 000004 7100 04 tra 4,ic 000407 STATEMENT 1 ON LINE 161 else if start_index = 0 then do; 000404 aa 6 00102 2361 00 ldq pr6|66 start_index 000405 aa 000002 6010 04 tnz 2,ic 000407 STATEMENT 1 ON LINE 163 flag_str_len = 0; 000406 aa 6 00514 4501 00 stz pr6|332 flag_str_len STATEMENT 1 ON LINE 164 end; STATEMENT 1 ON LINE 168 end_index = search (based_flag_str, WhiteSpace); 000407 aa 6 00516 3735 20 epp7 pr6|334,* flag_str_ptr 000410 aa 6 00514 2351 00 lda pr6|332 flag_str_len 000411 aa 000 000 164 540 tct (pr,rl) 000412 aa 7 00000 00 0005 desc9a pr7|0,al based_flag_str 000413 aa 003017 0000 04 arg 1551,ic 003430 = 000000000000 000414 aa 6 00056 0001 00 arg pr6|46 000415 aa 6 00056 2361 00 ldq pr6|46 000416 aa 0 00242 3761 00 anq pr0|162 = 000777777777 000417 aa 000002 6070 04 ttf 2,ic 000421 000420 aa 000001 3360 07 lcq 1,dl 000421 aa 000001 0760 07 adq 1,dl 000422 aa 6 00103 7561 00 stq pr6|67 end_index STATEMENT 1 ON LINE 170 if end_index > 1 then do; 000423 aa 000001 1160 07 cmpq 1,dl 000424 aa 000037 6044 04 tmoz 31,ic 000463 STATEMENT 1 ON LINE 172 flag_str_len = end_index - 1; 000425 aa 000001 1760 07 sbq 1,dl 000426 aa 6 00514 7561 00 stq pr6|332 flag_str_len STATEMENT 1 ON LINE 174 flag_substr_ptr = addr (flag_str_ptr -> char_array (end_index)); 000427 aa 6 00103 2351 00 lda pr6|67 end_index 000430 aa 000003 0750 07 ada 3,dl 000431 aa 7 77777 3521 00 epp2 pr7|-1 char_array 000432 aa 2 00000 5005 05 a9bd pr2|0,al 000433 aa 6 00522 2521 00 spri2 pr6|338 flag_substr_ptr STATEMENT 1 ON LINE 176 flag_substr_len = length (a_flag_str) - (start_index + end_index) + 2; 000434 aa 6 00102 2361 00 ldq pr6|66 start_index 000435 aa 6 00103 0761 00 adq pr6|67 end_index 000436 aa 6 00726 7561 00 stq pr6|470 000437 aa 6 00534 2361 20 ldq pr6|348,* 000440 aa 000002 6040 04 tmi 2,ic 000442 000441 aa 777777 3760 07 anq 262143,dl 000442 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000443 aa 6 00726 1761 00 sbq pr6|470 000444 aa 000002 0760 07 adq 2,dl 000445 aa 6 00520 7561 00 stq pr6|336 flag_substr_len STATEMENT 1 ON LINE 177 if verify (based_flag_substr, WhiteSpace) ^= 0 then ec = error_table_$bad_arg; 000446 aa 000 000 164 540 tct (pr,rl) 000447 aa 2 00000 00 0006 desc9a pr2|0,ql based_flag_substr 000450 aa 003172 0000 04 arg 1658,ic 003640 = 777777777777 000451 aa 6 00056 0001 00 arg pr6|46 000452 aa 6 00056 2361 00 ldq pr6|46 000453 aa 0 00242 3761 00 anq pr0|162 = 000777777777 000454 aa 000002 6070 04 ttf 2,ic 000456 000455 aa 000001 3360 07 lcq 1,dl 000456 aa 000001 0760 07 adq 1,dl 000457 aa 000004 6000 04 tze 4,ic 000463 000460 aa 6 00044 3701 20 epp4 pr6|36,* 000461 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 000462 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 179 end; STATEMENT 1 ON LINE 184 if flag_str_len > 0 & ec = 0 then do; 000463 aa 6 00514 2361 00 ldq pr6|332 flag_str_len 000464 aa 000101 6044 04 tmoz 65,ic 000565 000465 aa 6 00112 2361 00 ldq pr6|74 ec 000466 aa 000077 6010 04 tnz 63,ic 000565 STATEMENT 1 ON LINE 186 flag_substr_ptr = flag_str_ptr; 000467 aa 6 00522 6535 00 spri7 pr6|338 flag_substr_ptr STATEMENT 1 ON LINE 187 flag_substr_len = flag_str_len; 000470 aa 6 00514 2361 00 ldq pr6|332 flag_str_len 000471 aa 6 00520 7561 00 stq pr6|336 flag_substr_len STATEMENT 1 ON LINE 189 done = False; 000472 aa 6 00110 4501 00 stz pr6|72 done STATEMENT 1 ON LINE 190 ec = 0; 000473 aa 6 00112 4501 00 stz pr6|74 ec STATEMENT 1 ON LINE 191 do while (^done & ec = 0); 000474 aa 6 00110 2351 00 lda pr6|72 done 000475 aa 000070 6010 04 tnz 56,ic 000565 000476 aa 6 00112 2361 00 ldq pr6|74 ec 000477 aa 000066 6010 04 tnz 54,ic 000565 STATEMENT 1 ON LINE 192 delimiter_index = search (based_flag_substr, ","); 000500 aa 6 00522 3735 20 epp7 pr6|338,* flag_substr_ptr 000501 aa 6 00520 2351 00 lda pr6|336 flag_substr_len 000502 aa 000 000 164 540 tct (pr,rl) 000503 aa 7 00000 00 0005 desc9a pr7|0,al based_flag_substr 000504 aa 002526 0000 04 arg 1366,ic 003230 = 000000000000 000505 aa 6 00056 0001 00 arg pr6|46 000506 aa 6 00056 2361 00 ldq pr6|46 000507 aa 0 00242 3761 00 anq pr0|162 = 000777777777 000510 aa 000002 6070 04 ttf 2,ic 000512 000511 aa 000001 3360 07 lcq 1,dl 000512 aa 000001 0760 07 adq 1,dl 000513 aa 6 00104 7561 00 stq pr6|68 delimiter_index STATEMENT 1 ON LINE 193 if delimiter_index = 1 | delimiter_index = flag_substr_len then do; 000514 aa 000001 1160 07 cmpq 1,dl 000515 aa 000003 6000 04 tze 3,ic 000520 000516 aa 6 00520 1161 00 cmpq pr6|336 flag_substr_len 000517 aa 000005 6010 04 tnz 5,ic 000524 STATEMENT 1 ON LINE 195 ec = error_table_$bad_arg; 000520 aa 6 00044 3701 20 epp4 pr6|36,* 000521 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 000522 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 196 end; 000523 aa 777751 7100 04 tra -23,ic 000474 STATEMENT 1 ON LINE 197 else do; STATEMENT 1 ON LINE 198 keyword_ptr = flag_substr_ptr; 000524 aa 6 00532 6535 00 spri7 pr6|346 keyword_ptr STATEMENT 1 ON LINE 199 if delimiter_index = 0 then do; 000525 aa 6 00104 2361 00 ldq pr6|68 delimiter_index 000526 aa 000006 6010 04 tnz 6,ic 000534 STATEMENT 1 ON LINE 201 keyword_len = flag_substr_len; 000527 aa 6 00520 2361 00 ldq pr6|336 flag_substr_len 000530 aa 6 00530 7561 00 stq pr6|344 keyword_len STATEMENT 1 ON LINE 202 done = True; 000531 aa 400000 2350 03 lda 131072,du 000532 aa 6 00110 7551 00 sta pr6|72 done STATEMENT 1 ON LINE 203 end; 000533 aa 000003 7100 04 tra 3,ic 000536 STATEMENT 1 ON LINE 204 else do; STATEMENT 1 ON LINE 205 keyword_len = delimiter_index - 1; 000534 aa 000001 1760 07 sbq 1,dl 000535 aa 6 00530 7561 00 stq pr6|344 keyword_len STATEMENT 1 ON LINE 207 end; STATEMENT 1 ON LINE 208 if index (based_keyword, "=") ^= 0 then do; 000536 aa 6 00532 3715 20 epp5 pr6|346,* keyword_ptr 000537 aa 000 003 124 540 scm (pr,rl),(du),mask(000) 000540 aa 5 00000 00 0006 desc9a pr5|0,ql based_keyword 000541 aa 075000 00 0001 desc9a 31232,1 000542 aa 6 00056 0001 00 arg pr6|46 000543 aa 6 00056 2361 00 ldq pr6|46 000544 aa 000002 6070 04 ttf 2,ic 000546 000545 aa 000001 3360 07 lcq 1,dl 000546 aa 000001 0760 07 adq 1,dl 000547 aa 000003 6000 04 tze 3,ic 000552 STATEMENT 1 ON LINE 211 call process_object_keyword; 000550 aa 000644 6700 04 tsp4 420,ic 001414 STATEMENT 1 ON LINE 212 end; 000551 aa 000002 7100 04 tra 2,ic 000553 STATEMENT 1 ON LINE 213 else do; STATEMENT 1 ON LINE 214 call process_flag_keyword; 000552 aa 000460 6700 04 tsp4 304,ic 001232 STATEMENT 1 ON LINE 215 end; STATEMENT 1 ON LINE 216 if ^done & ec = 0 then call move_substr (flag_substr_ptr, flag_substr_len, keyword_len + 1); 000553 aa 6 00110 2351 00 lda pr6|72 done 000554 aa 777720 6010 04 tnz -48,ic 000474 000555 aa 6 00112 2361 00 ldq pr6|74 ec 000556 aa 777716 6010 04 tnz -50,ic 000474 000557 aa 6 00530 2361 00 ldq pr6|344 keyword_len 000560 aa 000001 0760 07 adq 1,dl 000561 aa 6 00726 7561 00 stq pr6|470 000562 aa 002436 3520 04 epp2 1310,ic 003220 = 000006000000 000563 aa 001367 6700 04 tsp4 759,ic 002152 STATEMENT 1 ON LINE 218 end; STATEMENT 1 ON LINE 219 end /* do while */; 000564 aa 777710 7100 04 tra -56,ic 000474 STATEMENT 1 ON LINE 220 end; STATEMENT 1 ON LINE 222 a_ec = ec; 000565 aa 6 00112 2361 00 ldq pr6|74 ec 000566 aa 6 00542 7561 20 stq pr6|354,* a_ec STATEMENT 1 ON LINE 223 if ec = 0 then a_flag_bits = unspec (flags); 000567 aa 000003 6010 04 tnz 3,ic 000572 000570 aa 6 00111 2351 00 lda pr6|73 000571 aa 6 00540 7551 20 sta pr6|352,* a_flag_bits STATEMENT 1 ON LINE 226 return; 000572 aa 0 00631 7101 00 tra pr0|409 return ENTRY TO convert_access_audit_flags_$to_s STATEMENT 1 ON LINE 229 convert_access_audit_flags_$to_string: entry (a_flag_bits, a_flag_str, a_ec); 000573 at 000003000242 000574 tt 000243000241 000575 ta 000573000000 000576 da 000144300000 000577 aa 001260 6270 00 eax7 688 000600 aa 7 00034 3521 20 epp2 pr7|28,* 000601 aa 2 01046 2721 00 tsp2 pr2|550 ext_entry_desc 000602 aa 000006000000 000603 aa 000000000000 000604 aa 6 00032 3735 20 epp7 pr6|26,* 000605 aa 7 00002 3715 20 epp5 pr7|2,* 000606 aa 6 00540 6515 00 spri5 pr6|352 000607 aa 7 00004 3535 20 epp3 pr7|4,* 000610 aa 6 00536 2535 00 spri3 pr6|350 000611 aa 6 00042 3515 20 epp1 pr6|34,* 000612 aa 1 00002 3715 20 epp5 pr1|2,* 000613 aa 6 00534 6515 00 spri5 pr6|348 000614 aa 7 00006 3535 20 epp3 pr7|6,* 000615 aa 6 00542 2535 00 spri3 pr6|354 STATEMENT 1 ON LINE 232 ec = 0; 000616 aa 6 00112 4501 00 stz pr6|74 ec STATEMENT 1 ON LINE 233 unspec (flags) = a_flag_bits; 000617 aa 6 00540 2351 20 lda pr6|352,* a_flag_bits 000620 aa 6 00111 7551 00 sta pr6|73 STATEMENT 1 ON LINE 234 v_flag_str = ""; 000621 aa 6 00113 4501 00 stz pr6|75 v_flag_str STATEMENT 1 ON LINE 236 if check_flag_bits () then do; 000622 aa 002372 3520 04 epp2 1274,ic 003214 = 000002000000 000623 aa 001342 6700 04 tsp4 738,ic 002165 000624 aa 6 00726 2351 00 lda pr6|470 000625 aa 400000 3150 03 cana 131072,du 000626 aa 000052 6000 04 tze 42,ic 000700 STATEMENT 1 ON LINE 238 do object_index = 1 to n_audit_objects; 000627 aa 000006 2360 07 ldq 6,dl 000630 aa 6 00544 7561 00 stq pr6|356 000631 aa 000001 2360 07 ldq 1,dl 000632 aa 6 00101 7561 00 stq pr6|65 object_index 000633 aa 000000 0110 03 nop 0,du 000634 aa 6 00101 2361 00 ldq pr6|65 object_index 000635 aa 6 00544 1161 00 cmpq pr6|356 000636 aa 000005 6054 04 tpnz 5,ic 000643 STATEMENT 1 ON LINE 239 call append_object_level_pair (object_index); 000637 aa 002351 3520 04 epp2 1257,ic 003210 = 000002000000 000640 aa 001401 6700 04 tsp4 769,ic 002241 STATEMENT 1 ON LINE 240 end; 000641 aa 6 00101 0541 00 aos pr6|65 object_index 000642 aa 777772 7100 04 tra -6,ic 000634 STATEMENT 1 ON LINE 241 do flag_index = 1 to n_audit_flags; 000643 aa 000005 2360 07 ldq 5,dl 000644 aa 6 00545 7561 00 stq pr6|357 000645 aa 000001 2360 07 ldq 1,dl 000646 aa 6 00100 7561 00 stq pr6|64 flag_index 000647 aa 000000 0110 03 nop 0,du 000650 aa 6 00100 2361 00 ldq pr6|64 flag_index 000651 aa 6 00545 1161 00 cmpq pr6|357 000652 aa 000005 6054 04 tpnz 5,ic 000657 STATEMENT 1 ON LINE 242 call append_flag (flag_index); 000653 aa 002331 3520 04 epp2 1241,ic 003204 = 000002000000 000654 aa 001562 6700 04 tsp4 882,ic 002436 STATEMENT 1 ON LINE 243 end; 000655 aa 6 00100 0541 00 aos pr6|64 flag_index 000656 aa 777772 7100 04 tra -6,ic 000650 STATEMENT 1 ON LINE 244 if length (v_flag_str) > length (a_flag_str) /* caller give us enough room? */ then ec = error_table_$smallarg; 000657 aa 6 00534 2361 20 ldq pr6|348,* 000660 aa 000002 6040 04 tmi 2,ic 000662 000661 aa 777777 3760 07 anq 262143,dl 000662 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000663 aa 6 00113 1161 00 cmpq pr6|75 v_flag_str 000664 aa 6 00726 7561 00 stq pr6|470 000665 aa 000005 6050 04 tpl 5,ic 000672 000666 aa 6 00044 3701 20 epp4 pr6|36,* 000667 la 4 00012 2361 20 ldq pr4|10,* error_table_$smallarg 000670 aa 6 00112 7561 00 stq pr6|74 ec 000671 aa 000012 7100 04 tra 10,ic 000703 STATEMENT 1 ON LINE 246 else a_flag_str = v_flag_str; 000672 aa 6 00536 3735 20 epp7 pr6|350,* 000673 aa 6 00113 7271 00 lxl7 pr6|75 v_flag_str 000674 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 000675 aa 6 00114 00 0017 desc9a pr6|76,x7 v_flag_str 000676 aa 7 00000 00 0006 desc9a pr7|0,ql a_flag_str STATEMENT 1 ON LINE 247 end; 000677 aa 000004 7100 04 tra 4,ic 000703 STATEMENT 1 ON LINE 248 else ec = error_table_$bad_arg; 000700 aa 6 00044 3701 20 epp4 pr6|36,* 000701 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 000702 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 250 a_ec = ec; 000703 aa 6 00112 2361 00 ldq pr6|74 ec 000704 aa 6 00542 7561 20 stq pr6|354,* a_ec STATEMENT 1 ON LINE 252 return; 000705 aa 0 00631 7101 00 tra pr0|409 return ENTRY TO convert_access_audit_flags_$to_s STATEMENT 1 ON LINE 254 convert_access_audit_flags_$to_string_long: entry (a_flag_bits, a_display_str, a_display_len, a_ec); 000706 at 000004000242 000707 tt 000243000240 000710 ta 000241000000 000711 ta 000706000000 000712 da 000171300000 000713 aa 001260 6270 00 eax7 688 000714 aa 7 00034 3521 20 epp2 pr7|28,* 000715 aa 2 01046 2721 00 tsp2 pr2|550 ext_entry_desc 000716 aa 000010000000 000717 aa 000000000000 000720 aa 6 00042 3735 20 epp7 pr6|34,* 000721 aa 7 00002 2361 20 ldq pr7|2,* 000722 aa 000002 6040 04 tmi 2,ic 000724 000723 aa 777777 3760 07 anq 262143,dl 000724 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000725 aa 6 00727 7561 00 stq pr6|471 000726 aa 6 00032 3715 20 epp5 pr6|26,* 000727 aa 5 00002 3535 20 epp3 pr5|2,* 000730 aa 6 00540 2535 00 spri3 pr6|352 000731 aa 5 00010 3515 20 epp1 pr5|8,* 000732 aa 6 00542 2515 00 spri1 pr6|354 STATEMENT 1 ON LINE 258 ec = 0; 000733 aa 6 00112 4501 00 stz pr6|74 ec STATEMENT 1 ON LINE 259 unspec (flags) = a_flag_bits; 000734 aa 6 00540 2351 20 lda pr6|352,* a_flag_bits 000735 aa 6 00111 7551 00 sta pr6|73 STATEMENT 1 ON LINE 260 display_substr_len = length (a_display_str); 000736 aa 6 00727 2361 00 ldq pr6|471 000737 aa 6 00524 7561 00 stq pr6|340 display_substr_len STATEMENT 1 ON LINE 261 display_substr_ptr = addr (a_display_str); 000740 aa 6 00032 3735 20 epp7 pr6|26,* 000741 aa 7 00004 3521 20 epp2 pr7|4,* a_display_str 000742 aa 6 00526 2521 00 spri2 pr6|342 display_substr_ptr STATEMENT 1 ON LINE 263 if check_flag_bits () then do; 000743 aa 002251 3520 04 epp2 1193,ic 003214 = 000002000000 000744 aa 001221 6700 04 tsp4 657,ic 002165 000745 aa 6 00726 2351 00 lda pr6|470 000746 aa 400000 3150 03 cana 131072,du 000747 aa 000215 6000 04 tze 141,ic 001164 STATEMENT 1 ON LINE 265 call set_object_display_widths; 000750 aa 001554 6700 04 tsp4 876,ic 002524 STATEMENT 1 ON LINE 267 len = display_substr_len; 000751 aa 6 00524 2361 00 ldq pr6|340 display_substr_len 000752 aa 6 00105 7561 00 stq pr6|69 len STATEMENT 1 ON LINE 268 if len < 1 then goto short_arg; 000753 aa 000001 1160 07 cmpq 1,dl 000754 aa 000222 6040 04 tmi 146,ic 001176 STATEMENT 1 ON LINE 270 call ioa_$rsnp (rtrim (Display_Object_Format) || "^/", based_display_substr, len, object_name_width, "Object", level_name_width, "Grant Level", level_name_width, "Deny Level"); 000755 aa 000 000 165 404 tctr (ic) 000756 aa 777231 00 0040 desc9a -359,32 000206 000757 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 000760 aa 6 00056 0001 00 arg pr6|46 000761 aa 6 00056 2361 00 ldq pr6|46 000762 aa 0 00242 3761 00 anq pr0|162 = 000777777777 000763 aa 6 00730 7561 00 stq pr6|472 000764 aa 000040 2360 07 ldq 32,dl 000765 aa 6 00730 1761 00 sbq pr6|472 000766 aa 6 00730 7561 00 stq pr6|472 000767 aa 000002 0760 07 adq 2,dl 000770 aa 6 00731 7561 00 stq pr6|473 000771 aa 524000 2760 03 orq 174080,du 000772 aa 6 00726 7561 00 stq pr6|470 000773 aa 6 00524 2361 00 ldq pr6|340 display_substr_len 000774 aa 526000 2760 03 orq 175104,du 000775 aa 6 00732 7561 00 stq pr6|474 000776 aa 6 00731 2361 00 ldq pr6|473 000777 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 001000 aa 6 00730 2351 00 lda pr6|472 001001 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 001002 aa 777205 00 0005 desc9a -379,al 000206 = 136166141040 001003 aa 2 00000 00 0005 desc9a pr2|0,al 001004 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 001005 aa 003036 00 0002 desc9a 1566,2 004042 = 136057000000 001006 aa 2 00000 00 0002 desc9a pr2|0,2 001007 aa 6 00752 2521 00 spri2 pr6|490 001010 aa 777234 2370 04 ldaq -356,ic 000244 = 117142152145 143164000000 001011 aa 6 00736 7571 00 staq pr6|478 001012 aa 777237 2350 04 lda -353,ic 000251 = 107162141156 001013 aa 777237 2360 04 ldq -353,ic 000252 = 164040114145 001014 aa 6 00740 7571 00 staq pr6|480 001015 aa 777236 2350 04 lda -354,ic 000253 = 166145154000 001016 aa 6 00742 7551 00 sta pr6|482 001017 aa 777227 2370 04 ldaq -361,ic 000246 = 104145156171 040114145166 001020 aa 6 00744 7571 00 staq pr6|484 001021 aa 145154 2350 03 lda 51820,du 001022 aa 6 00746 7551 00 sta pr6|486 001023 aa 6 00526 3521 20 epp2 pr6|342,* based_display_substr 001024 aa 6 00754 2521 00 spri2 pr6|492 001025 aa 6 00105 3521 00 epp2 pr6|69 len 001026 aa 6 00756 2521 00 spri2 pr6|494 001027 aa 6 00106 3521 00 epp2 pr6|70 object_name_width 001030 aa 6 00760 2521 00 spri2 pr6|496 001031 aa 6 00736 3521 00 epp2 pr6|478 001032 aa 6 00762 2521 00 spri2 pr6|498 001033 aa 6 00107 3521 00 epp2 pr6|71 level_name_width 001034 aa 6 00764 2521 00 spri2 pr6|500 001035 aa 6 00740 3521 00 epp2 pr6|480 001036 aa 6 00766 2521 00 spri2 pr6|502 001037 aa 6 00107 3521 00 epp2 pr6|71 level_name_width 001040 aa 6 00770 2521 00 spri2 pr6|504 001041 aa 6 00744 3521 00 epp2 pr6|484 001042 aa 6 00772 2521 00 spri2 pr6|506 001043 aa 6 00726 3521 00 epp2 pr6|470 001044 aa 6 00774 2521 00 spri2 pr6|508 001045 aa 6 00732 3521 00 epp2 pr6|474 001046 aa 6 00776 2521 00 spri2 pr6|510 001047 aa 777171 3520 04 epp2 -391,ic 000240 = 404000000025 001050 aa 6 01000 2521 00 spri2 pr6|512 001051 aa 777163 3520 04 epp2 -397,ic 000234 = 404000000021 001052 aa 6 01002 2521 00 spri2 pr6|514 001053 aa 6 01006 2521 00 spri2 pr6|518 001054 aa 6 01012 2521 00 spri2 pr6|522 001055 aa 777156 3520 04 epp2 -402,ic 000233 = 524000000006 001056 aa 6 01004 2521 00 spri2 pr6|516 001057 aa 777153 3520 04 epp2 -405,ic 000232 = 524000000013 001060 aa 6 01010 2521 00 spri2 pr6|520 001061 aa 777150 3520 04 epp2 -408,ic 000231 = 524000000012 001062 aa 6 01014 2521 00 spri2 pr6|524 001063 aa 6 00750 6211 00 eax1 pr6|488 001064 aa 044000 4310 07 fld 18432,dl 001065 aa 6 00044 3701 20 epp4 pr6|36,* 001066 la 4 00014 3521 20 epp2 pr4|12,* ioa_$rsnp 001067 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 275 call move_substr (display_substr_ptr, display_substr_len, len); 001070 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001071 aa 002103 3520 04 epp2 1091,ic 003174 = 000006000000 001072 aa 001060 6700 04 tsp4 560,ic 002152 STATEMENT 1 ON LINE 277 do object_index = 1 to n_audit_objects; 001073 aa 000006 2360 07 ldq 6,dl 001074 aa 6 00546 7561 00 stq pr6|358 001075 aa 000001 2360 07 ldq 1,dl 001076 aa 6 00101 7561 00 stq pr6|65 object_index 001077 aa 000000 0110 03 nop 0,du 001100 aa 6 00101 2361 00 ldq pr6|65 object_index 001101 aa 6 00546 1161 00 cmpq pr6|358 001102 aa 000005 6054 04 tpnz 5,ic 001107 STATEMENT 1 ON LINE 278 call display_object_level_pair (object_index); 001103 aa 002105 3520 04 epp2 1093,ic 003210 = 000002000000 001104 aa 001502 6700 04 tsp4 834,ic 002606 STATEMENT 1 ON LINE 279 end; 001105 aa 6 00101 0541 00 aos pr6|65 object_index 001106 aa 777772 7100 04 tra -6,ic 001100 STATEMENT 1 ON LINE 281 len = display_substr_len; 001107 aa 6 00524 2361 00 ldq pr6|340 display_substr_len 001110 aa 6 00105 7561 00 stq pr6|69 len STATEMENT 1 ON LINE 282 call ioa_$rsnp ("^/^a", based_display_substr, len, "Audited Events:"); 001111 aa 526000 2760 03 orq 175104,du 001112 aa 6 00726 7561 00 stq pr6|470 001113 aa 777115 2350 04 lda -435,ic 000230 = 136057136141 001114 aa 6 00732 7551 00 sta pr6|474 001115 aa 777137 2370 04 ldaq -417,ic 000254 = 101165144151 164145144040 001116 aa 6 00750 7571 00 staq pr6|488 001117 aa 777137 2370 04 ldaq -417,ic 000256 = 105166145156 164163072000 001120 aa 6 00752 7571 00 staq pr6|490 001121 aa 6 00732 3521 00 epp2 pr6|474 001122 aa 6 01020 2521 00 spri2 pr6|528 001123 aa 6 00526 3521 20 epp2 pr6|342,* based_display_substr 001124 aa 6 01022 2521 00 spri2 pr6|530 001125 aa 6 00105 3521 00 epp2 pr6|69 len 001126 aa 6 01024 2521 00 spri2 pr6|532 001127 aa 6 00750 3521 00 epp2 pr6|488 001130 aa 6 01026 2521 00 spri2 pr6|534 001131 aa 777076 3520 04 epp2 -450,ic 000227 = 524000000004 001132 aa 6 01030 2521 00 spri2 pr6|536 001133 aa 6 00726 3521 00 epp2 pr6|470 001134 aa 6 01032 2521 00 spri2 pr6|538 001135 aa 777103 3520 04 epp2 -445,ic 000240 = 404000000025 001136 aa 6 01034 2521 00 spri2 pr6|540 001137 aa 777067 3520 04 epp2 -457,ic 000226 = 524000000017 001140 aa 6 01036 2521 00 spri2 pr6|542 001141 aa 6 01016 6211 00 eax1 pr6|526 001142 aa 020000 4310 07 fld 8192,dl 001143 aa 6 00044 3701 20 epp4 pr6|36,* 001144 la 4 00014 3521 20 epp2 pr4|12,* ioa_$rsnp 001145 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 283 call move_substr (display_substr_ptr, display_substr_len, len); 001146 aa 002026 3520 04 epp2 1046,ic 003174 = 000006000000 001147 aa 001003 6700 04 tsp4 515,ic 002152 STATEMENT 1 ON LINE 285 do flag_index = 1 to n_audit_flags; 001150 aa 000005 2360 07 ldq 5,dl 001151 aa 6 00547 7561 00 stq pr6|359 001152 aa 000001 2360 07 ldq 1,dl 001153 aa 6 00100 7561 00 stq pr6|64 flag_index 001154 aa 6 00100 2361 00 ldq pr6|64 flag_index 001155 aa 6 00547 1161 00 cmpq pr6|359 001156 aa 000011 6054 04 tpnz 9,ic 001167 STATEMENT 1 ON LINE 286 call display_flag (flag_index); 001157 aa 002025 3520 04 epp2 1045,ic 003204 = 000002000000 001160 aa 001531 6700 04 tsp4 857,ic 002711 STATEMENT 1 ON LINE 287 end; 001161 aa 6 00100 0541 00 aos pr6|64 flag_index 001162 aa 777772 7100 04 tra -6,ic 001154 STATEMENT 1 ON LINE 288 end; 001163 aa 000004 7100 04 tra 4,ic 001167 STATEMENT 1 ON LINE 289 else ec = error_table_$bad_arg; 001164 aa 6 00044 3701 20 epp4 pr6|36,* 001165 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 001166 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 291 a_ec = ec; 001167 aa 6 00112 2361 00 ldq pr6|74 ec 001170 aa 6 00542 7561 20 stq pr6|354,* a_ec STATEMENT 1 ON LINE 293 a_display_len = length (a_display_str) - display_substr_len; 001171 aa 6 00727 2361 00 ldq pr6|471 001172 aa 6 00524 1761 00 sbq pr6|340 display_substr_len 001173 aa 6 00032 3735 20 epp7 pr6|26,* 001174 aa 7 00006 7561 20 stq pr7|6,* a_display_len STATEMENT 1 ON LINE 295 return; 001175 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 297 short_arg: a_ec = error_table_$smallarg; 001176 aa 6 00044 3701 20 epp4 pr6|36,* 001177 la 4 00012 2361 20 ldq pr4|10,* error_table_$smallarg 001200 aa 6 00542 7561 20 stq pr6|354,* a_ec STATEMENT 1 ON LINE 300 return; 001201 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 619 end convert_access_audit_flags_$from_string; BEGIN PROCEDURE lowercase ENTRY TO lowercase STATEMENT 1 ON LINE 305 lowercase: proc (str) returns (char (*)); 001202 da 000177220000 001203 aa 000120 6270 00 eax7 80 001204 aa 7 00034 3521 20 epp2 pr7|28,* 001205 aa 2 01050 2721 00 tsp2 pr2|552 int_entry_desc 001206 aa 000004000000 001207 aa 000000000000 001210 aa 6 00042 3735 20 epp7 pr6|34,* 001211 aa 7 00000 2361 20 ldq pr7|0,* 001212 aa 000002 6040 04 tmi 2,ic 001214 001213 aa 777777 3760 07 anq 262143,dl 001214 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001215 aa 6 00100 7561 00 stq pr6|64 STATEMENT 1 ON LINE 310 return (translate (str, "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ")); 001216 aa 526000 2760 03 orq 175104,du 001217 aa 7 00002 7561 20 stq pr7|2,* 001220 aa 6 00100 2361 00 ldq pr6|64 001221 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 001222 aa 6 00032 3715 20 epp5 pr6|26,* 001223 aa 5 00002 3535 20 epp3 pr5|2,* 001224 aa 040 140 160 540 mvt (pr,rl),(pr,rl),fill(040) 001225 aa 3 00000 00 0006 desc9a pr3|0,ql str 001226 aa 2 00000 00 0006 desc9a pr2|0,ql 001227 aa 001547 0000 04 arg 871,ic 002773 = 000001002003 001230 aa 000000 7200 07 lxl0 0,dl 001231 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 312 end lowercase; END PROCEDURE lowercase BEGIN PROCEDURE process_flag_keyword ENTRY TO process_flag_keyword STATEMENT 1 ON LINE 316 process_flag_keyword: proc (); 001232 aa 6 00550 6501 00 spri4 pr6|360 STATEMENT 1 ON LINE 327 if keyword_len > length (keyword) then do; 001233 aa 6 00530 2361 00 ldq pr6|344 keyword_len 001234 aa 000040 1160 07 cmpq 32,dl 001235 aa 000005 6044 04 tmoz 5,ic 001242 STATEMENT 1 ON LINE 329 ec = error_table_$bad_arg; 001236 aa 6 00044 3701 20 epp4 pr6|36,* 001237 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 001240 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 330 end; 001241 aa 000152 7100 04 tra 106,ic 001413 STATEMENT 1 ON LINE 331 else do; STATEMENT 1 ON LINE 332 if substr (based_keyword, 1, 1) = "^" then do; 001242 aa 6 00532 3735 20 epp7 pr6|346,* keyword_ptr 001243 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001244 aa 7 00000 00 0001 desc9a pr7|0,1 based_keyword 001245 aa 002576 00 0001 desc9a 1406,1 004041 = 136000000000 001246 aa 000040 6010 04 tnz 32,ic 001306 STATEMENT 1 ON LINE 334 switch = False; 001247 aa 6 00570 4501 00 stz pr6|376 switch STATEMENT 1 ON LINE 335 keyword = lowercase (substr (based_keyword, 2)); 001250 aa 000001 1760 07 sbq 1,dl 001251 aa 6 01041 7561 00 stq pr6|545 001252 aa 524000 2760 03 orq 174080,du 001253 aa 6 01040 7561 00 stq pr6|544 001254 aa 6 01041 2361 00 ldq pr6|545 001255 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 001256 aa 6 01046 2521 00 spri2 pr6|550 001257 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001260 aa 7 00000 20 0006 desc9a pr7|0(1),ql based_keyword 001261 aa 2 00000 00 0006 desc9a pr2|0,ql 001262 aa 6 01060 3521 00 epp2 pr6|560 001263 aa 6 01050 2521 00 spri2 pr6|552 001264 aa 6 01040 3521 00 epp2 pr6|544 001265 aa 6 01054 2521 00 spri2 pr6|556 001266 aa 6 01062 3521 00 epp2 pr6|562 001267 aa 6 01056 2521 00 spri2 pr6|558 001270 aa 6 01044 6211 00 eax1 pr6|548 001271 aa 010000 4310 07 fld 4096,dl 001272 aa 777711 3520 04 epp2 -55,ic 001203 = 000120627000 001273 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 001274 aa 6 01062 2361 00 ldq pr6|562 001275 aa 000002 6040 04 tmi 2,ic 001277 001276 aa 777777 3760 07 anq 262143,dl 001277 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001300 aa 6 01060 3735 20 epp7 pr6|560,* 001301 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001302 aa 7 00000 00 0006 desc9a pr7|0,ql 001303 aa 6 00556 00 0040 desc9a pr6|366,32 keyword STATEMENT 1 ON LINE 336 end; 001304 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001305 aa 000032 7100 04 tra 26,ic 001337 STATEMENT 1 ON LINE 337 else do; STATEMENT 1 ON LINE 338 switch = True; 001306 aa 400000 2350 03 lda 131072,du 001307 aa 6 00570 7551 00 sta pr6|376 switch STATEMENT 1 ON LINE 339 keyword = lowercase (based_keyword); 001310 aa 526000 2760 03 orq 175104,du 001311 aa 6 01040 7561 00 stq pr6|544 001312 aa 7 00000 3521 00 epp2 pr7|0 based_keyword 001313 aa 6 01046 2521 00 spri2 pr6|550 001314 aa 6 01060 3521 00 epp2 pr6|560 001315 aa 6 01050 2521 00 spri2 pr6|552 001316 aa 6 01040 3521 00 epp2 pr6|544 001317 aa 6 01054 2521 00 spri2 pr6|556 001320 aa 6 01062 3521 00 epp2 pr6|562 001321 aa 6 01056 2521 00 spri2 pr6|558 001322 aa 6 01044 6211 00 eax1 pr6|548 001323 aa 010000 4310 07 fld 4096,dl 001324 aa 777657 3520 04 epp2 -81,ic 001203 = 000120627000 001325 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 001326 aa 6 01062 2361 00 ldq pr6|562 001327 aa 000002 6040 04 tmi 2,ic 001331 001330 aa 777777 3760 07 anq 262143,dl 001331 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001332 aa 6 01060 3735 20 epp7 pr6|560,* 001333 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001334 aa 7 00000 00 0006 desc9a pr7|0,ql 001335 aa 6 00556 00 0040 desc9a pr6|366,32 keyword STATEMENT 1 ON LINE 340 end; 001336 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack STATEMENT 1 ON LINE 341 found = False; 001337 aa 6 00567 4501 00 stz pr6|375 found STATEMENT 1 ON LINE 342 do i = 1 to hbound (Short_Flag_Names, 1) while (^found); 001340 aa 000001 2360 07 ldq 1,dl 001341 aa 6 00566 7561 00 stq pr6|374 i 001342 aa 6 00566 2361 00 ldq pr6|374 i 001343 aa 000005 1160 07 cmpq 5,dl 001344 aa 000042 6054 04 tpnz 34,ic 001406 001345 aa 6 00567 2351 00 lda pr6|375 found 001346 aa 000040 6010 04 tnz 32,ic 001406 STATEMENT 1 ON LINE 343 if keyword = lowercase (Short_Flag_Names (i)) then do; 001347 aa 000003 4020 07 mpy 3,dl 001350 ta 777775 3520 06 epp2 -3,ql 001351 aa 6 01046 2521 00 spri2 pr6|550 001352 aa 6 01060 3521 00 epp2 pr6|560 001353 aa 6 01050 2521 00 spri2 pr6|552 001354 aa 776651 3520 04 epp2 -599,ic 000225 = 526000000014 001355 aa 6 01054 2521 00 spri2 pr6|556 001356 aa 6 01040 3521 00 epp2 pr6|544 001357 aa 6 01056 2521 00 spri2 pr6|558 001360 aa 6 01044 6211 00 eax1 pr6|548 001361 aa 010000 4310 07 fld 4096,dl 001362 aa 777621 3520 04 epp2 -111,ic 001203 = 000120627000 001363 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 001364 aa 6 01040 2361 00 ldq pr6|544 001365 aa 000002 6040 04 tmi 2,ic 001367 001366 aa 777777 3760 07 anq 262143,dl 001367 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001370 aa 6 01060 3735 20 epp7 pr6|560,* 001371 aa 040 140 106 500 cmpc (pr),(pr,rl),fill(040) 001372 aa 6 00556 00 0040 desc9a pr6|366,32 keyword 001373 aa 7 00000 00 0006 desc9a pr7|0,ql 001374 aa 000010 6010 04 tnz 8,ic 001404 STATEMENT 1 ON LINE 345 found = True; 001375 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001376 aa 400000 2350 03 lda 131072,du 001377 aa 6 00567 7551 00 sta pr6|375 found STATEMENT 1 ON LINE 346 addr (flags) -> audit_flags_alt.flags (i) = switch; 001400 aa 6 00566 7271 00 lxl7 pr6|374 i 001401 aa 003 117 060 500 csl (pr),(pr,x7),fill(0),bool(move) 001402 aa 6 00570 00 0001 descb pr6|376,1 switch 001403 aa 6 00111 63 0001 descb pr6|73(30),1 audit_flags_alt.flags STATEMENT 1 ON LINE 347 end; STATEMENT 1 ON LINE 348 end; 001404 aa 6 00566 0541 00 aos pr6|374 i 001405 aa 777735 7100 04 tra -35,ic 001342 STATEMENT 1 ON LINE 349 if ^found then ec = error_table_$bad_arg; 001406 aa 6 00567 2351 00 lda pr6|375 found 001407 aa 000004 6010 04 tnz 4,ic 001413 001410 aa 6 00044 3701 20 epp4 pr6|36,* 001411 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 001412 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 351 end; STATEMENT 1 ON LINE 353 end process_flag_keyword; 001413 aa 6 00550 6101 00 rtcd pr6|360 END PROCEDURE process_flag_keyword BEGIN PROCEDURE process_object_keyword ENTRY TO process_object_keyword STATEMENT 1 ON LINE 357 process_object_keyword: proc (); 001414 aa 6 00572 6501 00 spri4 pr6|378 STATEMENT 1 ON LINE 369 if keyword_len > length (keyword) then do; 001415 aa 6 00530 2361 00 ldq pr6|344 keyword_len 001416 aa 000050 1160 07 cmpq 40,dl 001417 aa 000005 6044 04 tmoz 5,ic 001424 STATEMENT 1 ON LINE 371 BADARG: ec = error_table_$bad_arg; 001420 aa 6 00044 3701 20 epp4 pr6|36,* 001421 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 001422 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 373 return; 001423 aa 6 00572 6101 00 rtcd pr6|378 STATEMENT 1 ON LINE 374 end; STATEMENT 1 ON LINE 375 else do; STATEMENT 1 ON LINE 376 level_index = index (based_keyword, "="); 001424 aa 6 00532 3735 20 epp7 pr6|346,* keyword_ptr 001425 aa 000 003 124 540 scm (pr,rl),(du),mask(000) 001426 aa 7 00000 00 0006 desc9a pr7|0,ql based_keyword 001427 aa 075000 00 0001 desc9a 31232,1 001430 aa 6 00056 0001 00 arg pr6|46 001431 aa 6 00056 2361 00 ldq pr6|46 001432 aa 000002 6070 04 ttf 2,ic 001434 001433 aa 000001 3360 07 lcq 1,dl 001434 aa 000001 0760 07 adq 1,dl 001435 aa 6 00615 7561 00 stq pr6|397 level_index STATEMENT 1 ON LINE 377 if level_index < 2 /* need something before... */ | level_index >= keyword_len /* ...and after "=" */ then goto BADARG; 001436 aa 000002 1160 07 cmpq 2,dl 001437 aa 777761 6040 04 tmi -15,ic 001420 001440 aa 6 00530 1161 00 cmpq pr6|344 keyword_len 001441 aa 777757 6050 04 tpl -17,ic 001420 STATEMENT 1 ON LINE 381 keyword = lowercase (substr (based_keyword, 1, level_index - 1)); 001442 aa 000001 1760 07 sbq 1,dl 001443 aa 6 01064 7561 00 stq pr6|564 001444 aa 524000 2760 03 orq 174080,du 001445 aa 6 01063 7561 00 stq pr6|563 001446 aa 6 01064 2361 00 ldq pr6|564 001447 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 001450 aa 6 01072 2521 00 spri2 pr6|570 001451 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001452 aa 7 00000 00 0006 desc9a pr7|0,ql based_keyword 001453 aa 2 00000 00 0006 desc9a pr2|0,ql 001454 aa 6 01104 3521 00 epp2 pr6|580 001455 aa 6 01074 2521 00 spri2 pr6|572 001456 aa 6 01063 3521 00 epp2 pr6|563 001457 aa 6 01100 2521 00 spri2 pr6|576 001460 aa 6 01065 3521 00 epp2 pr6|565 001461 aa 6 01102 2521 00 spri2 pr6|578 001462 aa 6 01070 6211 00 eax1 pr6|568 001463 aa 010000 4310 07 fld 4096,dl 001464 aa 777517 3520 04 epp2 -177,ic 001203 = 000120627000 001465 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 001466 aa 6 01065 2361 00 ldq pr6|565 001467 aa 000002 6040 04 tmi 2,ic 001471 001470 aa 777777 3760 07 anq 262143,dl 001471 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001472 aa 6 01104 3735 20 epp7 pr6|580,* 001473 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001474 aa 7 00000 00 0006 desc9a pr7|0,ql 001475 aa 6 00600 00 0050 desc9a pr6|384,40 keyword STATEMENT 1 ON LINE 384 found = False; 001476 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001477 aa 6 00613 4501 00 stz pr6|395 found STATEMENT 1 ON LINE 385 do i = 1 to hbound (Short_Object_Names, 1) while (^found); 001500 aa 000001 2360 07 ldq 1,dl 001501 aa 6 00612 7561 00 stq pr6|394 i 001502 aa 6 00612 2361 00 ldq pr6|394 i 001503 aa 000006 1160 07 cmpq 6,dl 001504 aa 000040 6054 04 tpnz 32,ic 001544 001505 aa 6 00613 2351 00 lda pr6|395 found 001506 aa 000036 6010 04 tnz 30,ic 001544 STATEMENT 1 ON LINE 386 if keyword = lowercase (Short_Object_Names (i)) then do; 001507 aa 000001 7360 00 qls 1 001510 ta 000110 3520 06 epp2 72,ql 001511 aa 6 01072 2521 00 spri2 pr6|570 001512 aa 6 01104 3521 00 epp2 pr6|580 001513 aa 6 01074 2521 00 spri2 pr6|572 001514 aa 776510 3520 04 epp2 -696,ic 000224 = 526000000010 001515 aa 6 01100 2521 00 spri2 pr6|576 001516 aa 6 01063 3521 00 epp2 pr6|563 001517 aa 6 01102 2521 00 spri2 pr6|578 001520 aa 6 01070 6211 00 eax1 pr6|568 001521 aa 010000 4310 07 fld 4096,dl 001522 aa 777461 3520 04 epp2 -207,ic 001203 = 000120627000 001523 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 001524 aa 6 01063 2361 00 ldq pr6|563 001525 aa 000002 6040 04 tmi 2,ic 001527 001526 aa 777777 3760 07 anq 262143,dl 001527 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001530 aa 6 01104 3735 20 epp7 pr6|580,* 001531 aa 040 140 106 500 cmpc (pr),(pr,rl),fill(040) 001532 aa 6 00600 00 0050 desc9a pr6|384,40 keyword 001533 aa 7 00000 00 0006 desc9a pr7|0,ql 001534 aa 000006 6010 04 tnz 6,ic 001542 STATEMENT 1 ON LINE 388 found = True; 001535 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001536 aa 400000 2350 03 lda 131072,du 001537 aa 6 00613 7551 00 sta pr6|395 found STATEMENT 1 ON LINE 389 object_index = i; 001540 aa 6 00612 2361 00 ldq pr6|394 i 001541 aa 6 00614 7561 00 stq pr6|396 object_index STATEMENT 1 ON LINE 390 end; STATEMENT 1 ON LINE 391 end; 001542 aa 6 00612 0541 00 aos pr6|394 i 001543 aa 777737 7100 04 tra -33,ic 001502 STATEMENT 1 ON LINE 393 if ^found then ec = error_table_$bad_arg; 001544 aa 6 00613 2351 00 lda pr6|395 found 001545 aa 000005 6010 04 tnz 5,ic 001552 001546 aa 6 00044 3701 20 epp4 pr6|36,* 001547 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 001550 aa 6 00112 7561 00 stq pr6|74 ec 001551 aa 000026 7100 04 tra 22,ic 001577 STATEMENT 1 ON LINE 395 else do; STATEMENT 1 ON LINE 396 level_pair_ptr = addr (keyword_ptr -> char_array (level_index + 1)); 001552 aa 6 00615 2361 00 ldq pr6|397 level_index 001553 aa 6 00532 3521 20 epp2 pr6|346,* char_array 001554 aa 2 00000 5005 06 a9bd pr2|0,ql 001555 aa 6 00620 2521 00 spri2 pr6|400 level_pair_ptr STATEMENT 1 ON LINE 397 level_pair_len = keyword_len - level_index; 001556 aa 6 00530 2361 00 ldq pr6|344 keyword_len 001557 aa 6 00615 1761 00 sbq pr6|397 level_index 001560 aa 6 00616 7561 00 stq pr6|398 level_pair_len STATEMENT 1 ON LINE 398 call process_level_pair (object_index, based_level_pair); 001561 aa 526000 2760 03 orq 175104,du 001562 aa 6 01063 7561 00 stq pr6|563 001563 aa 6 00614 3521 00 epp2 pr6|396 object_index 001564 aa 6 01072 2521 00 spri2 pr6|570 001565 aa 6 00620 3521 20 epp2 pr6|400,* based_level_pair 001566 aa 6 01074 2521 00 spri2 pr6|572 001567 aa 776445 3520 04 epp2 -731,ic 000234 = 404000000021 001570 aa 6 01076 2521 00 spri2 pr6|574 001571 aa 6 01063 3521 00 epp2 pr6|563 001572 aa 6 01100 2521 00 spri2 pr6|576 001573 aa 6 01070 3521 00 epp2 pr6|568 001574 aa 010000 4310 07 fld 4096,dl 001575 aa 2 00000 7571 00 staq pr2|0 001576 aa 000002 6700 04 tsp4 2,ic 001600 STATEMENT 1 ON LINE 399 end; STATEMENT 1 ON LINE 401 end; STATEMENT 1 ON LINE 403 end process_object_keyword; 001577 aa 6 00572 6101 00 rtcd pr6|378 END PROCEDURE process_object_keyword BEGIN PROCEDURE process_level_pair ENTRY TO process_level_pair STATEMENT 1 ON LINE 409 process_level_pair: proc (object_index, level_pair); 001600 aa 6 00622 6501 00 spri4 pr6|402 001601 aa 6 00624 2521 00 spri2 pr6|404 001602 aa 2 00002 3521 01 epp2 pr2|2,au 001603 aa 6 00626 2521 00 spri2 pr6|406 001604 aa 2 00002 2361 20 ldq pr2|2,* 001605 aa 000002 6040 04 tmi 2,ic 001607 001606 aa 777777 3760 07 anq 262143,dl 001607 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001610 aa 6 01106 7561 00 stq pr6|582 STATEMENT 1 ON LINE 420 if length (level_pair) > length (grant_key) then do; 001611 aa 000040 1160 07 cmpq 32,dl 001612 aa 000005 6044 04 tmoz 5,ic 001617 STATEMENT 1 ON LINE 422 ec = error_table_$bad_arg; 001613 aa 6 00044 3701 20 epp4 pr6|36,* 001614 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 001615 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 423 end; 001616 aa 000333 7100 04 tra 219,ic 002151 STATEMENT 1 ON LINE 424 else if index (level_pair, "/") = 0 then do; 001617 aa 6 00624 3735 20 epp7 pr6|404,* 001620 aa 7 00004 3715 20 epp5 pr7|4,* 001621 aa 000 003 124 540 scm (pr,rl),(du),mask(000) 001622 aa 5 00000 00 0006 desc9a pr5|0,ql level_pair 001623 aa 057000 00 0001 desc9a 24064,1 001624 aa 6 00056 0001 00 arg pr6|46 001625 aa 6 00056 2361 00 ldq pr6|46 001626 aa 000002 6070 04 ttf 2,ic 001630 001627 aa 000001 3360 07 lcq 1,dl 001630 aa 000001 0760 07 adq 1,dl 001631 aa 000005 6010 04 tnz 5,ic 001636 STATEMENT 1 ON LINE 426 ec = error_table_$bad_arg; 001632 aa 6 00044 3701 20 epp4 pr6|36,* 001633 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 001634 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 427 end; 001635 aa 000314 7100 04 tra 204,ic 002151 STATEMENT 1 ON LINE 428 else do; STATEMENT 1 ON LINE 429 grant_key = lowercase (before (level_pair, "/")); 001636 aa 6 01106 2351 00 lda pr6|582 001637 aa 000 003 124 540 scm (pr,rl),(du),mask(000) 001640 aa 5 00000 00 0005 desc9a pr5|0,al level_pair 001641 aa 057000 00 0001 desc9a 24064,1 001642 aa 6 00056 0001 00 arg pr6|46 001643 aa 6 00056 2361 00 ldq pr6|46 001644 aa 6 01110 7561 00 stq pr6|584 001645 aa 524000 2760 03 orq 174080,du 001646 aa 6 01107 7561 00 stq pr6|583 001647 aa 6 01110 2361 00 ldq pr6|584 001650 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 001651 aa 6 01116 2521 00 spri2 pr6|590 001652 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001653 aa 5 00000 00 0006 desc9a pr5|0,ql level_pair 001654 aa 2 00000 00 0006 desc9a pr2|0,ql 001655 aa 6 01130 3521 00 epp2 pr6|600 001656 aa 6 01120 2521 00 spri2 pr6|592 001657 aa 6 01107 3521 00 epp2 pr6|583 001660 aa 6 01124 2521 00 spri2 pr6|596 001661 aa 6 01111 3521 00 epp2 pr6|585 001662 aa 6 01126 2521 00 spri2 pr6|598 001663 aa 6 01114 6211 00 eax1 pr6|588 001664 aa 010000 4310 07 fld 4096,dl 001665 aa 777316 3520 04 epp2 -306,ic 001203 = 000120627000 001666 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 001667 aa 6 01111 2361 00 ldq pr6|585 001670 aa 000002 6040 04 tmi 2,ic 001672 001671 aa 777777 3760 07 anq 262143,dl 001672 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001673 aa 6 01130 3735 20 epp7 pr6|600,* 001674 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001675 aa 7 00000 00 0006 desc9a pr7|0,ql 001676 aa 6 00632 00 0040 desc9a pr6|410,32 grant_key STATEMENT 1 ON LINE 430 deny_key = lowercase (after (level_pair, "/")); 001677 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001700 aa 6 00624 3715 20 epp5 pr6|404,* 001701 aa 5 00004 3535 20 epp3 pr5|4,* 001702 aa 6 01106 2351 00 lda pr6|582 001703 aa 000 003 124 540 scm (pr,rl),(du),mask(000) 001704 aa 3 00000 00 0005 desc9a pr3|0,al level_pair 001705 aa 057000 00 0001 desc9a 24064,1 001706 aa 6 00056 0001 00 arg pr6|46 001707 aa 6 00056 2361 00 ldq pr6|46 001710 aa 000002 6064 04 ttn 2,ic 001712 001711 aa 000001 0760 07 adq 1,dl 001712 aa 6 01111 7561 00 stq pr6|585 001713 aa 6 01106 2361 00 ldq pr6|582 001714 aa 6 01111 1761 00 sbq pr6|585 001715 aa 6 01110 7561 00 stq pr6|584 001716 aa 524000 2760 03 orq 174080,du 001717 aa 6 01107 7561 00 stq pr6|583 001720 aa 6 01110 2361 00 ldq pr6|584 001721 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 001722 aa 6 01116 2521 00 spri2 pr6|590 001723 aa 6 01111 2351 00 lda pr6|585 001724 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 001725 aa 3 00000 00 0006 desc9a pr3|0,ql level_pair 001726 aa 2 00000 00 0006 desc9a pr2|0,ql 001727 aa 6 01112 3521 00 epp2 pr6|586 001730 aa 6 01120 2521 00 spri2 pr6|592 001731 aa 6 01107 3521 00 epp2 pr6|583 001732 aa 6 01124 2521 00 spri2 pr6|596 001733 aa 6 01111 3521 00 epp2 pr6|585 001734 aa 6 01126 2521 00 spri2 pr6|598 001735 aa 6 01114 6211 00 eax1 pr6|588 001736 aa 010000 4310 07 fld 4096,dl 001737 aa 777244 3520 04 epp2 -348,ic 001203 = 000120627000 001740 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 001741 aa 6 01111 2361 00 ldq pr6|585 001742 aa 000002 6040 04 tmi 2,ic 001744 001743 aa 777777 3760 07 anq 262143,dl 001744 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001745 aa 6 01112 3735 20 epp7 pr6|586,* 001746 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001747 aa 7 00000 00 0006 desc9a pr7|0,ql 001750 aa 6 00642 00 0040 desc9a pr6|418,32 deny_key STATEMENT 1 ON LINE 432 if grant_key ^= "" then do; 001751 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001752 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001753 aa 6 00632 00 0040 desc9a pr6|410,32 grant_key 001754 aa 002066 00 0000 desc9a 1078,0 004040 = 057000000000 001755 aa 000074 6000 04 tze 60,ic 002051 STATEMENT 1 ON LINE 434 found = False; 001756 aa 6 00631 4501 00 stz pr6|409 found STATEMENT 1 ON LINE 435 do level_index = lbound (Short_Level_Names, 1) to hbound (Short_Level_Names, 1) while (^found); 001757 aa 6 00630 4501 00 stz pr6|408 level_index 001760 aa 6 00630 2361 00 ldq pr6|408 level_index 001761 aa 000003 1160 07 cmpq 3,dl 001762 aa 000062 6054 04 tpnz 50,ic 002044 001763 aa 6 00631 2351 00 lda pr6|409 found 001764 aa 000060 6010 04 tnz 48,ic 002044 STATEMENT 1 ON LINE 436 if grant_key = lowercase (Short_Level_Names (level_index)) then do; 001765 aa 000001 7360 00 qls 1 001766 ta 000070 3520 00 epp2 56 001767 aa 2 00000 5005 06 a9bd pr2|0,ql 001770 aa 6 01116 2521 00 spri2 pr6|590 001771 aa 6 01112 3521 00 epp2 pr6|586 001772 aa 6 01120 2521 00 spri2 pr6|592 001773 aa 776230 3520 04 epp2 -872,ic 000223 = 526000000002 001774 aa 6 01124 2521 00 spri2 pr6|596 001775 aa 6 01107 3521 00 epp2 pr6|583 001776 aa 6 01126 2521 00 spri2 pr6|598 001777 aa 6 01114 6211 00 eax1 pr6|588 002000 aa 010000 4310 07 fld 4096,dl 002001 aa 777202 3520 04 epp2 -382,ic 001203 = 000120627000 002002 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 002003 aa 6 01107 2361 00 ldq pr6|583 002004 aa 000002 6040 04 tmi 2,ic 002006 002005 aa 777777 3760 07 anq 262143,dl 002006 aa 0 00250 3761 00 anq pr0|168 = 000077777777 002007 aa 6 01112 3735 20 epp7 pr6|586,* 002010 aa 040 140 106 500 cmpc (pr),(pr,rl),fill(040) 002011 aa 6 00632 00 0040 desc9a pr6|410,32 grant_key 002012 aa 7 00000 00 0006 desc9a pr7|0,ql 002013 aa 000027 6010 04 tnz 23,ic 002042 STATEMENT 1 ON LINE 438 found = True; 002014 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002015 aa 400000 2350 03 lda 131072,du 002016 aa 6 00631 7551 00 sta pr6|409 found STATEMENT 1 ON LINE 439 flags.objects (object_index).grant_level = level_index; 002017 aa 6 00624 3715 20 epp5 pr6|404,* 002020 aa 5 00002 2361 20 ldq pr5|2,* object_index 002021 aa 000002 7360 00 qls 2 002022 aa 000000 6270 06 eax7 0,ql 002023 aa 6 00630 2361 00 ldq pr6|408 level_index 002024 aa 000106 7370 00 lls 70 002025 aa 6 00056 7551 00 sta pr6|46 002026 aa 003 117 060 500 csl (pr),(pr,x7),fill(0),bool(move) 002027 aa 6 00056 00 0002 descb pr6|46,2 002030 aa 6 00110 65 0002 descb pr6|72(32),2 flags.grant_level STATEMENT 1 ON LINE 440 if object_index = FSOBJ_AUDIT_OBJECT_INDEX & level_index = MODIFY_ACCESS then ec = error_table_$bad_arg; 002031 aa 5 00002 2361 20 ldq pr5|2,* object_index 002032 aa 000001 1160 07 cmpq 1,dl 002033 aa 000007 6010 04 tnz 7,ic 002042 002034 aa 6 00630 2361 00 ldq pr6|408 level_index 002035 aa 000001 1160 07 cmpq 1,dl 002036 aa 000004 6010 04 tnz 4,ic 002042 002037 aa 6 00044 3701 20 epp4 pr6|36,* 002040 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 002041 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 444 end; STATEMENT 1 ON LINE 445 end; 002042 aa 6 00630 0541 00 aos pr6|408 level_index 002043 aa 777715 7100 04 tra -51,ic 001760 STATEMENT 1 ON LINE 446 if ^found then ec = error_table_$bad_arg; 002044 aa 6 00631 2351 00 lda pr6|409 found 002045 aa 000004 6010 04 tnz 4,ic 002051 002046 aa 6 00044 3701 20 epp4 pr6|36,* 002047 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 002050 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 448 end; STATEMENT 1 ON LINE 450 if deny_key ^= "" then do; 002051 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 002052 aa 6 00642 00 0040 desc9a pr6|418,32 deny_key 002053 aa 001767 00 0000 desc9a 1015,0 004040 = 057000000000 002054 aa 000075 6000 04 tze 61,ic 002151 STATEMENT 1 ON LINE 452 found = False; 002055 aa 6 00631 4501 00 stz pr6|409 found STATEMENT 1 ON LINE 453 do level_index = lbound (Short_Level_Names, 1) to hbound (Short_Level_Names, 1) while (^found); 002056 aa 6 00630 4501 00 stz pr6|408 level_index 002057 aa 000000 0110 03 nop 0,du 002060 aa 6 00630 2361 00 ldq pr6|408 level_index 002061 aa 000003 1160 07 cmpq 3,dl 002062 aa 000062 6054 04 tpnz 50,ic 002144 002063 aa 6 00631 2351 00 lda pr6|409 found 002064 aa 000060 6010 04 tnz 48,ic 002144 STATEMENT 1 ON LINE 454 if deny_key = lowercase (Short_Level_Names (level_index)) then do; 002065 aa 000001 7360 00 qls 1 002066 ta 000070 3520 00 epp2 56 002067 aa 2 00000 5005 06 a9bd pr2|0,ql 002070 aa 6 01116 2521 00 spri2 pr6|590 002071 aa 6 01112 3521 00 epp2 pr6|586 002072 aa 6 01120 2521 00 spri2 pr6|592 002073 aa 776130 3520 04 epp2 -936,ic 000223 = 526000000002 002074 aa 6 01124 2521 00 spri2 pr6|596 002075 aa 6 01107 3521 00 epp2 pr6|583 002076 aa 6 01126 2521 00 spri2 pr6|598 002077 aa 6 01114 6211 00 eax1 pr6|588 002100 aa 010000 4310 07 fld 4096,dl 002101 aa 777102 3520 04 epp2 -446,ic 001203 = 000120627000 002102 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 002103 aa 6 01107 2361 00 ldq pr6|583 002104 aa 000002 6040 04 tmi 2,ic 002106 002105 aa 777777 3760 07 anq 262143,dl 002106 aa 0 00250 3761 00 anq pr0|168 = 000077777777 002107 aa 6 01112 3735 20 epp7 pr6|586,* 002110 aa 040 140 106 500 cmpc (pr),(pr,rl),fill(040) 002111 aa 6 00642 00 0040 desc9a pr6|418,32 deny_key 002112 aa 7 00000 00 0006 desc9a pr7|0,ql 002113 aa 000027 6010 04 tnz 23,ic 002142 STATEMENT 1 ON LINE 456 found = True; 002114 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002115 aa 400000 2350 03 lda 131072,du 002116 aa 6 00631 7551 00 sta pr6|409 found STATEMENT 1 ON LINE 457 flags.objects (object_index).deny_level = level_index; 002117 aa 6 00624 3715 20 epp5 pr6|404,* 002120 aa 5 00002 2361 20 ldq pr5|2,* object_index 002121 aa 000002 7360 00 qls 2 002122 aa 000000 6270 06 eax7 0,ql 002123 aa 6 00630 2361 00 ldq pr6|408 level_index 002124 aa 000106 7370 00 lls 70 002125 aa 6 00056 7551 00 sta pr6|46 002126 aa 003 117 060 500 csl (pr),(pr,x7),fill(0),bool(move) 002127 aa 6 00056 00 0002 descb pr6|46,2 002130 aa 6 00110 67 0002 descb pr6|72(34),2 flags.deny_level STATEMENT 1 ON LINE 458 if object_index = FSOBJ_AUDIT_OBJECT_INDEX & level_index = MODIFY_ACCESS then ec = error_table_$bad_arg; 002131 aa 5 00002 2361 20 ldq pr5|2,* object_index 002132 aa 000001 1160 07 cmpq 1,dl 002133 aa 000007 6010 04 tnz 7,ic 002142 002134 aa 6 00630 2361 00 ldq pr6|408 level_index 002135 aa 000001 1160 07 cmpq 1,dl 002136 aa 000004 6010 04 tnz 4,ic 002142 002137 aa 6 00044 3701 20 epp4 pr6|36,* 002140 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 002141 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 462 end; STATEMENT 1 ON LINE 463 end; 002142 aa 6 00630 0541 00 aos pr6|408 level_index 002143 aa 777715 7100 04 tra -51,ic 002060 STATEMENT 1 ON LINE 464 if ^found then ec = error_table_$bad_arg; 002144 aa 6 00631 2351 00 lda pr6|409 found 002145 aa 000004 6010 04 tnz 4,ic 002151 002146 aa 6 00044 3701 20 epp4 pr6|36,* 002147 la 4 00010 2361 20 ldq pr4|8,* error_table_$bad_arg 002150 aa 6 00112 7561 00 stq pr6|74 ec STATEMENT 1 ON LINE 466 end; STATEMENT 1 ON LINE 467 end; STATEMENT 1 ON LINE 469 end process_level_pair; 002151 aa 6 00622 6101 00 rtcd pr6|402 END PROCEDURE process_level_pair BEGIN PROCEDURE move_substr ENTRY TO move_substr STATEMENT 1 ON LINE 474 move_substr: proc (substr_ptr, substr_len, n_chars); 002152 aa 6 00652 6501 00 spri4 pr6|426 002153 aa 6 00654 2521 00 spri2 pr6|428 STATEMENT 1 ON LINE 482 substr_ptr = addr (substr_ptr -> char_array (n_chars + 1)); 002154 aa 2 00006 2351 20 lda pr2|6,* n_chars 002155 aa 2 00002 3735 20 epp7 pr2|2,* substr_ptr 002156 aa 7 00000 3521 20 epp2 pr7|0,* char_array 002157 aa 2 00000 5005 05 a9bd pr2|0,al 002160 aa 6 00654 3715 20 epp5 pr6|428,* 002161 aa 5 00002 2521 20 spri2 pr5|2,* substr_ptr STATEMENT 1 ON LINE 483 substr_len = substr_len - n_chars; 002162 aa 5 00006 3361 20 lcq pr5|6,* n_chars 002163 aa 5 00004 0561 20 asq pr5|4,* substr_len STATEMENT 1 ON LINE 485 return; 002164 aa 6 00652 6101 00 rtcd pr6|426 STATEMENT 1 ON LINE 487 end move_substr; END PROCEDURE move_substr BEGIN PROCEDURE check_flag_bits ENTRY TO check_flag_bits STATEMENT 1 ON LINE 492 check_flag_bits: proc () returns (bit (1)); 002165 aa 6 00660 6501 00 spri4 pr6|432 002166 aa 6 00662 2521 00 spri2 pr6|434 STATEMENT 1 ON LINE 498 if addr (flags) -> audit_flags.pad ^= ""b then return (False); 002167 aa 6 00111 3735 00 epp7 pr6|73 flags 002170 aa 6 01132 6535 00 spri7 pr6|602 002171 aa 7 00000 2351 00 lda pr7|0 audit_flags.pad 002172 aa 007740 3150 07 cana 4064,dl 002173 aa 000006 6000 04 tze 6,ic 002201 002174 aa 2 00002 3715 20 epp5 pr2|2,* 002175 aa 003 100 060 400 csl (),(pr),fill(0),bool(move) 002176 aa 000000 00 0000 descb 0,0 002177 aa 5 00000 00 0001 descb pr5|0,1 002200 aa 6 00660 6101 00 rtcd pr6|432 STATEMENT 1 ON LINE 500 else if addr (flags) -> audit_flags.objects (FSOBJ_AUDIT_OBJECT_INDEX).deny_level = MODIFY_ACCESS then return (False); 002201 aa 000004 2360 07 ldq 4,dl 002202 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 002203 aa 7 77777 67 0002 descb pr7|-1(34),2 audit_flags.deny_level 002204 aa 6 00056 00 0044 descb pr6|46,36 002205 aa 6 00056 2351 00 lda pr6|46 002206 aa 6 01134 7561 00 stq pr6|604 002207 aa 000106 7730 00 lrl 70 002210 aa 000001 1160 07 cmpq 1,dl 002211 aa 000006 6010 04 tnz 6,ic 002217 002212 aa 2 00002 3715 20 epp5 pr2|2,* 002213 aa 003 100 060 400 csl (),(pr),fill(0),bool(move) 002214 aa 000000 00 0000 descb 0,0 002215 aa 5 00000 00 0001 descb pr5|0,1 002216 aa 6 00660 6101 00 rtcd pr6|432 STATEMENT 1 ON LINE 502 else if addr (flags) -> audit_flags.objects (FSOBJ_AUDIT_OBJECT_INDEX).grant_level = MODIFY_ACCESS then return (False); 002217 aa 6 01134 7271 00 lxl7 pr6|604 002220 aa 003 100 060 517 csl (pr,x7),(pr),fill(0),bool(move) 002221 aa 7 77777 65 0002 descb pr7|-1(32),2 audit_flags.grant_level 002222 aa 6 00056 00 0044 descb pr6|46,36 002223 aa 6 00056 2351 00 lda pr6|46 002224 aa 000106 7730 00 lrl 70 002225 aa 000001 1160 07 cmpq 1,dl 002226 aa 000006 6010 04 tnz 6,ic 002234 002227 aa 2 00002 3715 20 epp5 pr2|2,* 002230 aa 003 100 060 400 csl (),(pr),fill(0),bool(move) 002231 aa 000000 00 0000 descb 0,0 002232 aa 5 00000 00 0001 descb pr5|0,1 002233 aa 6 00660 6101 00 rtcd pr6|432 STATEMENT 1 ON LINE 504 else return (True); 002234 aa 2 00002 3715 20 epp5 pr2|2,* 002235 aa 403 100 060 400 csl (),(pr),fill(1),bool(move) 002236 aa 000000 00 0000 descb 0,0 002237 aa 5 00000 00 0001 descb pr5|0,1 002240 aa 6 00660 6101 00 rtcd pr6|432 STATEMENT 1 ON LINE 506 end check_flag_bits; END PROCEDURE check_flag_bits BEGIN PROCEDURE append_object_level_pair ENTRY TO append_object_level_pair STATEMENT 1 ON LINE 511 append_object_level_pair: proc (object_index); 002241 aa 6 00666 6501 00 spri4 pr6|438 002242 aa 6 00670 2521 00 spri2 pr6|440 STATEMENT 1 ON LINE 516 if v_flag_str ^= "" then v_flag_str = v_flag_str || ","; 002243 aa 6 00113 7271 00 lxl7 pr6|75 v_flag_str 002244 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 002245 aa 6 00114 00 0017 desc9a pr6|76,x7 v_flag_str 002246 aa 001574 00 0000 desc9a 892,0 004040 = 057000000000 002247 aa 000010 6000 04 tze 8,ic 002257 002250 aa 6 00113 2361 00 ldq pr6|75 v_flag_str 002251 aa 002000 1160 07 cmpq 1024,dl 002252 aa 000005 6050 04 tpl 5,ic 002257 002253 aa 6 00113 0541 00 aos pr6|75 v_flag_str 002254 aa 040 106 100 404 mlr (ic),(pr,ql),fill(040) 002255 aa 001570 00 0001 desc9a 888,1 004044 = 054000000000 002256 aa 6 00114 00 0001 desc9a pr6|76,1 v_flag_str STATEMENT 1 ON LINE 519 v_flag_str = v_flag_str || rtrim (Short_Object_Names (object_index)) || "=" || rtrim (Short_Level_Names (flags.objects (object_index).grant_level)) || "/" || rtrim (Short_Level_Names (flags.objects (object_index).deny_level)); 002257 aa 2 00002 2361 20 ldq pr2|2,* object_index 002260 aa 000002 7360 00 qls 2 002261 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 002262 aa 6 00110 67 0002 descb pr6|72(34),2 flags.deny_level 002263 aa 6 00056 00 0044 descb pr6|46,36 002264 aa 6 00056 2351 00 lda pr6|46 002265 aa 000000 6270 06 eax7 0,ql 002266 aa 000106 7730 00 lrl 70 002267 aa 000001 7360 00 qls 1 002270 aa 000000 6240 06 eax4 0,ql 002271 aa 000 000 165 406 tctr (ql) 002272 ta 000070 00 0002 desc9a 56,2 002273 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002274 aa 6 00056 0001 00 arg pr6|46 002275 aa 6 00056 2361 00 ldq pr6|46 002276 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002277 aa 6 01137 7561 00 stq pr6|607 002300 aa 000002 2360 07 ldq 2,dl 002301 aa 6 01137 1761 00 sbq pr6|607 002302 aa 003 100 060 517 csl (pr,x7),(pr),fill(0),bool(move) 002303 aa 6 00110 65 0002 descb pr6|72(32),2 flags.grant_level 002304 aa 6 00056 00 0044 descb pr6|46,36 002305 aa 6 00056 2351 00 lda pr6|46 002306 aa 6 01135 7561 00 stq pr6|605 002307 aa 000106 7730 00 lrl 70 002310 aa 000001 7360 00 qls 1 002311 aa 6 01137 7561 00 stq pr6|607 002312 aa 000 000 165 406 tctr (ql) 002313 ta 000070 00 0002 desc9a 56,2 002314 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002315 aa 6 00056 0001 00 arg pr6|46 002316 aa 6 00056 2361 00 ldq pr6|46 002317 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002320 aa 6 01140 7561 00 stq pr6|608 002321 aa 000002 2360 07 ldq 2,dl 002322 aa 6 01140 1761 00 sbq pr6|608 002323 aa 6 01140 7561 00 stq pr6|608 002324 aa 2 00002 2361 20 ldq pr2|2,* object_index 002325 aa 000001 7360 00 qls 1 002326 ta 000110 3734 06 epp7 72,ql 002327 aa 6 01141 7561 00 stq pr6|609 002330 aa 000 000 165 500 tctr (pr) 002331 aa 7 00000 00 0010 desc9a pr7|0,8 Short_Object_Names 002332 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002333 aa 6 00056 0001 00 arg pr6|46 002334 aa 6 00056 2361 00 ldq pr6|46 002335 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002336 aa 6 01142 7561 00 stq pr6|610 002337 aa 000010 2360 07 ldq 8,dl 002340 aa 6 01142 1761 00 sbq pr6|610 002341 aa 6 01142 7561 00 stq pr6|610 002342 aa 6 01141 2361 00 ldq pr6|609 002343 aa 000002 7360 00 qls 2 002344 aa 000000 6250 06 eax5 0,ql 002345 aa 6 00113 2361 00 ldq pr6|75 v_flag_str 002346 aa 6 01142 0761 00 adq pr6|610 002347 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 002350 aa 6 00113 7261 00 lxl6 pr6|75 v_flag_str 002351 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 002352 aa 6 00114 00 0016 desc9a pr6|76,x6 v_flag_str 002353 aa 2 00000 00 0016 desc9a pr2|0,x6 002354 aa 6 00113 7261 00 lxl6 pr6|75 v_flag_str 002355 aa 6 01142 2351 00 lda pr6|610 002356 aa 040 156 100 455 mlr (rl,x5),(pr,rl,x6),fill(040) 002357 ta 000110 00 0005 desc9a 72,al 002360 aa 2 00000 00 0005 desc9a pr2|0,al 002361 aa 6 01142 7561 00 stq pr6|610 002362 aa 000001 0760 07 adq 1,dl 002363 aa 6 01141 7561 00 stq pr6|609 002364 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 002365 aa 6 01142 2351 00 lda pr6|610 002366 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 002367 aa 001455 00 0001 desc9a 813,1 004043 = 075000000000 002370 aa 2 00000 00 0001 desc9a pr2|0,1 002371 aa 6 01141 2361 00 ldq pr6|609 002372 aa 6 01140 0761 00 adq pr6|608 002373 aa 6 01142 7561 00 stq pr6|610 002374 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 002375 aa 6 01141 2351 00 lda pr6|609 002376 aa 6 01137 7261 00 lxl6 pr6|607 002377 aa 6 01140 2361 00 ldq pr6|608 002400 aa 040 145 100 456 mlr (rl,x6),(pr,rl,al),fill(040) 002401 ta 000070 00 0006 desc9a 56,ql 002402 aa 2 00000 00 0006 desc9a pr2|0,ql 002403 aa 6 01142 2361 00 ldq pr6|610 002404 aa 000001 0760 07 adq 1,dl 002405 aa 6 01141 7561 00 stq pr6|609 002406 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 002407 aa 6 01142 2351 00 lda pr6|610 002410 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 002411 aa 001430 00 0001 desc9a 792,1 004040 = 057000000000 002412 aa 2 00000 00 0001 desc9a pr2|0,1 002413 aa 6 01141 2361 00 ldq pr6|609 002414 aa 6 01135 0761 00 adq pr6|605 002415 aa 6 01142 7561 00 stq pr6|610 002416 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 002417 aa 6 01141 2351 00 lda pr6|609 002420 aa 6 01135 2361 00 ldq pr6|605 002421 aa 040 145 100 454 mlr (rl,x4),(pr,rl,al),fill(040) 002422 ta 000070 00 0006 desc9a 56,ql 002423 aa 2 00000 00 0006 desc9a pr2|0,ql 002424 aa 6 01142 2361 00 ldq pr6|610 002425 aa 002000 1160 07 cmpq 1024,dl 002426 aa 000002 6040 04 tmi 2,ic 002430 002427 aa 002000 2360 07 ldq 1024,dl 002430 aa 6 00113 7561 00 stq pr6|75 v_flag_str 002431 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 002432 aa 2 00000 00 0006 desc9a pr2|0,ql 002433 aa 6 00114 00 0006 desc9a pr6|76,ql v_flag_str STATEMENT 1 ON LINE 526 return; 002434 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002435 aa 6 00666 6101 00 rtcd pr6|438 STATEMENT 1 ON LINE 528 end append_object_level_pair; END PROCEDURE append_object_level_pair BEGIN PROCEDURE append_flag ENTRY TO append_flag STATEMENT 1 ON LINE 532 append_flag: proc (flag_index); 002436 aa 6 00674 6501 00 spri4 pr6|444 002437 aa 6 00676 2521 00 spri2 pr6|446 STATEMENT 1 ON LINE 537 if v_flag_str ^= "" then v_flag_str = v_flag_str || ","; 002440 aa 6 00113 7271 00 lxl7 pr6|75 v_flag_str 002441 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 002442 aa 6 00114 00 0017 desc9a pr6|76,x7 v_flag_str 002443 aa 001377 00 0000 desc9a 767,0 004040 = 057000000000 002444 aa 000010 6000 04 tze 8,ic 002454 002445 aa 6 00113 2361 00 ldq pr6|75 v_flag_str 002446 aa 002000 1160 07 cmpq 1024,dl 002447 aa 000005 6050 04 tpl 5,ic 002454 002450 aa 6 00113 0541 00 aos pr6|75 v_flag_str 002451 aa 040 106 100 404 mlr (ic),(pr,ql),fill(040) 002452 aa 001373 00 0001 desc9a 763,1 004044 = 054000000000 002453 aa 6 00114 00 0001 desc9a pr6|76,1 v_flag_str STATEMENT 1 ON LINE 539 if ^addr (flags) -> audit_flags_alt.flags (flag_index) then v_flag_str = v_flag_str || "^"; 002454 aa 2 00002 7271 20 lxl7 pr2|2,* flag_index 002455 aa 000 000 066 517 cmpb (pr,x7),(),fill(0) 002456 aa 6 00111 63 0001 descb pr6|73(30),1 audit_flags_alt.flags 002457 aa 000000 00 0000 descb 0,0 002460 aa 000010 6010 04 tnz 8,ic 002470 002461 aa 6 00113 2361 00 ldq pr6|75 v_flag_str 002462 aa 002000 1160 07 cmpq 1024,dl 002463 aa 000005 6050 04 tpl 5,ic 002470 002464 aa 6 00113 0541 00 aos pr6|75 v_flag_str 002465 aa 040 106 100 404 mlr (ic),(pr,ql),fill(040) 002466 aa 001354 00 0001 desc9a 748,1 004041 = 136000000000 002467 aa 6 00114 00 0001 desc9a pr6|76,1 v_flag_str STATEMENT 1 ON LINE 541 v_flag_str = v_flag_str || rtrim (Short_Flag_Names (flag_index)); 002470 aa 2 00002 2361 20 ldq pr2|2,* flag_index 002471 aa 000003 4020 07 mpy 3,dl 002472 ta 777775 3734 06 epp7 -3,ql 002473 aa 6 01143 7561 00 stq pr6|611 002474 aa 000 000 165 500 tctr (pr) 002475 aa 7 00000 00 0014 desc9a pr7|0,12 Short_Flag_Names 002476 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002477 aa 6 00056 0001 00 arg pr6|46 002500 aa 6 00056 2361 00 ldq pr6|46 002501 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002502 aa 6 01144 7561 00 stq pr6|612 002503 aa 000014 2360 07 ldq 12,dl 002504 aa 6 01144 1761 00 sbq pr6|612 002505 aa 6 01144 7561 00 stq pr6|612 002506 aa 6 01143 2361 00 ldq pr6|611 002507 aa 000002 7360 00 qls 2 002510 aa 000000 6260 06 eax6 0,ql 002511 aa 002000 2360 07 ldq 1024,dl 002512 aa 6 00113 1761 00 sbq pr6|75 v_flag_str 002513 aa 6 01144 1161 00 cmpq pr6|612 002514 aa 000002 6040 04 tmi 2,ic 002516 002515 aa 6 01144 2361 00 ldq pr6|612 002516 aa 6 00113 7251 00 lxl5 pr6|75 v_flag_str 002517 aa 6 00113 0561 00 asq pr6|75 v_flag_str 002520 aa 040 155 100 456 mlr (rl,x6),(pr,rl,x5),fill(040) 002521 ta 777775 00 0006 desc9a -3,ql 002522 aa 6 00114 00 0006 desc9a pr6|76,ql v_flag_str STATEMENT 1 ON LINE 543 return; 002523 aa 6 00674 6101 00 rtcd pr6|444 STATEMENT 1 ON LINE 545 end append_flag; END PROCEDURE append_flag BEGIN PROCEDURE set_object_display_widths ENTRY TO set_object_display_widths STATEMENT 1 ON LINE 550 set_object_display_widths: proc (); 002524 aa 6 00702 6501 00 spri4 pr6|450 STATEMENT 1 ON LINE 557 object_name_width = 0; 002525 aa 6 00106 4501 00 stz pr6|70 object_name_width STATEMENT 1 ON LINE 558 do i = lbound (Long_Object_Names, 1) to hbound (Long_Object_Names, 1); 002526 aa 000001 2360 07 ldq 1,dl 002527 aa 6 00710 7561 00 stq pr6|456 i 002530 aa 6 00710 2361 00 ldq pr6|456 i 002531 aa 000006 1160 07 cmpq 6,dl 002532 aa 000023 6054 04 tpnz 19,ic 002555 STATEMENT 1 ON LINE 559 len = length (rtrim (Long_Object_Names (i))); 002533 aa 000003 7360 00 qls 3 002534 ta 000116 3734 06 epp7 78,ql 002535 aa 6 01145 7561 00 stq pr6|613 002536 aa 000 000 165 500 tctr (pr) 002537 aa 7 00000 00 0040 desc9a pr7|0,32 Long_Object_Names 002540 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002541 aa 6 00056 0001 00 arg pr6|46 002542 aa 6 00056 2361 00 ldq pr6|46 002543 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002544 aa 6 01146 7561 00 stq pr6|614 002545 aa 000040 2360 07 ldq 32,dl 002546 aa 6 01146 1761 00 sbq pr6|614 002547 aa 6 00105 7561 00 stq pr6|69 len STATEMENT 1 ON LINE 560 if len > object_name_width then object_name_width = len; 002550 aa 6 00106 1161 00 cmpq pr6|70 object_name_width 002551 aa 000002 6044 04 tmoz 2,ic 002553 002552 aa 6 00106 7561 00 stq pr6|70 object_name_width STATEMENT 1 ON LINE 562 end; 002553 aa 6 00710 0541 00 aos pr6|456 i 002554 aa 777754 7100 04 tra -20,ic 002530 STATEMENT 1 ON LINE 564 level_name_width = 0; 002555 aa 6 00107 4501 00 stz pr6|71 level_name_width STATEMENT 1 ON LINE 565 do i = lbound (Long_Level_Names, 1) to hbound (Long_Level_Names, 1); 002556 aa 6 00710 4501 00 stz pr6|456 i 002557 aa 000000 0110 03 nop 0,du 002560 aa 6 00710 2361 00 ldq pr6|456 i 002561 aa 000003 1160 07 cmpq 3,dl 002562 aa 000023 6054 04 tpnz 19,ic 002605 STATEMENT 1 ON LINE 566 len = length (rtrim (Long_Level_Names (i))); 002563 aa 000002 7360 00 qls 2 002564 ta 000072 3734 06 epp7 58,ql 002565 aa 6 01146 7561 00 stq pr6|614 002566 aa 000 000 165 500 tctr (pr) 002567 aa 7 00000 00 0020 desc9a pr7|0,16 Long_Level_Names 002570 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002571 aa 6 00056 0001 00 arg pr6|46 002572 aa 6 00056 2361 00 ldq pr6|46 002573 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002574 aa 6 01147 7561 00 stq pr6|615 002575 aa 000020 2360 07 ldq 16,dl 002576 aa 6 01147 1761 00 sbq pr6|615 002577 aa 6 00105 7561 00 stq pr6|69 len STATEMENT 1 ON LINE 567 if len > level_name_width then level_name_width = len; 002600 aa 6 00107 1161 00 cmpq pr6|71 level_name_width 002601 aa 000002 6044 04 tmoz 2,ic 002603 002602 aa 6 00107 7561 00 stq pr6|71 level_name_width STATEMENT 1 ON LINE 569 end; 002603 aa 6 00710 0541 00 aos pr6|456 i 002604 aa 777754 7100 04 tra -20,ic 002560 STATEMENT 1 ON LINE 571 return; 002605 aa 6 00702 6101 00 rtcd pr6|450 STATEMENT 1 ON LINE 573 end set_object_display_widths; END PROCEDURE set_object_display_widths BEGIN PROCEDURE display_object_level_pair ENTRY TO display_object_level_pair STATEMENT 1 ON LINE 578 display_object_level_pair: proc (object_index); 002606 aa 6 00712 6501 00 spri4 pr6|458 002607 aa 6 00714 2521 00 spri2 pr6|460 STATEMENT 1 ON LINE 583 len = display_substr_len; 002610 aa 6 00524 2361 00 ldq pr6|340 display_substr_len 002611 aa 6 00105 7561 00 stq pr6|69 len STATEMENT 1 ON LINE 584 call ioa_$rsnp (Display_Object_Format, based_display_substr, len, object_name_width, Long_Object_Names (object_index), level_name_width, Long_Level_Names (flags.objects (object_index).grant_level), level_name_width, Long_Level_Names (flags.objects (object_index).deny_level)); 002612 aa 6 00524 2361 00 ldq pr6|340 display_substr_len 002613 aa 526000 2760 03 orq 175104,du 002614 aa 6 01150 7561 00 stq pr6|616 002615 aa 2 00002 2361 20 ldq pr2|2,* object_index 002616 aa 000003 7360 00 qls 3 002617 aa 000000 6260 06 eax6 0,ql 002620 aa 2 00002 2361 20 ldq pr2|2,* object_index 002621 aa 000002 7360 00 qls 2 002622 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 002623 aa 6 00110 65 0002 descb pr6|72(32),2 flags.grant_level 002624 aa 6 00056 00 0044 descb pr6|46,36 002625 aa 6 00056 2351 00 lda pr6|46 002626 aa 000000 6270 06 eax7 0,ql 002627 aa 000106 7730 00 lrl 70 002630 aa 000002 7360 00 qls 2 002631 aa 003 100 060 517 csl (pr,x7),(pr),fill(0),bool(move) 002632 aa 6 00110 67 0002 descb pr6|72(34),2 flags.deny_level 002633 aa 6 00056 00 0044 descb pr6|46,36 002634 aa 6 00056 2351 00 lda pr6|46 002635 aa 000000 6250 06 eax5 0,ql 002636 aa 000106 7730 00 lrl 70 002637 aa 000002 7360 00 qls 2 002640 aa 775346 3520 04 epp2 -1306,ic 000206 = 136166141040 002641 aa 6 01156 2521 00 spri2 pr6|622 002642 aa 6 00526 3521 20 epp2 pr6|342,* based_display_substr 002643 aa 6 01160 2521 00 spri2 pr6|624 002644 aa 6 00105 3521 00 epp2 pr6|69 len 002645 aa 6 01162 2521 00 spri2 pr6|626 002646 aa 6 00106 3521 00 epp2 pr6|70 object_name_width 002647 aa 6 01164 2521 00 spri2 pr6|628 002650 ta 000116 3520 16 epp2 78,6 002651 aa 6 01166 2521 00 spri2 pr6|630 002652 aa 6 00107 3521 00 epp2 pr6|71 level_name_width 002653 aa 6 01170 2521 00 spri2 pr6|632 002654 ta 000072 3520 15 epp2 58,5 002655 aa 6 01172 2521 00 spri2 pr6|634 002656 aa 6 00107 3521 00 epp2 pr6|71 level_name_width 002657 aa 6 01174 2521 00 spri2 pr6|636 002660 ta 000072 3520 06 epp2 58,ql 002661 aa 6 01176 2521 00 spri2 pr6|638 002662 aa 775337 3520 04 epp2 -1313,ic 000221 = 526000000040 002663 aa 6 01200 2521 00 spri2 pr6|640 002664 aa 6 01210 2521 00 spri2 pr6|648 002665 aa 6 01150 3521 00 epp2 pr6|616 002666 aa 6 01202 2521 00 spri2 pr6|642 002667 aa 775351 3520 04 epp2 -1303,ic 000240 = 404000000025 002670 aa 6 01204 2521 00 spri2 pr6|644 002671 aa 775343 3520 04 epp2 -1309,ic 000234 = 404000000021 002672 aa 6 01206 2521 00 spri2 pr6|646 002673 aa 6 01212 2521 00 spri2 pr6|650 002674 aa 6 01216 2521 00 spri2 pr6|654 002675 aa 775323 3520 04 epp2 -1325,ic 000220 = 526000000020 002676 aa 6 01214 2521 00 spri2 pr6|652 002677 aa 775321 3520 04 epp2 -1327,ic 000220 = 526000000020 002700 aa 6 01220 2521 00 spri2 pr6|656 002701 aa 6 01154 6211 00 eax1 pr6|620 002702 aa 044000 4310 07 fld 18432,dl 002703 aa 6 00044 3701 20 epp4 pr6|36,* 002704 la 4 00014 3521 20 epp2 pr4|12,* ioa_$rsnp 002705 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 588 call move_substr (display_substr_ptr, display_substr_len, len); 002706 aa 000266 3520 04 epp2 182,ic 003174 = 000006000000 002707 aa 777243 6700 04 tsp4 -349,ic 002152 STATEMENT 1 ON LINE 590 return; 002710 aa 6 00712 6101 00 rtcd pr6|458 STATEMENT 1 ON LINE 592 end display_object_level_pair; END PROCEDURE display_object_level_pair BEGIN PROCEDURE display_flag ENTRY TO display_flag STATEMENT 1 ON LINE 597 display_flag: proc (flag_index); 002711 aa 6 00720 6501 00 spri4 pr6|464 002712 aa 6 00722 2521 00 spri2 pr6|466 STATEMENT 1 ON LINE 602 len = display_substr_len; 002713 aa 6 00524 2361 00 ldq pr6|340 display_substr_len 002714 aa 6 00105 7561 00 stq pr6|69 len STATEMENT 1 ON LINE 603 call ioa_$rsnp ("^[^14t^^^;^15t^]^a", based_display_substr, len, ^flags.flags (flag_index), Long_Flag_Names (flag_index)); 002715 aa 6 00524 2361 00 ldq pr6|340 display_substr_len 002716 aa 526000 2760 03 orq 175104,du 002717 aa 6 01222 7561 00 stq pr6|658 002720 aa 775340 2370 04 ldaq -1312,ic 000260 = 136133136061 064164136136 002721 aa 6 01224 7571 00 staq pr6|660 002722 aa 775340 2370 04 ldaq -1312,ic 000262 = 136073136061 065164136135 002723 aa 6 01226 7571 00 staq pr6|662 002724 aa 136141 2350 03 lda 48225,du 002725 aa 6 01230 7551 00 sta pr6|664 002726 aa 2 00002 7271 20 lxl7 pr2|2,* flag_index 002727 aa 003 100 060 517 csl (pr,x7),(pr),fill(0),bool(move) 002730 aa 6 00111 63 0001 descb pr6|73(30),1 flags.flags 002731 aa 6 00056 00 0044 descb pr6|46,36 002732 aa 6 00056 2351 00 lda pr6|46 002733 aa 0 00002 6751 00 era pr0|2 = 400000000000 002734 aa 6 01223 7551 00 sta pr6|659 002735 aa 2 00002 2361 20 ldq pr2|2,* flag_index 002736 aa 000003 7360 00 qls 3 002737 aa 6 01224 3521 00 epp2 pr6|660 002740 aa 6 01234 2521 00 spri2 pr6|668 002741 aa 6 00526 3521 20 epp2 pr6|342,* based_display_substr 002742 aa 6 01236 2521 00 spri2 pr6|670 002743 aa 6 00105 3521 00 epp2 pr6|69 len 002744 aa 6 01240 2521 00 spri2 pr6|672 002745 aa 6 01223 3521 00 epp2 pr6|659 002746 aa 6 01242 2521 00 spri2 pr6|674 002747 ta 000007 3520 06 epp2 7,ql 002750 aa 6 01244 2521 00 spri2 pr6|676 002751 aa 775246 3520 04 epp2 -1370,ic 000217 = 524000000022 002752 aa 6 01246 2521 00 spri2 pr6|678 002753 aa 6 01222 3521 00 epp2 pr6|658 002754 aa 6 01250 2521 00 spri2 pr6|680 002755 aa 775263 3520 04 epp2 -1357,ic 000240 = 404000000025 002756 aa 6 01252 2521 00 spri2 pr6|682 002757 aa 775237 3520 04 epp2 -1377,ic 000216 = 514000000001 002760 aa 6 01254 2521 00 spri2 pr6|684 002761 aa 775240 3520 04 epp2 -1376,ic 000221 = 526000000040 002762 aa 6 01256 2521 00 spri2 pr6|686 002763 aa 6 01232 6211 00 eax1 pr6|666 002764 aa 024000 4310 07 fld 10240,dl 002765 aa 6 00044 3701 20 epp4 pr6|36,* 002766 la 4 00014 3521 20 epp2 pr4|12,* ioa_$rsnp 002767 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 605 call move_substr (display_substr_ptr, display_substr_len, len); 002770 aa 000204 3520 04 epp2 132,ic 003174 = 000006000000 002771 aa 777161 6700 04 tsp4 -399,ic 002152 STATEMENT 1 ON LINE 607 return; 002772 aa 6 00720 6101 00 rtcd pr6|464 STATEMENT 1 ON LINE 609 end display_flag; END PROCEDURE display_flag END PROCEDURE convert_access_audit_flags_$from ----------------------------------------------------------- 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