COMPILATION LISTING OF SEGMENT project_start_up_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1040.3 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* format: style2 */ 12 project_start_up_: 13 procedure (a_pit_ptr, just_call_listen_, initial_command_line); 14 dcl a_pit_ptr ptr; 15 dcl just_call_listen_ bit (1) aligned; 16 dcl initial_command_line character (*) varying; 17 18 /* 19*Coded 4/79 by B. Margulies; diverged from process_overseer_ 20*Modified 7/11/79 B. Margulies to revert the command_error handler *blush* 21*Modified May 1981 B. Margulies for argument bug fix. 22*Modified 1 August 1981 B. Margolin [sic] & J. Pattin to fix any_other handler. 23*Modified 11 August 1981 by B Margulies for missing rtrim of project dir 24*Modified 12/81 B Margulies for new calling seq, uninitialized initial command line */ 25 26 27 dcl terminate_process_ entry (char (*), ptr); 28 dcl hcs_$fs_search_set_wdir 29 entry (char (*), fixed bin (35)); 30 dcl com_err_ entry () options (variable); 31 dcl ioa_$ioa_switch entry options (variable); 32 33 34 1 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 1 2 1 3 /* Written 05/04/78 by C. D. Tavares */ 1 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 1 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 1 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 1 7 1 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 1 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 1 10 iox_$close entry (pointer, fixed bin (35)), 1 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 1 12 iox_$delete_record entry (pointer, fixed bin (35)), 1 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 1 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 1 15 iox_$err_not_attached entry options (variable), 1 16 iox_$err_not_closed entry options (variable), 1 17 iox_$err_no_operation entry options (variable), 1 18 iox_$err_not_open entry options (variable), 1 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 1 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 1 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 1 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 1 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 1 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 1 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 1 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 1 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 1 28 iox_$propagate entry (pointer), 1 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 1 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 1 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 1 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 1 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 1 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 1 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 1 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 1 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 1 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 1 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 1 40 1 41 dcl (iox_$user_output, 1 42 iox_$user_input, 1 43 iox_$user_io, 1 44 iox_$error_output) external static pointer; 1 45 1 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 35 36 37 38 /* Automatic */ 39 40 dcl saved_cl_intermediary entry variable; 41 dcl project_dir char (168); 42 dcl mme2_handler ptr; 43 dcl saved_mme2_handler ptr; 44 dcl ps_ec_cl character (256) aligned; 45 dcl code fixed bin (35); 46 dcl bc fixed bin (24); 47 dcl entry_type fixed bin (2); 48 dcl first_process bit (1); 49 dcl (first_ec_arg, second_ec_arg) 50 char (12); 51 52 /* Constants */ 53 54 dcl process_type (0:3) character (12) internal static options (constant) 55 initial ("initializer", "interactive", "absentee", "daemon"); 56 dcl down_sc1 char (19) internal static options (constant) init (">system_control_dir"); 57 dcl start_up_dot_ec char (11) internal static options (constant) init ("start_up.ec"); 58 59 /* Entries */ 60 61 dcl cu_$cp entry (ptr, fixed bin (21), fixed bin (35)); 62 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, char (100) aligned); 63 dcl command_query_$set_cp_escape_enable 64 entry (bit (1) aligned, bit (1) aligned); 65 66 dcl hcs_$status_minf entry (char (*), char (*), fixed bin (1), fixed bin (2), fixed bin (24), 67 fixed bin (35)); 68 dcl sct_manager_$set entry (fixed bin, ptr, fixed bin (35)); 69 dcl sct_manager_$get entry (fixed bin, ptr, fixed bin (35)); 70 dcl process_overseer_$mme2_fault_handler_ 71 entry (ptr, char (*), ptr, ptr, bit (1)); 72 dcl cu_$set_cl_intermediary 73 entry (entry); 74 dcl cu_$get_cl_intermediary 75 entry (entry); 76 77 /* Conditions */ 78 79 dcl command_error condition; 80 81 82 /* Builtins */ 83 84 dcl (addr, codeptr, length, null, rtrim, unspec) 85 builtin; 86 2 1 /* BEGIN INCLUDE FILE ... pit.incl.pl1 */ 2 2 2 3 /****^ ******************************************** 2 4* * * 2 5* * Copyright, (C) Honeywell Bull Inc., 1988 * 2 6* * * 2 7* ******************************************** */ 2 8 2 9 /* Requires user_attributes.incl.pl1 */ 2 10 /* Declaration of the Process Inititalization Table (PIT) */ 2 11 2 12 /****^ HISTORY COMMENTS: 2 13* 1) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 2 14* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 2 15* First comment for hcom. Modified 750430 by PG to add terminal_access_class 2 16* Modified 6/20/77 by J. Stern to add term_type_name Modified Feb 1980 by M. 2 17* B. Armstrong to implement multiple rate structures. (UNCA) Modified by R. 2 18* McDonald May 1980 to include page charges, replaces cpu in iod (UNCA) 2 19* Modified by Benson I. Margulies November 1981 do declare pit_$, pit_ptr, 2 20* and unaligned character strings. Modified by E. N. Kittlitz January 1982 2 21* for user_attributes.incl.pl1 changes Modified by E. N. Kittlitz October 2 22* 1982 for request_id. Modified by BIM 1984-09-12 for auth range. The max 2 23* copies the pds, but this is the only home of the min. 2 24* 2) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 2 25* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 2 26* Add the truncate_absout and restarted bits for the 2 27* -truncate .absout SCP 6297, version 3. 2 28* 3) change(86-12-11,GDixon), approve(87-07-16,MCR7741), 2 29* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 30* Changed structure under pit.abs_attributes to use like structure in 2 31* abs_attributes.incl.pl1. This allows the same attributes to be used 2 32* in abs_message_format.incl.pl1 and user_table_entry.incl.pl1 as well as 2 33* this include file. 2 34* 4) change(88-06-03,Parisek), approve(88-06-10,MCR7920), 2 35* audit(88-06-23,Hunter), install(87-07-05,MR12.2-1053): 2 36* Remove "pitmsg" in END comment string. pitmsg.incl.pl1 is no longer a 2 37* name of pit.incl.pl1. 2 38* 5) change(88-07-11,Parisek), approve(88-07-11,MCR7849), 2 39* audit(88-07-03,Lippard), install(88-07-13,MR12.2-1047): 2 40* Removed the ringpad element and added the min_ring & max_ring elements so 2 41* users may access their lowest and/or highest possible login ring value. 2 42* SCP6367. 2 43* END HISTORY COMMENTS */ 2 44 2 45 2 46 /* format: style4 */ 2 47 declare pit_$ bit (36) aligned external static; 2 48 declare pit_ptr pointer; 2 49 2 50 dcl 1 pit aligned based (pit_ptr), 2 51 2 version fixed bin, /* indicates which version of the pit */ 2 52 2 process_type fixed bin, /* initializer, interactive, or absentee process */ 2 53 2 login_responder char (64) unal, /* path name of login responder */ 2 54 2 55 /* All of these are going to be word aligned whether or not they are declared aligned, 2 56* and unaligning them cleans up code in many places */ 2 57 2 58 2 homedir char (64) unal, /* path name of home directory */ 2 59 2 project char (28) unal, /* name of this process' project affiliation */ 2 60 2 account char (32) unal, /* name of account to which this process is charged */ 2 61 2 n_processes fixed bin, /* number of previous processes for this session */ 2 62 2 login_time fixed bin (71), /* clock time at login */ 2 63 2 proc_creation_time fixed bin (71), /* clock time at creation of this process */ 2 64 2 old_proc_cpu fixed bin (71), /* cpu time used by previous processes in this session */ 2 65 2 user_weight fixed bin, /* weight of this process */ 2 66 2 anonymous fixed bin, /* 1 if anonymous user */ 2 67 2 login_name char (28) unal, /* name of user given at login */ 2 68 2 logout_pid bit (36), /* process id of answering service */ 2 69 2 logout_channel fixed bin (71), /* channel for signalling logouts to answering service */ 2 70 2 group char (8) unal, /* party group */ 2 71 2 min_ring fixed bin, /* min ring */ 2 72 2 max_ring fixed bin, /* max ring */ 2 73 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 2 74 2 whox fixed bin, /* this process's index in whotab (or 0) */ 2 75 2 outer_module char (32) unaligned, 2 76 2 pad (2) fixed bin, 2 77 2 dont_call_init_admin bit (1) aligned, /* Call process_overseer_ directly */ 2 78 2 terminal_access_class bit (72) aligned, /* access class of user's terminal */ 2 79 2 dollar_charge float bin, /* Month-to-date expenditure */ 2 80 2 dollar_limit float bin, /* Limit stop on usage */ 2 81 2 shift_limit (0:7) float bin, /* Stops on each shift's usage */ 2 82 2 logins fixed bin, /* Number of logins this month */ 2 83 2 crashes fixed bin, /* Number of sessions crashed */ 2 84 2 interactive (0:7), /* interactive usage by shift */ 2 85 3 charge float bin, /* Total charge */ 2 86 3 xxx fixed bin, 2 87 3 cpu fixed bin (71), /* CPU usage in microseconds */ 2 88 3 core fixed bin (71), /* Memory usage in page-microseconds */ 2 89 3 connect fixed bin (71), /* Connect time in microseconds */ 2 90 3 io_ops fixed bin (71), /* Terminal I/O operations */ 2 91 2 absentee (4), /* Absentee usage by queue */ 2 92 3 charge float bin, /* Total absentee charge */ 2 93 3 jobs fixed bin, /* Number of jobs */ 2 94 3 cpu fixed bin (71), /* CPU usage in microseconds */ 2 95 3 memory fixed bin (71), /* Memory usage in mu */ 2 96 2 iod (4), /* IO Daemon usage, by queue */ 2 97 3 charge float bin, /* Total charge */ 2 98 3 pieces fixed bin, /* Number of requests */ 2 99 3 pad fixed bin (35), 2 100 3 pages fixed bin (35), /* number of pages output */ 2 101 3 lines fixed bin (71), /* Record count */ 2 102 2 devices (16) float bin, /* Usage of attached devices */ 2 103 2 time_last_reset fixed bin (71), /* time last updated the PDT */ 2 104 2 absolute_limit float bin, /* Limit, not reset monthly */ 2 105 2 absolute_spent float bin, /* Spending against this */ 2 106 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 2 107 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 2 108 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number (0= default rates) */ 2 109 2 pad1a fixed bin (27) unsigned unaligned, /* remainder of word */ 2 110 2 request_id fixed bin (71), /* absentee request id */ 2 111 2 authorization_range (2) bit (72) aligned, 2 112 2 pad1 (73) fixed bin, /* extra space */ 2 113 2 charge_type fixed bin, /* device charge type of console */ 2 114 2 term_type_name char (32) unal, /* terminal type name */ 2 115 2 line_type fixed bin, /* line type of user's console */ 2 116 2 tty_type fixed bin, /* old terminal type (obsolete, kept for compatibility) */ 2 117 2 service_type fixed bin, /* type of service console is performing */ 2 118 2 tty_answerback char (4) unaligned, /* original answerback of user's console */ 2 119 2 old_tty char (6), /* (obsolete) attachment name of user's console */ 2 120 2 standby fixed bin, /* 1 if standby user */ 2 121 2 login_line char (120) unal, /* line typed at login */ 2 122 2 cant_bump_until fixed bin (71), /* cannot be preempted until this time (0 for abs) */ 2 123 2 input_seg char (168) unal, /* path name of absentee input file */ 2 124 2 output_seg char (168) unal, /* path name of absentee output file */ 2 125 2 max_cpu_time fixed bin, /* max number of seconds allowed to this absentee proc */ 2 126 2 abs_queue fixed bin, /* absentee queue if absentee, else -1 */ 2 127 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 2 128 2 arg_info_ptr fixed bin (18) unsigned, /* Relative pointer to information on absentee args. */ 2 129 2 old_proc_core fixed bin (71), /* Memory usage by previous processes in this session */ 2 130 2 old_proc_io_ops fixed bin (71), /* I/O operations from previous processes in this session */ 2 131 2 tty char (32) unaligned, /* Attachment name of users channel */ 2 132 2 start_arg_info fixed bin; /* Put absentee args information here. */ 2 133 2 134 2 135 /* Structure to contain information on absentee arguments */ 2 136 dcl 1 arg_info aligned based, 2 137 2 arg_count fixed bin, /* Number of arguments for replacement in absentee segment */ 2 138 2 ln_args fixed bin, /* Length of string containing arguments. */ 2 139 2 arg_lengths (25 refer (arg_info.arg_count)) fixed bin, /* Array of argument lengths */ 2 140 2 args char (128 refer (arg_info.ln_args)) unal; 2 141 /* Args used for replacement in absentee control segment. */ 2 142 2 143 declare PIT_version_3 fixed bin int static options (constant) init (3); 2 144 2 145 /* END INCLUDE FILE ... pit.incl.pl1 */ 87 3 1 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 3 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 3 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 3 8* attribute switches. 3 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 3 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 3 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 3 12* be deleted. 3 13* B) Add constants identifying attributes that can be changed by user at 3 14* login, etc. 3 15* END HISTORY COMMENTS */ 3 16 3 17 3 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 3 19 3 20 /* format: style4 */ 3 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 3 22 (2 administrator bit (1), /* 1 system administrator privileges */ 3 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 3 24 2 nobump bit (1), /* 2 user cannot be bumped */ 3 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 3 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 3 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 3 28* . of same project (distinct from "nobump") */ 3 29 2 nolist bit (1), /* 7 don't list user on "who" */ 3 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 3 31 2 multip bit (1), /* 9 user may have several processes */ 3 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 3 33 2 brief bit (1), /* 11 no login or logout message */ 3 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 3 35 2 vhomedir bit (1), /* 13 user may change homedir */ 3 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 3 37 2 sb_ok bit (1), /* 15 user may be standby */ 3 38 2 pm_ok bit (1), /* 16 user may be primary */ 3 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 3 40 2 daemon bit (1), /* 18 user may login as daemon */ 3 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 3 42 2 no_warning bit (1), /* 20 no warning message */ 3 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 3 44* . in PDT: this user has an individual load control group */ 3 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 3 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 3 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 3 48 2 pad bit (12)) unaligned; 3 49 3 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 3 51 ("none", /* 0 */ 3 52 "administrator", /* 1 */ 3 53 "primary_line", /* 2 */ 3 54 "nobump", /* 3 */ 3 55 "guaranteed_login", /* 4 */ 3 56 "anonymous", /* 5 */ 3 57 "nopreempt", /* 6 */ 3 58 "nolist", /* 7 */ 3 59 "dialok", /* 8 */ 3 60 "multip", /* 9 */ 3 61 "bumping", /* 10 */ 3 62 "brief", /* 11 */ 3 63 "vinitproc", /* 12 */ 3 64 "vhomedir", /* 13 */ 3 65 "nostartup", /* 14 */ 3 66 "no_secondary", /* 15 */ 3 67 "no_prime", /* 16 */ 3 68 "no_eo", /* 17 */ 3 69 "daemon", /* 18 */ 3 70 "", /* 19 vdim OBSOLETE */ 3 71 "no_warning", /* 20 */ 3 72 "igroup", /* 21 */ 3 73 "save_pdir", /* 22 */ 3 74 "disconnect_ok", /* 23 */ 3 75 "save_on_disconnect"); /* 24 */ 3 76 3 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 3 78 ("null", /* 0 */ 3 79 "admin", /* 1 */ 3 80 "", "", /* 2 - 3 */ 3 81 "guar", /* 4 */ 3 82 "anon", /* 5 */ 3 83 "", "", /* 6 - 7 */ 3 84 "dial", /* 8 */ 3 85 "multi_login", /* 9 */ 3 86 "preempting", /* 10 */ 3 87 "", /* 11 */ 3 88 "v_process_overseer", /* 12 */ 3 89 "v_home_dir", /* 13 */ 3 90 "no_start_up", /* 14 */ 3 91 "no_sec", /* 15 */ 3 92 "no_primary", /* 16 */ 3 93 "no_edit_only", /* 17 */ 3 94 "op_login", /* 18 */ 3 95 "", /* 19 */ 3 96 "nowarn", /* 20 */ 3 97 "", "", "", /* 21 - 23 */ 3 98 "save"); /* 24 */ 3 99 3 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 3 101 options(constant) init("000000000010000000010000000000000000"b); 3 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 3 103 3 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 3 105 options(constant) init("000000000010000000010000000000000000"b); 3 106 /* PDT value for (brief, no_warning) is default */ 3 107 3 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 3 109 options(constant) init("000100000110010000010000000000000000"b); 3 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 3 111 4 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 4 2 4 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 4 /* */ 4 5 /* This include file describes the attributes of an absentee job. It is */ 4 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 4 7 /* and PIT.incl.pl1. */ 4 8 /* */ 4 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 10 4 11 /****^ HISTORY COMMENTS: 4 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 4 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 14* Separated abs_attributes from the request structure 4 15* (abs_message_format.incl.pl1) so that the identical structure could be 4 16* used in the ute structure (user_table_entry.incl.pl1). 4 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 4 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 19* Added ABS_ATTRIBUTE_NAMES array. 4 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 4 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 4 22* Added the no_start_up flag. SCP6367 4 23* END HISTORY COMMENTS */ 4 24 4 25 dcl 1 user_abs_attributes aligned based, 4 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 4 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 4 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 4 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 4 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 4 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 4 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 4 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 4 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 4 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 4 36 2 attributes_pad bit (26) unaligned; 4 37 4 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 4 39 "restartable", 4 40 "user_deferred_until_time", 4 41 "proxy", 4 42 "set_bit_cnt", 4 43 "time_in_gmt", 4 44 "user_deferred_indefinitely", 4 45 "secondary_ok", 4 46 "truncate_absout", 4 47 "restarted", 4 48 "no_start_up"); 4 49 4 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 4 51 3 112 3 113 3 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 88 5 1 /* BEGIN INCLUDE FILE static_handlers.incl.pl1 */ 5 2 5 3 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 5 4 5 5 /* HISTORY: 5 6*Written by S. H. Webber, 06/20/75. 5 7*Modified: 5 8*12/15/83 by Benson Margulies: added undefined_pointer_sct_index and 5 9* pgt_sct_index. 5 10*06/11/84 by Lee A. Newcomb: added dm_shutdown_warning_sct_index and 5 11* dm_user_shutdown_sct_index for handling of Data Management 5 12* shutdown. 5 13*08/22/84 by R. Michael Tague: Removed dm_shutdown_warning_sct_index and 5 14* dm_user_shutdown_sct_index. Added 5 15* system_shutdown_scheduled_sct_index and 5 16* dm_shutdown_scheduled_sct_index. 5 17**/ 5 18 5 19 5 20 /****^ HISTORY COMMENTS: 5 21* 1) change(85-11-13,Herbst), approve(87-07-21,MCR7697), 5 22* audit(87-07-21,GDixon), install(87-08-04,MR12.1-1056): 5 23* Add system_message_sct_index. 5 24* END HISTORY COMMENTS */ 5 25 5 26 5 27 dcl ( 5 28 shutdown_sct_index init (0), 5 29 store_sct_index init (1), 5 30 mme1_sct_index init (2), 5 31 fault_tag_1_sct_index init (3), 5 32 timer_runout_sct_index init (4), 5 33 command_sct_index init (5), 5 34 derail_sct_index init (6), 5 35 lockup_sct_index init (7), 5 36 connect_sct_index init (8), 5 37 parity_sct_index init (9), 5 38 illegal_procedure_sct_index init (10), 5 39 op_not_complete_sct_index init (11), 5 40 startup_sct_index init (12), 5 41 ovrflo_sct_index init (13), 5 42 zerodivide_sct_index init (14), 5 43 execute_sct_index init (15), 5 44 seg_fault_error_sct_index init (16), 5 45 page_fault_error_sct_index init (17), 5 46 directed_fault_2_sct_index init (18), 5 47 directed_fault_3_sct_index init (19), 5 48 accessviolation_sct_index init (20), 5 49 mme2_sct_index init (21), 5 50 mme3_sct_index init (22), 5 51 mme4_sct_index init (23), 5 52 linkage_error_sct_index init (24), 5 53 fault_tag_3_sct_index init (25), 5 54 undefined_fault_sct_index init (26), 5 55 trouble_sct_index init (31), 5 56 illegal_opcode_sct_index init (32), 5 57 simfault_000000_sct_index init (33), 5 58 illegal_modifier_sct_index init (34), 5 59 illegal_ring_order_sct_index init (35), 5 60 not_in_execute_bracket_sct_index init (36), 5 61 no_execute_permission_sct_index init (37), 5 62 not_in_read_bracket_sct_index init (38), 5 63 no_read_permission_sct_index init (39), 5 64 not_in_write_bracket_sct_index init (40), 5 65 no_write_permission_sct_index init (41), 5 66 not_a_gate_sct_index init (42), 5 67 not_in_call_bracket_sct_index init (43), 5 68 outward_call_sct_index init (44), 5 69 bad_outward_call_sct_index init (45), 5 70 inward_return_sct_index init (46), 5 71 cross_ring_transfer_sct_index init (47), 5 72 ring_alarm_fault_sct_index init (48), 5 73 am_fault_sct_index init (49), 5 74 out_of_bounds_sct_index init (50), 5 75 fixedoverflow_sct_index init (51), 5 76 overflow_sct_index init (52), 5 77 underflow_sct_index init (53), 5 78 stringsize_sct_index init (54), 5 79 other_illegal_proc_sct_index init (55), 5 80 storage_sct_index init (56), 5 81 packed_pointer_fault_sct_index init (57), 5 82 lot_fault_sct_index init (58), 5 83 isot_fault_sct_index init (59), 5 84 system_packed_pointer_sct_index init (60), 5 85 quit_sct_index init (61), 5 86 alrm_sct_index init (62), 5 87 cput_sct_index init (63), 5 88 record_quota_overflow_sct_index init (64), 5 89 size_sct_index init (65), 5 90 neti_sct_index init (66), 5 91 other_command_sct_index init (67), 5 92 susp_sct_index init (68), 5 93 term_sct_index init (69), 5 94 wkp_sct_index init (70), 5 95 undefined_pointer_sct_index init (71), 5 96 pgt_sct_index init (72), 5 97 system_shutdown_scheduled_sct_index 5 98 init (73), 5 99 dm_shutdown_scheduled_sct_index init (74), 5 100 system_message_sct_index init (75) 5 101 ) fixed bin (17) int static options (constant); 5 102 5 103 /* END INCLUDE FILE static_handlers.incl.pl1 */ 89 90 91 92 initial_command_line = ""; 93 pit_ptr = a_pit_ptr; 94 95 project_dir = ">user_dir_dir>" || rtrim (pit_ptr -> pit.project); 96 97 98 99 /* the handler is saved to make the code independent of the representation 100*of a nonexistant handler. It is checked at all so that project start ups can 101*set up a handler that doesnt call debug */ 102 103 call sct_manager_$get (mme2_sct_index, saved_mme2_handler, (0)); 104 105 call hcs_$status_minf (project_dir, "project_start_up.ec", 1, entry_type, bc, code); 106 if ^(entry_type = 1 & code = 0) 107 then call abort_handler (rtrim (project_dir) || ">project_start_up.ec was not found or is not a segment.", code) 108 ; 109 110 111 call hcs_$fs_search_set_wdir (project_dir, code); 112 if code ^= 0 113 then call abort_handler ("Could not set working directory to project directory.", code); 114 115 first_process = (pit_ptr -> pit.n_processes = 1); /* see if new_proc or login */ 116 117 if first_process 118 then first_ec_arg = "login"; 119 else first_ec_arg = "new_proc"; /* since the strings arent quoted, the leading and trailing spaced shouldnt bother 120*the exec_com */ 121 122 second_ec_arg = process_type (pit_ptr -> pit.process_type); 123 124 /* set up the standard any other handler. use make_entry with null refptr 125* so that project can have own default error handler */ 126 127 call cu_$get_cl_intermediary (saved_cl_intermediary); 128 call cu_$set_cl_intermediary (error_handler); 129 130 on command_error call com_err_handler; /* die on com_err */ 131 132 ps_ec_cl = 133 "exec_com " || rtrim (project_dir) || ">project_start_up " || rtrim (first_ec_arg) || " " 134 || rtrim (second_ec_arg); 135 call cu_$cp (addr (ps_ec_cl), length (rtrim (ps_ec_cl)), (0)); 136 137 revert command_error; 138 139 call cu_$set_cl_intermediary (saved_cl_intermediary); 140 141 if pit_ptr -> pit.at.vinitproc 142 then call hcs_$fs_search_set_wdir (pit_ptr -> pit.homedir, (0)); 143 144 /* enable ".."*/ 145 call command_query_$set_cp_escape_enable ("1"b, (""b)); 146 147 148 149 if ^pit_ptr -> pit.at.nostartup 150 then do; /* start_up is allowed */ 151 initial_command_line = "exec_com "; 152 153 /* First try homedir */ 154 155 call hcs_$status_minf (pit.homedir, start_up_dot_ec, 1, entry_type, bc, code); 156 157 /* note that we assume any error is cause to look elsewhere to give best chance 158* of success */ 159 160 if code = 0 & entry_type = 1 161 then initial_command_line = initial_command_line || rtrim (pit.homedir); 162 163 /* now try projectdir */ 164 165 else do; 166 call hcs_$status_minf (project_dir, start_up_dot_ec, 1, entry_type, bc, code); 167 168 if code = 0 & entry_type = 1 169 then initial_command_line = initial_command_line || rtrim (project_dir); 170 else do; 171 call hcs_$status_minf (down_sc1, start_up_dot_ec, 1, entry_type, bc, code); 172 if code = 0 & entry_type = 1 173 then initial_command_line = initial_command_line || rtrim (down_sc1); 174 else do; 175 initial_command_line = ""; 176 goto no_start_up; 177 end; 178 end; 179 end; 180 181 initial_command_line = initial_command_line || ">"; 182 initial_command_line = initial_command_line || start_up_dot_ec; 183 /* the piecemeal assemble makes faster code */ 184 185 initial_command_line = initial_command_line || " " || first_ec_arg; 186 187 initial_command_line = initial_command_line || " " || second_ec_arg; 188 end; /* the block that checked pit.nostart*/ 189 190 no_start_up: /* set up the mme2 handler */ 191 call sct_manager_$get (mme2_sct_index, mme2_handler, (0)); 192 if mme2_handler = saved_mme2_handler 193 then call sct_manager_$set (mme2_sct_index, codeptr (process_overseer_$mme2_fault_handler_), code); 194 195 just_call_listen_ = "1"b; 196 197 return; 198 199 200 com_err_handler: 201 procedure; 6 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 6 2 /* format: style2 */ 6 3 6 4 declare condition_info_header_ptr 6 5 pointer; 6 6 declare 1 condition_info_header 6 7 aligned based (condition_info_header_ptr), 6 8 2 length fixed bin, /* length in words of this structure */ 6 9 2 version fixed bin, /* version number of this structure */ 6 10 2 action_flags aligned, /* tell handler how to proceed */ 6 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 6 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 6 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 6 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 6 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 6 16 3 pad bit (32) unaligned, 6 17 2 info_string char (256) varying, /* may contain printable message */ 6 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 6 19 6 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 202 7 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 7 2 7 3 /* Structure for find_condition_info_. 7 4* 7 5* Written 1-Mar-79 by M. N. Davidoff. 7 6**/ 7 7 7 8 /* automatic */ 7 9 7 10 declare condition_info_ptr pointer; 7 11 7 12 /* based */ 7 13 7 14 declare 1 condition_info aligned based (condition_info_ptr), 7 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 7 16 2 version fixed binary, /* Must be 1 */ 7 17 2 condition_name char (32) varying, /* name of condition */ 7 18 2 info_ptr pointer, /* pointer to the condition data structure */ 7 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 7 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 7 21 2 flags unaligned, 7 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 7 23 3 pad1 bit (35), 7 24 2 pad2 bit (36), 7 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 7 26 2 pad3 (4) bit (36); 7 27 7 28 /* internal static */ 7 29 7 30 declare condition_info_version_1 7 31 fixed binary internal static options (constant) initial (1); 7 32 7 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 203 8 1 /* BEGIN INCLUDE FILE com_af_error_info.incl.pl1 April 81 BIM */ 8 2 /* format: style2 */ 8 3 8 4 /* info structures for command error and active function error */ 8 5 /* The include file condition_info_header must be included to use this file */ 8 6 8 7 declare com_af_error_info_ptr pointer; 8 8 declare 1 com_af_error_info aligned based (com_af_error_info_ptr), 8 9 2 header aligned like condition_info_header, 8 10 2 name_ptr ptr, 8 11 2 name_lth fixed bin, 8 12 2 errmess_ptr ptr, 8 13 2 errmess_lth fixed bin (21), 8 14 2 max_errmess_lth fixed bin (21), 8 15 2 print_sw bit (1); /* set this to inform com_err_ that the msg has been printed */ 8 16 8 17 declare com_af_error_info_version_3 internal static options (constant) init (3); 8 18 8 19 /* END INCLUDE FILE com_af_error_info */ 204 205 206 declare 1 CI aligned like condition_info; 207 declare find_condition_info_ entry (pointer, pointer, fixed binary (35)); 208 declare code fixed bin (35); 209 210 unspec (CI) = ""b; 211 212 call find_condition_info_ (null (), addr (CI), code); 213 if code ^= 0 214 then call abort_handler ("Can't get error message.", code); 215 call ioa_$ioa_switch (iox_$error_output, "^a", CI.info_ptr -> com_af_error_info.info_string); 216 call abort_handler ("Error in project start up.", 0); 217 end; 218 219 abort_handler: 220 proc (reason, code) options (non_quick); 221 222 dcl code fixed bin (35); 223 dcl reason char (*); 224 dcl 1 term_structure aligned, 225 2 version fixed bin init (0), 226 2 status_code fixed bin (35); 227 228 status_code = code; 229 call ioa_$ioa_switch (iox_$error_output, reason); 230 call terminate_process_ ("init_error", addr (term_structure)); 231 end; 232 233 error_handler: 234 entry; 235 call abort_handler ("Error in project_start_up ec.", 0); 236 237 end project_start_up_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0935.4 project_start_up_.pl1 >special_ldd>install>MR12.2-1047>project_start_up_.pl1 35 1 05/23/83 0916.6 iox_dcls.incl.pl1 >ldd>include>iox_dcls.incl.pl1 87 2 07/13/88 0930.5 pit.incl.pl1 >special_ldd>install>MR12.2-1047>pit.incl.pl1 88 3 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 3-112 4 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 89 5 08/06/87 0913.5 static_handlers.incl.pl1 >ldd>include>static_handlers.incl.pl1 202 6 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 203 7 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 204 8 06/22/81 1815.3 com_af_error_info.incl.pl1 >ldd>include>com_af_error_info.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. CI 000106 automatic structure level 1 dcl 206 set ref 210* 212 212 a_pit_ptr parameter pointer dcl 14 ref 12 93 addr builtin function dcl 84 ref 135 135 212 212 230 230 at 110 based structure level 2 dcl 2-50 bc 000263 automatic fixed bin(24,0) dcl 46 set ref 105* 155* 166* 171* code parameter fixed bin(35,0) dcl 222 in procedure "abort_handler" ref 219 228 code 000262 automatic fixed bin(35,0) dcl 45 in procedure "project_start_up_" set ref 105* 106 106* 111* 112 112* 155* 160 166* 168 171* 172 192* code 000140 automatic fixed bin(35,0) dcl 208 in procedure "com_err_handler" set ref 212* 213 213* codeptr builtin function dcl 84 ref 192 192 com_af_error_info based structure level 1 dcl 8-8 command_error 000274 stack reference condition dcl 79 ref 130 137 command_query_$set_cp_escape_enable 000022 constant entry external dcl 63 ref 145 condition_info based structure level 1 dcl 7-14 condition_info_header based structure level 1 dcl 6-6 cu_$cp 000020 constant entry external dcl 61 ref 135 cu_$get_cl_intermediary 000036 constant entry external dcl 74 ref 127 cu_$set_cl_intermediary 000034 constant entry external dcl 72 ref 128 139 down_sc1 000004 constant char(19) initial packed unaligned dcl 56 set ref 171* 172 entry_type 000264 automatic fixed bin(2,0) dcl 47 set ref 105* 106 155* 160 166* 168 171* 172 find_condition_info_ 000040 constant entry external dcl 207 ref 212 first_ec_arg 000266 automatic char(12) packed unaligned dcl 49 set ref 117* 119* 132 185 first_process 000265 automatic bit(1) packed unaligned dcl 48 set ref 115* 117 hcs_$fs_search_set_wdir 000012 constant entry external dcl 28 ref 111 141 hcs_$status_minf 000024 constant entry external dcl 66 ref 105 155 166 171 header based structure level 2 dcl 8-8 homedir 22 based char(64) level 2 packed packed unaligned dcl 2-50 set ref 141* 155* 160 info_ptr 14 000106 automatic pointer level 2 dcl 206 set ref 215 info_string 3 based varying char(256) level 3 dcl 8-8 set ref 215* initial_command_line parameter varying char dcl 16 set ref 12 92* 151* 160* 160 168* 168 172* 172 175* 181* 181 182* 182 185* 185 187* 187 ioa_$ioa_switch 000014 constant entry external dcl 31 ref 215 229 iox_$error_output 000016 external static pointer dcl 1-41 set ref 215* 229* just_call_listen_ parameter bit(1) dcl 15 set ref 12 195* length builtin function dcl 84 ref 135 135 mme2_handler 000156 automatic pointer dcl 42 set ref 190* 192 mme2_sct_index 000000 constant fixed bin(17,0) initial dcl 5-27 set ref 103* 190* 192* n_processes 61 based fixed bin(17,0) level 2 dcl 2-50 ref 115 nostartup 110(13) based bit(1) level 3 packed packed unaligned dcl 2-50 ref 149 null builtin function dcl 84 ref 212 212 pit based structure level 1 dcl 2-50 pit_ptr 000302 automatic pointer dcl 2-48 set ref 93* 95 115 122 141 141 149 155 160 process_overseer_$mme2_fault_handler_ 000032 constant entry external dcl 70 ref 192 192 process_type 000011 constant char(12) initial array packed unaligned dcl 54 in procedure "project_start_up_" ref 122 process_type 1 based fixed bin(17,0) level 2 in structure "pit" dcl 2-50 in procedure "project_start_up_" ref 122 project 42 based char(28) level 2 packed packed unaligned dcl 2-50 ref 95 project_dir 000104 automatic char(168) packed unaligned dcl 41 set ref 95* 105* 106 111* 132 166* 168 ps_ec_cl 000162 automatic char(256) dcl 44 set ref 132* 135 135 135 135 reason parameter char packed unaligned dcl 223 set ref 219 229* rtrim builtin function dcl 84 ref 95 106 132 132 132 135 135 160 168 172 saved_cl_intermediary 000100 automatic entry variable dcl 40 set ref 127* 139* saved_mme2_handler 000160 automatic pointer dcl 43 set ref 103* 192 sct_manager_$get 000030 constant entry external dcl 69 ref 103 190 sct_manager_$set 000026 constant entry external dcl 68 ref 192 second_ec_arg 000271 automatic char(12) packed unaligned dcl 49 set ref 122* 132 187 start_up_dot_ec 000001 constant char(11) initial packed unaligned dcl 57 set ref 155* 166* 171* 182 status_code 1 000100 automatic fixed bin(35,0) level 2 dcl 224 set ref 228* term_structure 000100 automatic structure level 1 dcl 224 set ref 230 230 terminate_process_ 000010 constant entry external dcl 27 ref 230 unspec builtin function dcl 84 set ref 210* user_abs_attributes based structure level 1 dcl 4-25 user_attributes based structure level 1 dcl 3-21 version 000100 automatic fixed bin(17,0) initial level 2 dcl 224 set ref 224* vinitproc 110(11) based bit(1) level 3 packed packed unaligned dcl 2-50 ref 141 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 4-38 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 3-77 PIT_version_3 internal static fixed bin(17,0) initial dcl 2-143 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 3-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 3-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 3-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 3-50 accessviolation_sct_index internal static fixed bin(17,0) initial dcl 5-27 alrm_sct_index internal static fixed bin(17,0) initial dcl 5-27 am_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 arg_info based structure level 1 dcl 2-136 bad_outward_call_sct_index internal static fixed bin(17,0) initial dcl 5-27 com_af_error_info_ptr automatic pointer dcl 8-7 com_af_error_info_version_3 internal static fixed bin(17,0) initial dcl 8-17 com_err_ 000000 constant entry external dcl 30 command_sct_index internal static fixed bin(17,0) initial dcl 5-27 condition_info_header_ptr automatic pointer dcl 6-4 condition_info_ptr automatic pointer dcl 7-10 condition_info_version_1 internal static fixed bin(17,0) initial dcl 7-30 connect_sct_index internal static fixed bin(17,0) initial dcl 5-27 convert_status_code_ 000000 constant entry external dcl 62 cput_sct_index internal static fixed bin(17,0) initial dcl 5-27 cross_ring_transfer_sct_index internal static fixed bin(17,0) initial dcl 5-27 derail_sct_index internal static fixed bin(17,0) initial dcl 5-27 directed_fault_2_sct_index internal static fixed bin(17,0) initial dcl 5-27 directed_fault_3_sct_index internal static fixed bin(17,0) initial dcl 5-27 dm_shutdown_scheduled_sct_index internal static fixed bin(17,0) initial dcl 5-27 execute_sct_index internal static fixed bin(17,0) initial dcl 5-27 fault_tag_1_sct_index internal static fixed bin(17,0) initial dcl 5-27 fault_tag_3_sct_index internal static fixed bin(17,0) initial dcl 5-27 fixedoverflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_modifier_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_opcode_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_procedure_sct_index internal static fixed bin(17,0) initial dcl 5-27 illegal_ring_order_sct_index internal static fixed bin(17,0) initial dcl 5-27 inward_return_sct_index internal static fixed bin(17,0) initial dcl 5-27 iox_$attach_loud 000000 constant entry external dcl 1-8 iox_$attach_name 000000 constant entry external dcl 1-8 iox_$attach_ptr 000000 constant entry external dcl 1-8 iox_$close 000000 constant entry external dcl 1-8 iox_$close_file 000000 constant entry external dcl 1-8 iox_$control 000000 constant entry external dcl 1-8 iox_$delete_record 000000 constant entry external dcl 1-8 iox_$destroy_iocb 000000 constant entry external dcl 1-8 iox_$detach 000000 constant entry external dcl 1-8 iox_$detach_iocb 000000 constant entry external dcl 1-8 iox_$err_no_operation 000000 constant entry external dcl 1-8 iox_$err_not_attached 000000 constant entry external dcl 1-8 iox_$err_not_closed 000000 constant entry external dcl 1-8 iox_$err_not_open 000000 constant entry external dcl 1-8 iox_$find_iocb 000000 constant entry external dcl 1-8 iox_$find_iocb_n 000000 constant entry external dcl 1-8 iox_$get_chars 000000 constant entry external dcl 1-8 iox_$get_line 000000 constant entry external dcl 1-8 iox_$look_iocb 000000 constant entry external dcl 1-8 iox_$modes 000000 constant entry external dcl 1-8 iox_$move_attach 000000 constant entry external dcl 1-8 iox_$open 000000 constant entry external dcl 1-8 iox_$open_file 000000 constant entry external dcl 1-8 iox_$position 000000 constant entry external dcl 1-8 iox_$propagate 000000 constant entry external dcl 1-8 iox_$put_chars 000000 constant entry external dcl 1-8 iox_$read_key 000000 constant entry external dcl 1-8 iox_$read_length 000000 constant entry external dcl 1-8 iox_$read_record 000000 constant entry external dcl 1-8 iox_$rewrite_record 000000 constant entry external dcl 1-8 iox_$seek_key 000000 constant entry external dcl 1-8 iox_$user_input external static pointer dcl 1-41 iox_$user_io external static pointer dcl 1-41 iox_$user_output external static pointer dcl 1-41 iox_$write_record 000000 constant entry external dcl 1-8 isot_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 linkage_error_sct_index internal static fixed bin(17,0) initial dcl 5-27 lockup_sct_index internal static fixed bin(17,0) initial dcl 5-27 lot_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 mme1_sct_index internal static fixed bin(17,0) initial dcl 5-27 mme3_sct_index internal static fixed bin(17,0) initial dcl 5-27 mme4_sct_index internal static fixed bin(17,0) initial dcl 5-27 neti_sct_index internal static fixed bin(17,0) initial dcl 5-27 no_execute_permission_sct_index internal static fixed bin(17,0) initial dcl 5-27 no_read_permission_sct_index internal static fixed bin(17,0) initial dcl 5-27 no_write_permission_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_a_gate_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_call_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_execute_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_read_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 not_in_write_bracket_sct_index internal static fixed bin(17,0) initial dcl 5-27 op_not_complete_sct_index internal static fixed bin(17,0) initial dcl 5-27 other_command_sct_index internal static fixed bin(17,0) initial dcl 5-27 other_illegal_proc_sct_index internal static fixed bin(17,0) initial dcl 5-27 out_of_bounds_sct_index internal static fixed bin(17,0) initial dcl 5-27 outward_call_sct_index internal static fixed bin(17,0) initial dcl 5-27 overflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 ovrflo_sct_index internal static fixed bin(17,0) initial dcl 5-27 packed_pointer_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 page_fault_error_sct_index internal static fixed bin(17,0) initial dcl 5-27 parity_sct_index internal static fixed bin(17,0) initial dcl 5-27 pgt_sct_index internal static fixed bin(17,0) initial dcl 5-27 pit_$ external static bit(36) dcl 2-47 quit_sct_index internal static fixed bin(17,0) initial dcl 5-27 record_quota_overflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 ring_alarm_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 seg_fault_error_sct_index internal static fixed bin(17,0) initial dcl 5-27 shutdown_sct_index internal static fixed bin(17,0) initial dcl 5-27 simfault_000000_sct_index internal static fixed bin(17,0) initial dcl 5-27 size_sct_index internal static fixed bin(17,0) initial dcl 5-27 startup_sct_index internal static fixed bin(17,0) initial dcl 5-27 storage_sct_index internal static fixed bin(17,0) initial dcl 5-27 store_sct_index internal static fixed bin(17,0) initial dcl 5-27 stringsize_sct_index internal static fixed bin(17,0) initial dcl 5-27 susp_sct_index internal static fixed bin(17,0) initial dcl 5-27 system_message_sct_index internal static fixed bin(17,0) initial dcl 5-27 system_packed_pointer_sct_index internal static fixed bin(17,0) initial dcl 5-27 system_shutdown_scheduled_sct_index internal static fixed bin(17,0) initial dcl 5-27 term_sct_index internal static fixed bin(17,0) initial dcl 5-27 timer_runout_sct_index internal static fixed bin(17,0) initial dcl 5-27 trouble_sct_index internal static fixed bin(17,0) initial dcl 5-27 undefined_fault_sct_index internal static fixed bin(17,0) initial dcl 5-27 undefined_pointer_sct_index internal static fixed bin(17,0) initial dcl 5-27 underflow_sct_index internal static fixed bin(17,0) initial dcl 5-27 wkp_sct_index internal static fixed bin(17,0) initial dcl 5-27 zerodivide_sct_index internal static fixed bin(17,0) initial dcl 5-27 NAMES DECLARED BY EXPLICIT CONTEXT. abort_handler 001561 constant entry internal dcl 219 ref 106 112 213 216 235 com_err_handler 001442 constant entry internal dcl 200 ref 130 error_handler 001414 constant entry external dcl 233 ref 128 128 no_start_up 001352 constant label dcl 190 ref 176 project_start_up_ 000175 constant entry external dcl 12 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2074 2136 1644 2104 Length 2532 1644 42 357 230 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME project_start_up_ 249 external procedure is an external procedure. on unit on line 130 136 on unit com_err_handler internal procedure shares stack frame of on unit on line 130. abort_handler 90 internal procedure is called during a stack extension, and is declared options(non_quick). STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME abort_handler 000100 term_structure abort_handler on unit on line 130 000106 CI com_err_handler 000140 code com_err_handler project_start_up_ 000100 saved_cl_intermediary project_start_up_ 000104 project_dir project_start_up_ 000156 mme2_handler project_start_up_ 000160 saved_mme2_handler project_start_up_ 000162 ps_ec_cl project_start_up_ 000262 code project_start_up_ 000263 bc project_start_up_ 000264 entry_type project_start_up_ 000265 first_process project_start_up_ 000266 first_ec_arg project_start_up_ 000271 second_ec_arg project_start_up_ 000302 pit_ptr project_start_up_ 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_desc call_int_other_desc return_mac enable_op shorten_stack ext_entry ext_entry_desc int_entry int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. command_query_$set_cp_escape_enable cu_$cp cu_$get_cl_intermediary cu_$set_cl_intermediary find_condition_info_ hcs_$fs_search_set_wdir hcs_$status_minf ioa_$ioa_switch process_overseer_$mme2_fault_handler_ sct_manager_$get sct_manager_$set terminate_process_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. iox_$error_output LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 12 000171 92 000210 93 000213 95 000216 103 000244 105 000260 106 000322 111 000371 112 000407 115 000430 117 000435 119 000442 122 000445 127 000456 128 000465 130 000500 132 000516 135 000633 137 000664 139 000665 141 000674 145 000716 149 000733 151 000737 155 000751 160 001010 166 001045 168 001104 171 001140 172 001177 175 001233 176 001236 181 001237 182 001250 185 001262 187 001315 188 001351 190 001352 192 001366 195 001407 197 001412 233 001413 235 001421 237 001441 200 001442 210 001443 212 001446 213 001465 215 001512 216 001536 217 001557 219 001560 224 001574 228 001575 229 001600 230 001614 231 001637 ----------------------------------------------------------- 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