COMPILATION LISTING OF SEGMENT operator_process_cmds_ Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 06/07/89 1232.2 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 6* * * 7* *********************************************************** */ 8 9 /****^ HISTORY COMMENTS: 10* 1) change(85-12-05,MSharpe), approve(87-07-09,MCR7690), 11* audit(87-05-07,Parisek), install(87-08-04,MR12.1-1055): 12* Original coding. Moved the process-related commands out of admin_. 13* Added functionality to these commands to recognize dsa channel names 14* on the command line and to bump by process_id. The structure of the 15* original programs has been heavily modified. 16* CDD 86-03-11 - fixed bugs in bumping by PID 17* 86-03-12 - fixed bug in reporting dsa channel name; to accept 18* the first 6 digits of pid. 19* 2) change(87-04-26,GDixon), approve(87-07-09,MCR7690), 20* audit(87-05-07,Parisek), install(87-08-04,MR12.1-1055): 21* Upgraded for change to answer_table.incl.pl1 and user_table_entry.incl.pl1 22* 3) change(87-05-28,Parisek), approve(87-07-09,MCR7690), 23* audit(87-08-03,Beattie), install(87-08-04,MR12.1-1055): 24* Correct an incorrectly formatted ioa_ control string. 25* 4) change(87-06-29,Parisek), approve(87-06-29,MCR7690), 26* audit(87-08-03,Beattie), install(87-08-04,MR12.1-1055): 27* Ignore error_table_$action_not_performed returned from asu_$bump_user if 28* dsa channel. 29* 5) change(88-08-18,Parisek), approve(88-09-08,MCR7979), 30* audit(88-09-08,Farley), install(88-09-09,MR12.2-1101): 31* Bump dsa starname channels (ie, dsa.MULF.*) if code returned from 32* match_star_name_ is zero, not non-zero (bug). If bumping based on 33* code ^= 0 then all users will get bumped instead of the specified 34* dsa channels. 35* 6) change(89-04-20,Lee), approve(89-05-10,MCR8106), audit(89-05-11,Farley), 36* install(89-06-07,MR12.3-1053): 37* Modified to ensure arg_index and bump_by_name are initialized properly 38* after the target specifier gets parsed and "mpx" or "fnp" was specified 39* for the target; modified bump to not treat bump *.* as taking the action 40* "shutdown"; no code had existed to handle "shutdown" so bump was failing. 41* Cosmetic changes to this fix based on Paul Farley's original solution, 42* which was developed independently. 43* END HISTORY COMMENTS */ 44 /* format: style4,indattr */ 45 46 operator_process_cmds_: 47 procedure (); 48 49 /* The following five entry points provide commands to change the state of 50* a tty channel and/or the process using the channel: detach, terminate, 51* bump, unbump. 52* 53* The programs share common code and usage (except that only bump accepts 54* a grace time argument). The usage is: 55* * COMMAND PERS PROJ GRACETIME MESSAGE... 56* * " CHANNEL " 57* * " fnp TAG " 58* 59* where PERS and PROJ can be "*" indicating "all". 60* 61* These commands operate by sending a wakeup with the action word (bump, 62* unbump, detach, terminat, hangup) being contained in the event message. 63* 64* The wakeup is handled by dialup_, which takes the action specified by 65* the action word. The warning message, if any, is printed on the user's 66* terminal before the wakeup is sent. If the process is not past the 67* login stage, hcs_$wakeup is used to send the wakeup. Otherwise, 68* asu_$bump_user is called, and that procedure sets ate.preempted = 2, 69* prints the message, and sets an event timer to go off when the specified 70* grace time has expired. The event message will be "alarm___" in this 71* case, but dialup_ detects a bump by seeing that ate.preempted > 0. The 72* unbump code in dialup_ just sets ate.preempted = 0, so that when the 73* alarm___ goes off, dialup_ returns instead of bumping the user. 74* 75* The command arguments are processed as follows: 76* 77* #of components arg category to bump by 78* (#of dots +1) 79* 1 fnp or 80* mpx mpx -- the next arg is mpx name 81* 82* 2 *.* name 83* 2 dsa.{anything} first by name, if not, by dsa channel 84* 2 {any other} first by name, if not, by tty channel 85* 86* 3+ dsa.{anything} by dsa channel 87* 3+ {any other} by tty channel 88* 89* If the "bump" command is issued, the next argument is tested for a 90* numeric value -- number of minutes of grace time. The rest of the 91* arguments are strung together and displayed on the user's terminal 92* before he's bumped. 93* 94**/ 95 96 97 98 99 /* AUTOMATIC */ 100 101 dcl action char (8) aligned; 102 dcl action_log char (12) aligned; 103 dcl answer char (256) init (""); 104 dcl arg_count fixed bin (17); 105 dcl arg_index fixed bin (17); 106 dcl arg_length fixed bin (21); 107 dcl arg_list_ptr ptr; 108 dcl arg_ptr ptr; 109 dcl bin_pid fixed bin (35); 110 dcl bump_by_chn_id bit (1); 111 dcl bump_by_dsa bit (1); 112 dcl bump_by_mpx bit (1); 113 dcl bump_by_name bit (1); 114 dcl bump_by_pid bit (1); 115 dcl code fixed bin (35); 116 dcl comname char (48) aligned varying; 117 dcl fnp_only bit (1); 118 dcl input_channel char (32); /* channel id to look for */ 119 dcl input_person_id char (28); /* person id to look for */ 120 dcl input_pid bit (36); /* proc_id to look for */ 121 dcl input_project_id char (28); /* proj id to look for */ 122 dcl msg_string char (256); 123 dcl msg_string_len fixed bin; /* actual length of msg_string */ 124 dcl mpx_name char (32); /* name of a mltiplexer */ 125 dcl mpx_starname char (32); 126 dcl respect_nobump bit (1); 127 dcl grace_period fixed bin; 128 129 /* BASED */ 130 131 dcl arg char (arg_length) based (arg_ptr); 132 133 /* BUILTIN */ 134 135 dcl (addr, index, length, null, rtrim, substr, unspec) builtin; 136 137 138 /* ENTRY */ 139 140 dcl asu_$blast_user entry (ptr, char (*), char (*), fixed bin (35)); 141 dcl asu_$bump_user entry (ptr, char (*), fixed bin (35), fixed bin); 142 dcl asu_$unbump_user entry (ptr, fixed bin (35)); 143 dcl asu_$terminate_user entry (ptr, fixed bin (35)); 144 dcl asu_$detach_user entry (ptr, fixed bin (35)); 145 dcl asu_$disconnect_user entry (ptr, fixed bin (35)); 146 dcl cu_$arg_count_rel entry (fixed bin, ptr, fixed bin (35)); 147 dcl cu_$arg_list_ptr entry () returns (ptr); 148 dcl cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin (21), 149 fixed bin (35), ptr); 150 dcl cv_dec_check_ entry (char (*), fixed bin (35)) 151 returns (fixed bin (35)); 152 dcl cv_oct_check_ entry (char (*), fixed bin (35)) 153 returns (fixed bin (35)); 154 dcl get_process_id_ entry () returns (bit (36)); 155 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), 156 fixed bin (2), ptr, fixed bin (35)); 157 dcl hcs_$wakeup entry (bit (36) aligned, fixed bin (71), fixed bin (71), fixed bin (35)); 158 dcl ioa_$rsnnl entry options (variable); 159 dcl match_star_name_ entry (char (*), char (*), fixed bin (35)); 160 dcl sys_log_$command entry options (variable); 161 dcl sys_log_$command_error entry options (variable); 162 163 /* Static */ 164 165 dcl error_table_$action_not_performed fixed bin (35) ext static; 166 167 168 169 detach: entry options (variable); 170 171 /**** This entry implements the operator "detach" command. It forceably 172* logs out a user and makes the tty unresponsive */ 173 174 arg_list_ptr = cu_$arg_list_ptr (); 175 call process_bump_args (arg_list_ptr, ""b); 176 177 action = "detach"; 178 action_log = "detached"; 179 comname = "operator_process_cmds_: detach"; 180 181 call process_bump_args (arg_list_ptr, ""b); 182 183 respect_nobump = ""b; 184 call bump_procedure (); 185 186 go to RETURN; 187 188 189 terminate: entry options (variable); 190 191 /**** This entry implements the operator "terminate" command. It forceably 192* terminates the user's process and creates a new one */ 193 194 195 arg_list_ptr = cu_$arg_list_ptr (); 196 197 action = "terminat"; 198 action_log = "terminated"; 199 comname = "operator_process_cmds_: terminate"; 200 201 call process_bump_args (arg_list_ptr, ""b); 202 203 respect_nobump = ""b; 204 call bump_procedure (); 205 206 go to RETURN; 207 208 209 bump: entry options (variable); 210 211 /**** This entry implements the operator "bump" command. It forceably 212* logs out a user. */ 213 214 arg_list_ptr = cu_$arg_list_ptr (); 215 216 action = "bump "; 217 action_log = "bumped"; 218 comname = "operator_process_cmds_: bump"; 219 220 call process_bump_args (arg_list_ptr, "1"b); 221 222 respect_nobump = "1"b; 223 224 call bump_procedure (); 225 226 go to RETURN; 227 228 unbump: entry options (variable); 229 230 /**** This entry implements the operator "unbump" command. */ 231 232 arg_list_ptr = cu_$arg_list_ptr (); 233 234 action = "unbump"; 235 action_log = "unbumped"; 236 comname = "operator_process_cmds_: unbump"; 237 238 call process_bump_args (arg_list_ptr, ""b); 239 240 respect_nobump = ""b; 241 call bump_procedure (); 242 243 go to RETURN; 244 245 disconnect: entry options (variable); 246 247 /**** This entry implements the operator "disconnect" command. It 248* causes a hangup to be simulated for the user's channel which 249* either disconnects, or logs out the user. */ 250 251 arg_list_ptr = cu_$arg_list_ptr (); 252 253 action = "hangup"; 254 action_log = "disconnected"; 255 comname = "operator_process_cmds_: disconnect"; 256 257 call process_bump_args (arg_list_ptr, ""b); 258 259 respect_nobump = ""b; 260 call bump_procedure (); 261 262 go to RETURN; 263 264 265 /* THAT'S IT FOLKS! */ 266 267 ERROR_RETURN: 268 call sys_log_$command_error (SL_TYPE, code, comname, answer); 269 go to RETURN; 270 271 ANSWER_RETURN: 272 call sys_log_$command (SL_TYPE, "^a: error: ^a", comname, answer); 273 go to RETURN; 274 275 RETURN: 276 return; /* almost all entries exit here */ 277 278 /* Internal Procedures */ 279 280 281 general_setup: 282 proc (); 283 284 if ^sc_stat_$Multics_typed 285 then as_data_$sysdir = sc_stat_$sysdir; 286 287 if as_data_$ansp = null 288 then do; 289 call hcs_$initiate (sysdir, "answer_table", "", 0, 0, 290 as_data_$ansp, code); 291 as_procid = get_process_id_ (); 292 if as_data_$ansp = null 293 then do; 294 call sys_log_$command_error (SL_LOG_BEEP, code, comname, 295 "^a>answer_table", sysdir); 296 go to RETURN; 297 end; 298 end; 299 ansp = as_data_$ansp; 300 301 if whoptr = null 302 then do; 303 call hcs_$initiate (sysdir, "whotab", "", 0, 0, whoptr, code); 304 if whoptr = null 305 then call sys_log_$command_error (SL_LOG_BEEP, code, comname, 306 "^a>whotab", sysdir); 307 end; 308 309 if ip = null 310 then do; 311 call hcs_$initiate (sysdir, "installation_parms", "", 312 0, 1, ip, code); 313 if ip = null 314 then call sys_log_$command_error (SL_LOG_BEEP, code, comname, 315 "^a>installation_parms", sysdir); 316 end; 317 318 if scdtp = null 319 then do; 320 call hcs_$initiate (sysdir, "cdt", "", 0, 1, scdtp, code); 321 if scdtp = null 322 then call sys_log_$command_error (SL_LOG_BEEP, code, comname, 323 "^a>cdt", sysdir); 324 end; 325 326 call cu_$arg_count_rel (arg_count, arg_list_ptr, (0)); 327 /* AF invocation not an issue */ 328 return; /* end of setup */ 329 330 end general_setup; 331 332 build_string: 333 proc (P_arg_list_ptr, P_argno); 334 335 dcl P_arg_list_ptr pointer parameter; 336 dcl P_argno fixed bin parameter; /* arg number to start from */ 337 dcl argno fixed bin; 338 339 argno = P_argno; 340 answer = "Incorrect number of arguments."; 341 call cu_$arg_ptr_rel (argno, arg_ptr, arg_length, code, 342 P_arg_list_ptr); 343 344 if code ^= 0 345 then go to ERROR_RETURN; 346 347 msg_string = arg; 348 msg_string_len = arg_length; 349 350 build: 351 argno = argno + 1; 352 call cu_$arg_ptr_rel (argno, arg_ptr, arg_length, code, 353 P_arg_list_ptr); 354 355 if code ^= 0 then return; 356 357 substr (msg_string, msg_string_len + 2) = arg; 358 msg_string_len = msg_string_len + 1 + arg_length; 359 if msg_string_len > length (msg_string) 360 then return; 361 362 go to build; 363 364 end build_string; 365 366 process_bump_args: procedure (arg_list_ptr, grace_flag); 367 368 /* Internal procedures should not call this procedure. Instead, they 369* should call internal_bump, or a program like it, which will call us. */ 370 371 dcl arg_list_ptr ptr parameter; /* pointer to our caller's argument list */ 372 dcl grace_flag bit (1) aligned parameter; 373 /* grace period arg allowed ? (Input) */ 374 375 376 dcl i fixed bin (17); /* temporary */ 377 dcl dot_index fixed bin (17); 378 379 call general_setup; /* locate answer table; some housekeeping */ 380 381 bump_by_chn_id, bump_by_dsa, bump_by_mpx, 382 bump_by_pid = ""b; /* set switches ... */ 383 bump_by_name = "1"b; /* we'll try by_name unless proven innocent! */ 384 385 call cu_$arg_ptr_rel (1, arg_ptr, arg_length, code, arg_list_ptr); 386 /* get first argument */ 387 if code ^= 0 then do; 388 BUMP_ETC_USAGE: 389 call ioa_$rsnnl ("Usage: ^a (Person.Project|CHANNEL|mpx MPX|-pid PID) {TIME MESSAGE}", 390 answer, (0), comname); 391 go to ANSWER_RETURN; 392 end; 393 394 if substr (arg, 1, 9) = "anonymous" 395 then do; 396 input_person_id = substr (arg, 1, 9); 397 if (arg_length > 10) & (index (arg, ".") = 10) 398 then input_project_id = substr (arg, 11); 399 else goto BUMP_ETC_USAGE; 400 end; 401 402 dot_index = index (arg, "."); 403 404 if dot_index = 0 then do; /* only by mpx, fnp */ 405 if arg = "fnp" | arg = "mpx" 406 then do; 407 fnp_only = (arg = "fnp"); 408 input_person_id = arg; /* for use in error messages */ 409 call get_mpx_name (2); /* Multiplexer name should be arg 2 */ 410 bump_by_mpx = "1"b; 411 input_project_id = rtrim(mpx_name); 412 input_channel = ""; 413 mpx_starname = rtrim (mpx_name) || ".**"; 414 end; 415 else if (arg = "-process_id") | (arg = "-pid") 416 then do; 417 call cu_$arg_ptr_rel (2, arg_ptr, arg_length, code, 418 arg_list_ptr); /* get process_id */ 419 if code ^= 0 then goto BUMP_ETC_USAGE; 420 421 if arg_length ^= 6 & (arg_length ^= 12) 422 then goto PID_ERR; 423 bin_pid = cv_oct_check_ ((arg), code); /* octal number? */ 424 if code = 0 425 then do; 426 bump_by_pid = "1"b; 427 input_pid = ""b; 428 if arg_length = 12 429 then input_pid = unspec (bin_pid); 430 else substr (input_pid, 1, 18) = substr (unspec (bin_pid), 19); 431 end; 432 else do; 433 PID_ERR: answer = "Invalid process id: "|| arg || ". Use the first 6 or all 12 digits of the pid."; 434 goto ERROR_RETURN; 435 end; 436 end; 437 438 else do; 439 call ioa_$rsnnl ( 440 "Usage: ^a (Person.Project|CHANNEL|mpx MPX) {TIME MESSAGE}^/The ""Person Project"" format is obsolete.", 441 answer, (0), comname); 442 go to ANSWER_RETURN; 443 end; 444 445 arg_index = 3; /* grace time, or message, if any, starts with arg 3 */ 446 bump_by_name = ""b; 447 448 end; 449 450 else do; 451 input_person_id = substr (arg, 1, dot_index - 1); 452 input_project_id = substr (arg, dot_index + 1); 453 454 if index (input_project_id, ".") ^= 0 /* if more than two components ... */ 455 then do; 456 bump_by_name = ""b; /* it can't be by_name; */ 457 input_channel = arg; 458 end; 459 /* else, first try by_name, then by tty or dsa channel */ 460 if arg ^= "*.*" 461 then do; 462 input_channel = arg; 463 464 if input_person_id = "dsa" /* check first component */ 465 then bump_by_dsa = "1"b; 466 else bump_by_chn_id = "1"b; 467 end; 468 469 arg_index = 2; 470 end; 471 472 grace_period = 0; /* zero grace */ 473 msg_string = ""; /* blank message */ 474 475 if grace_flag 476 then do; 477 call cu_$arg_ptr_rel (arg_index, arg_ptr, arg_length, code, 478 arg_list_ptr); /* grace period? (minutes) */ 479 if code = 0 480 then do; 481 i = cv_dec_check_ ((arg), code); 482 /* number? */ 483 if code = 0 484 then do; /* yes. */ 485 grace_period = i * 60; /* convert to seconds */ 486 arg_index = arg_index + 1; 487 /* step argument index */ 488 end; 489 end; 490 end; 491 492 call cu_$arg_ptr_rel (arg_index, arg_ptr, arg_length, code, 493 arg_list_ptr); /* message? */ 494 495 496 if code = 0 497 then call build_string (arg_list_ptr, arg_index); /* get any remaining args and make message */ 498 499 return; 500 501 end process_bump_args; 502 503 504 get_mpx_name: 505 proc (argno); 506 507 dcl argno fixed bin; 508 509 call cu_$arg_ptr_rel (argno, arg_ptr, arg_length, code, arg_list_ptr); 510 if code ^= 0 then do; 511 if fnp_only 512 then answer = "No FNP tag specified"; 513 else answer = "No multiplexer specified"; 514 go to ANSWER_RETURN; 515 end; 516 517 mpx_name = arg; 518 if fnp_only then do; /* extra checks to be compatable with old commands */ 519 if length (rtrim (mpx_name)) > 1 520 then do; 521 bad_mpx_fnp_name: 522 answer = "Invalid FNP tag: " || mpx_name; 523 go to ANSWER_RETURN; 524 end; 525 526 if index ("abcdefgh", substr (mpx_name, 1, 1)) = 0 527 then go to bad_mpx_fnp_name; 528 end; 529 530 return; 531 532 end get_mpx_name; 533 534 535 bump_procedure: 536 proc (); 537 538 dcl action_flag bit (1) aligned; 539 dcl bin_action fixed bin (71) aligned based; 540 dcl continue bit (1); 541 dcl i fixed bin; 542 543 action_flag = ""b; 544 cdtep = null (); 545 code = 0; 546 TRY_AGAIN: 547 continue = "1"b; 548 if bump_by_name 549 then do i = 1 to anstbl.current_size while (continue); 550 utep = addr (anstbl.entry (i)); 551 if ute.active >= NOW_LOGGED_IN 552 then do; 553 if input_person_id = ute.person | input_person_id = "*" 554 then if input_project_id = ute.project | input_project_id = "*" 555 then do; 556 bump_by_chn_id, bump_by_dsa = ""b; /* it WAS by name after all */ 557 call PROCESS_UTE (); 558 if input_person_id ^= "*" & input_project_id ^= "*" 559 then continue = "0"b; 560 /* no need to go further */ 561 end; 562 end; 563 end; 564 565 566 else if bump_by_dsa 567 then do i = 1 to anstbl.current_size while (continue); 568 utep = addr (anstbl.entry (i)); 569 if ute.active >= NOW_LOGGED_IN 570 then do; 571 if index (input_channel, "*") > 0 572 then do; 573 call match_star_name_ ((ute.tty_name), input_channel, code); 574 if code = 0 575 then call PROCESS_UTE (); 576 end; 577 else do; /* no stars */ 578 if input_channel = ute.tty_name 579 then do; 580 call PROCESS_UTE (); 581 continue = "0"b; /* no need to go further */ 582 end; 583 end; 584 end; /* not logged in, skip it */ 585 end; 586 587 else if bump_by_pid 588 then do i = 1 to anstbl.current_size while (continue); 589 utep = addr (anstbl.entry (i)); 590 if ute.active >= NOW_LOGGED_IN 591 then do; 592 if substr (input_pid, 1, 18) = substr (ute.proc_id, 1, 18) 593 then do; 594 call PROCESS_UTE (); 595 continue = "0"b; /* no need to go further */ 596 end; 597 end; /* not logged in, skip it */ 598 end; 599 600 else do; /* not bumping by name or dsa */ 601 do i = 1 to scdtp -> cdt.current_size while (continue); 602 cdtep = addr (scdtp -> cdt.cdt_entry (i)); 603 if bump_by_mpx 604 then do; 605 call match_star_name_ ((cdte.name), mpx_starname, code); 606 if code = 0 607 then call PROCESS_CDTE (); 608 end; 609 else if cdte.name = input_channel 610 then do; 611 call PROCESS_CDTE (); 612 continue = "0"b; /* no need to go further */ 613 end; 614 end; 615 end; 616 617 if action_flag 618 then return; /* successful */ 619 else if (bump_by_name & (bump_by_dsa | bump_by_chn_id)) 620 then do; 621 bump_by_name = ""b; 622 go to TRY_AGAIN; /* try for a channel match this time */ 623 end; 624 else call sys_log_$command (SL_TYPE, 625 "^a: no ^a signalled to ^[^12.3b^4s^;^s^[^a.^a^s^;^2s^a^]^]", 626 comname, action, bump_by_pid, input_pid, (bump_by_name 627 | bump_by_mpx), input_person_id, input_project_id, 628 input_channel); 629 return; 630 631 632 PROCESS_UTE: 633 procedure (); 634 635 /**** This procedure is used to perform the desired action on the 636* specified ute. The action is specified via the variable "action". 637* 638* It is called either from bump_procedure or PROCESS_CDTE 639*****/ 640 641 dcl chan_name char (32); 642 643 answer = "Error recieved from AS."; 644 if respect_nobump & bump_by_name 645 then if ute.at.nobump 646 then do; 647 call sys_log_$command (SL_TYPE, 648 "^a: ^[^a.^a^s^;^2s^12.3b^] has ""nobump""", comname, 649 bump_by_name, ute.person, ute.project, ute.proc_id); 650 if ^ute.uflags.disconnected 651 then call asu_$blast_user (utep, "Bump attempted. " || msg_string, (""), (0)); 652 return; 653 end; 654 655 if action = "hangup" 656 then if ute.channel = null 657 then return; 658 else do; 659 call asu_$disconnect_user (utep, code); 660 if code ^= 0 then goto ERROR_RETURN; 661 end; 662 663 else if action = "unbump" 664 then if ute.preempted <= 0 665 then return; 666 else do; 667 call asu_$unbump_user (utep, code); 668 if code ^= 0 then goto ERROR_RETURN; 669 end; 670 671 else if action = "terminat" 672 then do; 673 call asu_$terminate_user (utep, code); 674 if code ^= 0 then goto ERROR_RETURN; 675 end; 676 677 else if action = "detach" 678 then do; 679 call asu_$detach_user (utep, code); 680 if code ^= 0 then goto ERROR_RETURN; 681 end; 682 683 684 else if action = "bump" 685 then do; 686 call asu_$bump_user (utep, msg_string, code, grace_period); 687 if code = error_table_$action_not_performed & cdtep = null then code = 0; 688 else if code ^= 0 then goto ERROR_RETURN; 689 end; 690 691 /**** This tells the operator what we did and sets the flag saying that 692* we did something. */ 693 694 if cdtep = null then chan_name = ute.tty_name; 695 else chan_name = cdte.name; 696 697 call sys_log_$command (SL_TYPE, 698 "^a: ^[^12.3b^4s^;^s^[^a.^a^s^;^2s^a^]^] ^a", 699 comname, bump_by_pid, ute.proc_id, bump_by_name, ute.person, 700 ute.project, chan_name, action_log); 701 action_flag = "1"b; /* remember we did one */ 702 return; 703 704 end PROCESS_UTE; 705 706 707 PROCESS_CDTE: 708 procedure (); 709 710 /**** This procedure is called to perform the action specified by the 711* variable "action" on the specified channel. */ 712 713 utep = cdte.process; 714 if cdte.in_use = NOW_HAS_PROCESS 715 then call PROCESS_UTE (); 716 else if action = "detach" 717 then do; 718 if cdte.current_service_type = MC_SERVICE 719 then call sys_log_$command (SL_LOG, 720 "operator_process_cmds_: detach: Channel ^a is in use by the message coordinator and cannot be detached", cdte.name) 721 ; 722 else if cdte.current_service_type = INACTIVE 723 then call sys_log_$command (SL_LOG, "operator_process_cmds_: detach: Channel ^a is not currently active and cannot be detached"); 724 else do; 725 call hcs_$wakeup (as_procid, cdte.event, addr (action) -> bin_action, code); 726 if code = 0 727 then do; /* tell operator we did it */ 728 call sys_log_$command (SL_TYPE, "^a: ^a ^a", 729 comname, cdte.name, action_log); 730 action_flag = "1"b; /* remember we did one */ 731 end; 732 else call sys_log_$command_error (SL_LOG, code, comname, "From hcs_$wakeup for ^a", cdte.name); 733 end; 734 end; 735 return; 736 737 end PROCESS_CDTE; 738 739 end bump_procedure; 740 741 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 1 2 1 3 /* format: style4 */ 1 4 1 5 /* This file must be kept in sync with as_data_.alm */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 1 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 1 10* Remove references to the 963 and 029 preaccess commands and remove support 1 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 1 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 1 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 14* Add references to as_data_ entrypoints added for Login Server. 1 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 1 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 17* Added new user signal field of inacrcvd (14) to handle inactivity response 1 18* from user. 1 19* END HISTORY COMMENTS */ 1 20 1 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 1 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 1 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 1 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 1 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 1 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 1 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 1 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 1 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 1 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 1 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 1 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 1 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 1 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 1 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 1 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 1 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 1 38 dcl as_data_$g115_dim char (32) ext static; 1 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 1 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 1 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 1 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 1 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 1 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 1 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 1 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 1 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 1 48 dcl as_data_$request_priority fixed bin ext static; 1 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 1 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 1 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 1 52 dcl as_data_$satp ptr ext static; /* SAT */ 1 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 1 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 1 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 1 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 1 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 1 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 1 59 dcl as_data_$version char (8) ext static; /* AS version */ 1 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 1 61 1 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 1 63 2 n_login_args fixed bin, 1 64 2 pad fixed bin, 1 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 1 66 1 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 1 68 2 n_signals fixed bin, 1 69 2 pad fixed bin, 1 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 1 71 1 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 1 73 2 n_system_signals fixed bin, 1 74 2 pad fixed bin, 1 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 1 76 1 77 dcl as_data_$login_words fixed bin ext static aligned, 1 78 /* interactive login words */ 1 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 1 80 2 n_words fixed bin, 1 81 2 pad fixed bin, 1 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 1 83 1 84 dcl as_data_$debug_flag bit (1) aligned external static; 1 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 1 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 1 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 1 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 1 89 1 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 741 742 /* BEGIN INCLUDE FILE ... as_data_definitions_.incl.pl1 ... */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 2 6* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 7* Removed ansp, autp and dutp from this include file, adding them to 2 8* answer_table.incl.pl1, absentee_user_table.incl.pl1 and 2 9* daemon_user_table.incl.pl1. 2 10* END HISTORY COMMENTS */ 2 11 2 12 2 13 /* This include file requires as_data_.incl.pl1 */ 2 14 2 15 /* format: style4 */ 2 16 2 17 dcl as_procid bit (36) aligned defined (as_data_$as_procid); 2 18 dcl as_tty char (6) based (addr (as_data_$as_tty)); 2 19 dcl asmtp ptr defined (as_data_$asmtp); 2 20 dcl devtabp ptr defined (as_data_$devtabp); 2 21 dcl ip ptr defined (as_data_$rs_ptrs (0)); 2 22 dcl mgtp ptr defined (as_data_$mgtp); 2 23 dcl pdtdir char (168) based (addr (as_data_$pdtdir)); 2 24 dcl rs_ptrs (0:9) ptr based (addr (as_data_$rs_ptrs (0))); 2 25 dcl sat_htp ptr defined (as_data_$sat_htp); 2 26 dcl satp ptr defined (as_data_$satp); 2 27 dcl scdtp ptr defined (as_data_$cdtp); 2 28 dcl sysdir char (168) defined (as_data_$sysdir); 2 29 dcl whoptr ptr defined (as_data_$whoptr); 2 30 2 31 /* END INCLUDE FILE ... as_data_definitions_.incl.pl1 ... */ 742 743 /* BEGIN INCLUDE FILE ... answer_table.incl.pl1 */ 3 2 3 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 4 /* */ 3 5 /* The answer table has one entry per "login instance" whether completed or */ 3 6 /* not. It is connected to the Channel Definition Table by the pointer */ 3 7 /* "channel". The header is used mostly by dialup_. */ 3 8 /* */ 3 9 /* Programs which use this file must also include user_table_header.incl.pl1 */ 3 10 /* */ 3 11 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 12 3 13 /****^ HISTORY COMMENTS: 3 14* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 3 15* Replace anstbl.incl.pl1. 3 16* 2) change(85-01-15,Swenson), approve(), audit(), install(): 3 17* Add anstbl.session_uid_counter. 3 18* 3) change(85-08-21,Coren), approve(), audit(), install(): 3 19* Add anstbl.message_update_time and named constants for values of 3 20* anstbl.session, and to make all padding explicit. 3 21* 4) change(85-08-23,Coren), approve(), audit(), install(): 3 22* Change "entry" to a placeholder so as not to require 3 23* user_table_entry.incl.pl1. 3 24* 5) change(86-06-29,Swenson), approve(87-07-13,MCR7741), 3 25* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 3 26* Added the flag login_server_present which indicates whether a login 3 27* server request has been received. This is used to determine whether 3 28* dial_ctl_ should call uc_cleanup_network_dials_ (and thus 3 29* hpriv_connection_list_, which only exists with the MNA RPQ software). 3 30* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 3 31* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 3 32* A) Moved constants for ute.pw_flags.mask_ctl into 3 33* user_table_entry.incl.pl1. 3 34* B) Added common table header to all user tables. 3 35* END HISTORY COMMENTS */ 3 36 3 37 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 38 /* */ 3 39 /* The anstbl structure below is divided into sections. Each section begins */ 3 40 /* with a comment describing the elements in the section. Elements are */ 3 41 /* placed within a section, based upon their function or the programs that */ 3 42 /* use them. Each section begins on a double word and is an even number of */ 3 43 /* words long. */ 3 44 /* */ 3 45 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 3 46 3 47 3 48 3 49 /* format: style4 */ 3 50 3 51 dcl ANSTBL_version_4 static options (constant) init (4); /* version of this declaration */ 3 52 3 53 dcl ansp ptr automatic init (null); 3 54 3 55 dcl 1 anstbl based (ansp) aligned, /* Structure of answer table */ 3 56 2 header like ut_header, /* Header common to all user tables. */ 3 57 3 58 /* Counter elements. */ 3 59 2 nlin fixed bin, /* number of active lines */ 3 60 2 mxlin fixed bin, /* maximum number of active lines */ 3 61 2 n_users fixed bin, /* number of logged-in users */ 3 62 2 max_users fixed bin, /* maximum number of users allowed */ 3 63 2 n_units fixed bin, /* number of logged in units */ 3 64 2 max_units fixed bin, /* maximum number of units */ 3 65 2 n_sessions fixed bin, /* number of Multics sessions */ 3 66 2 n_pad fixed bin, 3 67 3 68 /* Name elements. */ 3 69 2 sysdir char (64) unal, /* name of main system control directory */ 3 70 2 as_tty char (8) unal, /* name of main answering service device. */ 3 71 3 72 /* Login elements. */ 3 73 2 login_word char (8) unal, /* login word if special_session=1 */ 3 74 2 session char (8) unal, /* session indicator */ 3 75 2 special_message char (128) unal, /* message to be printed for special session */ 3 76 2 message_update_time fixed bin (71), /* time at which special_message was last updated */ 3 77 2 message_lng fixed bin, /* length of special message */ 3 78 2 login_pad fixed bin, 3 79 3 80 /* Table update elements. */ 3 81 2 lock_count fixed bin, /* global lock for all system control tables */ 3 82 2 update_pending bit (1) aligned, /* flag indicating that update is required */ 3 83 2 update_channel fixed binary (71), /* event channel of update procedure */ 3 84 2 acct_update_chn fixed bin (71) aligned, /* Timer IPC channel */ 3 85 2 acct_last_update_time fixed bin (71) aligned, /* Time of last accounting update */ 3 86 2 acct_alarm_fail fixed bin, /* non-zero if alarm has failed */ 3 87 2 update_pad fixed bin, 3 88 3 89 /* dialup_ data values. */ 3 90 2 current_time fixed bin (71), /* Time of last transaction */ 3 91 2 processid_index fixed bin (18), /* unique index for process id generation */ 3 92 2 session_uid_counter fixed bin (35), /* current session_uid */ 3 93 3 94 /* load_ctl_ elements. */ 3 95 2 shift fixed bin, /* Shift, set by act_ctl_ */ 3 96 2 auto_maxu fixed bin, /* 0 = manual, 1 = config, 2 = load-level */ 3 97 2 extra_units fixed bin, /* Total daemon and abs units. */ 3 98 /* load_ctl_ load leveling desired response range: */ 3 99 2 response_high fixed bin, /* bad if user response time slower than this */ 3 100 2 response_low fixed bin, /* bad if user response time faster than this */ 3 101 2 load_ctl_pad fixed bin, 3 102 3 103 /* Login server request server data. */ 3 104 2 ls_request_server_event_channel fixed bin (71), /* channel for login server requests */ 3 105 2 ls_request_server_process_id bit (36) aligned, /* process serving login server requests */ 3 106 2 login_server_present bit (1) aligned, /* On IFF a login server request has been processed */ 3 107 3 108 2 entry_pad (28) fixed bin, /* pad to 128 words */ 3 109 2 entry (0 refer (anstbl.current_size)), /* user entries */ 3 110 3 contents (UTE_SIZE) fixed bin; 3 111 3 112 /* constants */ 3 113 3 114 /* values for anstbl.session */ 3 115 3 116 dcl (AT_NORMAL init ("normal "), 3 117 AT_SPECIAL init ("special "), 3 118 AT_SHUTDOWN init ("shutdown")) char (8) internal static options (constant); 3 119 3 120 dcl UTE_SIZE fixed bin internal static initial (300); 3 121 3 122 /* END INCLUDE FILE ... answer_table.incl.pl1 */ 743 744 /* BEGIN INCLUDE FILE ... author_dcl.incl.pl1 */ 4 2 4 3 /* This include file declares the "author" substructure 4 4* in a form suitable for using the PL/I "like" attribute. 4 5* 4 6* Written 750304 by PG 4 7**/ 4 8 4 9 dcl 1 author_dcl aligned based, 5 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 5 2 5 3 /* the "author" items must always be the first ones in the table. The 5 4* module which moves the converted table to the System Control process 5 5* fills in these data items and assumes them to be at the head of the segment 5 6* regardless of the specific table's actual declaration. The variables 5 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 5 8* respectively. For tables installed in multiple processes, these 5 9* are to be used to lock out multiple installations. */ 5 10 5 11 /* Lock should be used as a modification lock. Since, in general, 5 12* entries may not be moved in system tables, even by installations, 5 13* it is sufficient for only installers and programs that change threads 5 14* to set or respect the lock. Simply updating data in an entry 5 15* requires no such protection. 5 16* 5 17* Last_install_time is used by readers of system tables to detect 5 18* installations or other serious modifications. By checking it before 5 19* and after copying a block of data, they can be protected against 5 20* modifications. 5 21* 5 22* Modules that set the lock should save proc_group_id, and then 5 23* put their group id there for the time they hold the lock. 5 24* if they do not actually install the, they should restore the group id. 5 25**/ 5 26 5 27 2 author aligned, /* validation data about table's author */ 5 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 5 29 3 lock bit (36), /* installation lock */ 5 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 5 31 3 update_authorization bit (1) unal, /* update only authorizations */ 5 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 5 33 3 pad bit (33) unaligned, 5 34 3 last_install_time fixed bin (71), 5 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 5 36 3 w_dir char (64), /* author's working directory */ 5 37 5 38 /* END INCLUDE FILE author.incl.pl1 */ 4 10 4 11 2 pad; 4 12 4 13 /* END INCLUDE FILE ... author_dcl.incl.pl1 */ 744 745 /* BEGIN INCLUDE FILE ... cdt.incl.pl1 */ 6 2 6 3 /* format: style3,idind25,indcomtxt */ 6 4 6 5 /* Channel Definition Table. 6 6* This table lists all of the hardware channels (ports) connected 6 7* to the system, and maintains the attributes of each one. 6 8* 6 9* PG 741230 6 10* Modified by Mike Grady 5/6/76 to add FNP info. 6 11* Modified by Tom Casey 7/29/76 to add more FNP info and a few other things. 6 12* Modified by Robert Coren 6/13/77 to make terminal types be character strings. 6 13* Modified July 1979 by T. Casey to add several variables for MR8.0 process preservation facility. 6 14* Modified December 1980 by E. N. Kittlitz to eliminate cdte.phone_no. 6 15* Modified March 1981 by Robert Coren to add "listening" flag for multiplexers and to add TANDD_SERVICE service_type. 6 16* Modified April 1981 by E. N. Kittlitz to add cdte.dial_ev_chn, cdte.recent_wakeup_time, cdte.recent_wakeup_count. 6 17* Modified July 1981 by T. Casey for MR9.0 to add dialup_flags.detach_after_hangup 6 18* Modified December 1981 by E. N. Kittlitz for cdte.leave_edited, cdte.hold_arg, 6 19* Modified September 1981 by Benson I. Margulies for cdt_mgr_'s tree of multiplexer's. 6 20* Modified August 1982 by E. N. Kittlitz for check_acs. 6 21* Modified January 1983 by Keith Loepere for generic_destination. 6 22* Modified August 1983 by Robert Coren to add mpxe.check and mpxe.retry_load. 6 23* Modified 831216 by E. N. Kittlitz for required_access_class. 6 24* Modified 84-04-01 by BIM to finish communications AIM: 6 25* access class ranges, 6 26* access_control flags. 6 27**/ 6 28 6 29 6 30 /****^ HISTORY COMMENTS: 6 31* 1) change(87-03-17,Beattie), approve(87-04-06,MCR7656), 6 32* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 6 33* Add support for answering service to use IOCBs when tty_ cannot be 6 34* used to service login channels. 6 35* END HISTORY COMMENTS */ 6 36 6 37 6 38 dcl CDT_version_5 fixed bin internal static initial (5) options (constant); 6 39 dcl CDT_version fixed bin internal static initial (6) options (constant); 6 40 6 41 dcl (cdtp, cdtep, fnpep, mpxep) 6 42 ptr; 6 43 6 44 dcl 1 cdt based (cdtp) aligned, /* all of the system channels */ 6 45 2 author like author_dcl.author, /* standard header */ 6 46 2 max_size fixed bin, /* maximum number of cdte's in 255K */ 6 47 2 current_size fixed bin, /* number of last cdte. */ 6 48 2 version fixed bin, 6 49 2 freep fixed bin, /* chain of free cdte's */ 6 50 2 n_cdtes fixed bin, /* number of used cdte's */ 6 51 2 meters_last_reset fixed bin (71), /* clock time dialup meters were reset */ 6 52 2 realtime_in_dialup fixed bin (71), /* Dialup meter */ 6 53 2 cpu_in_dialup fixed bin (71), /* .. */ 6 54 2 pf_in_dialup fixed bin, /* .. */ 6 55 2 pp_in_dialup fixed bin, /* .. */ 6 56 2 entries_to_dialup fixed bin, /* .. */ 6 57 2 flags, 6 58 3 go bit (1) unal, /* ans. serv. said "go ahead and answer the phones" */ 6 59 3 cdt_is_live bit (1) unal, /* cdt is active */ 6 60 3 mux_mgr_system_init 6 61 bit (1) unal, /* mux mgr has loaded top-levels */ 6 62 3 pad1 bit (33) unal, 6 63 2 acceptable_fnp_tbf fixed bin, /* acceptable minutes between FNP crashes */ 6 64 2 spare_channel_count fixed bin, /* number of extra channels to leave room for in ring0 */ 6 65 2 threads aligned like channel_threads, 6 66 /* root of non-fnp-top-level-multiplexers */ 6 67 2 pad2 (31) bit (36) aligned, /* pad header to 80 words */ 6 68 2 fnp_entry dim (8) like fnpe, /* max of 8 FNPs for now */ 6 69 2 cdt_entry dim (2500) like cdte; /* # of cdte's in 255K */ 6 70 6 71 6 72 dcl 1 cdte based (cdtep) aligned, /* a channel */ 6 73 2 in_use fixed bin, /* see dialup_values. 0=NOW_FREE */ 6 74 /**** * These variables are filled in when the CDTE is created by cv_cmf. They are not dynamic. */ 6 75 2 pad1 bit (36) aligned, 6 76 2 name char (32), /* ASCII name of channel */ 6 77 2 access_class (2) bit (72) aligned, /* access class range */ 6 78 2 comment char (48), /* printable message about channel */ 6 79 2 charge_type fixed bin (17) unal, /* billing group */ 6 80 2 service_type fixed bin (17) unal, /* service group (AS, ftp, mc) */ 6 81 2 line_type fixed bin (17) unal, /* tty line type (protocol) */ 6 82 2 baud_rate fixed bin (17) unal, /* 110, 133, 150, etc. */ 6 83 2 modem_type fixed bin (17) unal, /* type of modem on this channel */ 6 84 2 pad2 bit (18) unaligned, 6 85 2 answerback char (8), /* answerback string expected */ 6 86 2 initial_terminal_type 6 87 char (32) unal, /* as specified in the CMF */ 6 88 2 mpx_data unal, /* data used only for multiplexed channels */ 6 89 3 mpx_type fixed bin (17), /* type of multiplexing used */ 6 90 3 mpx_service fixed bin (17), /* service type, active or inactive */ 6 91 2 flags, 6 92 ( 3 attributes, 6 93 4 ck_answerback bit (1), /* ON means that ansbk must equal our records */ 6 94 4 audit_access_error 6 95 bit (1), /* ON means ck that person auth is inside access class range */ 6 96 /* this implies that the access_class describes a range of 6 97* legitimate user auths. */ 6 98 4 hardwired bit (1), /* ON means it is */ 6 99 4 set_modes bit (1), /* ON means to set initial modes at dialup */ 6 100 4 dont_read_answerback 6 101 bit (1), /* ON means don't try to read answerback */ 6 102 4 pada bit (4), 6 103 3 access_control unaligned, /* As below */ 6 104 4 dial_out bit (1), /* dialing user must be on ACS */ 6 105 4 priv_attach bit (1), /* PA_ user must be on ACS */ 6 106 4 dial_server bit (1), /* accept_dials process must be on acs */ 6 107 4 login bit (1), /* logging in user must be on acs */ 6 108 4 slave_dial bit (1), /* dialing user must give -user and be on acs */ 6 109 4 pado bit (3), 6 110 3 options, 6 111 4 execute_initial_command 6 112 bit (1), /* ON means to do it */ 6 113 4 attached_by_operator 6 114 bit (1), /* ON means temporary attachment. */ 6 115 4 private_line bit (1), /* ON means private_line sync modem in use */ 6 116 4 bsc_ebcdic bit (1), /* ON means bsc would like to use ebcdic code set */ 6 117 4 bsc_transparent bit (1), /* ON means bsc is in transparent mode */ 6 118 4 vip_pollselect bit (1), /* ON means VIP line is multidrop */ 6 119 4 autobaud bit (1), /* ON means auto baud detection this channel */ 6 120 4 generic_destination_present 6 121 bit (1), /* ON means that the initial_command field contains 6 122* a generic destination to match on dial_out or priv attach */ 6 123 4 use_iocb bit (1), /* ON means to use IOCB operations to support channel */ 6 124 4 pado bit (9) 6 125 ) unaligned, 6 126 2 initial_command char (64), /* pseudo first input line */ 6 127 /**** The following variables represent dynamic control info, and 6 128* are used mostly by dialup_ and asu_ */ 6 129 2 event fixed bin (71), /* event call channel for channel events */ 6 130 2 current_service_type fixed bin (17) unal, /* Current usage of line. */ 6 131 2 tra_vec fixed bin (17) unal, /* which section of dialup_ to do next */ 6 132 2 count fixed bin (17) unal, /* How many login tries he's had. */ 6 133 2 dialup_flags unal, /* flag bits for dialup to maintain */ 6 134 3 ppm bit (1) unal, /* print preaccess message for IBM terminals */ 6 135 3 cpo bit (1) unal, /* conditional printer-off (depends on answerback */ 6 136 3 wakeup_handler bit (1) unal, /* says who is wakeup handler for this channel */ 6 137 /* 0 = dialup_, 1 = mc_tty_ */ 6 138 3 save_arg bit (1) unal, /* -save login arg given */ 6 139 3 nosave_arg bit (1) unal, /* -nosave login arg given */ 6 140 3 detach_after_hangup 6 141 bit (1) unal, /* remember WAIT_DETACH when setting WAIT_BEFORE_HANGUP */ 6 142 3 leave_edited bit (1) unal, /* user control of edited mode */ 6 143 3 hold_arg bit (1) unal, /* -hold arg given */ 6 144 3 no_hold_arg bit (1) unal, /* -no_hold arg given */ 6 145 3 immediate_arg bit (1) unal, /* -immediate arg given */ 6 146 3 current_access_class_valid 6 147 bit (1) unal, /* dialup_ or lg_ctl_ has determined the current_access_class */ 6 148 3 pad bit (7) unal, 6 149 2 twx fixed bin, /* channel device index */ 6 150 2 state fixed bin, /* channel state */ 6 151 2 tty_id_code char (4), /* channel id (answerback) */ 6 152 2 current_terminal_type 6 153 char (32) unal, /* most recently-set terminal type */ 6 154 2 process ptr unal, /* ptr to ATE owning this channel */ 6 155 2 dialed_to_procid bit (36), /* Dialed channels remember owner's proc id */ 6 156 2 next_channel fixed bin (17) unal, /* cdte index of next channel for this process */ 6 157 2 cur_line_type fixed bin (17) unal, /* line type of currently dialed terminal */ 6 158 2 current_access_class (2) bit (72) aligned, /* This is a range, but at this time it must be a null range. 6 159* We do not yet define multi-class connections, but we will someday. */ 6 160 2 disconnected_ate_index 6 161 fixed bin (17) unal, /* index of ate of disconnected process */ 6 162 2 dial_ctl_ring fixed bin (3) unsigned unaligned, 6 163 /* used by dial_ctl_ to record ring of priv_attach or dial_out attachments */ 6 164 2 dial_rq_privileged bit (1) unaligned, /* used by dial ctl to record comm priv from priv_attach or dial_out request */ 6 165 2 pad3 bit (14) unaligned, 6 166 /**** The following variables are kept for metering purposes. */ 6 167 2 n_dialups fixed bin, /* number of times channel has been dialed up */ 6 168 2 n_logins fixed bin, /* number of login sessions on this channel */ 6 169 2 dialed_up_time fixed bin (35), /* total time channel was dialed up (seconds) */ 6 170 2 dialup_time fixed bin (71), /* time of present dialup */ 6 171 2 disconnected_proc_command 6 172 fixed bin (12) unsigned unal, 6 173 /* 1 to 5 for -list,-create,-connect,-new_proc,-destroy */ 6 174 2 disconnected_proc_number 6 175 fixed bin (12) unsigned unal, 6 176 /* {N} in -connect {N}, -new_proc {N}, -destroy {N} */ 6 177 2 n_disconnected_procs fixed bin (12) unsigned unal, 6 178 /* number of disconnected processes that user has */ 6 179 2 recent_wakeup_count fixed bin, /* counter to detect channel wakeup loop */ 6 180 2 recent_wakeup_time fixed bin (71), /* time of first wakeup in suspected channel wakeup loop */ 6 181 2 dial_ev_chn fixed bin (71), /* Dialed channels remember master's IPC channel */ 6 182 /**** cdt_mgr_ uses these to maintain the tree of channels. They ****/ 6 183 /**** really belong in the mpxe, but it is full up, and the cdte ****/ 6 184 /**** had the space. */ 6 185 2 threads aligned like channel_threads, 6 186 /**** The use name is that of the user who gave the dial or slave ****/ 6 187 /**** preaccess request. ****/ 6 188 2 user_name unaligned, 6 189 3 person char (20) unaligned, 6 190 3 project char (9) unaligned, 6 191 3 pad char (3) unaligned, /* no tag */ 6 192 2 iocbp ptr unaligned; /* 104 words */ 6 193 6 194 6 195 dcl generic_destination based char (32); /* used to match destinations on dial_out and priv_attach, 6 196* overlays initial_command field for slave and autocall lines */ 6 197 6 198 6 199 6 200 dcl 1 fnpe based (fnpep) aligned, /* an FNP */ 6 201 /* These variables are filled in from the CMF */ 6 202 2 type fixed bin, /* type of this FNP, DN355, DN6670, etc. */ 6 203 2 memory fixed bin, /* amount of memory on this FNP */ 6 204 2 nlslas fixed bin, /* number of lslas on this FNP */ 6 205 2 nhslas fixed bin, /* number of hslas on this FNP */ 6 206 2 service_type fixed bin, /* service type */ 6 207 2 mpx_type fixed bin, /* type of multiplexer on this fnp */ 6 208 2 coreimage char (168), /* pathname of image, maybe in >sl1 */ 6 209 /**** The following are used during system operation to remember the state of the FNP */ 6 210 2 boot_segp ptr, /* ptr to seg used for bootload */ 6 211 2 boot_ev_chan fixed bin (71), /* for ring0 to report crashes and bootload complete */ 6 212 2 mpxe like mpxe, /* standard multiplexer data */ 6 213 2 threads aligned like channel_threads, 6 214 /* same mpx threads as channel */ 6 215 2 pad3 (25) fixed bin; /* pad to 96 words per entry */ 6 216 6 217 /* This structure describes the data necessary to control a multiplexer. 6 218* For FNP's., a copy appears in the fnpe. For communications lines, it 6 219* overlays the initial_command field in the cdte. */ 6 220 6 221 dcl 1 mpxe based (mpxep) aligned, 6 222 2 state fixed bin, /* current state, up, down, loading */ 6 223 2 current_service_type fixed bin, /* usually = service type, unless cdt installation changes it */ 6 224 2 current_mpx_type fixed bin, /* type of multiplexer currently running */ 6 225 2 n_bootloads fixed bin, /* count of load attempts */ 6 226 2 time_initial_load fixed bin (71), /* time this MPX first completed a load */ 6 227 2 time_last_load fixed bin (71), /* time MPX last completed a bootload */ 6 228 2 time_last_crash fixed bin (71), /* time MPX last crashed */ 6 229 2 time_load_start fixed bin (71), /* time current load started */ 6 230 2 last_tbf fixed bin, /* number of minutes this MPX was up last bootload */ 6 231 2 flags unal, 6 232 3 go bit (1), /* start MPX after it loads */ 6 233 3 listening bit (1), /* listen has been done on subchannels */ 6 234 3 check bit (1), /* loaded with check option */ 6 235 3 retry_load bit (1), /* reload if load fails */ 6 236 3 pad1 bit (32), 6 237 2 pad2 (2) fixed bin; /* pad to 16 words */ 6 238 6 239 /* These threads define the tree of multiplexers in the cdt. */ 6 240 /* next_sister and prev_sister link nodes at the same level, ordered */ 6 241 /* by alpha sort order of the channel name. Daughter points to the */ 6 242 /* first child of this node, if any. Daughter count is the number */ 6 243 /* of children, as a consistency check. Mother is a back pointer to */ 6 244 /* the parent, present in all the children, not just the first. */ 6 245 /* threads are cdt indexes. If positive, they index the cdt_entry array */ 6 246 /* in cdt, if negative, they are the negative of an index into the fnp_entry */ 6 247 /* array. If zero, they refer to the top of the non-fnp mpx tree. */ 6 248 6 249 dcl 1 channel_threads aligned based, 6 250 2 next_sister fixed bin unaligned, 6 251 2 prev_sister fixed bin unaligned, 6 252 2 daughter fixed bin unaligned, 6 253 2 mother fixed bin unaligned, /* negative is a fnpx, positive a cdtx */ 6 254 2 pad bit (18) unaligned, 6 255 2 daughter_count fixed bin unaligned; 6 256 6 257 /* Values for cdte.service_type field */ 6 258 6 259 dcl ( 6 260 ANS_SERVICE init (1), /* login or dial */ 6 261 FTP_SERVICE init (2), /* file transfer service */ 6 262 MC_SERVICE init (3), /* message coordinator */ 6 263 SLAVE_SERVICE init (4), /* special channel */ 6 264 DIAL_SERVICE init (5), /* transient state */ 6 265 DIAL_OUT_SERVICE init (6), /* auto call line */ 6 266 MPX_SERVICE init (8), /* ring0 demultiplexed line */ 6 267 TANDD_SERVICE init (9) /* transient state, attached for T & D */ 6 268 ) fixed bin internal static options (constant); 6 269 6 270 /* Values for service type in both cdte and fnpe */ 6 271 6 272 dcl ( 6 273 INACTIVE init (7), /* not to be used, even though configured */ 6 274 ACTIVE init (1) 6 275 ) /* for FNP only, configured and to be used */ 6 276 fixed bin internal static options (constant); 6 277 6 278 /* Value for both cdte.in_use and fnpe.state */ 6 279 6 280 dcl NOT_CONFIGURED fixed bin int static init (-1) options (constant); 6 281 /* was not configured at Multics bootload time */ 6 282 6 283 /* NOTE: an INACTIVE channel can be made active by operator command or CDT installation, 6 284* but a NOT_CONFIGURED channel can not be used until its multiplexer is reloaded */ 6 285 6 286 /* Value for cdte.in_use */ 6 287 6 288 dcl CHANNEL_DELETED fixed bin int static init (-2); 6 289 /* channel deleted by CDT installation */ 6 290 6 291 /* NOTE: a configured channel being deleted by a CDT installation is set to CHANNEL_DELETED. 6 292* multiplexer_mgr_ sets cdte.in_use to NOW_FREE at the next reload of its multiplexer. 6 293* A NOT_CONFIGURED channel is set to NOW_FREE immediately when deleted by a CDT installation. */ 6 294 6 295 6 296 /* Values for mpxe.state field */ 6 297 6 298 dcl ( 6 299 FNP_FREE init (0), /* this fnpe is not used */ 6 300 FNP_UNKNOWN init (1), /* FNP is in some unknown state */ 6 301 FNP_DOWN init (2), /* FNP crashed, not yet reloaded */ 6 302 FNP_BOOT init (3), /* FNP has been booted, but no response yet */ 6 303 FNP_UP init (4) /* FNP is up and running fine */ 6 304 ) fixed bin internal static options (constant); 6 305 6 306 dcl ( 6 307 MPX_FREE init (0), /* this mpxe is not used */ 6 308 MPX_UNKNOWN init (1), /* MPX is in some unknown state */ 6 309 MPX_DOWN init (2), /* MPX crashed, not yet reloaded */ 6 310 MPX_BOOT init (3), /* MPX has been booted, but no response yet */ 6 311 MPX_UP init (4) /* MPX is up and running fine */ 6 312 ) fixed bin internal static options (constant); 6 313 7 1 /* BEGIN INCLUDE FILE ... fnp_types.incl.pl1 */ 7 2 7 3 7 4 7 5 /****^ HISTORY COMMENTS: 7 6* 1) change(88-06-15,Berno), approve(88-07-13,MCR7928), 7 7* audit(88-06-15,Parisek), install(88-07-19,MR12.2-1061): 7 8* Add data needed for the uncp multiplexer (DSA gateway) interface 7 9* implementation. 7 10* END HISTORY COMMENTS */ 7 11 7 12 7 13 /* Values for fnpe.type field */ 7 14 /* 7 15* Created 79 May 14 by Art Beattie by splitting information out from cdt.incl.pl1 7 16* Added in March 1982 - DN7100.fd. 7 17**/ 7 18 7 19 dcl (DN355 init (1), /* a DataNet 355 FNP */ 7 20 DN6600 init (2), /* a DataNet 6600 FNP */ 7 21 DN6670 init (3), /* a Honeywell Bull Network Processor (18x) */ 7 22 DN7100 init (4) /* The DSA Datanet architecture (DN7) */ 7 23 ) fixed bin internal static options (constant); 7 24 7 25 dcl fnp_types (4) char (8) int static options (constant) 7 26 init ("DN355", "DN6600", "DN6670", "DN7100"); 7 27 7 28 dcl fnp_models (4) fixed bin (17) int static options (constant) 7 29 init (355, 6600, 6670, 7100); 7 30 7 31 dcl supported_fnp (4) bit (1) int static options (constant) 7 32 init ("0"b, "0"b, "1"b, "1"b); 7 33 7 34 7 35 /* END INCLUDE FILE ... fnp_types.incl.pl1 */ 6 314 6 315 6 316 /* END INCLUDE FILE ... cdt.incl.pl1 */ 745 746 /* BEGIN INCLUDE FILE ... dialup_values.incl.pl1 */ 8 2 8 3 /* format: style4 */ 8 4 8 5 /* Values for "cdte.tra_vec" used by dialup_ and others. */ 8 6 8 7 /* Modified by T. Casey April 1976 to add WAIT_NEW_PASSWORD 8 8* - in 1977 and 1978 to add WAIT_(GREETING_MSG DELETE_CHANNEL) 8 9* - and in October 1979 to add WAIT_CONNECT_REQUEST 8 10* Modified by Robert Coren in May 1981 to add TANDD_ATTACH values and 8 11* WAIT_DISCARD_WAKEUP 8 12* Modified by T. Casey, July 1981, for MR9.0, to add WAIT_BEFORE_HANGUP. 8 13* Modified by E. N. Kittlitz, July 1982, to add TTY_MASKED. 8 14**/ 8 15 8 16 /****^ HISTORY COMMENTS: 8 17* 1) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 8 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 19* Add constant arrays naming cdte.state, cdte.tra_vec and ute.active values. 8 20* 2) change(87-05-11,GDixon), approve(87-07-13,MCR7741), 8 21* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 22* Add named constants for instance tags. 8 23* END HISTORY COMMENTS */ 8 24 8 25 dcl (WAIT_DIALUP init (1), /* Channel waiting for dialup. */ 8 26 WAIT_ANSWERBACK initial (2), /* WRU sent, waiting for reply */ 8 27 WAIT_LOGIN_LINE init (3), /* Greeting typed, wait for login command. */ 8 28 WAIT_LOGIN_ARGS init (4), /* Want rest of login line */ 8 29 WAIT_OLD_PASSWORD init (5), /* "-cpw" was specified. Wait for old password. */ 8 30 WAIT_PASSWORD init (6), /* Waiting for password. (If "-cpw", repeat of new one.) */ 8 31 WAIT_NEW_PASSWORD init (7), /* "-cpw" was specified. Wait for new password */ 8 32 WAIT_LOGOUT_SIG init (8), /* Channel is hooked up. Wait for logout. */ 8 33 WAIT_LOGOUT init (9), /* A logout has been requested. Wait for process to die */ 8 34 WAIT_LOGOUT_HOLD init (10), /* As above but don't hang up when it dies. */ 8 35 WAIT_DETACH init (11), /* As above but ignore channel afterwards. */ 8 36 WAIT_NEW_PROC init (12), /* As above but make new process and continue. */ 8 37 WAIT_REMOVE init (13), /* As above but completely expunge channel. */ 8 38 WAIT_FIN_PRIV_ATTACH init (14), /* When channel dials up, connect it to user */ 8 39 WAIT_DIAL_RELEASE init (15), /* Waiting for master process to release. */ 8 40 WAIT_DIAL_OUT init (16), /* Waiting for auto call to complete */ 8 41 WAIT_HANGUP init (17), /* Wait for the hangup event to occur for a channel */ 8 42 WAIT_SLAVE_REQUEST init (18), /* Ignore line until someone asks */ 8 43 WAIT_GREETING_MSG init (19), /* Print greeting message and wait for login line */ 8 44 WAIT_DELETE_CHANNEL init (20), /* Channel deleted - mark cdte after process is destroyed */ 8 45 WAIT_CONNECT_REQUEST init (21), /* logged in; awaiting request re disconnected processes */ 8 46 WAIT_TANDD_HANGUP init (22), /* when channel hangs up, proceed with t & d attachment */ 8 47 WAIT_FIN_TANDD_ATTACH init (23), /* when channel dials up, finish t & d attachment */ 8 48 WAIT_DISCARD_WAKEUPS init (24), /* disregard all wakeups on channel */ 8 49 WAIT_BEFORE_HANGUP init (25), /* allow output to print before hanging up */ 8 50 WAIT_DESTROY_REQUEST init (26), /* waiting to continue with destroy request after process has destroyed itself */ 8 51 WAIT_NEW_PROC_REQUEST init (27) /* waiting to continue with new_proc request after process has destroyed itself */ 8 52 ) fixed bin internal static options (constant); 8 53 8 54 dcl TRA_VEC_VALUES (0:13) char (32) aligned int static options (constant) init 8 55 /* names of ute.destroy_flag values */ 8 56 ("", "wait dialup", "wait answerback", "wait login line", /* 0-3 */ 8 57 "wait login args", "wait old password", "wait password", /* 4-6 */ 8 58 "wait new password", "wait logout signal", "wait logout", /* 7-9 */ 8 59 "wait logout hold", "wait detach", "wait new proc", /* 10-12 */ 8 60 "wait remove"); /* -13 */ 8 61 8 62 /* Values for "cdte.state", typewriter state. */ 8 63 8 64 dcl (TTY_MASKED init (-1), /* Terminal channel is there, but masked by MCS */ 8 65 TTY_HUNG init (1), /* Terminal channel is there, but dead. */ 8 66 TTY_KNOWN init (2), /* Channel being "listened" to, awaiting dialup. */ 8 67 TTY_DIALED init (5) /* Channel is dialed up. This is normal state. */ 8 68 ) fixed bin internal static options (constant); 8 69 8 70 dcl STATE_VALUES (-1:5) char (15) aligned int static options (constant) init 8 71 /* names of cdte.state values */ 8 72 ("masked", "dead", "hung up", "listening", "", "", "dialed up"); 8 73 8 74 /* Values for "cdte.in_use" and "ate.active" */ 8 75 8 76 dcl (NOW_FREE init (0), /* Entry is empty. */ 8 77 NOW_HUNG_UP init (1), /* Entry is usable but tty is hung up. */ 8 78 NOW_LISTENING init (2), /* Entry is waiting for phone call. */ 8 79 NOW_DIALED init (3), /* Entry is connected but login not complete. */ 8 80 NOW_LOGGED_IN init (4), /* Entry is logged in but no process. */ 8 81 NOW_HAS_PROCESS init (5), /* Entry has a valid process. */ 8 82 NOW_DIALING init (6), /* Entry (auto_call line) is dialing */ 8 83 NOW_DIALED_OUT init (7) /* Entry (auto_call line) is in use */ 8 84 ) fixed bin internal static options (constant); 8 85 8 86 dcl ACTIVE_VALUES (0:5) char (18) aligned int static options (constant) init 8 87 /* names of ute.active values */ 8 88 ("free", "hung-up", "listening", "dialed", "logged in, no proc", "logged in & proc"); 8 89 8 90 8 91 /**** Values for ute.tag */ 8 92 8 93 dcl (TAG_INTERACTIVE init("a"), 8 94 TAG_UFT init("f"), 8 95 TAG_ABSENTEE init("m"), 8 96 TAG_PROXY init("p"), 8 97 TAG_DAEMON init("z") 8 98 ) char(1) int static options(constant); 8 99 8 100 8 101 /**** Following are constants used to indicate to the process termination 8 102* handler the reason for the process termination. They are used by 8 103* uc_proc_term_handler_, as well as uc_ls_new_proc_request_ and 8 104* uc_ls_destroy_request_. */ 8 105 8 106 dcl ( 8 107 PT_FPE initial (1), 8 108 PT_LOGOUT initial (4), 8 109 PT_NEW_PROC_AUTH initial (13), 8 110 PT_HANGUP initial (20), 8 111 PT_SHUTDOWN initial (21), 8 112 PT_BUMP initial (22), 8 113 PT_ALARM initial (23), 8 114 PT_DETACH initial (24), 8 115 PT_UNBUMP initial (25), 8 116 PT_OPERATOR_TERMINATE initial (27), 8 117 PT_DESTROY_REQUEST initial (30), 8 118 PT_NEW_PROC_REQUEST initial (31) 8 119 ) fixed bin (17) internal static options (constant); 8 120 8 121 /**** Values for ute.preempted: 8 122* -1 user unbumped after term signal sent 8 123* 0 user unbumped; ignore alarm___ 8 124* 1 value internally used in load_ctl_ 8 125* 2 user bumped; when alarm___ comes in, send term signal 8 126* 3 term signal sent; destroy process if termsgnl, alarm___, or cpulimit 8 127* signals come in 8 128* 4 user bumped; process sick, so destroy without sending term signal 8 129* 5 trm_ signal sent, termsgnl received; (if still 3, we never got the 8 130* termsgnl). */ 8 131 8 132 dcl ( 8 133 PREEMPT_UNBUMP initial (-1), 8 134 PREEMPT_UNBUMP_IGNORE_ALARM initial (0), 8 135 PREEMPT_LOAD_CTL initial (1), 8 136 PREEMPT_BUMPED initial (2), 8 137 PREEMPT_TERM_SENT initial (3), 8 138 PREEMPT_BUMPED_NO_TERM initial (4), 8 139 PREEMPT_TERMSGNL_RECEIVED initial (5) 8 140 ) fixed bin (17) internal static options(constant); 8 141 8 142 dcl PREEMPT_VALUES (-1:5) char(28) varying int static options(constant) init( 8 143 "unbumped", 8 144 "not bumped, ignore alarm___", 8 145 "load_ctl_", 8 146 "bumped", 8 147 "bumped, trm_ sent", 8 148 "bumped without trm_", 8 149 "bumped, termsgnl received"); 8 150 8 151 /* END INCLUDE FILE ... dialup_values.incl.pl1 */ 746 747 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 9 2 9 3 9 4 /****^ HISTORY COMMENTS: 9 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 9 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 9 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 9 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 9 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 9 10* Reorganized by type of data to improve readability. 9 11* END HISTORY COMMENTS */ 9 12 9 13 9 14 /* ACCESS NAMES */ 9 15 dcl ( 9 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 9 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 9 18 ) char(32) ext static; 9 19 9 20 /* PATHNAMES */ 9 21 dcl ( 9 22 sc_stat_$info_dir, /* admin info segs directory */ 9 23 sc_stat_$log_dir, /* as log segs directory */ 9 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 9 25 sc_stat_$sysdir /* system control directory */ 9 26 ) char(168) ext static; 9 27 9 28 /* OTHER CHAR STRINGS */ 9 29 dcl ( 9 30 sc_stat_$master_channel /* Master TTY channel. */ 9 31 ) char(6) aligned ext static; 9 32 9 33 /* LABELS */ 9 34 dcl ( 9 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 9 36 /* ssu_$null_label unless */ 9 37 /* admin_listener is active. */ 9 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 9 39 /* attributable to a particular */ 9 40 /* command. */ 9 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 9 42 ) label variable ext static; 9 43 9 44 /* POINTERS TO */ 9 45 dcl ( 9 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 9 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 9 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 9 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 9 50 /* by sys_log_. */ 9 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 9 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 9 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 9 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 9 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 9 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 9 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 9 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 9 59 ) ptr ext static; 9 60 9 61 /* SWITCHES */ 9 62 dcl ( 9 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 9 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 9 65 sc_stat_$Multics, /* TRUE after answering service started */ 9 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 9 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 9 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 9 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 9 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 9 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 9 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 9 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 9 74 /* if PNT not yet available. */ 9 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 9 76 sc_stat_$test_mode, /* TRUE if in test environment */ 9 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 9 78 /* by operator signed on system console*/ 9 79 ) bit(1) aligned ext static; 9 80 9 81 9 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 747 748 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 10 2 10 3 10 4 /****^ HISTORY COMMENTS: 10 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 10 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 10 7* Added sl_info structure and associated named constants for use in calling 10 8* sys_log_$general. 10 9* END HISTORY COMMENTS */ 10 10 10 11 10 12 /* format: style4 */ 10 13 10 14 dcl ( 10 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 10 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 10 17 SL_TYPE init (-1), /* type message */ 10 18 SL_LOG_SILENT init (0), /* log message */ 10 19 SL_LOG init (1), /* log & type message */ 10 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 10 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 10 22 ) fixed bin internal static options (constant); 10 23 10 24 dcl 1 sl_info aligned automatic, 10 25 2 version char(8), /* structure version */ 10 26 2 arg_list_ptr ptr, /* arg_list with values */ 10 27 2 loc, 10 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 10 29 /* These flags control where the corresponding data item is found.*/ 10 30 /* -1: data appears in the corresponding structure element below */ 10 31 /* 0: data is not present anywhere */ 10 32 /* +N: data is Nth item in argument list pointed to by */ 10 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 10 34 /* corresponding structure element. */ 10 35 /* if data = +N: */ 10 36 /* argN is data_ptr, argN+1 is data_len */ 10 37 /* if ioa_msg = +N: */ 10 38 /* argN+1, ... argLAST are arguments substituted into the */ 10 39 /* ioa_msg control string. The formatted msg is returned. */ 10 40 2 flags, 10 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 10 42 3 flags_pad bit(35) unal, 10 43 2 mode fixed bin, /* as-mode, command-mode */ 10 44 2 severity fixed bin, /* error severity */ 10 45 2 code fixed bin(35), /* error table code */ 10 46 2 caller char(65) varying, /* caller refname$entryname*/ 10 47 2 data, /* binary data ptr/length */ 10 48 3 data_ptr ptr, 10 49 3 data_lth fixed bin(21), 10 50 2 class char(10) varying, /* binary data class */ 10 51 2 ioa_msg char(500) varying; /* formatted message text */ 10 52 10 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 54 /* */ 10 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 10 56 /* their data types should be as shown in the structure above, except that */ 10 57 /* character strings should be char(*) nonvarying. */ 10 58 /* */ 10 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 60 10 61 /* value for sl_info.version */ 10 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 10 63 10 64 /* values for sl_info.mode */ 10 65 dcl (SL_INFO_as_mode init(1), 10 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 10 67 10 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 10 69 dcl (SL_INFO_arg_given_in_structure init(-1), 10 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 10 71 10 72 10 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 74 /* */ 10 75 /* The following static structures are commonly used in the Login Server */ 10 76 /* user control software. */ 10 77 /* */ 10 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 79 10 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 10 81 10 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 10 83 2 version char(8) init ("sl_info1"), 10 84 2 arg_list_ptr ptr init (null), 10 85 2 loc, 10 86 3 (mode init (-1), 10 87 severity init ( 1), 10 88 code init ( 2), 10 89 caller init (-1), 10 90 data init ( 0), 10 91 class init ( 0), 10 92 ioa_msg init ( 3)) fixed bin, 10 93 2 flags, 10 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 95 3 flags_pad bit(35) unal init ("0"b), 10 96 2 mode fixed bin init ( 1), 10 97 2 severity fixed bin init ( 0), 10 98 2 code fixed bin(35) init ( 0), 10 99 2 caller char(65) varying init (""), 10 100 2 data, 10 101 3 data_ptr ptr init (null), 10 102 3 data_lth fixed bin(21) init ( 0), 10 103 2 class char(10) varying init (""), 10 104 2 ioa_msg char(500) varying init (""); 10 105 10 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 10 107 10 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 10 109 2 version char(8) init ("sl_info1"), 10 110 2 arg_list_ptr ptr init (null), 10 111 2 loc, 10 112 3 (mode init (-1), 10 113 severity init ( 1), 10 114 code init ( 0), 10 115 caller init (-1), 10 116 data init ( 0), 10 117 class init ( 0), 10 118 ioa_msg init ( 2)) fixed bin, 10 119 2 flags, 10 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 121 3 flags_pad bit(35) unal init ("0"b), 10 122 2 mode fixed bin init ( 1), 10 123 2 severity fixed bin init ( 0), 10 124 2 code fixed bin(35) init ( 0), 10 125 2 caller char(65) varying init (""), 10 126 2 data, 10 127 3 data_ptr ptr init (null), 10 128 3 data_lth fixed bin(21) init ( 0), 10 129 2 class char(10) varying init (""), 10 130 2 ioa_msg char(500) varying init (""); 10 131 10 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 10 133 10 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 10 135 2 version char(8) init ("sl_info1"), 10 136 2 arg_list_ptr ptr init (null), 10 137 2 loc, 10 138 3 (mode init (-1), 10 139 severity init ( 1), 10 140 code init ( 0), 10 141 caller init (-1), 10 142 data init ( 0), 10 143 class init ( 0), 10 144 ioa_msg init ( 2)) fixed bin, 10 145 2 flags, 10 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 10 147 3 flags_pad bit(35) unal init ("0"b), 10 148 2 mode fixed bin init ( 1), 10 149 2 severity fixed bin init ( 0), 10 150 2 code fixed bin(35) init ( 0), 10 151 2 caller char(65) varying init (""), 10 152 2 data, 10 153 3 data_ptr ptr init (null), 10 154 3 data_lth fixed bin(21) init ( 0), 10 155 2 class char(10) varying init (""), 10 156 2 ioa_msg char(500) varying init (""); 10 157 10 158 10 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 10 160 10 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 10 162 2 version char(8) init ("sl_info1"), 10 163 2 arg_list_ptr ptr init (null), 10 164 2 loc, 10 165 3 (mode init (-1), 10 166 severity init ( 1), 10 167 code init ( 2), 10 168 caller init (-1), 10 169 data init ( 0), 10 170 class init ( 0), 10 171 ioa_msg init ( 4)) fixed bin, 10 172 2 flags, 10 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 174 3 flags_pad bit(35) unal init ("0"b), 10 175 2 mode fixed bin init ( 1), 10 176 2 severity fixed bin init ( 0), 10 177 2 code fixed bin(35) init ( 0), 10 178 2 caller char(65) varying init (""), 10 179 2 data, 10 180 3 data_ptr ptr init (null), 10 181 3 data_lth fixed bin(21) init ( 0), 10 182 2 class char(10) varying init (""), 10 183 2 ioa_msg char(500) varying init (""); 10 184 10 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 10 186 10 187 dcl 1 sl_info_code_msg aligned int static options(constant), 10 188 2 version char(8) init ("sl_info1"), 10 189 2 arg_list_ptr ptr init (null), 10 190 2 loc, 10 191 3 (mode init (-1), 10 192 severity init (-1), 10 193 code init ( 1), 10 194 caller init (-1), 10 195 data init ( 0), 10 196 class init ( 0), 10 197 ioa_msg init ( 2)) fixed bin, 10 198 2 flags, 10 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 200 3 flags_pad bit(35) unal init ("0"b), 10 201 2 mode fixed bin init ( 1), 10 202 2 severity fixed bin init ( 0), 10 203 2 code fixed bin(35) init ( 0), 10 204 2 caller char(65) varying init (""), 10 205 2 data, 10 206 3 data_ptr ptr init (null), 10 207 3 data_lth fixed bin(21) init ( 0), 10 208 2 class char(10) varying init (""), 10 209 2 ioa_msg char(500) varying init (""); 10 210 10 211 10 212 /* Syntax: call Trace (ioa_ctl, args); */ 10 213 10 214 dcl 1 sl_info_msg aligned int static options(constant), 10 215 2 version char(8) init ("sl_info1"), 10 216 2 arg_list_ptr ptr init (null), 10 217 2 loc, 10 218 3 (mode init (-1), 10 219 severity init (-1), 10 220 code init ( 0), 10 221 caller init (-1), 10 222 data init ( 0), 10 223 class init ( 0), 10 224 ioa_msg init ( 1)) fixed bin, 10 225 2 flags, 10 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 227 3 flags_pad bit(35) unal init ("0"b), 10 228 2 mode fixed bin init ( 1), 10 229 2 severity fixed bin init ( 0), 10 230 2 code fixed bin(35) init ( 0), 10 231 2 caller char(65) varying init (""), 10 232 2 data, 10 233 3 data_ptr ptr init (null), 10 234 3 data_lth fixed bin(21) init ( 0), 10 235 2 class char(10) varying init (""), 10 236 2 ioa_msg char(500) varying init (""); 10 237 10 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 748 749 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 11 2 11 3 11 4 /****^ HISTORY COMMENTS: 11 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 11 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 11 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 11 8* attribute switches. 11 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 11 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 11 12* be deleted. 11 13* B) Add constants identifying attributes that can be changed by user at 11 14* login, etc. 11 15* END HISTORY COMMENTS */ 11 16 11 17 11 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 11 19 11 20 /* format: style4 */ 11 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 11 22 (2 administrator bit (1), /* 1 system administrator privileges */ 11 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 11 24 2 nobump bit (1), /* 2 user cannot be bumped */ 11 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 11 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 11 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 11 28* . of same project (distinct from "nobump") */ 11 29 2 nolist bit (1), /* 7 don't list user on "who" */ 11 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 11 31 2 multip bit (1), /* 9 user may have several processes */ 11 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 11 33 2 brief bit (1), /* 11 no login or logout message */ 11 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 11 35 2 vhomedir bit (1), /* 13 user may change homedir */ 11 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 11 37 2 sb_ok bit (1), /* 15 user may be standby */ 11 38 2 pm_ok bit (1), /* 16 user may be primary */ 11 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 11 40 2 daemon bit (1), /* 18 user may login as daemon */ 11 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 11 42 2 no_warning bit (1), /* 20 no warning message */ 11 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 11 44* . in PDT: this user has an individual load control group */ 11 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 11 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 11 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 11 48 2 pad bit (12)) unaligned; 11 49 11 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 11 51 ("none", /* 0 */ 11 52 "administrator", /* 1 */ 11 53 "primary_line", /* 2 */ 11 54 "nobump", /* 3 */ 11 55 "guaranteed_login", /* 4 */ 11 56 "anonymous", /* 5 */ 11 57 "nopreempt", /* 6 */ 11 58 "nolist", /* 7 */ 11 59 "dialok", /* 8 */ 11 60 "multip", /* 9 */ 11 61 "bumping", /* 10 */ 11 62 "brief", /* 11 */ 11 63 "vinitproc", /* 12 */ 11 64 "vhomedir", /* 13 */ 11 65 "nostartup", /* 14 */ 11 66 "no_secondary", /* 15 */ 11 67 "no_prime", /* 16 */ 11 68 "no_eo", /* 17 */ 11 69 "daemon", /* 18 */ 11 70 "", /* 19 vdim OBSOLETE */ 11 71 "no_warning", /* 20 */ 11 72 "igroup", /* 21 */ 11 73 "save_pdir", /* 22 */ 11 74 "disconnect_ok", /* 23 */ 11 75 "save_on_disconnect"); /* 24 */ 11 76 11 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 11 78 ("null", /* 0 */ 11 79 "admin", /* 1 */ 11 80 "", "", /* 2 - 3 */ 11 81 "guar", /* 4 */ 11 82 "anon", /* 5 */ 11 83 "", "", /* 6 - 7 */ 11 84 "dial", /* 8 */ 11 85 "multi_login", /* 9 */ 11 86 "preempting", /* 10 */ 11 87 "", /* 11 */ 11 88 "v_process_overseer", /* 12 */ 11 89 "v_home_dir", /* 13 */ 11 90 "no_start_up", /* 14 */ 11 91 "no_sec", /* 15 */ 11 92 "no_primary", /* 16 */ 11 93 "no_edit_only", /* 17 */ 11 94 "op_login", /* 18 */ 11 95 "", /* 19 */ 11 96 "nowarn", /* 20 */ 11 97 "", "", "", /* 21 - 23 */ 11 98 "save"); /* 24 */ 11 99 11 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 11 101 options(constant) init("000000000010000000010000000000000000"b); 11 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 11 103 11 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 11 105 options(constant) init("000000000010000000010000000000000000"b); 11 106 /* PDT value for (brief, no_warning) is default */ 11 107 11 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 11 109 options(constant) init("000100000110010000010000000000000000"b); 11 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 11 111 12 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 12 2 12 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 4 /* */ 12 5 /* This include file describes the attributes of an absentee job. It is */ 12 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 12 7 /* and PIT.incl.pl1. */ 12 8 /* */ 12 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 10 12 11 /****^ HISTORY COMMENTS: 12 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 12 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 12 14* Separated abs_attributes from the request structure 12 15* (abs_message_format.incl.pl1) so that the identical structure could be 12 16* used in the ute structure (user_table_entry.incl.pl1). 12 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 12 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 12 19* Added ABS_ATTRIBUTE_NAMES array. 12 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 12 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 12 22* Added the no_start_up flag. SCP6367 12 23* END HISTORY COMMENTS */ 12 24 12 25 dcl 1 user_abs_attributes aligned based, 12 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 12 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 12 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 12 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 12 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 12 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 12 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 12 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 12 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 12 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 12 36 2 attributes_pad bit (26) unaligned; 12 37 12 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 12 39 "restartable", 12 40 "user_deferred_until_time", 12 41 "proxy", 12 42 "set_bit_cnt", 12 43 "time_in_gmt", 12 44 "user_deferred_indefinitely", 12 45 "secondary_ok", 12 46 "truncate_absout", 12 47 "restarted", 12 48 "no_start_up"); 12 49 12 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 12 51 11 112 11 113 11 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 749 750 /* BEGIN INCLUDE FILE ... user_table_entry.incl.pl1 */ 13 2 13 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 4 /* */ 13 5 /* This include file requires that the user include */ 13 6 /* user_attributes.incl.pl1 as well. It also includes */ 13 7 /* abs_attributes.incl.pl1 itself. */ 13 8 /* */ 13 9 /* This include file must be included to use absentee_user_table.incl.pl1, */ 13 10 /* answer_table.incl.pl1, and daemon_user_table.incl.pl1. */ 13 11 /* */ 13 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 13 13 14 /****^ HISTORY COMMENTS: 13 15* 1) change(81-12-21,Gilcrease), approve(86-03-27,MCR7370), 13 16* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 13 17* This comment for hcom. 13 18* 81-12-21 E. N. Kittlitz. derived from abs_user_tab.incl.pl1, 13 19* anstbl.incl.pl1, and dutbl.incl.pl1. 13 20* 82-01-02 E. N. Kittlitz. user_attributes.incl.pl1 changes 13 21* 84-04-04 BIM added privileged_dial_server and dial_server_ring 13 22* 84-07-12 BIM added min_process_authorization 13 23* 84-12-31 Keith Loepere added pdir_dir_quota 13 24* 85-01-16 by E. Swenson to add ute.session_uid 13 25* 2) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 13 26* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 13 27* Added fields for DSA login server support. 13 28* 3) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 13 29* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 13 30* Add truncate_absout and restarted bit for -truncate absout, SCP6297. 13 31* 4) change(86-04-09,Herbst), approve(87-07-13,MCR7697), 13 32* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 13 33* Added disconnection_rel_minutes. 13 34* 5) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 13 35* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 36* Changed structure under ute.abs_attributes to use like structure in 13 37* abs_attributes.incl.pl1. This allows the same attributes to be used 13 38* in abs_message_format.incl.pl1 and pit.incl.pl1 as well as this include 13 39* file. 13 40* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 13 41* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 42* Move constants for ute.pw_flags.mask_ctl from answer_table.incl.pl1. 13 43* 7) change(87-04-16,GDixon), approve(87-07-13,MCR7741), 13 44* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 45* A) Global reorganization to locate things by type of data. 13 46* B) Eliminate ute.uflags.logged_in. 13 47* 8) change(87-05-10,GDixon), approve(87-07-13,MCR7741), 13 48* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 49* A) Reduced overlength person and project fields to proper length. 13 50* B) Adjusted dialed-console section to begin on even word boundary. 13 51* 9) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 13 52* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 53* Add ute.line_type. 13 54* 10) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 13 55* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 13 56* Added the lowest_ring element. Used the upper half of ute.highest_ring 13 57* for the storage. SCP6367 13 58* END HISTORY COMMENTS */ 13 59 13 60 /* format: style4 */ 13 61 13 62 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 63 /* */ 13 64 /* Each of the named sections below defines a type of data. Typing comes */ 13 65 /* from data associated with the ute entry itself, with the person, with */ 13 66 /* login argument data, from the main user of the data (eg, dialup_, */ 13 67 /* load_ctl_, login server). Each section begins on a double-word boundary */ 13 68 /* and is an even number of words long. The total structure is 300 decimal */ 13 69 /* words long. */ 13 70 /* */ 13 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 72 13 73 13 74 dcl UTE_version_4 fixed bin internal static options (constant) init (4); 13 75 13 76 dcl utep pointer automatic init (null); 13 77 13 78 dcl 1 ute based (utep) aligned, /* individual entry in one of the user control tables */ 13 79 13 80 /* Variables which give state of this entry */ 13 81 2 active fixed bin, /* state of entry. 0=>free. see dialup_values.incl.pl1 */ 13 82 2 process_type fixed bin, /* 1=interactive, 2=absentee, 3=daemon */ 13 83 2 ute_index fixed bin, /* index of ute in (anstbl autbl dutbl).entry array */ 13 84 2 next_free fixed bin, /* points to previous free entry */ 13 85 13 86 /* Information user gave about person_id associated with this entry. */ 13 87 2 person char (24) unal, /* user's name */ 13 88 2 project char (12) unal, /* project of absentee user */ 13 89 2 tag char (1) unal, /* instance tag - someday will be generated */ 13 90 2 tag_pad bit (27) unal, 13 91 2 anonymous fixed bin, /* 1 if anonymous, otherwise 0 */ 13 92 2 login_flags, /* flags for login data */ 13 93 3 cpw bit (1) unal, /* flag for wish to change password */ 13 94 3 generate_pw bit (1) unal, /* flag meaning -generate_pw (-gpw) was used. */ 13 95 3 special_pw unal, /* dial or slave */ 13 96 4 dial_pw bit (1) unal, /* true if dial -user */ 13 97 4 slave_pw bit (1) unal, /* true if slave -user */ 13 98 3 cdp bit (1) unal, /* flag for wish to change default project */ 13 99 3 cda bit (1) unal, /* flag to change default authorization */ 13 100 3 auth_given bit (1) unal, /* flag to mean -authorization was used. */ 13 101 3 noprint bit (1) unal, /* used at logout. inhibits printing. */ 13 102 3 operator bit (1) unaligned, /* user specified -operator on login command line */ 13 103 3 pw_pad bit (25) unal, /* spare parts */ 13 104 3 mask_ctl bit (2) unal, /* bits controlling pw mask. See constants, below */ 13 105 /* Must remain last in pw_flags so it does not */ 13 106 /* appear in PW_FLAG_VALUES array below. */ 13 107 2 generated_pw char (8) unal, /* user must type this as new password */ 13 108 2 old_password char (8) unal, /* must match user's previous password (value scrambled) */ 13 109 2 process_authorization bit (72), /* access_authorization of this process */ 13 110 13 111 /* Information user gave about process associated with this entry. */ 13 112 2 outer_module char (32) unal, /* Name of console dim */ 13 113 2 home_dir char (64) unal, /* initial home directory */ 13 114 2 init_proc char (64) unal, /* name of login responder */ 13 115 2 ip_len fixed bin (17) unal, /* length of initproc string */ 13 116 2 ss_len fixed bin (17) unal, /* length of subsystem string */ 13 117 2 ur_at like user_attributes aligned, /* bits on means attributes given by user */ 13 118 2 at like user_attributes aligned, /* bits on means attribute is on */ 13 119 2 initial_ring fixed bin, /* ring process will be started in */ 13 120 2 arg_count fixed bin, /* number of arguments to absentee control segment */ 13 121 2 ln_args fixed bin, /* length of string containing arguments */ 13 122 2 arg_lengths_ptr ptr, /* pointer to array of argument lengths */ 13 123 2 args_ptr ptr, /* pointer to arguments to absentee control segment */ 13 124 13 125 /* Most of the following information is relevant only to absentee processes */ 13 126 2 input_seg char (168) unal, /* pathname of absentee control segment */ 13 127 2 output_seg char (168) unal, /* pathname of absentee output file */ 13 128 2 request_id fixed bin (71), /* time request was entered - used as uid of request */ 13 129 2 reservation_id fixed bin (71), /* nonzero if job has a resource reservation */ 13 130 2 message_id bit (72), /* message segment id assoc with absentee request */ 13 131 2 deferred_time fixed bin (71), /* time at which absentee process should be created */ 13 132 2 max_cpu_time fixed bin (35), /* maximum number of seconds this process can run */ 13 133 2 queue fixed bin, /* -1=daemon;0=interactive or foreground;>0=queue no. 13 134* (but see uflags.adjust_abs_q_no). */ 13 135 2 real_queue fixed bin, /* real queue number; ute.queue gets fudged sometimes */ 13 136 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 13 137 2 abs_flags, 13 138 3 abs_run bit (1) unal, /* on if job was started by abs run command */ 13 139 3 notify bit (1) unal, /* on if user wants notification at login and logout */ 13 140 3 abs_flags_pad bit (34) unal, 13 141 2 abs_group char (8) unal, /* original group before load_ctl_ moves it to absentee group */ 13 142 2 sender char (32) unal, /* name of RJE station that job is from */ 13 143 2 proxy_person char (28) unal, /* name of user who actually entered the request, if proxy */ 13 144 2 proxy_project char (9) unal, 13 145 2 proxy_project_pad char (3) unal, 13 146 2 abs_pad fixed bin, 13 147 13 148 /* Information about process actually created */ 13 149 2 proc_id bit (36), /* process id of absentee process */ 13 150 2 session_uid fixed bin (35), /* Unique authentication session id */ 13 151 2 process_authorization_range (2) bit (72) aligned, 13 152 2 audit bit (36), /* audit flags for user */ 13 153 2 lot_size fixed bin, /* Size of linkage offset table */ 13 154 2 kst_size fixed bin, /* Size of process known segment table */ 13 155 2 cls_size fixed bin, /* Size of process combined linkage */ 13 156 2 sus_channel fixed bin (71), /* event channel on which suspended process is blocked */ 13 157 2 lowest_ring fixed bin (17) unal, /* lowest ring permitted */ 13 158 2 highest_ring fixed bin (17) unal, /* highest ring permitted */ 13 159 2 pdir_lvix fixed bin (17) unal, /* index in disk table of lv where pdir is */ 13 160 2 pdir_quota fixed bin (17) unal, /* process directory quota */ 13 161 2 pdir_dir_quota fixed bin (17) unal, /* process directory quota for dirs */ 13 162 2 pdir_pad fixed bin(17) unal, 13 163 2 process_pad fixed bin, 13 164 13 165 /* Information about primary terminal associated with this entry */ 13 166 2 tty_name char (32) unal, /* absentee=>"abs1", etc. daemon=>"bk", etc. */ 13 167 2 terminal_type char (32) unaligned, /* terminal type */ 13 168 2 line_type fixed bin, /* line type */ 13 169 2 tty_id_code char (4) unal, /* "none" for absentee */ 13 170 2 network_connection_type fixed bin, /* see net_event_message.incl.pl1 */ 13 171 2 channel ptr unal, /* points to CDT entry for user, if any */ 13 172 13 173 /* Variables useful for dialed terminals */ 13 174 2 ndialed_consoles fixed bin, /* if master, number of slaves */ 13 175 2 dial_qualifier char (22) unal, /* first argument to dial command */ 13 176 2 dial_server_ring fixed bin (3) unsigned unaligned, /* dial server intends to attach dialing in channels at this ring. */ 13 177 2 dial_server_flags, 13 178 3 registered_dial_server bit (1) unal, /* process is a registered dial server */ 13 179 3 privileged_dial_server bit (1) unal, /* "1"b -> serves range of AIM classes */ 13 180 3 dial_server_flags_pad bit (13) unal, /* fill out the word */ 13 181 2 dial_ev_chn fixed bin (71), /* if master, control event channel */ 13 182 13 183 /* Information about usage/accounting. Device usage meters are in a 13 184* separate segment, "devtab" */ 13 185 2 pdtep ptr, /* ptr to user's pdt entry, where usage meters live */ 13 186 2 cpu_this_process fixed bin (71), /* cpu used so far this process */ 13 187 2 cpu_usage fixed bin (71), /* total cpu time used in this session */ 13 188 2 mem_usage fixed bin (71), /* memory usage for previous processes in session */ 13 189 2 mem_this_process fixed bin (71), /* memory usage at last update */ 13 190 2 last_update_time fixed bin (71), /* time of last account update */ 13 191 2 session_cost float bin, /* dollar cost of session, for printing in logout messages */ 13 192 2 ndevices fixed bin, /* Count of attached devices */ 13 193 2 device_head fixed bin, /* Table index of head of device chain */ 13 194 2 device_tail fixed bin, /* Table index of tail of device chain */ 13 195 2 rs_number fixed bin (6) unsigned unal, /* rate structure number */ 13 196 2 rs_number_pad bit(30) unal, 13 197 2 usage_pad fixed bin, 13 198 13 199 /* Information for dialup_ (control variables). */ 13 200 2 event fixed bin (71), /* event associated with channel or user manager */ 13 201 2 uprojp ptr, /* ptr to user project sat entry */ 13 202 2 login_time fixed bin (71), /* time when absentee user approved by lg_ctl_ */ 13 203 2 cant_bump_until fixed bin (71), /* bump-protection clock */ 13 204 2 recent_fatal_error_time fixed bin (71), /* time of first error in the suspected loop */ 13 205 2 recent_fatal_error_count fixed bin, /* counter to detect fatal process error loops */ 13 206 2 failure_reason fixed bin, /* why login refused 1=lg_ctl, 2=act_ctl, 3=load_ctl */ 13 207 2 count fixed bin, /* counter for logins and dialups */ 13 208 2 n_processes fixed bin, /* number of processes created in this session */ 13 209 2 lock_value fixed bin, /* number of locks set for this entry */ 13 210 2 login_result fixed bin, /* 0=logged in;1=hopeless,hang him up;2=allow another attempt */ 13 211 2 login_code char (8) unal, /* login command from LOGIN line */ 13 212 2 preempted fixed bin, /* if ^= 0 user preempted (never for abs) */ 13 213 2 destroy_flag fixed bin, /* >8 when awaiting destroy */ 13 214 2 logout_type char (4) unal, /* type of logout */ 13 215 2 logout_index fixed bin, /* to save logout handler index while waiting for termsgnl */ 13 216 2 disconnection_rel_minutes fixed bin (17) unal, /* disconnected this many minutes after login_time */ 13 217 2 next_disconnected_ate_index fixed bin (17) unal, /* thread of list of user's disconnected processes */ 13 218 2 work_class fixed bin, /* work class used by priority scheduler */ 13 219 2 group char (8) unal, /* party group identifier */ 13 220 2 whotabx fixed bin, /* index of user's entry in whotab */ 13 221 13 222 2 uflags, /* Miscellaneous flags */ 13 223 3 dont_call_init_admin bit (1) unal, /* Call overseer directly */ 13 224 3 ip_given bit (1) unal, /* user gave an initproc arg on login line */ 13 225 3 ss_given bit (1) unal, /* initial_procedure contains a subsystem name */ 13 226 3 lvs_attached bit (1) unal, /* set and used by the lv_request_ procedure */ 13 227 3 send_initial_string bit (1) unal, /* initial string should be sent after login line read */ 13 228 3 adjust_abs_q_no bit (1) unal, /* this is an absentee job; user_profile.queue is NOT true Q # */ 13 229 3 foreground_secondary_ok bit (1) unal, /* ok to login foreground absentee job as secondary */ 13 230 3 foreground_job bit (1) unal, /* job was originally from foreground queue */ 13 231 3 sus_sent bit (1) unal, /* sus_ ips signal has been sent to process */ 13 232 3 suspended bit (1) unal, /* process has responded to sus_ signal */ 13 233 3 ignore_cpulimit bit (1) unal, /* process is released, but timer can't be turned off */ 13 234 3 deferral_logged bit (1) unal, /* abs job deferral has already been logged once */ 13 235 3 save_if_disconnected bit (1) unal, /* user wants process preserved across hangups */ 13 236 3 disconnected bit (1) unal, /* process is disconnected from terminal */ 13 237 3 disconnected_list bit (1) unal, /* this ate is on a list of disconnected processes */ 13 238 3 proc_create_ok bit (1) unal, /* lg_ctl_ has set the process creation variables */ 13 239 3 activity_can_unbump bit (1) unal, /* only bump pending is for inactivity */ 13 240 3 fpe_causes_logout bit (1) unal, /* "1"b means don't try to new_proc after fatal process error */ 13 241 3 user_specified_immediate bit (1) unal, /* "1"b -> don't wait around for process destruction. */ 13 242 3 uflags_pad bit (17) unal, 13 243 13 244 /* Information used by load_ctl_ for the process */ 13 245 2 user_weight fixed bin, /* usually 10 - used in load control */ 13 246 2 standby_line fixed bin, /* 0=user has primary line, 1=standby user */ 13 247 2 bump_grace fixed bin (71), /* bump grace in microseconds */ 13 248 13 249 13 250 /* Information for login server */ 13 251 2 login_server_info, 13 252 3 our_handle bit (72) aligned, /* how LS refers to us. */ 13 253 3 his_handle bit (72) aligned, /* how we talk to LS */ 13 254 3 termination_event_channel fixed bin (71), /* for process termination notifications to the LS */ 13 255 3 response_event_channel fixed bin (71), /* for other communications with the LS */ 13 256 3 process_id bit (36) aligned, /* process_id of login server */ 13 257 2 ls_pad (5) fixed bin; /* pad to 300 decimal words */ 13 258 13 259 /* values for ute.process_type */ 13 260 13 261 dcl (PT_INTERACTIVE initial (1), 13 262 PT_ABSENTEE initial (2), 13 263 PT_DAEMON initial (3)) fixed bin internal static options (constant); 13 264 13 265 dcl PROCESS_TYPE_NAMES (0:3) char(12) varying int static options(constant) init( 13 266 "INVALID-TYPE", 13 267 "interactive", 13 268 "absentee", 13 269 "daemon"); 13 270 13 271 dcl TABLE_NAMES (0:3) char(20) int static options(constant) init( 13 272 "UNKNOWN-TABLE", 13 273 "answer_table", 13 274 "absentee_user_table", 13 275 "daemon_user_table"); 13 276 13 277 13 278 /* values for ute.pw_flags.mask_ctl */ 13 279 13 280 dcl (DO_MASK init ("00"b), 13 281 DONT_MASK init ("01"b), 13 282 DERIVE_MASK init ("10"b)) bit (2) internal static options (constant); 13 283 13 284 dcl MASK_CTL_NAMES (0:3) char(12) varying int static options(constant) init( 13 285 "do_mask", "dont_mask", "derive_mask", ""); 13 286 13 287 13 288 /* names for ute.pw_flags */ 13 289 13 290 dcl PW_FLAG_NAMES (9) char (12) varying int static options(constant) init( 13 291 "cpw", 13 292 "generate_pw", 13 293 "dial_pw", 13 294 "slave_pw", 13 295 "cdp", 13 296 "cda", 13 297 "auth_given", 13 298 "noprint", 13 299 "operator"); 13 300 13 301 /* names for ute.uflags */ 13 302 13 303 dcl UFLAG_NAMES (19) char (24) varying int static options (constant) init ( 13 304 "dont_call_init_admin", 13 305 "ip_given", 13 306 "ss_given", 13 307 "lvs_attached", 13 308 "send_initial_string", 13 309 "adjust_abs_q_no", 13 310 "foreground_secondary_ok", 13 311 "foreground_job", 13 312 "sus_sent", 13 313 "suspended", 13 314 "ignore_cpulimit", 13 315 "deferral_logged", 13 316 "save_if_disconnected", 13 317 "disconnected", 13 318 "disconnected_list", 13 319 "proc_create_ok", 13 320 "activity_can_unbump", 13 321 "fpe_causes_logout", 13 322 "user_specified_immediate"); 13 323 13 324 /* names for ute.abs_flags */ 13 325 13 326 dcl ABS_FLAG_NAMES (2) char (8) varying int static options (constant) init ( 13 327 "abs_run", 13 328 "notify"); 13 329 13 330 /* names of ute.dial_server_flags */ 13 331 13 332 dcl DIAL_SERVER_FLAG_NAMES (2) char (12) varying int static options (constant) init ( 13 333 "registered", 13 334 "privileged"); 13 335 13 336 /* values of ute.login_result */ 13 337 13 338 dcl LOGIN_RESULT_VALUES (0:2) char(24) varying int static options(constant) init( 13 339 "logged in", 13 340 "login failed, hangup", 13 341 "login failed, try again"); 13 342 13 343 /* END INCLUDE FILE ... user_table_entry.incl.pl1 */ 750 751 /* BEGIN INCLUDE FILE ... user_table_header.incl.pl1 */ 14 2 14 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 4 /* */ 14 5 /* This include file declares the header shared by the answer_table, */ 14 6 /* absentee_user_table and daemon_user_table include files. */ 14 7 /* */ 14 8 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 9 14 10 /****^ HISTORY COMMENTS: 14 11* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 14 12* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 13* Initial coding. 14 14* END HISTORY COMMENTS */ 14 15 14 16 dcl 1 ut_header aligned based, /* header shared by all user control tables. */ 14 17 2 header_version fixed bin, /* version of the header (3) */ 14 18 2 entry_version fixed bin, /* version of user table entries */ 14 19 2 user_table_type fixed bin, /* 1 interactive, 2 absentee, 3 daemon */ 14 20 2 header_length fixed bin, /* length of the header */ 14 21 2 max_size fixed bin, /* max number of entries in this table */ 14 22 2 current_size fixed bin, /* actual size of table (in entries) */ 14 23 2 number_free fixed bin, /* number of free entries in the table. */ 14 24 2 first_free fixed bin, /* index of first entry in the free list. */ 14 25 2 as_procid bit (36), /* process ID of user table manager process */ 14 26 2 ut_header_pad fixed bin; 14 27 14 28 /* END INCLUDE FILE ... user_table_header.incl.pl1 */ 751 752 /* BEGIN INCLUDE FILE ... whotab.incl.pl1 */ 15 2 15 3 /* Modified 740723 by PG to add security info */ 15 4 /* Modified April 1976 by T. Casey to add shift and shift start and end times */ 15 5 /* Modified May 1979 by T. Casey for MR7.0a to add foreground absentee variables */ 15 6 /* Modified June 1981 by E. N. Kittlitz to add n_rate_structures. */ 15 7 /* Modified December 1981 by E. N. Kittlitz to expand header. */ 15 8 /* Modified 84-11-14 by E. A. Ranzenbach to add "session" fiedld in place of obsolete system ID... */ 15 9 15 10 dcl 1 whotab based (whoptr) aligned, 15 11 2 mxusers fixed bin, /* max. number of users on system */ 15 12 2 n_users fixed bin, /* current number of users */ 15 13 2 mxunits fixed bin, /* maximun "load units" allowed */ 15 14 2 n_units fixed bin, /* current load */ 15 15 2 timeup fixed bin (71), /* time system was started */ 15 16 2 session char (8), /* AS state, same as anstbl.session */ 15 17 2 nextsd fixed bin (71), /* time we will shutdown */ 15 18 2 until fixed bin (71), /* projected time we start up again */ 15 19 2 lastsd fixed bin (71), /* time of last crash or shutdown */ 15 20 2 erfno char (8), /* if a crash, the error number */ 15 21 2 obsolete_why char (32), /* reason for last shutdown */ 15 22 2 installation_id char (32), /* name of installation */ 15 23 2 obsolete_message char (32), /* message for all users */ 15 24 2 abs_event fixed bin (71), /* event channel associated with absentee */ 15 25 2 abs_procid bit (36) aligned, /* process to whom messages about absentee are signalled */ 15 26 2 max_abs_users fixed bin, /* max number of absentee users */ 15 27 2 abs_users fixed bin, /* number of absentee users logged-in */ 15 28 2 n_daemons fixed bin, /* Number of daemon users logged in */ 15 29 2 request_channel fixed bin (71), /* System master channel for requests to AS. */ 15 30 2 request_process_id bit (36), /* Process ID of request dispatcher */ 15 31 2 shift fixed bin, /* current shift (copied from anstbl, for users to see) */ 15 32 2 next_shift_change_time fixed bin (71), /* time current shift ends */ 15 33 2 last_shift_change_time fixed bin (71), /* time current shift started */ 15 34 2 fg_abs_users fixed bin (17) unal, /* number of foreground absentee users */ 15 35 2 n_rate_structures fixed bin (9) unsigned unal, /* number of rate_structures defined at bootload */ 15 36 2 pad1 bit (9) unal, 15 37 2 pad (3) fixed bin, 15 38 2 version fixed bin, /* structure version */ 15 39 2 header_size fixed bin, /* length of header in words */ 15 40 2 entry_size fixed bin, /* length of entry in words */ 15 41 /* laste_adjust is used only by Answering Service programs */ 15 42 2 laste_adjust fixed bin, /* count of 32 wd blocks in hdr from header_extension_mbz1 */ 15 43 2 laste fixed bin, /* index of last entry in use (includes laste_adjust) */ 15 44 2 freep fixed bin (18) unsigned, /* index of first free entry. chained thru "chain" */ 15 45 15 46 /* whotab header extension: The header is extended from 64 words by 15 47* annexing whole user entries from the 'e' array. Each 'e' entry is 32 words 15 48* long. Each annexed block has its first word set to zero, indicating that no user entry is 15 49* present. This allows existing programs to function with old definitions of 15 50* whotab. Obviously no new header field can be more than 31 contiguous words in 15 51* length. In the Answering Service, all programs using whotab must be compiled 15 52* with the latest version. Only lg_ctl_ uses laste_adjust. */ 15 53 15 54 2 header_extension_mbz1 fixed bin, /* location 100o */ 15 55 2 n_abs (4) fixed bin, /* number of processes from each background queue */ 15 56 2 abs_qres (4) fixed bin, /* number of absentee positions reserved for each queue */ 15 57 2 abs_cpu_limit (4) fixed bin (35), /* current absentee cpu limits */ 15 58 2 abs_control, /* see absentee_user_table */ 15 59 3 mnbz bit (1) unal, /* must not be zero */ 15 60 3 abs_maxu_auto bit (1) unal, /* 1 if automatic */ 15 61 3 abs_maxq_auto bit (1) unal, /* 1 if automatic */ 15 62 3 abs_qres_auto bit (1) unal, /* 1 if automatic */ 15 63 3 abs_cpu_limit_auto bit (1) unal, /* 1 if automatic */ 15 64 3 queue_dropped (-1:4) bit (1) unal, /* 1 if queue dropped */ 15 65 3 abs_up bit (1) unal, /* 1 if absentee facility is running */ 15 66 3 abs_stopped bit (1) unal, /* 1 if absentee facility is stopped */ 15 67 3 control_pad bit (23) unal, 15 68 2 installation_request_channel fixed bin (71), /* IPC channel for install command */ 15 69 2 installation_request_pid bit (36), /* installation process identifier */ 15 70 2 sysid char (32), /* current system name */ 15 71 2 header_extension_pad1 (7) fixed bin, /* pad to size of e element, offset 137o */ 15 72 2 header_extension_mbz2 fixed bin, /* offset 140o */ 15 73 2 message char (124), /* message for all users */ 15 74 2 header_extension_mbz3 fixed bin, /* offset 200o */ 15 75 2 why char (124), /* reason for last shutdown */ 15 76 2 e (1000), /* offset 240o */ 15 77 3 active fixed bin, /* nonzero means logged in */ 15 78 3 person char (28) aligned, /* person name */ 15 79 3 project char (28), /* project id */ 15 80 3 anon fixed bin, /* 1 if anonymous user */ 15 81 3 padding fixed bin (71), 15 82 3 timeon fixed bin (71), /* time of login */ 15 83 3 units fixed bin, /* load units */ 15 84 3 stby fixed bin, /* 1 if stby */ 15 85 3 idcode char (4), /* tty id code */ 15 86 3 chain fixed bin (18) unsigned, /* chain for free list */ 15 87 3 proc_type fixed bin, /* 1 = interactive, 2 = absentee, 3 = daemon */ 15 88 3 group char (8), /* party-line group */ 15 89 3 fg_abs bit (1) unal, /* "1"b if foreground absentee user */ 15 90 3 disconnected bit (1) unaligned, /* "1"b if process is disconnected */ 15 91 3 suspended bit (1) unaligned, /* "1"b if process is suspended */ 15 92 3 pad2 bit (33) unal, 15 93 3 cant_bump_until fixed bin (71), /* protected from primary bump till here */ 15 94 3 process_authorization bit (72); /* access authorization of process */ 15 95 15 96 dcl WHOTAB_VERSION_1 fixed bin init (1) static options (constant); 15 97 15 98 /* END INCLUDE FILE ... whotab.incl.pl1 */ 752 753 754 /* BEGIN MESSAGE DOCUMENTATION 755* 756* Message: 757* operator_process_cmds_: COMMAND: ERROR_TABLE_MESSAGE SYSDIR>answer_table 758* 759* S: $as1 760* 761* T: In response to an operator command, COMMAND. 762* 763* M: The system was unable to access the answer_table in SYSDIR. 764* 765* A: $inform 766* 767* 768* Message: 769* operator_process_cmds_: COMMAND: ERROR_TABLE_MESSAGE SYSDIR>whotab 770* 771* S: $as1 772* 773* T: In response to an operator command, COMMAND. 774* 775* M: The system was unable to access the whotab in SYSDIR. 776* 777* A: $inform 778* 779* 780* Message: 781* operator_process_cmds_: COMMAND: ERROR_TABLE_MESSAGE SYSDIR>installation_parms 782* 783* S: $as1 784* 785* T: In response to an operator command, COMMAND. 786* 787* M: The system was unable to access the installation_parms in SYSDIR. 788* 789* A: $inform 790* 791* 792* Message: 793* operator_process_cmds_: COMMAND: ERROR_TABLE_MESSAGE SYSDIR>cdt 794* 795* S: $as1 796* 797* T: In response to an operator command, COMMAND. 798* 799* M: The system was unable to access the cdt in SYSDIR. 800* 801* A: $inform 802* 803* 804* Message: 805* operator_process_cmds_: COMMAND: ERROR_TABLE_MESSAGE Incorrect number of arguments. 806* 807* S: $as1 808* 809* T: In response to an operator command COMMAND. 810* 811* M: Insufficient number of arguments supplied with the command. 812* 813* A: $tryagain 814* 815* 816* Message: 817* operator_process_cmds_: COMMAND: error: Usage: COMMAND (Person.Project|CHANNEL|mpx MPX|-pid) {TIME MESSAGE} 818* 819* S: $as1 820* 821* T: In response to an operator command COMMAND. 822* 823* M: Insufficient number of arguments supplied with the command. 824* 825* A: $tryagain 826* 827* 828* Message: 829* operator_process_cmds_: COMMAND: ERROR_TABLE_MESSAGE Invalid process id: 830* PROCESS_ID. Use the first 6 or all 12 digits of the pid. 831* 832* S: $as1 833* 834* T: In response to an operator command COMMAND. 835* 836* M: The typed length of the PROCESS_ID was incorrect. 837* 838* A: $tryagain 839* 840* 841* Message: 842* operator_process_cmds_: COMMAND: error: No FNP tag specified 843* 844* S: $as1 845* 846* T: In response to an operator command COMMAND. 847* 848* M: Expected a FNP designator, but none typed following COMMAND. 849* 850* A: $tryagain 851* 852* 853* Message: 854* operator_process_cmds_: COMMAND: error: No multiplexer specified 855* 856* S: $as1 857* 858* T: In response to an operator command COMMAND. 859* 860* M: Expected a multiplexer designator, but none typed following COMMAND. 861* 862* A: $tryagain 863* 864* 865* Message: 866* operator_process_cmds_: COMMAND: error: Invalid FNP tag: FNP 867* 868* S: $as1 869* 870* T: In response to an operator command COMMAND. 871* 872* M: The FNP tag following COMMAND was more than one character in length. 873* FNP specifiers can only be one character long (ie: a, b, c, etc.). 874* 875* A: $tryagain 876* 877* 878* Message: 879* operator_process_cmds_: COMMAND: ERROR_TABLE_MESSAGE Error recieved from AS. 880* 881* S: $as1 882* 883* T: In response to an operator command COMMAND. 884* 885* M: Recieved an error from answering service attempting to remove the 886* terminal user from the system answer table. User's process state will 887* remain unchanged. 888* 889* A: $tryagain 890* 891* 892* Message: 893* operator_process_cmds_: COMMAND: ERROR_TABLE_MESSAGE From hcs_$wakeup for CHANNEL 894* 895* S: $as1 896* 897* T: In response to an operator command COMMAND. 898* 899* M: Recieved an error from answering service when attempting to 900* process the command COMMAND for channel CHANNEL. 901* 902* A: $tryagain 903* 904* 905* Message: 906* operator_process_cmds_: COMMAND: error: Usage: COMMAND (Person.Project|CHANNEL|mpx MPX) {TIME MESSAGE} 907* The "Person Project" format is obsolete. 908* 909* S: $as1 910* 911* T: In response to an operator command COMMAND. 912* 913* M: The character "." was not found on the request line and COMMAND was 914* not followed by a process id. If argument following COMMAND is personid and 915* projectid, the correct syntax is "Person.Project" not "Person Project". 916* 917* A: $tryagain 918* 919* 920* Message: 921* operator_process_cmds_: unbump: error: invalid arguments 922* 923* S: $as1 924* 925* T: $response 926* 927* M: A bad argument has been typed to 928* the unbump command. 929* No action was taken. 930* 931* A: $tryagain 932* 933* 934* Message: 935* operator_process_cmds_: bump: error: invalid arguments 936* 937* S: $as1 938* 939* T: $response 940* 941* M: A bad argument has been typed to 942* the bump command. 943* No action was taken. 944* 945* A: $tryagain 946* 947* Message: 948* operator_process_cmds_: detach: error: invalid arguments 949* 950* S: $as1 951* 952* T: $response 953* 954* M: A bad argument has been typed to 955* the detach command. 956* No action was taken. 957* 958* A: $tryagain 959* 960* 961* Message: 962* operator_process_cmds_: bump: no bump signalled to NAME PROJ 963* 964* S: $as1 965* 966* T: $response 967* 968* M: An operator bump command specified a nonexistent channel 969* name or user name and project. No action was taken on the command. 970* 971* A: Enter a corrected command line. This message may be printed 972* as a result of trying to bump a user by name when he has 973* nobump privilege. Bump him by channel name instead. 974* 975* 976* Message: 977* operator_process_cmds_: unbump: no unbump signalled to NAME PROJ 978* 979* S: $as1 980* 981* T: $response 982* 983* M: An operator unbump command specified a nonexistent channel 984* name or user name and project, or the user specified was not in a bumped 985* state. No action was taken on the command. 986* 987* A: $tryagain 988* 989* 990* Message: 991* operator_process_cmds_: terminate: no terminate signalled to NAME PROJ 992* 993* S: $as1 994* 995* T: $response 996* 997* M: An operator terminate command specified a nonexistent channel 998* name or user name and project. No action was taken on the command. 999* 1000* A: $tryagain 1001* 1002* 1003* Message: 1004* operator_process_cmds_: detach: no detach signalled to NAME PROJ 1005* 1006* S: $as1 1007* 1008* T: $response 1009* 1010* M: An operator detach command specified a nonexistent channel 1011* name or user name and project. No action was taken on the command. 1012* 1013* A: $tryagain 1014* 1015* 1016* Message: 1017* operator_process_cmds_: detach: ERROR_MESSAGE CHANNEL 1018* 1019* S: $as1 1020* 1021* T: $response 1022* 1023* M: The operator has issued a detach CHANNEL command and the error 1024* described by ERROR_MESSAGE occurred during the attempt to detach it. 1025* 1026* A: $tryagain 1027* 1028* 1029* Message: 1030* operator_process_cmds_: detach: CHANNEL is in use by the message coordinator and can not be detached. 1031* 1032* S: $as1 1033* 1034* T: $response 1035* 1036* M: An operator detach command specified a message coordinator channel. 1037* The channel was not detached. 1038* 1039* A: Enter a corrected command line. Use the drop command to 1040* take a channel away from the message coordinator. 1041* 1042* 1043* Message: 1044* operator_process_cmds_: detach: Channel CHANNEL is not currently active and cannot be detached. 1045* 1046* S: $as1 1047* 1048* T: $response 1049* 1050* M: An operator detach command specified a channel that is not attached. 1051* No action was taken. 1052* 1053* A: Enter a corrected command line 1054* 1055* 1056* Message: 1057* operator_process_cmds_: detach: NAME.PROJ detached 1058* 1059* S: $as1 1060* 1061* T: $response 1062* 1063* M: This is the response to an operator detach command. 1064* The user affected is named. 1065* 1066* A: $ignore 1067* 1068* 1069* Message: 1070* operator_process_cmds_: terminate: NAME.PROJ terminated 1071* 1072* S: $as1 1073* 1074* T: $response 1075* 1076* M: This is the response to an operator terminate command. 1077* The user affected is named. 1078* 1079* A: $ignore 1080* 1081* Message: 1082* operator_process_cmds_: bump: NAME.PROJ bumped 1083* 1084* S: $as1 1085* 1086* T: $response 1087* 1088* M: This is the response to an operator bump command. 1089* The user affected is named. 1090* 1091* A: $ignore 1092* 1093* Message: 1094* operator_process_cmds_: disconnect: NAME.PROJ disconnected. 1095* 1096* S: $as1 1097* 1098* T: $response 1099* 1100* M: This is the response to an operator disconnect command. 1101* The user affected is named. 1102* 1103* A: $ignore 1104* 1105* Message: 1106* operator_process_cmds_: unbump: NAME.PROJ unbumped 1107* 1108* S: $as1 1109* 1110* T: $response 1111* 1112* M: This is the response to an operator unbump command. 1113* The user affected is named. 1114* 1115* A: $ignore 1116* 1117* Message: 1118* operator_process_cmds_: bump: NAME.PROJ has "nobump" 1119* 1120* S: $as1 1121* 1122* T: $run 1123* 1124* M: This is the response to the command bump NAME PROJ if 1125* the user has the nobump privilege. The user was not 1126* bumped. 1127* 1128* A: If it is imperative to bump the user, for instance at 1129* system shutdown time, do a who to find out his channel number, 1130* then type "bump CHANNEL". 1131* 1132* END MESSAGE DOCUMENTATION */ 1133 1134 end operator_process_cmds_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 06/07/89 1232.2 operator_process_cmds_.pl1 >spec>install>1053>operator_process_cmds_.pl1 741 1 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 742 2 08/06/87 0913.4 as_data_definitions_.incl.pl1 >ldd>include>as_data_definitions_.incl.pl1 743 3 08/06/87 0913.0 answer_table.incl.pl1 >ldd>include>answer_table.incl.pl1 744 4 09/09/75 2007.3 author_dcl.incl.pl1 >ldd>include>author_dcl.incl.pl1 4-10 5 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 745 6 08/06/87 0913.0 cdt.incl.pl1 >ldd>include>cdt.incl.pl1 6-314 7 07/21/88 2036.0 fnp_types.incl.pl1 >ldd>include>fnp_types.incl.pl1 746 8 08/06/87 0913.4 dialup_values.incl.pl1 >ldd>include>dialup_values.incl.pl1 747 9 08/06/87 0913.5 sc_stat_.incl.pl1 >ldd>include>sc_stat_.incl.pl1 748 10 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 749 11 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 11-112 12 07/14/88 2015.0 user_abs_attributes.incl.pl1 >ldd>include>user_abs_attributes.incl.pl1 750 13 07/14/88 2015.0 user_table_entry.incl.pl1 >ldd>include>user_table_entry.incl.pl1 751 14 08/06/87 0913.6 user_table_header.incl.pl1 >ldd>include>user_table_header.incl.pl1 752 15 01/18/85 0953.2 whotab.incl.pl1 >ldd>include>whotab.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. INACTIVE constant fixed bin(17,0) initial dcl 6-272 ref 722 MC_SERVICE constant fixed bin(17,0) initial dcl 6-259 ref 718 NOW_HAS_PROCESS constant fixed bin(17,0) initial dcl 8-76 ref 714 NOW_LOGGED_IN constant fixed bin(17,0) initial dcl 8-76 ref 551 569 590 P_arg_list_ptr parameter pointer dcl 335 set ref 332 341* 352* P_argno parameter fixed bin(17,0) dcl 336 ref 332 339 SL_LOG 000056 constant fixed bin(17,0) initial dcl 10-14 set ref 718* 722* 732* SL_LOG_BEEP 000052 constant fixed bin(17,0) initial dcl 10-14 set ref 294* 304* 313* 321* SL_TYPE 000000 constant fixed bin(17,0) initial dcl 10-14 set ref 267* 271* 624* 647* 697* 728* UTE_SIZE constant fixed bin(17,0) initial dcl 3-120 ref 550 550 568 568 589 589 action 000100 automatic char(8) dcl 101 set ref 177* 197* 216* 234* 253* 624* 655 663 671 677 684 716 725 action_flag 000464 automatic bit(1) dcl 538 set ref 543* 617 701* 730* action_log 000102 automatic char(12) dcl 102 set ref 178* 198* 217* 235* 254* 697* 728* active based fixed bin(17,0) level 2 dcl 13-78 ref 551 569 590 addr builtin function dcl 135 ref 550 568 589 602 725 ansp 000414 automatic pointer initial dcl 3-53 set ref 3-53* 299* 548 550 566 568 587 589 anstbl based structure level 1 dcl 3-55 answer 000105 automatic char(256) initial packed unaligned dcl 103 set ref 103* 267* 271* 340* 388* 433* 439* 511* 513* 521* 643* arg based char packed unaligned dcl 131 ref 347 357 394 396 397 397 402 405 405 407 408 415 415 423 433 451 452 457 460 462 481 517 arg_count 000205 automatic fixed bin(17,0) dcl 104 set ref 326* arg_index 000206 automatic fixed bin(17,0) dcl 105 set ref 445* 469* 477* 486* 486 492* 496* arg_length 000207 automatic fixed bin(21,0) dcl 106 set ref 341* 347 348 352* 357 358 385* 394 396 397 397 397 402 405 405 407 408 415 415 417* 421 421 423 428 433 451 452 457 460 462 477* 481 492* 509* 517 arg_list_ptr 000210 automatic pointer dcl 107 in procedure "operator_process_cmds_" set ref 174* 175* 181* 195* 201* 214* 220* 232* 238* 251* 257* 326* 509* arg_list_ptr parameter pointer dcl 371 in procedure "process_bump_args" set ref 366 385* 417* 477* 492* 496* arg_ptr 000212 automatic pointer dcl 108 set ref 341* 347 352* 357 385* 394 396 397 397 402 405 405 407 408 415 415 417* 423 433 451 452 457 460 462 477* 481 492* 509* 517 argno parameter fixed bin(17,0) dcl 507 in procedure "get_mpx_name" set ref 504 509* argno 000436 automatic fixed bin(17,0) dcl 337 in procedure "build_string" set ref 339* 341* 350* 350 352* as_data_$ansp 000056 external static pointer dcl 1-26 set ref 287 289* 292 299 as_data_$as_procid 000060 external static bit(36) dcl 1-27 set ref 291* 291 725 725 as_data_$cdtp 000062 external static pointer dcl 1-33 ref 318 318 320 320 321 321 601 601 602 602 as_data_$rs_ptrs 000064 external static pointer array dcl 1-49 ref 309 309 311 311 313 313 as_data_$sysdir 000066 external static char(168) packed unaligned dcl 1-54 set ref 284* 289 289 294 294 303 303 304 304 311 311 313 313 320 320 321 321 as_data_$whoptr 000070 external static pointer dcl 1-60 ref 301 301 303 303 304 304 as_procid defined bit(36) dcl 2-17 set ref 291* 725* asu_$blast_user 000010 constant entry external dcl 140 ref 650 asu_$bump_user 000012 constant entry external dcl 141 ref 686 asu_$detach_user 000020 constant entry external dcl 144 ref 679 asu_$disconnect_user 000022 constant entry external dcl 145 ref 659 asu_$terminate_user 000016 constant entry external dcl 143 ref 673 asu_$unbump_user 000014 constant entry external dcl 142 ref 667 at 100 based structure level 2 dcl 13-78 author based structure level 2 dcl 4-9 author_dcl based structure level 1 dcl 4-9 bin_action based fixed bin(71,0) dcl 539 set ref 725* bin_pid 000214 automatic fixed bin(35,0) dcl 109 set ref 423* 428 430 bump_by_chn_id 000215 automatic bit(1) packed unaligned dcl 110 set ref 381* 466* 556* 619 bump_by_dsa 000216 automatic bit(1) packed unaligned dcl 111 set ref 381* 464* 556* 566 619 bump_by_mpx 000217 automatic bit(1) packed unaligned dcl 112 set ref 381* 410* 603 624 bump_by_name 000220 automatic bit(1) packed unaligned dcl 113 set ref 383* 446* 456* 548 619 621* 624 644 647* 697* bump_by_pid 000221 automatic bit(1) packed unaligned dcl 114 set ref 381* 426* 587 624* 697* cdt based structure level 1 dcl 6-44 cdt_entry 1520 based structure array level 2 dcl 6-44 set ref 602 cdte based structure level 1 dcl 6-72 cdtep 000416 automatic pointer dcl 6-41 set ref 544* 602* 605 609 687 694 695 713 714 718 718 722 725 728 732 chan_name 000502 automatic char(32) packed unaligned dcl 641 set ref 694* 695* 697* channel 341 based pointer level 2 packed packed unaligned dcl 13-78 ref 655 channel_threads based structure level 1 dcl 6-249 code 000222 automatic fixed bin(35,0) dcl 115 set ref 267* 289* 294* 303* 304* 311* 313* 320* 321* 341* 344 352* 355 385* 387 417* 419 423* 424 477* 479 481* 483 492* 496 509* 510 545* 573* 574 605* 606 659* 660 667* 668 673* 674 679* 680 686* 687 687* 688 725* 726 732* comname 000223 automatic varying char(48) dcl 116 set ref 179* 199* 218* 236* 255* 267* 271* 294* 304* 313* 321* 388* 439* 624* 647* 697* 728* 732* continue 000465 automatic bit(1) packed unaligned dcl 540 set ref 546* 548 558* 566 581* 587 595* 601 612* cu_$arg_count_rel 000024 constant entry external dcl 146 ref 326 cu_$arg_list_ptr 000026 constant entry external dcl 147 ref 174 195 214 232 251 cu_$arg_ptr_rel 000030 constant entry external dcl 148 ref 341 352 385 417 477 492 509 current_service_type 74 based fixed bin(17,0) level 2 packed packed unaligned dcl 6-72 ref 718 722 current_size 5 based fixed bin(17,0) level 3 in structure "anstbl" dcl 3-55 in procedure "operator_process_cmds_" ref 548 566 587 current_size 36 based fixed bin(17,0) level 2 in structure "cdt" dcl 6-44 in procedure "operator_process_cmds_" ref 601 cv_dec_check_ 000032 constant entry external dcl 150 ref 481 cv_oct_check_ 000034 constant entry external dcl 152 ref 423 disconnected 431(13) based bit(1) level 3 packed packed unaligned dcl 13-78 ref 650 dot_index 000447 automatic fixed bin(17,0) dcl 377 set ref 402* 404 451 452 entry 200 based structure array level 2 dcl 3-55 set ref 550 568 589 error_table_$action_not_performed 000054 external static fixed bin(35,0) dcl 165 ref 687 event 72 based fixed bin(71,0) level 2 dcl 6-72 set ref 725* fnp_only 000240 automatic bit(1) packed unaligned dcl 117 set ref 407* 511 518 fnpe based structure level 1 dcl 6-200 get_process_id_ 000036 constant entry external dcl 154 ref 291 grace_flag parameter bit(1) dcl 372 ref 366 475 grace_period 000412 automatic fixed bin(17,0) dcl 127 set ref 472* 485* 686* hcs_$initiate 000040 constant entry external dcl 155 ref 289 303 311 320 hcs_$wakeup 000042 constant entry external dcl 157 ref 725 header based structure level 2 dcl 3-55 i 000466 automatic fixed bin(17,0) dcl 541 in procedure "bump_procedure" set ref 548* 550* 566* 568* 587* 589* 601* 602* i 000446 automatic fixed bin(17,0) dcl 376 in procedure "process_bump_args" set ref 481* 485 in_use based fixed bin(17,0) level 2 dcl 6-72 ref 714 index builtin function dcl 135 ref 397 402 454 526 571 input_channel 000241 automatic char(32) packed unaligned dcl 118 set ref 412* 457* 462* 571 573* 578 609 624* input_person_id 000251 automatic char(28) packed unaligned dcl 119 set ref 396* 408* 451* 464 553 553 558 624* input_pid 000260 automatic bit(36) packed unaligned dcl 120 set ref 427* 428* 430* 592 624* input_project_id 000261 automatic char(28) packed unaligned dcl 121 set ref 397* 411* 452* 454 553 553 558 624* ioa_$rsnnl 000044 constant entry external dcl 158 ref 388 439 ip defined pointer dcl 2-21 set ref 309 311* 313 length builtin function dcl 135 ref 359 519 match_star_name_ 000046 constant entry external dcl 159 ref 573 605 mpx_name 000371 automatic char(32) packed unaligned dcl 124 set ref 411 413 517* 519 521 526 mpx_starname 000401 automatic char(32) packed unaligned dcl 125 set ref 413* 605* mpxe based structure level 1 dcl 6-221 msg_string 000270 automatic char(256) packed unaligned dcl 122 set ref 347* 357* 359 473* 650 686* msg_string_len 000370 automatic fixed bin(17,0) dcl 123 set ref 348* 357 358* 358 359 name 2 based char(32) level 2 dcl 6-72 set ref 605 609 695 718* 728* 732* nobump 100(02) based bit(1) level 3 packed packed unaligned dcl 13-78 ref 644 null builtin function dcl 135 ref 3-53 13-76 287 292 301 304 309 313 318 321 544 655 687 694 person 4 based char(24) level 2 packed packed unaligned dcl 13-78 set ref 553 647* 697* preempted 420 based fixed bin(17,0) level 2 dcl 13-78 ref 663 proc_id 276 based bit(36) level 2 dcl 13-78 set ref 592 647* 697* process 111 based pointer level 2 packed packed unaligned dcl 6-72 ref 713 project 12 based char(12) level 2 packed packed unaligned dcl 13-78 set ref 553 647* 697* respect_nobump 000411 automatic bit(1) packed unaligned dcl 126 set ref 183* 203* 222* 240* 259* 644 rtrim builtin function dcl 135 ref 411 413 519 sc_stat_$Multics_typed 000074 external static bit(1) dcl 9-62 ref 284 sc_stat_$sysdir 000072 external static char(168) packed unaligned dcl 9-21 ref 284 scdtp defined pointer dcl 2-27 set ref 318 320* 321 601 602 substr builtin function dcl 135 set ref 357* 394 396 397 430* 430 451 452 526 592 592 sys_log_$command 000050 constant entry external dcl 160 ref 271 624 647 697 718 722 728 sys_log_$command_error 000052 constant entry external dcl 161 ref 267 294 304 313 321 732 sysdir defined char(168) packed unaligned dcl 2-28 set ref 289* 294* 303* 304* 311* 313* 320* 321* tty_name 316 based char(32) level 2 packed packed unaligned dcl 13-78 ref 573 578 694 uflags 431 based structure level 2 dcl 13-78 unspec builtin function dcl 135 ref 428 430 user_abs_attributes based structure level 1 dcl 12-25 user_attributes based structure level 1 dcl 11-21 ut_header based structure level 1 dcl 14-16 ute based structure level 1 dcl 13-78 utep 000420 automatic pointer initial dcl 13-76 set ref 13-76* 550* 551 553 553 568* 569 573 578 589* 590 592 644 647 647 647 650 650* 655 659* 663 667* 673* 679* 686* 694 697 697 697 713* whoptr defined pointer dcl 2-29 set ref 301 303* 304 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 12-38 ABS_FLAG_NAMES internal static varying char(8) initial array dcl 13-326 ACTIVE internal static fixed bin(17,0) initial dcl 6-272 ACTIVE_VALUES internal static char(18) initial array dcl 8-86 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 11-77 ANSTBL_version_4 internal static fixed bin(17,0) initial dcl 3-51 ANS_SERVICE internal static fixed bin(17,0) initial dcl 6-259 AT_NORMAL internal static char(8) initial packed unaligned dcl 3-116 AT_SHUTDOWN internal static char(8) initial packed unaligned dcl 3-116 AT_SPECIAL internal static char(8) initial packed unaligned dcl 3-116 CDT_version internal static fixed bin(17,0) initial dcl 6-39 CDT_version_5 internal static fixed bin(17,0) initial dcl 6-38 CHANNEL_DELETED internal static fixed bin(17,0) initial dcl 6-288 DERIVE_MASK internal static bit(2) initial packed unaligned dcl 13-280 DIAL_OUT_SERVICE internal static fixed bin(17,0) initial dcl 6-259 DIAL_SERVER_FLAG_NAMES internal static varying char(12) initial array dcl 13-332 DIAL_SERVICE internal static fixed bin(17,0) initial dcl 6-259 DN355 internal static fixed bin(17,0) initial dcl 7-19 DN6600 internal static fixed bin(17,0) initial dcl 7-19 DN6670 internal static fixed bin(17,0) initial dcl 7-19 DN7100 internal static fixed bin(17,0) initial dcl 7-19 DONT_MASK internal static bit(2) initial packed unaligned dcl 13-280 DO_MASK internal static bit(2) initial packed unaligned dcl 13-280 FNP_BOOT internal static fixed bin(17,0) initial dcl 6-298 FNP_DOWN internal static fixed bin(17,0) initial dcl 6-298 FNP_FREE internal static fixed bin(17,0) initial dcl 6-298 FNP_UNKNOWN internal static fixed bin(17,0) initial dcl 6-298 FNP_UP internal static fixed bin(17,0) initial dcl 6-298 FTP_SERVICE internal static fixed bin(17,0) initial dcl 6-259 LOGIN_RESULT_VALUES internal static varying char(24) initial array dcl 13-338 MASK_CTL_NAMES internal static varying char(12) initial array dcl 13-284 MPX_BOOT internal static fixed bin(17,0) initial dcl 6-306 MPX_DOWN internal static fixed bin(17,0) initial dcl 6-306 MPX_FREE internal static fixed bin(17,0) initial dcl 6-306 MPX_SERVICE internal static fixed bin(17,0) initial dcl 6-259 MPX_UNKNOWN internal static fixed bin(17,0) initial dcl 6-306 MPX_UP internal static fixed bin(17,0) initial dcl 6-306 NOT_CONFIGURED internal static fixed bin(17,0) initial dcl 6-280 NOW_DIALED internal static fixed bin(17,0) initial dcl 8-76 NOW_DIALED_OUT internal static fixed bin(17,0) initial dcl 8-76 NOW_DIALING internal static fixed bin(17,0) initial dcl 8-76 NOW_FREE internal static fixed bin(17,0) initial dcl 8-76 NOW_HUNG_UP internal static fixed bin(17,0) initial dcl 8-76 NOW_LISTENING internal static fixed bin(17,0) initial dcl 8-76 PREEMPT_BUMPED internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_BUMPED_NO_TERM internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_LOAD_CTL internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_TERMSGNL_RECEIVED internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_TERM_SENT internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_UNBUMP internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_UNBUMP_IGNORE_ALARM internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_VALUES internal static varying char(28) initial array dcl 8-142 PROCESS_TYPE_NAMES internal static varying char(12) initial array dcl 13-265 PT_ABSENTEE internal static fixed bin(17,0) initial dcl 13-261 PT_ALARM internal static fixed bin(17,0) initial dcl 8-106 PT_BUMP internal static fixed bin(17,0) initial dcl 8-106 PT_DAEMON internal static fixed bin(17,0) initial dcl 13-261 PT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 8-106 PT_DETACH internal static fixed bin(17,0) initial dcl 8-106 PT_FPE internal static fixed bin(17,0) initial dcl 8-106 PT_HANGUP internal static fixed bin(17,0) initial dcl 8-106 PT_INTERACTIVE internal static fixed bin(17,0) initial dcl 13-261 PT_LOGOUT internal static fixed bin(17,0) initial dcl 8-106 PT_NEW_PROC_AUTH internal static fixed bin(17,0) initial dcl 8-106 PT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 8-106 PT_OPERATOR_TERMINATE internal static fixed bin(17,0) initial dcl 8-106 PT_SHUTDOWN internal static fixed bin(17,0) initial dcl 8-106 PT_UNBUMP internal static fixed bin(17,0) initial dcl 8-106 PW_FLAG_NAMES internal static varying char(12) initial array dcl 13-290 SLAVE_SERVICE internal static fixed bin(17,0) initial dcl 6-259 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 10-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 10-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 10-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 10-65 SL_INFO_version_1 internal static char(8) initial packed unaligned dcl 10-62 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 10-14 SL_LOG_SILENT internal static fixed bin(17,0) initial dcl 10-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 10-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 10-14 STATE_VALUES internal static char(15) initial array dcl 8-70 TABLE_NAMES internal static char(20) initial array packed unaligned dcl 13-271 TAG_ABSENTEE internal static char(1) initial packed unaligned dcl 8-93 TAG_DAEMON internal static char(1) initial packed unaligned dcl 8-93 TAG_INTERACTIVE internal static char(1) initial packed unaligned dcl 8-93 TAG_PROXY internal static char(1) initial packed unaligned dcl 8-93 TAG_UFT internal static char(1) initial packed unaligned dcl 8-93 TANDD_SERVICE internal static fixed bin(17,0) initial dcl 6-259 TRA_VEC_VALUES internal static char(32) initial array dcl 8-54 TTY_DIALED internal static fixed bin(17,0) initial dcl 8-64 TTY_HUNG internal static fixed bin(17,0) initial dcl 8-64 TTY_KNOWN internal static fixed bin(17,0) initial dcl 8-64 TTY_MASKED internal static fixed bin(17,0) initial dcl 8-64 UFLAG_NAMES internal static varying char(24) initial array dcl 13-303 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 11-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 11-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 11-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 11-50 UTE_version_4 internal static fixed bin(17,0) initial dcl 13-74 WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 8-25 WAIT_BEFORE_HANGUP internal static fixed bin(17,0) initial dcl 8-25 WAIT_CONNECT_REQUEST internal static fixed bin(17,0) initial dcl 8-25 WAIT_DELETE_CHANNEL internal static fixed bin(17,0) initial dcl 8-25 WAIT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 8-25 WAIT_DETACH internal static fixed bin(17,0) initial dcl 8-25 WAIT_DIALUP internal static fixed bin(17,0) initial dcl 8-25 WAIT_DIAL_OUT internal static fixed bin(17,0) initial dcl 8-25 WAIT_DIAL_RELEASE internal static fixed bin(17,0) initial dcl 8-25 WAIT_DISCARD_WAKEUPS internal static fixed bin(17,0) initial dcl 8-25 WAIT_FIN_PRIV_ATTACH internal static fixed bin(17,0) initial dcl 8-25 WAIT_FIN_TANDD_ATTACH internal static fixed bin(17,0) initial dcl 8-25 WAIT_GREETING_MSG internal static fixed bin(17,0) initial dcl 8-25 WAIT_HANGUP internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGIN_ARGS internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGIN_LINE internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGOUT internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGOUT_HOLD internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGOUT_SIG internal static fixed bin(17,0) initial dcl 8-25 WAIT_NEW_PASSWORD internal static fixed bin(17,0) initial dcl 8-25 WAIT_NEW_PROC internal static fixed bin(17,0) initial dcl 8-25 WAIT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 8-25 WAIT_OLD_PASSWORD internal static fixed bin(17,0) initial dcl 8-25 WAIT_PASSWORD internal static fixed bin(17,0) initial dcl 8-25 WAIT_REMOVE internal static fixed bin(17,0) initial dcl 8-25 WAIT_SLAVE_REQUEST internal static fixed bin(17,0) initial dcl 8-25 WAIT_TANDD_HANGUP internal static fixed bin(17,0) initial dcl 8-25 WHOTAB_VERSION_1 internal static fixed bin(17,0) initial dcl 15-96 as_data_$BS external static char(1) dcl 1-21 as_data_$CR external static char(1) dcl 1-22 as_data_$abs_dim external static char(32) packed unaligned dcl 1-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 1-24 as_data_$acsdir external static char(168) packed unaligned dcl 1-25 as_data_$as_ring external static fixed bin(3,0) dcl 1-28 as_data_$as_tty automatic char(6) packed unaligned dcl 1-29 as_data_$asmtp external static pointer dcl 1-30 as_data_$autp external static pointer dcl 1-31 as_data_$buzzardp external static pointer dcl 1-32 as_data_$debug_flag external static bit(1) dcl 1-84 as_data_$default_weight external static fixed bin(35,0) dcl 1-34 as_data_$devtabp external static pointer dcl 1-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 1-36 as_data_$dutp external static pointer dcl 1-37 as_data_$g115_dim external static char(32) packed unaligned dcl 1-38 as_data_$lct_initialized external static bit(1) dcl 1-39 as_data_$lct_size external static fixed bin(17,0) dcl 1-40 as_data_$login_args external static structure level 1 dcl 1-62 as_data_$login_words external static fixed bin(17,0) dcl 1-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 1-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 1-87 as_data_$ls_message_buffer_ptr external static pointer dcl 1-88 as_data_$ls_request_server_info_ptr external static pointer dcl 1-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 1-41 as_data_$mgtp external static pointer dcl 1-42 as_data_$mrd_dim external static char(32) packed unaligned dcl 1-43 as_data_$ntty_dim external static char(32) packed unaligned dcl 1-44 as_data_$pdtdir external static char(168) packed unaligned dcl 1-45 as_data_$pit_ptr external static pointer dcl 1-46 as_data_$rcpdir external static char(168) packed unaligned dcl 1-47 as_data_$request_priority external static fixed bin(17,0) dcl 1-48 as_data_$rtdtp external static pointer dcl 1-50 as_data_$sat_htp external static pointer dcl 1-51 as_data_$satp external static pointer dcl 1-52 as_data_$signal_types external static structure level 1 dcl 1-67 as_data_$suffix external static char(2) array packed unaligned dcl 1-53 as_data_$system_signal_types external static structure level 1 dcl 1-72 as_data_$teens_suffix external static char(2) array packed unaligned dcl 1-55 as_data_$terminet_tabs_string external static varying char(144) dcl 1-56 as_data_$tty_dim external static char(32) packed unaligned dcl 1-57 as_data_$update_priority external static fixed bin(17,0) dcl 1-58 as_data_$version external static char(8) packed unaligned dcl 1-59 as_data_login_words based structure level 1 dcl 1-77 as_tty based char(6) packed unaligned dcl 2-18 asmtp defined pointer dcl 2-19 cdtp automatic pointer dcl 6-41 devtabp defined pointer dcl 2-20 fnp_models internal static fixed bin(17,0) initial array dcl 7-28 fnp_types internal static char(8) initial array packed unaligned dcl 7-25 fnpep automatic pointer dcl 6-41 generic_destination based char(32) packed unaligned dcl 6-195 mgtp defined pointer dcl 2-22 mpxep automatic pointer dcl 6-41 pdtdir based char(168) packed unaligned dcl 2-23 rs_ptrs based pointer array dcl 2-24 sat_htp defined pointer dcl 2-25 satp defined pointer dcl 2-26 sc_stat_$Go external static bit(1) dcl 9-62 sc_stat_$Go_typed external static bit(1) dcl 9-62 sc_stat_$Multics external static bit(1) dcl 9-62 sc_stat_$Star_typed external static bit(1) dcl 9-62 sc_stat_$admin_listener_exit_label external static label variable dcl 9-34 sc_stat_$admin_listener_switch external static bit(1) dcl 9-62 sc_stat_$admin_log_iocb external static pointer dcl 9-45 sc_stat_$admin_log_write_ptr external static pointer dcl 9-45 sc_stat_$admin_sci_ptr external static pointer dcl 9-45 sc_stat_$as_log_write_ptr external static pointer dcl 9-45 sc_stat_$did_part1 external static bit(1) dcl 9-62 sc_stat_$did_part2 external static bit(1) dcl 9-62 sc_stat_$did_part3 external static bit(1) dcl 9-62 sc_stat_$exec_access_name external static char(32) packed unaligned dcl 9-15 sc_stat_$info_dir external static char(168) packed unaligned dcl 9-21 sc_stat_$initzer_ttyp external static pointer dcl 9-45 sc_stat_$log_dir external static char(168) packed unaligned dcl 9-21 sc_stat_$master_abort_label external static label variable dcl 9-34 sc_stat_$master_channel external static char(6) dcl 9-29 sc_stat_$master_iocb external static pointer dcl 9-45 sc_stat_$master_sci_ptr external static pointer dcl 9-45 sc_stat_$mc_acs_dir external static char(168) packed unaligned dcl 9-21 sc_stat_$mc_ansp external static pointer dcl 9-45 sc_stat_$mc_iocb external static pointer dcl 9-45 sc_stat_$mc_is_on external static bit(1) dcl 9-62 sc_stat_$no_operator_login external static bit(1) dcl 9-62 sc_stat_$shutdown_typed external static bit(1) dcl 9-62 sc_stat_$sv1_iocb external static pointer dcl 9-45 sc_stat_$sv2_iocb external static pointer dcl 9-45 sc_stat_$sv3_iocb external static pointer dcl 9-45 sc_stat_$system_shutdown_label external static label variable dcl 9-34 sc_stat_$test_mode external static bit(1) dcl 9-62 sc_stat_$unidentified_access_name external static char(32) packed unaligned dcl 9-15 sc_stat_$vchn_requires_accept external static bit(1) dcl 9-62 sl_info automatic structure level 1 dcl 10-24 sl_info_code_msg internal static structure level 1 dcl 10-187 sl_info_msg internal static structure level 1 dcl 10-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 10-161 sl_info_sev_code_msg internal static structure level 1 dcl 10-82 sl_info_sev_coded_msg internal static structure level 1 dcl 10-134 sl_info_sev_msg internal static structure level 1 dcl 10-108 supported_fnp internal static bit(1) initial array packed unaligned dcl 7-31 whotab based structure level 1 dcl 15-10 NAMES DECLARED BY EXPLICIT CONTEXT. ANSWER_RETURN 001041 constant label dcl 271 ref 391 442 514 523 BUMP_ETC_USAGE 001766 constant label dcl 388 ref 397 419 ERROR_RETURN 001013 constant label dcl 267 ref 344 434 660 668 674 680 688 PID_ERR 002262 constant label dcl 433 ref 421 PROCESS_CDTE 003703 constant entry internal dcl 707 ref 606 611 PROCESS_UTE 003303 constant entry internal dcl 632 ref 557 574 580 594 714 RETURN 001075 constant label dcl 275 ref 186 206 226 243 262 269 273 296 TRY_AGAIN 002670 constant label dcl 546 ref 622 bad_mpx_fnp_name 002634 constant label dcl 521 ref 526 build 001657 constant label dcl 350 ref 362 build_string 001617 constant entry internal dcl 332 ref 496 bump 000654 constant entry external dcl 209 bump_procedure 002663 constant entry internal dcl 535 ref 184 204 224 241 260 detach 000552 constant entry external dcl 169 disconnect 000753 constant entry external dcl 245 general_setup 001076 constant entry internal dcl 281 ref 379 get_mpx_name 002555 constant entry internal dcl 504 ref 409 operator_process_cmds_ 000542 constant entry external dcl 46 process_bump_args 001731 constant entry internal dcl 366 ref 175 181 201 220 238 257 terminate 000615 constant entry external dcl 189 unbump 000714 constant entry external dcl 228 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4510 4606 4135 4520 Length 5364 4135 76 542 353 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME operator_process_cmds_ 758 external procedure is an external procedure. general_setup internal procedure shares stack frame of external procedure operator_process_cmds_. build_string internal procedure shares stack frame of external procedure operator_process_cmds_. process_bump_args internal procedure shares stack frame of external procedure operator_process_cmds_. get_mpx_name internal procedure shares stack frame of external procedure operator_process_cmds_. bump_procedure internal procedure shares stack frame of external procedure operator_process_cmds_. PROCESS_UTE internal procedure shares stack frame of external procedure operator_process_cmds_. PROCESS_CDTE internal procedure shares stack frame of external procedure operator_process_cmds_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME operator_process_cmds_ 000100 action operator_process_cmds_ 000102 action_log operator_process_cmds_ 000105 answer operator_process_cmds_ 000205 arg_count operator_process_cmds_ 000206 arg_index operator_process_cmds_ 000207 arg_length operator_process_cmds_ 000210 arg_list_ptr operator_process_cmds_ 000212 arg_ptr operator_process_cmds_ 000214 bin_pid operator_process_cmds_ 000215 bump_by_chn_id operator_process_cmds_ 000216 bump_by_dsa operator_process_cmds_ 000217 bump_by_mpx operator_process_cmds_ 000220 bump_by_name operator_process_cmds_ 000221 bump_by_pid operator_process_cmds_ 000222 code operator_process_cmds_ 000223 comname operator_process_cmds_ 000240 fnp_only operator_process_cmds_ 000241 input_channel operator_process_cmds_ 000251 input_person_id operator_process_cmds_ 000260 input_pid operator_process_cmds_ 000261 input_project_id operator_process_cmds_ 000270 msg_string operator_process_cmds_ 000370 msg_string_len operator_process_cmds_ 000371 mpx_name operator_process_cmds_ 000401 mpx_starname operator_process_cmds_ 000411 respect_nobump operator_process_cmds_ 000412 grace_period operator_process_cmds_ 000414 ansp operator_process_cmds_ 000416 cdtep operator_process_cmds_ 000420 utep operator_process_cmds_ 000436 argno build_string 000446 i process_bump_args 000447 dot_index process_bump_args 000464 action_flag bump_procedure 000465 continue bump_procedure 000466 i bump_procedure 000502 chan_name PROCESS_UTE THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. asu_$blast_user asu_$bump_user asu_$detach_user asu_$disconnect_user asu_$terminate_user asu_$unbump_user cu_$arg_count_rel cu_$arg_list_ptr cu_$arg_ptr_rel cv_dec_check_ cv_oct_check_ get_process_id_ hcs_$initiate hcs_$wakeup ioa_$rsnnl match_star_name_ sys_log_$command sys_log_$command_error THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$ansp as_data_$as_procid as_data_$cdtp as_data_$rs_ptrs as_data_$sysdir as_data_$whoptr error_table_$action_not_performed sc_stat_$Multics_typed sc_stat_$sysdir LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 103 000531 3 53 000534 13 76 000536 46 000541 169 000550 174 000560 175 000567 177 000573 178 000575 179 000600 181 000605 183 000611 184 000612 186 000613 189 000614 195 000623 197 000632 198 000634 199 000637 201 000644 203 000650 204 000651 206 000652 209 000653 214 000662 216 000671 217 000673 218 000676 220 000703 222 000707 224 000711 226 000712 228 000713 232 000722 234 000731 235 000733 236 000736 238 000743 240 000747 241 000750 243 000751 245 000752 251 000761 253 000770 254 000772 255 000777 257 001004 259 001010 260 001011 262 001012 267 001013 269 001040 271 001041 273 001074 275 001075 281 001076 284 001077 287 001107 289 001113 291 001161 292 001173 294 001177 296 001235 299 001236 301 001241 303 001245 304 001311 309 001353 311 001360 313 001426 318 001471 320 001476 321 001543 326 001602 328 001616 332 001617 339 001621 340 001623 341 001626 344 001646 347 001650 348 001655 350 001657 352 001660 355 001700 357 001703 358 001721 359 001725 362 001730 366 001731 379 001733 381 001734 383 001740 385 001742 387 001764 388 001766 391 002017 394 002020 396 002025 397 002030 402 002052 404 002064 405 002065 407 002075 408 002102 409 002106 410 002112 411 002114 412 002130 413 002133 414 002150 415 002152 417 002162 419 002204 421 002206 423 002213 424 002242 426 002245 427 002247 428 002250 430 002256 431 002261 433 002262 434 002311 436 002313 439 002314 442 002345 445 002346 446 002350 448 002352 451 002353 452 002357 454 002365 456 002376 457 002400 460 002404 462 002411 464 002414 466 002423 469 002425 472 002427 473 002430 475 002433 477 002437 479 002456 481 002460 483 002512 485 002515 486 002520 492 002521 496 002541 499 002554 504 002555 509 002557 510 002576 511 002600 513 002606 514 002611 517 002612 518 002617 519 002621 521 002634 523 002647 526 002651 530 002662 535 002663 543 002664 544 002665 545 002667 546 002670 548 002672 550 002707 551 002714 553 002717 556 002737 557 002741 558 002742 563 002753 566 002756 568 002773 569 003000 571 003003 573 003014 574 003040 576 003043 578 003044 580 003050 581 003051 585 003052 587 003055 589 003073 590 003100 592 003103 594 003112 595 003113 598 003114 601 003117 602 003133 603 003141 605 003143 606 003166 608 003171 609 003172 611 003176 612 003177 614 003200 617 003202 619 003205 621 003214 622 003216 624 003217 629 003302 632 003303 643 003304 644 003307 647 003320 650 003364 652 003424 655 003425 659 003436 660 003447 661 003451 663 003452 667 003462 668 003473 669 003475 671 003476 673 003501 674 003512 675 003514 677 003515 679 003521 680 003532 681 003534 684 003535 686 003542 687 003567 688 003601 694 003603 695 003614 697 003620 701 003700 702 003702 707 003703 713 003704 714 003707 716 003714 718 003720 722 003753 725 003776 726 004013 728 004015 730 004053 731 004055 732 004056 735 004116 ----------------------------------------------------------- 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