COMPILATION LISTING OF SEGMENT login_server_overseer_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1038.7 mst Wed Options: optimize map 1 /****^ ******************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* ******************************************** */ 6 7 /****^ HISTORY COMMENTS: 8* 1) change(85-03-01,Coren), approve(87-06-25,MCR7679), audit(87-02-26,GDixon), 9* install(87-08-04,MR12.1-1055): 10* Initial coding. 11* 2) change(87-02-26,GDixon), approve(87-06-25,MCR7679), 12* audit(87-05-19,Parisek), install(87-08-04,MR12.1-1055): 13* A) Changed a_initial_command to varying char string parm (dsa 153). 14* B) Changed test entrypoint to allow caller to supply test info seg dir. 15* C) Changed ls_ssu_info to be an internal static structure. If quit is 16* done without stopping all endpoints, entering login_server later in 17* same process will still know about the ongoing endpoints. (dsa 104) 18* 3) change(87-05-08,GDixon), approve(87-06-25,MCR7679), 19* audit(87-05-19,Parisek), install(87-08-04,MR12.1-1055): 20* Use ssu_request_tables_$standard_requests rather than allowing a limited 21* subset of standard requests in our own request table. 22* 4) change(87-06-25,GDixon), approve(87-06-25,MCR7679), 23* audit(87-07-07,Parisek), install(87-08-04,MR12.1-1055): 24* Add -probe control arg to $test entrypoint. 25* 5) change(87-07-06,GDixon), approve(87-07-06,MCR7679), 26* audit(87-07-07,Parisek), install(87-08-04,MR12.1-1055): 27* A) Correct problems in code which invokes start_up.ec when not in test 28* mode. 29* B) Set ssu_ to use exec_com search list to find login server ec's. 30* END HISTORY COMMENTS */ 31 32 /* format: style4,delnl,insnl,^ifthendo */ 33 34 login_server_overseer_: 35 procedure (a_pit_ptr, a_call_listen, a_initial_command); 36 37 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 38 /* */ 39 /* This is the process overseer for a login server daemon. Basically all it */ 40 /* does is establish default handlers and set up an ssu_ invocation to */ 41 /* process requests. */ 42 /* */ 43 /* The "test" entry is used to run the login server code in test mode in an */ 44 /* interactive process. */ 45 /* */ 46 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 47 48 dcl a_pit_ptr pointer parameter; 49 dcl a_call_listen bit (1) parameter; 50 dcl a_initial_command char (*) varying parameter; 51 52 53 /* AUTOMATIC */ 54 55 dcl arg char (argl) based (argp); 56 dcl argl fixed bin (21); 57 dcl argp pointer; 58 dcl argx fixed bin; 59 dcl bc fixed bin (24); 60 dcl call_probe_mode bit (1); 61 dcl code fixed bin (35); 62 dcl debug_mode bit (1); 63 dcl entry_type fixed bin (2); 64 dcl first_process bit (1); 65 dcl info_dir_name char (168); 66 dcl initial_command_line char (200); 67 dcl login_server_info_dir char (168); 68 dcl nargs fixed bin; 69 dcl pathx fixed bin; 70 dcl ready_to_listen bit (1); 71 dcl sci_ptr pointer; 72 dcl start_up_dir char (168); 73 dcl system_dir_name char (168); 74 75 /* AUTOMATIC STRUCTURES */ 76 77 dcl 1 logout_msg aligned, /* for passing to terminate_process_ */ 78 2 version fixed bin, 79 2 flags unaligned, 80 3 hold bit (1), 81 3 brief bit (1), 82 3 mbz bit (34); 83 84 /* ENTRIES */ 85 86 dcl absolute_pathname_ entry (char (*), char (*), fixed bin (35)); 87 dcl com_err_ entry () options (variable); 88 dcl condition_interpreter_ entry (ptr, ptr, fixed bin, fixed bin, ptr, char (*), ptr, ptr); 89 dcl continue_to_signal_ entry (fixed bin (35)); 90 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 91 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 92 dcl cu_$cp entry (ptr, fixed bin (21), fixed bin (35)); 93 dcl find_condition_info_ entry (ptr, ptr, fixed bin (35)); 94 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 95 dcl hcs_$status_minf entry (char (*), char (*), fixed bin (1), fixed bin (2), fixed bin (24), fixed bin (35)); 96 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 97 dcl ioa_$ioa_switch entry () options (variable); 98 dcl ioa_$rsnpnnl entry () options (variable); 99 dcl iox_$get_line entry (ptr, ptr, fixed bin (21), fixed bin (21), fixed bin (35)); 100 dcl login_server_info_$test entry (char (*)); 101 dcl ls_cleanup_connections_ entry (); 102 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 103 dcl probe entry options (variable); 104 dcl requote_string_ entry (char (*)) returns (char (*)); 105 dcl ssu_$add_request_table entry (ptr, ptr, fixed bin, fixed bin (35)); 106 dcl ssu_$cpescape_disabled entry; 107 dcl ssu_$create_invocation entry (char (*), char (*), ptr, ptr, char (*), ptr, fixed bin (35)); 108 dcl ssu_$destroy_invocation entry (ptr); 109 dcl ssu_$execute_start_up entry () options (variable); 110 dcl ssu_$listen entry (ptr, ptr, fixed bin (35)); 111 dcl ssu_$print_message entry () options (variable); 112 dcl ssu_$set_ec_search_list entry (ptr, char(32)); 113 dcl ssu_$set_ec_suffix entry (ptr, char (32)); 114 dcl ssu_$set_procedure entry (ptr, char (*), entry, fixed bin (35)); 115 dcl terminate_file_ entry (ptr, fixed bin (24), bit (*), fixed bin (35)); 116 dcl terminate_process_ entry (char (*), ptr); 117 118 119 /* EXTERNAL STATIC */ 120 121 dcl ( 122 error_table_$badopt, 123 error_table_$noentry, 124 error_table_$too_many_names 125 ) fixed bin (35) external static; 126 dcl iox_$error_output pointer external static; 127 dcl iox_$user_input pointer external static; 128 dcl ls_data_$connect_info_dir char (168) external static; 129 dcl ls_data_$login_info_dir char (168) external static; 130 dcl ls_data_$login_server_info_dir char (168) external static; 131 dcl ls_ssu_request_tables_$overseer_requests fixed bin external static; 132 dcl ssu_et_$subsystem_aborted fixed bin (35) external static; 133 dcl ssu_request_tables_$standard_requests bit (36) aligned external static; 134 dcl sys_info$system_control_dir char (168) varying external static; 135 136 137 /* INTERNAL STATIC */ 138 139 dcl ANSWER_TABLE_NAME char (32) internal static options (constant) initial ("answer_table"); 140 dcl EC_SEARCH_LIST char(32) int static options(constant) init("exec_com"); 141 dcl INSTALLATION_PARMS_NAME char (32) internal static options (constant) initial ("installation_parms"); 142 dcl LARGE_NUMBER fixed bin internal static options (constant) initial (100000); 143 /* for adding standard request table at end */ 144 dcl LS_SS_EC_SUFFIX char (32) internal static options (constant) initial ("lsec"); 145 dcl LS_SS_NAME char (12) internal static options (constant) initial ("login_server"); 146 dcl NORMAL_MODE fixed bin internal static initial (1); /* for condition_interpreter_ */ 147 dcl PROCESS_TYPE (0:3) character (12) varying internal static options (constant) 148 initial (" initializer", " interactive", " absentee", " daemon"); 149 dcl PROG_NAME char (22) internal static options (constant) initial ("login_server_overseer_"); 150 dcl START_UP_DOT_EC char (11) internal static options (constant) initial ("start_up.ec"); 151 dcl TRACE_NAME char (18) internal static options (constant) initial ("login_server_trace"); 152 dcl UDD char (13) internal static options (constant) initial (">user_dir_dir"); 153 dcl trace_switch bit (1) internal static initial ("0"b); /* can be changed by ls_trace command */ 154 155 156 /* INTERNAL STATIC STRUCTURES */ 157 158 dcl 1 static_ls_ssu_info aligned like ls_ssu_info internal static; 159 160 161 /* BUILTINS AND CONDITIONS */ 162 163 dcl (any_other, cleanup, quit) condition; 164 165 dcl (addr, index, length, null, rtrim, string, substr) builtin; 166 167 call_probe_mode = "0"b; 168 debug_mode = "0"b; 169 pit_ptr = a_pit_ptr; 170 a_call_listen = "0"b; 171 system_dir_name = sys_info$system_control_dir; 172 login_server_info_dir = ls_data_$login_server_info_dir; 173 ls_ssu_info_ptr = addr (static_ls_ssu_info); 174 ls_ssu_info.flags = "0"b; 175 ls_ssu_info.login_info_dir = ls_data_$login_info_dir; 176 ls_ssu_info.connect_info_dir = ls_data_$connect_info_dir; 177 178 OVERSEER_JOIN: 179 sci_ptr = null (); 180 ready_to_listen = "0"b; 181 on any_other call Any_other_handler (); 182 on quit call Quit_handler (); 183 184 if ^debug_mode 185 then do; 186 187 /* Find and run the start_up exec_com. This code is lifted almost verbatim from process_overseer_ */ 188 189 initial_command_line = ""; 190 191 first_process = (pit_ptr -> pit.n_processes = 1); 192 /* see if new_proc or login */ 193 194 if ^pit_ptr -> pit.at.nostartup 195 then do; /* start_up is allowed */ 196 197 /* First try homedir */ 198 199 start_up_dir = pit_ptr -> pit.homedir; 200 call hcs_$status_minf (start_up_dir, START_UP_DOT_EC, 1, entry_type, bc, code); 201 202 /* note that we assume any error is cause to look elsewhere to give best chance 203* of success */ 204 205 if code = 0 & entry_type = 1 206 then ; 207 208 /* now try projectdir */ 209 210 else do; 211 start_up_dir = UDD || ">" || pit_ptr -> pit.project; 212 call hcs_$status_minf (start_up_dir, START_UP_DOT_EC, 1, entry_type, bc, code); 213 214 if code = 0 & entry_type = 1 215 then ; 216 else do; 217 start_up_dir = sys_info$system_control_dir; 218 call hcs_$status_minf (start_up_dir, START_UP_DOT_EC, 1, entry_type, bc, 219 code); 220 if code = 0 & entry_type = 1 221 then ; 222 else goto NO_START_UP; 223 end; 224 end; 225 226 initial_command_line = "exec_com " || requote_string_ (pathname_ (start_up_dir, START_UP_DOT_EC)); 227 228 if first_process 229 then initial_command_line = rtrim (initial_command_line) || " login "; 230 else initial_command_line = rtrim (initial_command_line) || " new_proc "; 231 232 initial_command_line = rtrim(initial_command_line) || PROCESS_TYPE (pit_ptr -> pit.process_type); 233 234 call cu_$cp (addr (initial_command_line), length (initial_command_line), (0)); 235 /* code is uninteresting */ 236 end; /* the block that checked pit.nostart */ 237 NO_START_UP: 238 end; 239 240 call ls_cleanup_connections_ (); /* dispose of any connections belong to now-defunct servers */ 241 242 /* Now we're ready to start the subsystem */ 243 244 ls_ssu_info.version = LS_SSU_INFO_V1; 245 ls_ssu_info.debug_mode = debug_mode; 246 ls_ssu_info.call_probe = call_probe_mode; 247 ls_ssu_info.trace = trace_switch; 248 if ls_ssu_info.n_endpoints = 0 249 then ls_ssu_info.first_endpoint_ptr, ls_ssu_info.last_endpoint_ptr = null; 250 251 ls_ssu_info.answer_table_ptr, ls_ssu_info.installation_parms_ptr = null (); 252 on cleanup call Clean_up (); 253 254 call initiate_file_ (system_dir_name, ANSWER_TABLE_NAME, R_ACCESS, ls_ssu_info.answer_table_ptr, (0), code); 255 if code ^= 0 256 then do; 257 call com_err_ (code, PROG_NAME, "Could not initiate answer table."); 258 go to EXIT; 259 end; 260 261 call initiate_file_ (system_dir_name, INSTALLATION_PARMS_NAME, R_ACCESS, ls_ssu_info.installation_parms_ptr, 262 (0), code); 263 if code ^= 0 264 then do; 265 call com_err_ (code, PROG_NAME, "Could not initiate installation_parms."); 266 go to EXIT; 267 end; 268 269 call ssu_$create_invocation (LS_SS_NAME, LS_SS_VERSION, ls_ssu_info_ptr, 270 addr (ls_ssu_request_tables_$overseer_requests), login_server_info_dir, sci_ptr, code); 271 if code ^= 0 272 then do; 273 call com_err_ (code, PROG_NAME, "Could not create subsystem invocation."); 274 go to EXIT; 275 end; 276 277 ls_ssu_info.sci_ptr = sci_ptr; 278 279 if ^debug_mode 280 then call ssu_$set_procedure (sci_ptr, "cpescape", ssu_$cpescape_disabled, code); 281 /* no ".." escapes in login server environment, please */ 282 283 284 if code ^= 0 285 then do; 286 call ssu_$print_message (sci_ptr, code, "Could not set ""cpescape"" procedure."); 287 go to WRAP_UP_AND_EXIT; 288 end; 289 290 call ssu_$add_request_table (sci_ptr, addr (ssu_request_tables_$standard_requests), LARGE_NUMBER, code); 291 if code ^= 0 292 then do; 293 call ssu_$print_message (sci_ptr, code, "Could not add standard request table."); 294 go to WRAP_UP_AND_EXIT; 295 end; 296 297 call ssu_$set_ec_search_list (sci_ptr, EC_SEARCH_LIST); 298 call ssu_$set_ec_suffix (sci_ptr, LS_SS_EC_SUFFIX); 299 call ssu_$execute_start_up (sci_ptr, code); 300 if code ^= 0 301 then do; 302 call ssu_$print_message (sci_ptr, code, "Invoking start_up.^a", LS_SS_EC_SUFFIX); 303 if code ^= error_table_$noentry 304 then go to WRAP_UP_AND_EXIT; 305 end; 306 307 ready_to_listen = "1"b; 308 LISTEN: 309 call ssu_$listen (sci_ptr, null (), code); 310 if code ^= ssu_et_$subsystem_aborted 311 then call ssu_$print_message (sci_ptr, code, "From ssu_$listen."); 312 313 WRAP_UP_AND_EXIT: 314 call ssu_$destroy_invocation (sci_ptr); 315 316 EXIT: 317 call Clean_up (); 318 319 if ^debug_mode 320 then do; 321 logout_msg.version = 0; 322 string (logout_msg.flags) = "0"b; 323 call terminate_process_ ("logout", addr (logout_msg)); 324 end; 325 326 return; 327 328 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 329 /* */ 330 /* Syntax: login_server_overseer_$test test_sc1_dir test_info_dir {-probe} */ 331 /* */ 332 /* Arguments: */ 333 /* test_sc1_dir */ 334 /* Directory containing test versions of answering service databases to */ 335 /* be used by the login server. */ 336 /* test_info_dir */ 337 /* Directory containing the three Login Server subsystem info */ 338 /* directories, which contain info segments describing the subsystem */ 339 /* requests. Three subdirectories must reside in test_info_dir: */ 340 /* login_server_info, login_info and login_connect_info */ 341 /* -probe, -pb */ 342 /* when control points report an error, call probe after reporting the */ 343 /* error to allow a chance for further debugging. By default, execution */ 344 /* continues within the control point after the error is reported. */ 345 /* */ 346 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 347 348 349 test: 350 entry options (variable); 351 352 call cu_$arg_count (nargs, code); 353 if code ^= 0 354 then do; 355 call com_err_ (code, PROG_NAME, "From cu_$arg_count."); 356 return; 357 end; 358 359 system_dir_name = sys_info$system_control_dir; 360 login_server_info_dir = ls_data_$login_server_info_dir; 361 ls_ssu_info_ptr = addr (static_ls_ssu_info); 362 ls_ssu_info.flags = "0"b; 363 ls_ssu_info.login_info_dir = ls_data_$login_info_dir; 364 ls_ssu_info.connect_info_dir = ls_data_$connect_info_dir; 365 call_probe_mode = "0"b; 366 debug_mode = "1"b; 367 368 pathx = 0; 369 do argx = 1 to nargs; 370 call cu_$arg_ptr (argx, argp, argl, (0)); 371 if index (arg, "-") = 1 372 then do; 373 if arg = "-probe" | arg = "-pb" 374 then call_probe_mode = "1"b; 375 else if arg = "-no_probe" | arg = "-npb" 376 then call_probe_mode = "0"b; 377 else do; 378 call com_err_ (error_table_$badopt, PROG_NAME, arg); 379 return; 380 end; 381 end; 382 else do; 383 pathx = pathx + 1; 384 if pathx = 1 385 then do; 386 call absolute_pathname_ (arg, system_dir_name, code); 387 if code ^= 0 388 then do; 389 call com_err_ (code, PROG_NAME, arg); 390 return; 391 end; 392 call login_server_info_$test (system_dir_name); 393 end; 394 else if pathx = 2 395 then do; 396 call absolute_pathname_ (arg, info_dir_name, code); 397 if code ^= 0 398 then do; 399 call com_err_ (code, PROG_NAME, arg); 400 return; 401 end; 402 login_server_info_dir = Test_dir_path (info_dir_name, ls_data_$login_server_info_dir); 403 ls_ssu_info.login_info_dir = Test_dir_path (info_dir_name, ls_data_$login_info_dir); 404 ls_ssu_info.connect_info_dir = Test_dir_path (info_dir_name, ls_data_$connect_info_dir); 405 end; 406 else do; 407 call com_err_ (error_table_$too_many_names, PROG_NAME, arg); 408 return; 409 end; 410 end; 411 end; 412 413 go to OVERSEER_JOIN; 414 415 login_server_trace: 416 ls_trace: 417 entry options (variable); 418 419 /* command to turn on and off tracing for the login server -- only affects 420* subsequent calls to login_server_overseer_ */ 421 422 call cu_$arg_count (nargs, code); 423 if code ^= 0 424 then do; 425 call com_err_ (code, TRACE_NAME, "From cu_$arg_count."); 426 return; 427 end; 428 429 if nargs ^= 1 430 then do; 431 call com_err_ (0, TRACE_NAME, "Usage: login_server_trace -on | -off"); 432 return; 433 end; 434 435 call cu_$arg_ptr (1, argp, argl, (0)); 436 if arg = "-on" 437 then trace_switch = "1"b; 438 439 else if arg = "-off" 440 then trace_switch = "0"b; 441 442 else call com_err_ (error_table_$badopt, TRACE_NAME, arg); 443 444 return; 445 446 Any_other_handler: 447 procedure (); 448 449 dcl cond_name char (32); 450 451 dcl 1 auto_condition_info aligned like condition_info; 452 453 condition_info_ptr = addr (auto_condition_info); 454 condition_info.version = condition_info_version_1; 455 call find_condition_info_ (null (), condition_info_ptr, code); 456 if code ^= 0 457 then cond_name = "Unfindable"; 458 else cond_name = condition_info.condition_name; 459 460 if cond_name = "Unfindable" | cond_name = "cput" | cond_name = "alrm" 461 /* no point interpreting any of these */ 462 then call ioa_$ioa_switch (iox_$error_output, "login_server_overseer_: ^a condition.", cond_name); 463 464 else if cond_name = "quit" | cond_name = "command_question" | cond_name = "command_error" | cond_name = "finish" 465 /* pass these on */ 466 then do; 467 call continue_to_signal_ ((0)); 468 return; 469 end; 470 471 else call condition_interpreter_ (null (), (null ()), (0), NORMAL_MODE, condition_info.mc_ptr, cond_name, 472 condition_info.wc_ptr, condition_info.info_ptr); 473 474 if debug_mode 475 then call probe (); 476 else go to WRAP_UP_AND_EXIT; 477 478 end Any_other_handler; 479 480 Clean_up: 481 procedure; 482 483 dcl code fixed bin (35); 484 485 if ls_ssu_info.answer_table_ptr ^= null () 486 then call terminate_file_ (ls_ssu_info.answer_table_ptr, 0, TERM_FILE_TERM, code); 487 488 if ls_ssu_info.installation_parms_ptr ^= null () 489 then call terminate_file_ (ls_ssu_info.installation_parms_ptr, 0, TERM_FILE_TERM, code); 490 491 end Clean_up; 492 493 494 Quit_handler: 495 procedure (); 496 497 if debug_mode 498 then call continue_to_signal_ ((0)); 499 500 else do; 501 if ready_to_listen 502 then do; 503 call ssu_$print_message (sci_ptr, 0, "QUIT signalled. Enter command:"); 504 go to LISTEN; 505 end; 506 507 /* if we hadn't finished setting up the subsystem, there's not a whole lot of choices */ 508 509 else if /* tree */ Start_response () 510 then return; 511 else if sci_ptr = null () 512 then go to EXIT; 513 else go to WRAP_UP_AND_EXIT; 514 end; 515 516 Start_response: 517 procedure returns (bit (1)); 518 519 /* "1"b if response is "start", "0"b if "logout" */ 520 521 dcl intro char (100) varying; 522 dcl intro_len fixed bin; 523 dcl code fixed bin (35); 524 dcl buffer char (80); 525 dcl chars_read fixed bin (21); 526 dcl response char (80); 527 528 intro = "Early QUIT"; 529 530 do while ("1"b); /* exit conditions return */ 531 if sci_ptr = null () 532 then call ioa_$ioa_switch (iox_$error_output, "login_server_overseer_: ^a. logout or start?", intro); 533 else call ssu_$print_message (sci_ptr, 0, "^a. logout or start?", intro); 534 535 call iox_$get_line (iox_$user_input, addr (buffer), length (buffer), chars_read, code); 536 if code ^= 0 537 then do; /* this is so bizarre, there's not point worrying about absence of subsystem */ 538 if sci_ptr ^= null () 539 then call ssu_$print_message (sci_ptr, code, "From iox_$get_line."); 540 return ("0"b); /* punt */ 541 end; 542 543 response = substr (buffer, 1, chars_read - 1); 544 /* assume NL at the end */ 545 if response = "logout" 546 then return ("0"b); 547 else if response = "start" 548 then return ("1"b); 549 else call ioa_$rsnpnnl ("Invalid response: ""^a""", intro, intro_len, response); 550 end; /* go read again */ 551 552 end Start_response; 553 554 end Quit_handler; 555 556 Test_dir_path: 557 procedure (test_dir, normal_dir) returns (char (168)); 558 559 dcl test_dir char (*); 560 dcl normal_dir char (168); 561 562 dcl code fixed bin (35); 563 dcl ent_part char (32); 564 565 call expand_pathname_ (normal_dir, "", ent_part, code); 566 return (pathname_ (test_dir, ent_part)); 567 568 end Test_dir_path; 569 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 570 571 2 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 2 2 2 3 /* Structure for find_condition_info_. 2 4* 2 5* Written 1-Mar-79 by M. N. Davidoff. 2 6**/ 2 7 2 8 /* automatic */ 2 9 2 10 declare condition_info_ptr pointer; 2 11 2 12 /* based */ 2 13 2 14 declare 1 condition_info aligned based (condition_info_ptr), 2 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 2 16 2 version fixed binary, /* Must be 1 */ 2 17 2 condition_name char (32) varying, /* name of condition */ 2 18 2 info_ptr pointer, /* pointer to the condition data structure */ 2 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 2 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 2 21 2 flags unaligned, 2 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 2 23 3 pad1 bit (35), 2 24 2 pad2 bit (36), 2 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 2 26 2 pad3 (4) bit (36); 2 27 2 28 /* internal static */ 2 29 2 30 declare condition_info_version_1 2 31 fixed binary internal static options (constant) initial (1); 2 32 2 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 572 573 3 1 /* BEGIN INCLUDE FILE...ls_ssu_info.incl.pl1 */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(85-03-01,Coren), approve(87-06-25,MCR7679), audit(87-03-18,GDixon), 3 5* install(87-08-04,MR12.1-1056): 3 6* Initial coding. 3 7* 2) change(87-03-05,GDixon), approve(87-06-25,MCR7679), 3 8* audit(87-07-14,Parisek), install(87-08-04,MR12.1-1056): 3 9* A) Added info directories to ls_ssu_info structure. This allows them to 3 10* be changed while running in a test environment. 3 11* B) Add init(0) attribute to ls_ssu_info.n_endpoints. 3 12* 3) change(87-06-25,GDixon), approve(87-06-25,MCR7679), 3 13* audit(87-07-14,Parisek), install(87-08-04,MR12.1-1056): 3 14* Add ls_cp_info.flags.call_probe to allow debug_mode messages without 3 15* stopping in probe. 3 16* END HISTORY COMMENTS */ 3 17 3 18 /* defines the info structure used by the "login_server" subsystem */ 3 19 3 20 dcl ls_ssu_info_ptr pointer; 3 21 3 22 dcl 1 ls_ssu_info aligned based (ls_ssu_info_ptr), 3 23 2 version char (8), /* "lssiNNNN" */ 3 24 2 sci_ptr pointer, 3 25 2 answer_table_ptr pointer, 3 26 2 installation_parms_ptr pointer, 3 27 2 flags, 3 28 3 debug_mode bit (1) unaligned, /* "1"b => debugging environment */ 3 29 3 call_probe bit (1) unaligned, /* "1"b => call probe when control point reports error */ 3 30 3 trace bit (1) unaligned, /* "1"b => make tracing calls */ 3 31 3 pad bit (33) unaligned, 3 32 2 n_endpoints fixed bin init(0), /* number of endpoints for which service has been started */ 3 33 2 first_endpoint_ptr pointer, /* head of list of endpoint names */ 3 34 2 last_endpoint_ptr pointer, /* tail of list */ 3 35 2 login_info_dir char (168) unal, /* info dir for login requests */ 3 36 2 connect_info_dir char (168) unal; /* info dir for connect requests */ 3 37 3 38 dcl LS_SSU_INFO_V1 char (8) internal static options (constant) initial ("lssi0001"); 3 39 3 40 3 41 dcl ls_endpoint_listp pointer; 3 42 3 43 dcl 1 ls_endpoint_list based (ls_endpoint_listp) aligned, /* element in linked list of active endpoints */ 3 44 2 version char (8), /* "lselNNNN" */ 3 45 2 name char (32), /* name of endpoint as supplied to start_login_service request */ 3 46 2 prev_endpoint pointer, /* preceding entry in list */ 3 47 2 next_endpoint pointer, /* next endpoint in list */ 3 48 2 service_entries_ptr pointer, /* points to login_service_entries structure for this endpoint */ 3 49 2 restart_event_channel fixed bin (71), /* event channel for signalling new start_login_service on dormant endpoint */ 3 50 2 control_point_id bit (36), /* control point that listens on specified endpoint */ 3 51 2 n_connections fixed bin, /* number of connections created on this endpoint */ 3 52 2 flags, 3 53 3 awaiting_destruction bit (1) unaligned, /* "1"b => destroy control point when n_connections goes to 0 */ 3 54 3 mbz bit (35) unaligned; 3 55 3 56 dcl LS_ENDPOINT_LIST_V1 char (8) internal static options (constant) initial ("lsel0001"); 3 57 3 58 dcl LS_SS_VERSION char (4) internal static options (constant) initial ("1.0 "); 3 59 3 60 /* END INCLUDE FILE...ls_ssu_info.incl.pl1 */ 574 575 4 1 /* BEGIN INCLUDE FILE ... pit.incl.pl1 */ 4 2 4 3 /****^ ******************************************** 4 4* * * 4 5* * Copyright, (C) Honeywell Bull Inc., 1988 * 4 6* * * 4 7* ******************************************** */ 4 8 4 9 /* Requires user_attributes.incl.pl1 */ 4 10 /* Declaration of the Process Inititalization Table (PIT) */ 4 11 4 12 /****^ HISTORY COMMENTS: 4 13* 1) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 4 14* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 4 15* First comment for hcom. Modified 750430 by PG to add terminal_access_class 4 16* Modified 6/20/77 by J. Stern to add term_type_name Modified Feb 1980 by M. 4 17* B. Armstrong to implement multiple rate structures. (UNCA) Modified by R. 4 18* McDonald May 1980 to include page charges, replaces cpu in iod (UNCA) 4 19* Modified by Benson I. Margulies November 1981 do declare pit_$, pit_ptr, 4 20* and unaligned character strings. Modified by E. N. Kittlitz January 1982 4 21* for user_attributes.incl.pl1 changes Modified by E. N. Kittlitz October 4 22* 1982 for request_id. Modified by BIM 1984-09-12 for auth range. The max 4 23* copies the pds, but this is the only home of the min. 4 24* 2) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 4 25* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 4 26* Add the truncate_absout and restarted bits for the 4 27* -truncate .absout SCP 6297, version 3. 4 28* 3) change(86-12-11,GDixon), approve(87-07-16,MCR7741), 4 29* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 30* Changed structure under pit.abs_attributes to use like structure in 4 31* abs_attributes.incl.pl1. This allows the same attributes to be used 4 32* in abs_message_format.incl.pl1 and user_table_entry.incl.pl1 as well as 4 33* this include file. 4 34* 4) change(88-06-03,Parisek), approve(88-06-10,MCR7920), 4 35* audit(88-06-23,Hunter), install(87-07-05,MR12.2-1053): 4 36* Remove "pitmsg" in END comment string. pitmsg.incl.pl1 is no longer a 4 37* name of pit.incl.pl1. 4 38* 5) change(88-07-11,Parisek), approve(88-07-11,MCR7849), 4 39* audit(88-07-03,Lippard), install(88-07-13,MR12.2-1047): 4 40* Removed the ringpad element and added the min_ring & max_ring elements so 4 41* users may access their lowest and/or highest possible login ring value. 4 42* SCP6367. 4 43* END HISTORY COMMENTS */ 4 44 4 45 4 46 /* format: style4 */ 4 47 declare pit_$ bit (36) aligned external static; 4 48 declare pit_ptr pointer; 4 49 4 50 dcl 1 pit aligned based (pit_ptr), 4 51 2 version fixed bin, /* indicates which version of the pit */ 4 52 2 process_type fixed bin, /* initializer, interactive, or absentee process */ 4 53 2 login_responder char (64) unal, /* path name of login responder */ 4 54 4 55 /* All of these are going to be word aligned whether or not they are declared aligned, 4 56* and unaligning them cleans up code in many places */ 4 57 4 58 2 homedir char (64) unal, /* path name of home directory */ 4 59 2 project char (28) unal, /* name of this process' project affiliation */ 4 60 2 account char (32) unal, /* name of account to which this process is charged */ 4 61 2 n_processes fixed bin, /* number of previous processes for this session */ 4 62 2 login_time fixed bin (71), /* clock time at login */ 4 63 2 proc_creation_time fixed bin (71), /* clock time at creation of this process */ 4 64 2 old_proc_cpu fixed bin (71), /* cpu time used by previous processes in this session */ 4 65 2 user_weight fixed bin, /* weight of this process */ 4 66 2 anonymous fixed bin, /* 1 if anonymous user */ 4 67 2 login_name char (28) unal, /* name of user given at login */ 4 68 2 logout_pid bit (36), /* process id of answering service */ 4 69 2 logout_channel fixed bin (71), /* channel for signalling logouts to answering service */ 4 70 2 group char (8) unal, /* party group */ 4 71 2 min_ring fixed bin, /* min ring */ 4 72 2 max_ring fixed bin, /* max ring */ 4 73 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 4 74 2 whox fixed bin, /* this process's index in whotab (or 0) */ 4 75 2 outer_module char (32) unaligned, 4 76 2 pad (2) fixed bin, 4 77 2 dont_call_init_admin bit (1) aligned, /* Call process_overseer_ directly */ 4 78 2 terminal_access_class bit (72) aligned, /* access class of user's terminal */ 4 79 2 dollar_charge float bin, /* Month-to-date expenditure */ 4 80 2 dollar_limit float bin, /* Limit stop on usage */ 4 81 2 shift_limit (0:7) float bin, /* Stops on each shift's usage */ 4 82 2 logins fixed bin, /* Number of logins this month */ 4 83 2 crashes fixed bin, /* Number of sessions crashed */ 4 84 2 interactive (0:7), /* interactive usage by shift */ 4 85 3 charge float bin, /* Total charge */ 4 86 3 xxx fixed bin, 4 87 3 cpu fixed bin (71), /* CPU usage in microseconds */ 4 88 3 core fixed bin (71), /* Memory usage in page-microseconds */ 4 89 3 connect fixed bin (71), /* Connect time in microseconds */ 4 90 3 io_ops fixed bin (71), /* Terminal I/O operations */ 4 91 2 absentee (4), /* Absentee usage by queue */ 4 92 3 charge float bin, /* Total absentee charge */ 4 93 3 jobs fixed bin, /* Number of jobs */ 4 94 3 cpu fixed bin (71), /* CPU usage in microseconds */ 4 95 3 memory fixed bin (71), /* Memory usage in mu */ 4 96 2 iod (4), /* IO Daemon usage, by queue */ 4 97 3 charge float bin, /* Total charge */ 4 98 3 pieces fixed bin, /* Number of requests */ 4 99 3 pad fixed bin (35), 4 100 3 pages fixed bin (35), /* number of pages output */ 4 101 3 lines fixed bin (71), /* Record count */ 4 102 2 devices (16) float bin, /* Usage of attached devices */ 4 103 2 time_last_reset fixed bin (71), /* time last updated the PDT */ 4 104 2 absolute_limit float bin, /* Limit, not reset monthly */ 4 105 2 absolute_spent float bin, /* Spending against this */ 4 106 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 4 107 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 4 108 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number (0= default rates) */ 4 109 2 pad1a fixed bin (27) unsigned unaligned, /* remainder of word */ 4 110 2 request_id fixed bin (71), /* absentee request id */ 4 111 2 authorization_range (2) bit (72) aligned, 4 112 2 pad1 (73) fixed bin, /* extra space */ 4 113 2 charge_type fixed bin, /* device charge type of console */ 4 114 2 term_type_name char (32) unal, /* terminal type name */ 4 115 2 line_type fixed bin, /* line type of user's console */ 4 116 2 tty_type fixed bin, /* old terminal type (obsolete, kept for compatibility) */ 4 117 2 service_type fixed bin, /* type of service console is performing */ 4 118 2 tty_answerback char (4) unaligned, /* original answerback of user's console */ 4 119 2 old_tty char (6), /* (obsolete) attachment name of user's console */ 4 120 2 standby fixed bin, /* 1 if standby user */ 4 121 2 login_line char (120) unal, /* line typed at login */ 4 122 2 cant_bump_until fixed bin (71), /* cannot be preempted until this time (0 for abs) */ 4 123 2 input_seg char (168) unal, /* path name of absentee input file */ 4 124 2 output_seg char (168) unal, /* path name of absentee output file */ 4 125 2 max_cpu_time fixed bin, /* max number of seconds allowed to this absentee proc */ 4 126 2 abs_queue fixed bin, /* absentee queue if absentee, else -1 */ 4 127 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 4 128 2 arg_info_ptr fixed bin (18) unsigned, /* Relative pointer to information on absentee args. */ 4 129 2 old_proc_core fixed bin (71), /* Memory usage by previous processes in this session */ 4 130 2 old_proc_io_ops fixed bin (71), /* I/O operations from previous processes in this session */ 4 131 2 tty char (32) unaligned, /* Attachment name of users channel */ 4 132 2 start_arg_info fixed bin; /* Put absentee args information here. */ 4 133 4 134 4 135 /* Structure to contain information on absentee arguments */ 4 136 dcl 1 arg_info aligned based, 4 137 2 arg_count fixed bin, /* Number of arguments for replacement in absentee segment */ 4 138 2 ln_args fixed bin, /* Length of string containing arguments. */ 4 139 2 arg_lengths (25 refer (arg_info.arg_count)) fixed bin, /* Array of argument lengths */ 4 140 2 args char (128 refer (arg_info.ln_args)) unal; 4 141 /* Args used for replacement in absentee control segment. */ 4 142 4 143 declare PIT_version_3 fixed bin int static options (constant) init (3); 4 144 4 145 /* END INCLUDE FILE ... pit.incl.pl1 */ 576 577 5 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 5 2 /* format: style2,^inddcls,idind32 */ 5 3 5 4 declare 1 terminate_file_switches based, 5 5 2 truncate bit (1) unaligned, 5 6 2 set_bc bit (1) unaligned, 5 7 2 terminate bit (1) unaligned, 5 8 2 force_write bit (1) unaligned, 5 9 2 delete bit (1) unaligned; 5 10 5 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 5 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 5 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 5 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 5 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 5 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 5 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 5 18 5 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 578 579 6 1 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 6 2 6 3 6 4 /****^ HISTORY COMMENTS: 6 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 6 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 6 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 6 8* attribute switches. 6 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 6 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 6 12* be deleted. 6 13* B) Add constants identifying attributes that can be changed by user at 6 14* login, etc. 6 15* END HISTORY COMMENTS */ 6 16 6 17 6 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 6 19 6 20 /* format: style4 */ 6 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 6 22 (2 administrator bit (1), /* 1 system administrator privileges */ 6 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 6 24 2 nobump bit (1), /* 2 user cannot be bumped */ 6 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 6 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 6 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 6 28* . of same project (distinct from "nobump") */ 6 29 2 nolist bit (1), /* 7 don't list user on "who" */ 6 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 6 31 2 multip bit (1), /* 9 user may have several processes */ 6 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 6 33 2 brief bit (1), /* 11 no login or logout message */ 6 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 6 35 2 vhomedir bit (1), /* 13 user may change homedir */ 6 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 6 37 2 sb_ok bit (1), /* 15 user may be standby */ 6 38 2 pm_ok bit (1), /* 16 user may be primary */ 6 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 6 40 2 daemon bit (1), /* 18 user may login as daemon */ 6 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 6 42 2 no_warning bit (1), /* 20 no warning message */ 6 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 6 44* . in PDT: this user has an individual load control group */ 6 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 6 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 6 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 6 48 2 pad bit (12)) unaligned; 6 49 6 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 6 51 ("none", /* 0 */ 6 52 "administrator", /* 1 */ 6 53 "primary_line", /* 2 */ 6 54 "nobump", /* 3 */ 6 55 "guaranteed_login", /* 4 */ 6 56 "anonymous", /* 5 */ 6 57 "nopreempt", /* 6 */ 6 58 "nolist", /* 7 */ 6 59 "dialok", /* 8 */ 6 60 "multip", /* 9 */ 6 61 "bumping", /* 10 */ 6 62 "brief", /* 11 */ 6 63 "vinitproc", /* 12 */ 6 64 "vhomedir", /* 13 */ 6 65 "nostartup", /* 14 */ 6 66 "no_secondary", /* 15 */ 6 67 "no_prime", /* 16 */ 6 68 "no_eo", /* 17 */ 6 69 "daemon", /* 18 */ 6 70 "", /* 19 vdim OBSOLETE */ 6 71 "no_warning", /* 20 */ 6 72 "igroup", /* 21 */ 6 73 "save_pdir", /* 22 */ 6 74 "disconnect_ok", /* 23 */ 6 75 "save_on_disconnect"); /* 24 */ 6 76 6 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 6 78 ("null", /* 0 */ 6 79 "admin", /* 1 */ 6 80 "", "", /* 2 - 3 */ 6 81 "guar", /* 4 */ 6 82 "anon", /* 5 */ 6 83 "", "", /* 6 - 7 */ 6 84 "dial", /* 8 */ 6 85 "multi_login", /* 9 */ 6 86 "preempting", /* 10 */ 6 87 "", /* 11 */ 6 88 "v_process_overseer", /* 12 */ 6 89 "v_home_dir", /* 13 */ 6 90 "no_start_up", /* 14 */ 6 91 "no_sec", /* 15 */ 6 92 "no_primary", /* 16 */ 6 93 "no_edit_only", /* 17 */ 6 94 "op_login", /* 18 */ 6 95 "", /* 19 */ 6 96 "nowarn", /* 20 */ 6 97 "", "", "", /* 21 - 23 */ 6 98 "save"); /* 24 */ 6 99 6 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 6 101 options(constant) init("000000000010000000010000000000000000"b); 6 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 6 103 6 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 6 105 options(constant) init("000000000010000000010000000000000000"b); 6 106 /* PDT value for (brief, no_warning) is default */ 6 107 6 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 6 109 options(constant) init("000100000110010000010000000000000000"b); 6 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 6 111 7 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 7 2 7 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 7 4 /* */ 7 5 /* This include file describes the attributes of an absentee job. It is */ 7 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 7 7 /* and PIT.incl.pl1. */ 7 8 /* */ 7 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 7 10 7 11 /****^ HISTORY COMMENTS: 7 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 7 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 14* Separated abs_attributes from the request structure 7 15* (abs_message_format.incl.pl1) so that the identical structure could be 7 16* used in the ute structure (user_table_entry.incl.pl1). 7 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 7 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 19* Added ABS_ATTRIBUTE_NAMES array. 7 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 7 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 7 22* Added the no_start_up flag. SCP6367 7 23* END HISTORY COMMENTS */ 7 24 7 25 dcl 1 user_abs_attributes aligned based, 7 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 7 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 7 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 7 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 7 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 7 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 7 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 7 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 7 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 7 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 7 36 2 attributes_pad bit (26) unaligned; 7 37 7 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 7 39 "restartable", 7 40 "user_deferred_until_time", 7 41 "proxy", 7 42 "set_bit_cnt", 7 43 "time_in_gmt", 7 44 "user_deferred_indefinitely", 7 45 "secondary_ok", 7 46 "truncate_absout", 7 47 "restarted", 7 48 "no_start_up"); 7 49 7 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 7 51 6 112 6 113 6 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 580 581 582 end login_server_overseer_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0935.8 login_server_overseer_.pl1 >special_ldd>install>MR12.2-1047>login_server_overseer_.pl1 570 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 572 2 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 574 3 08/06/87 0913.5 ls_ssu_info.incl.pl1 >ldd>include>ls_ssu_info.incl.pl1 576 4 07/13/88 0930.5 pit.incl.pl1 >special_ldd>install>MR12.2-1047>pit.incl.pl1 578 5 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.incl.pl1 580 6 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 6-112 7 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.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. ANSWER_TABLE_NAME 000102 constant char(32) initial packed unaligned dcl 139 set ref 254* EC_SEARCH_LIST 000072 constant char(32) initial packed unaligned dcl 140 set ref 297* INSTALLATION_PARMS_NAME 000062 constant char(32) initial packed unaligned dcl 141 set ref 261* LARGE_NUMBER 000061 constant fixed bin(17,0) initial dcl 142 set ref 290* LS_SSU_INFO_V1 000002 constant char(8) initial packed unaligned dcl 3-38 ref 244 LS_SS_EC_SUFFIX 000051 constant char(32) initial packed unaligned dcl 144 set ref 298* 302* LS_SS_NAME 000046 constant char(12) initial packed unaligned dcl 145 set ref 269* LS_SS_VERSION 000001 constant char(4) initial packed unaligned dcl 3-58 set ref 269* NORMAL_MODE 000010 internal static fixed bin(17,0) initial dcl 146 set ref 471* PROCESS_TYPE 000026 constant varying char(12) initial array dcl 147 ref 232 PROG_NAME 000020 constant char(22) initial packed unaligned dcl 149 set ref 257* 265* 273* 355* 378* 389* 399* 407* R_ACCESS 000137 constant bit(3) initial packed unaligned dcl 1-11 set ref 254* 261* START_UP_DOT_EC 000015 constant char(11) initial packed unaligned dcl 150 set ref 200* 212* 218* 226* 226* TERM_FILE_TERM 000000 constant bit(3) initial packed unaligned dcl 5-14 set ref 485* 488* TRACE_NAME 000010 constant char(18) initial packed unaligned dcl 151 set ref 425* 431* 442* UDD 000004 constant char(13) initial packed unaligned dcl 152 ref 211 a_call_listen parameter bit(1) packed unaligned dcl 49 set ref 34 170* a_initial_command parameter varying char dcl 50 ref 34 a_pit_ptr parameter pointer dcl 48 ref 34 169 absolute_pathname_ 000154 constant entry external dcl 86 ref 386 396 addr builtin function dcl 165 ref 173 234 234 269 269 290 290 323 323 361 453 535 535 answer_table_ptr 4 based pointer level 2 dcl 3-22 set ref 251* 254* 485 485* any_other 000454 stack reference condition dcl 163 ref 181 arg based char packed unaligned dcl 55 set ref 371 373 373 375 375 378* 386* 389* 396* 399* 407* 436 439 442* argl 000100 automatic fixed bin(21,0) dcl 56 set ref 370* 371 373 373 375 375 378 378 386 386 389 389 396 396 399 399 407 407 435* 436 439 442 442 argp 000102 automatic pointer dcl 57 set ref 370* 371 373 373 375 375 378 386 389 396 399 407 435* 436 439 442 argx 000104 automatic fixed bin(17,0) dcl 58 set ref 369* 370* at 110 based structure level 2 dcl 4-50 auto_condition_info 000116 automatic structure level 1 dcl 451 set ref 453 bc 000105 automatic fixed bin(24,0) dcl 59 set ref 200* 212* 218* buffer 000150 automatic char(80) packed unaligned dcl 524 set ref 535 535 535 535 543 call_probe 10(01) based bit(1) level 3 packed packed unaligned dcl 3-22 set ref 246* call_probe_mode 000106 automatic bit(1) packed unaligned dcl 60 set ref 167* 246 365* 373* 375* chars_read 000174 automatic fixed bin(21,0) dcl 525 set ref 535* 543 cleanup 000462 stack reference condition dcl 163 ref 252 code 000107 automatic fixed bin(35,0) dcl 61 in procedure "login_server_overseer_" set ref 200* 205 212* 214 218* 220 254* 255 257* 261* 263 265* 269* 271 273* 279* 284 286* 290* 291 293* 299* 300 302* 303 308* 310 310* 352* 353 355* 386* 387 389* 396* 397 399* 422* 423 425* 455* 456 code 000100 automatic fixed bin(35,0) dcl 483 in procedure "Clean_up" set ref 485* 488* code 000147 automatic fixed bin(35,0) dcl 523 in procedure "Start_response" set ref 535* 536 538* code 000514 automatic fixed bin(35,0) dcl 562 in procedure "Test_dir_path" set ref 565* com_err_ 000156 constant entry external dcl 87 ref 257 265 273 355 378 389 399 407 425 431 442 cond_name 000106 automatic char(32) packed unaligned dcl 449 set ref 456* 458* 460 460 460 460* 464 464 464 464 471* condition_info based structure level 1 dcl 2-14 condition_info_ptr 000476 automatic pointer dcl 2-10 set ref 453* 454 455* 458 471 471 471 condition_info_version_1 constant fixed bin(17,0) initial dcl 2-30 ref 454 condition_interpreter_ 000160 constant entry external dcl 88 ref 471 condition_name 3 based varying char(32) level 2 dcl 2-14 ref 458 connect_info_dir 70 based char(168) level 2 packed packed unaligned dcl 3-22 set ref 176* 364* 404* continue_to_signal_ 000162 constant entry external dcl 89 ref 467 497 cu_$arg_count 000164 constant entry external dcl 90 ref 352 422 cu_$arg_ptr 000166 constant entry external dcl 91 ref 370 435 cu_$cp 000170 constant entry external dcl 92 ref 234 debug_mode 000110 automatic bit(1) packed unaligned dcl 62 in procedure "login_server_overseer_" set ref 168* 184 245 279 319 366* 474 497 debug_mode 10 based bit(1) level 3 in structure "ls_ssu_info" packed packed unaligned dcl 3-22 in procedure "login_server_overseer_" set ref 245* ent_part 000515 automatic char(32) packed unaligned dcl 563 set ref 565* 566* entry_type 000111 automatic fixed bin(2,0) dcl 63 set ref 200* 205 212* 214 218* 220 error_table_$badopt 000252 external static fixed bin(35,0) dcl 121 set ref 378* 442* error_table_$noentry 000254 external static fixed bin(35,0) dcl 121 ref 303 error_table_$too_many_names 000256 external static fixed bin(35,0) dcl 121 set ref 407* expand_pathname_ 000174 constant entry external dcl 94 ref 565 find_condition_info_ 000172 constant entry external dcl 93 ref 455 first_endpoint_ptr 12 based pointer level 2 dcl 3-22 set ref 248* first_process 000112 automatic bit(1) packed unaligned dcl 64 set ref 191* 228 flags 10 based structure level 2 in structure "ls_ssu_info" dcl 3-22 in procedure "login_server_overseer_" set ref 174* 362* flags 1 000452 automatic structure level 2 in structure "logout_msg" packed packed unaligned dcl 77 in procedure "login_server_overseer_" set ref 322* hcs_$status_minf 000176 constant entry external dcl 95 ref 200 212 218 homedir 22 based char(64) level 2 packed packed unaligned dcl 4-50 ref 199 index builtin function dcl 165 ref 371 info_dir_name 000113 automatic char(168) packed unaligned dcl 65 set ref 396* 402* 403* 404* info_ptr 14 based pointer level 2 dcl 2-14 set ref 471* initial_command_line 000165 automatic char(200) packed unaligned dcl 66 set ref 189* 226* 228* 228 230* 230 232* 232 234 234 234 234 initiate_file_ 000200 constant entry external dcl 96 ref 254 261 installation_parms_ptr 6 based pointer level 2 dcl 3-22 set ref 251* 261* 488 488* intro 000114 automatic varying char(100) dcl 521 set ref 528* 531* 533* 549* intro_len 000146 automatic fixed bin(17,0) dcl 522 set ref 549* ioa_$ioa_switch 000202 constant entry external dcl 97 ref 460 531 ioa_$rsnpnnl 000204 constant entry external dcl 98 ref 549 iox_$error_output 000260 external static pointer dcl 126 set ref 460* 531* iox_$get_line 000206 constant entry external dcl 99 ref 535 iox_$user_input 000262 external static pointer dcl 127 set ref 535* last_endpoint_ptr 14 based pointer level 2 dcl 3-22 set ref 248* length builtin function dcl 165 ref 234 234 535 535 login_info_dir 16 based char(168) level 2 packed packed unaligned dcl 3-22 set ref 175* 363* 403* login_server_info_$test 000210 constant entry external dcl 100 ref 392 login_server_info_dir 000247 automatic char(168) packed unaligned dcl 67 set ref 172* 269* 360* 402* logout_msg 000452 automatic structure level 1 dcl 77 set ref 323 323 ls_cleanup_connections_ 000212 constant entry external dcl 101 ref 240 ls_data_$connect_info_dir 000264 external static char(168) packed unaligned dcl 128 set ref 176 364 404* ls_data_$login_info_dir 000266 external static char(168) packed unaligned dcl 129 set ref 175 363 403* ls_data_$login_server_info_dir 000270 external static char(168) packed unaligned dcl 130 set ref 172 360 402* ls_ssu_info based structure level 1 dcl 3-22 ls_ssu_info_ptr 000500 automatic pointer dcl 3-20 set ref 173* 174 175 176 244 245 246 247 248 248 248 251 251 254 261 269* 277 361* 362 363 364 403 404 485 485 488 488 ls_ssu_request_tables_$overseer_requests 000272 external static fixed bin(17,0) dcl 131 set ref 269 269 mc_ptr based pointer level 2 dcl 2-14 set ref 471* n_endpoints 11 based fixed bin(17,0) initial level 2 dcl 3-22 ref 248 n_processes 61 based fixed bin(17,0) level 2 dcl 4-50 ref 191 nargs 000321 automatic fixed bin(17,0) dcl 68 set ref 352* 369 422* 429 normal_dir parameter char(168) packed unaligned dcl 560 set ref 556 565* nostartup 110(13) based bit(1) level 3 packed packed unaligned dcl 4-50 ref 194 null builtin function dcl 165 ref 178 248 251 308 308 455 455 471 471 471 485 488 511 531 538 pathname_ 000214 constant entry external dcl 102 ref 226 226 566 pathx 000322 automatic fixed bin(17,0) dcl 69 set ref 368* 383* 383 384 394 pit based structure level 1 dcl 4-50 pit_ptr 000502 automatic pointer dcl 4-48 set ref 169* 191 194 199 211 232 probe 000216 constant entry external dcl 103 ref 474 process_type 1 based fixed bin(17,0) level 2 dcl 4-50 ref 232 project 42 based char(28) level 2 packed packed unaligned dcl 4-50 ref 211 quit 000470 stack reference condition dcl 163 ref 182 ready_to_listen 000323 automatic bit(1) packed unaligned dcl 70 set ref 180* 307* 501 requote_string_ 000220 constant entry external dcl 104 ref 226 response 000175 automatic char(80) packed unaligned dcl 526 set ref 543* 545 547 549* rtrim builtin function dcl 165 ref 228 230 232 sci_ptr 000324 automatic pointer dcl 71 in procedure "login_server_overseer_" set ref 178* 269* 277 279* 286* 290* 293* 297* 298* 299* 302* 308* 310* 313* 503* 511 531 533* 538 538* sci_ptr 2 based pointer level 2 in structure "ls_ssu_info" dcl 3-22 in procedure "login_server_overseer_" set ref 277* ssu_$add_request_table 000222 constant entry external dcl 105 ref 290 ssu_$cpescape_disabled 000224 constant entry external dcl 106 ref 279 279 ssu_$create_invocation 000226 constant entry external dcl 107 ref 269 ssu_$destroy_invocation 000230 constant entry external dcl 108 ref 313 ssu_$execute_start_up 000232 constant entry external dcl 109 ref 299 ssu_$listen 000234 constant entry external dcl 110 ref 308 ssu_$print_message 000236 constant entry external dcl 111 ref 286 293 302 310 503 533 538 ssu_$set_ec_search_list 000240 constant entry external dcl 112 ref 297 ssu_$set_ec_suffix 000242 constant entry external dcl 113 ref 298 ssu_$set_procedure 000244 constant entry external dcl 114 ref 279 ssu_et_$subsystem_aborted 000274 external static fixed bin(35,0) dcl 132 ref 310 ssu_request_tables_$standard_requests 000276 external static bit(36) dcl 133 set ref 290 290 start_up_dir 000326 automatic char(168) packed unaligned dcl 72 set ref 199* 200* 211* 212* 217* 218* 226* 226* static_ls_ssu_info 000012 internal static structure level 1 dcl 158 set ref 173 361 string builtin function dcl 165 set ref 322* substr builtin function dcl 165 ref 543 sys_info$system_control_dir 000300 external static varying char(168) dcl 134 ref 171 217 359 system_dir_name 000400 automatic char(168) packed unaligned dcl 73 set ref 171* 254* 261* 359* 386* 392* terminate_file_ 000246 constant entry external dcl 115 ref 485 488 terminate_process_ 000250 constant entry external dcl 116 ref 323 test_dir parameter char packed unaligned dcl 559 set ref 556 566* trace 10(02) based bit(1) level 3 packed packed unaligned dcl 3-22 set ref 247* trace_switch 000011 internal static bit(1) initial packed unaligned dcl 153 set ref 247 436* 439* user_abs_attributes based structure level 1 dcl 7-25 user_attributes based structure level 1 dcl 6-21 version based char(8) level 2 in structure "ls_ssu_info" dcl 3-22 in procedure "login_server_overseer_" set ref 244* version 000452 automatic fixed bin(17,0) level 2 in structure "logout_msg" dcl 77 in procedure "login_server_overseer_" set ref 321* version 2 based fixed bin(17,0) level 2 in structure "condition_info" dcl 2-14 in procedure "login_server_overseer_" set ref 454* wc_ptr 16 based pointer level 2 dcl 2-14 set ref 471* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 7-38 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 6-77 A_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-33 E_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 LS_ENDPOINT_LIST_V1 internal static char(8) initial packed unaligned dcl 3-56 M_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 PIT_version_3 internal static fixed bin(17,0) initial dcl 4-143 REW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-30 SMA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TERM_FILE_BC internal static bit(2) initial packed unaligned dcl 5-12 TERM_FILE_DELETE internal static bit(5) initial packed unaligned dcl 5-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial packed unaligned dcl 5-16 TERM_FILE_TRUNC internal static bit(1) initial packed unaligned dcl 5-11 TERM_FILE_TRUNC_BC internal static bit(2) initial packed unaligned dcl 5-13 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial packed unaligned dcl 5-15 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 6-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 6-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 6-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 6-50 W_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 arg_info based structure level 1 dcl 4-136 ls_endpoint_list based structure level 1 dcl 3-43 ls_endpoint_listp automatic pointer dcl 3-41 pit_$ external static bit(36) dcl 4-47 terminate_file_switches based structure level 1 packed packed unaligned dcl 5-4 NAMES DECLARED BY EXPLICIT CONTEXT. Any_other_handler 003017 constant entry internal dcl 446 ref 181 Clean_up 003232 constant entry internal dcl 480 ref 252 316 EXIT 002062 constant label dcl 316 ref 258 266 274 511 LISTEN 002007 constant label dcl 308 ref 504 NO_START_UP 001222 constant label dcl 237 ref 220 OVERSEER_JOIN 000520 constant label dcl 178 set ref 413 Quit_handler 003327 constant entry internal dcl 494 ref 182 Start_response 003420 constant entry internal dcl 516 ref 509 Test_dir_path 003670 constant entry internal dcl 556 ref 402 403 404 WRAP_UP_AND_EXIT 002053 constant label dcl 313 ref 287 294 303 474 513 login_server_overseer_ 000440 constant entry external dcl 34 login_server_trace 002630 constant entry external dcl 415 ls_trace 002621 constant entry external dcl 415 test 002115 constant entry external dcl 349 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4612 5114 3772 4622 Length 5602 3772 302 451 620 144 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME login_server_overseer_ 478 external procedure is an external procedure. on unit on line 181 176 on unit on unit on line 182 218 on unit on unit on line 252 64 on unit Any_other_handler internal procedure shares stack frame of on unit on line 181. Clean_up 84 internal procedure is called by several nonquick procedures. Quit_handler internal procedure shares stack frame of on unit on line 182. Start_response internal procedure shares stack frame of on unit on line 182. Test_dir_path internal procedure shares stack frame of external procedure login_server_overseer_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 NORMAL_MODE login_server_overseer_ 000011 trace_switch login_server_overseer_ 000012 static_ls_ssu_info login_server_overseer_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME Clean_up 000100 code Clean_up login_server_overseer_ 000100 argl login_server_overseer_ 000102 argp login_server_overseer_ 000104 argx login_server_overseer_ 000105 bc login_server_overseer_ 000106 call_probe_mode login_server_overseer_ 000107 code login_server_overseer_ 000110 debug_mode login_server_overseer_ 000111 entry_type login_server_overseer_ 000112 first_process login_server_overseer_ 000113 info_dir_name login_server_overseer_ 000165 initial_command_line login_server_overseer_ 000247 login_server_info_dir login_server_overseer_ 000321 nargs login_server_overseer_ 000322 pathx login_server_overseer_ 000323 ready_to_listen login_server_overseer_ 000324 sci_ptr login_server_overseer_ 000326 start_up_dir login_server_overseer_ 000400 system_dir_name login_server_overseer_ 000452 logout_msg login_server_overseer_ 000476 condition_info_ptr login_server_overseer_ 000500 ls_ssu_info_ptr login_server_overseer_ 000502 pit_ptr login_server_overseer_ 000514 code Test_dir_path 000515 ent_part Test_dir_path on unit on line 181 000106 cond_name Any_other_handler 000116 auto_condition_info Any_other_handler on unit on line 182 000114 intro Start_response 000146 intro_len Start_response 000147 code Start_response 000150 buffer Start_response 000174 chars_read Start_response 000175 response Start_response 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 call_int_this call_int_other return_mac tra_ext_1 signal_op enable_op shorten_stack ext_entry ext_entry_desc int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. absolute_pathname_ com_err_ condition_interpreter_ continue_to_signal_ cu_$arg_count cu_$arg_ptr cu_$cp expand_pathname_ find_condition_info_ hcs_$status_minf initiate_file_ ioa_$ioa_switch ioa_$rsnpnnl iox_$get_line login_server_info_$test ls_cleanup_connections_ pathname_ probe requote_string_ ssu_$add_request_table ssu_$cpescape_disabled ssu_$create_invocation ssu_$destroy_invocation ssu_$execute_start_up ssu_$listen ssu_$print_message ssu_$set_ec_search_list ssu_$set_ec_suffix ssu_$set_procedure terminate_file_ terminate_process_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$noentry error_table_$too_many_names iox_$error_output iox_$user_input ls_data_$connect_info_dir ls_data_$login_info_dir ls_data_$login_server_info_dir ls_ssu_request_tables_$overseer_requests ssu_et_$subsystem_aborted ssu_request_tables_$standard_requests sys_info$system_control_dir LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 34 000434 167 000453 168 000454 169 000455 170 000461 171 000465 172 000472 173 000476 174 000500 175 000510 176 000514 178 000520 180 000522 181 000523 182 000541 184 000557 189 000561 191 000564 194 000571 199 000574 200 000577 205 000636 211 000644 212 000665 214 000725 217 000733 218 000741 220 000777 226 001004 228 001063 230 001115 232 001144 234 001201 240 001222 244 001227 245 001233 246 001237 247 001244 248 001252 251 001257 252 001262 254 001304 255 001343 257 001345 258 001371 261 001372 263 001431 265 001433 266 001457 269 001460 271 001521 273 001523 274 001547 277 001550 279 001553 284 001610 286 001612 287 001636 290 001637 291 001656 293 001660 294 001704 297 001705 298 001716 299 001727 300 001744 302 001746 303 002001 307 002005 308 002007 310 002024 313 002053 316 002062 319 002066 321 002070 322 002071 323 002072 326 002113 349 002114 352 002122 353 002133 355 002135 356 002164 359 002165 360 002173 361 002177 362 002201 363 002211 364 002215 365 002221 366 002222 368 002224 369 002225 370 002235 371 002253 373 002267 375 002302 378 002314 379 002340 381 002341 383 002342 384 002343 386 002346 387 002372 389 002374 390 002420 392 002421 393 002432 394 002433 396 002435 397 002461 399 002463 400 002507 402 002510 403 002527 404 002547 405 002567 407 002570 408 002614 411 002615 413 002617 415 002620 422 002635 423 002646 425 002650 426 002677 429 002700 431 002703 432 002730 435 002731 436 002751 439 002763 442 002772 444 003016 446 003017 453 003020 454 003023 455 003025 456 003042 458 003051 460 003056 464 003117 467 003137 468 003147 471 003150 474 003215 478 003230 480 003231 485 003237 488 003272 491 003326 494 003327 497 003330 501 003344 503 003346 504 003373 509 003376 511 003404 513 003414 554 003417 516 003420 528 003422 530 003427 531 003430 533 003462 535 003513 536 003536 538 003540 540 003574 543 003602 545 003607 547 003621 549 003633 550 003663 552 003664 556 003670 565 003701 566 003727 ----------------------------------------------------------- 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