COMPILATION LISTING OF SEGMENT initialize_process_ 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.7 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 /****^ HISTORY COMMENTS: 15* 1) change(85-11-27,Herbst), approve(87-07-23,MCR7697), 16* audit(87-07-23,GDixon), install(87-08-04,MR12.1-1055): 17* Added static handler for system_message_. 18* 2) change(86-01-17,Swenson), approve(86-07-23,MCR7444), audit(86-07-24,Ex), 19* install(86-08-06,MR12.0-1117): 20* Changed to use the error code from the original iox_ call during stream 21* attachment, rather than the one from the ios_ call, in the process 22* termination structure. 23* END HISTORY COMMENTS */ 24 25 /* format: style2 */ 26 27 /* This is the first user ring program to run in an ordinary process, 28* be it interactive, absentee, or daemon. It is responsable for 29* 30* 1) Setting up iox_. 31* 2) Setting up the pl/1 runtime, by establishing the correct 32* condition handlers. 33* 3) Setting up timer manager for the current ring. 34* 4) finding and calling the process overseer. 35* 36* When entered through the main entrypoint, a minimal stack frame is 37* established from which the process overseer is called. 38* 39* 40* Last Modified (date and reason): 41* 42* 43*-- Ancient History -- 44* 45* Initial Coding 8/14/74 by S. Webber from real_init_admin_ of that time 46* 7/1/75 by S. Barr to convert to iox_. 47* 7/15/75 by S.Webber to add calls to set up static handlers. 48* 11/05/75 by R. Bratt for isot fault 49* 06/07/77 by M. Weaver to delete isot fault 50* 08/27/77 by S. Webber to add term handler 51* 01/09/79 by C. Hornig to remove tw_ to tty_ conversion 52* 03/05/79 by B. Margulies to remove restriction on pit pointers and to 53* establish the working directory 54* 04/15/81 by B. Margulies for new iox initialization. 55* 1 July 1981 by B. Margulies for pl1 static handlers. 56* 57*-- Modern History -- 58* 59* November 1981 by Benson I. Margulies 60* absentee special cases -> abs_io_ 61* default handler setup <- process overseer 62* the rest from user_real_init_admin_. 63* 06/28/84 by Lee A. Newcomb: added static handlers for 64* dm_shutdown_warning_ and dm_user_shutdown_ IPS', moved 65* all include files to the end, and put all PL/I entities 66* in the main proc (e.g., conditions and builtins). 67* 07/22/84 by R. Michael Tague: Changed the entry names of the two 68* Data Management static handlers. 69* 08/22/84 by R. Michael Tague: Removed the static handlers for 70* dm_shutdown_warning_ and dm_user_shutdown_. Added static 71* handlers for system_shutdown_scheduled_ and 72* dm_shutdown_scheduled_. 73* 10/05/84 by Steve Herbst: Changed to use absentee_listen_ instead of 74* listen_ for an absentee process. 75**/ 76 77 initialize_process_: 78 procedure; 79 80 81 declare listener entry (character (*) varying) variable; 82 declare an_entry entry variable; 83 declare process_overseer entry (pointer, bit (1) aligned, character (*) varying) variable; 84 declare default_handler entry variable; 85 declare pit_pointer pointer; 86 declare code fixed bin (35); 87 declare wdir_code fixed bin (35); 88 declare initial_command_line character (256) varying; 89 declare requested_call_to_listen_ 90 bit (1) aligned; 91 declare absentee_listen_ entry (character (*) varying); 92 declare com_err_ entry options (variable); 93 declare listen_ entry (character (*) var); 94 declare hcs_$fs_search_set_wdir 95 entry (char (*), fixed bin (35)); 96 declare system_message_handler_ 97 entry (); 98 99 declare error_table_$termination_requested 100 fixed bin (35) ext static; 101 102 declare any_other condition; 103 dcl (addr, baseptr, length, null, pointer, substr) 104 builtin; 105 106 on any_other call primitive_handler; 107 108 code = 0; 109 110 call get_pit_pointer (pit_pointer, code); 111 if code ^= 0 112 then call terminate ("init_error", "Can't find [pd]>pit.", code); 113 114 wdir_code = 0; 115 if pit_pointer -> pit.at.vinitproc 116 then call hcs_$fs_search_set_wdir (pit_pointer -> pit.homedir, wdir_code); 117 118 call find_default_handler (default_handler, code); 119 if code ^= 0 120 then call terminate ("init_error", "Can't find default_error_handler_$wall", code); 121 122 on any_other call default_handler; 123 124 call establish_static_handlers (code); 125 if code ^= 0 126 then call terminate ("init_error", "Can't establish static handlers", code); 127 128 call init_iox (pit_pointer, code); 129 if code ^= 0 130 then call terminate ("io_attach", "Can't initialize I/O system.", code); 131 132 call check_wdir_code; /* We can talk now, so print the error */ 133 134 call find_process_overseer (pit_pointer, process_overseer, code); 135 if code ^= 0 136 then call terminate ("no_initproc", "Could not find process overseer.", code); 137 138 requested_call_to_listen_ = "0"b; 139 call process_overseer (pit_pointer, requested_call_to_listen_, initial_command_line); 140 if requested_call_to_listen_ 141 then do; 142 call enable_quits; 143 if ^pit_pointer -> pit.at.vinitproc 144 then do; 145 an_entry = listen_; /* find & initiate this before wdir=homedir */ 146 an_entry = absentee_listen_; /* find & initiate this too */ 147 call hcs_$fs_search_set_wdir (pit_pointer -> pit.homedir, wdir_code); 148 call check_wdir_code; 149 end; 150 if pit_pointer -> pit.abs_queue = -1 151 then /* interactive */ 152 listener = listen_; 153 else listener = absentee_listen_; 154 155 call listener (initial_command_line); 156 end; 157 158 /* We should never return here */ 159 call terminate ("fatal_error", "Process overseer or listener returned.", error_table_$termination_requested); 160 161 worker_procedures: /* Never Call at this entrypoint */ 162 procedure options (non_quick); 163 164 /* We declare all things used by the entries in this internal proc here */ 165 /* (Note: some/many of these may be better off in the main proc, LAN */ 166 167 /* Automatic */ 168 dcl ( 169 io_module character (32), 170 po_ptr ptr 171 ) automatic; 172 173 /* Automatic Structures */ 174 dcl 1 term_structure aligned automatic, /* action to take upon process termination */ 175 2 version fixed bin init (0),/* version of structure */ 176 2 status_code fixed bin (35); /* fatal error code */ 177 178 /* Entries */ 179 dcl cu_$make_entry_value entry (ptr, entry); 180 dcl dm_misc_util_$shutdown_handler 181 entry (); 182 dcl find_command_$fc_no_message 183 entry (ptr, fixed bin, ptr, fixed bin (35)); 184 dcl get_pdir_ entry () returns (char (168)); 185 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, 186 fixed bin (35)); 187 dcl hcs_$make_entry entry (ptr, char (*), char (*), entry, fixed bin (35)); 188 dcl ioa_ entry options (variable); 189 dcl iox_$init_standard_iocbs 190 entry; 191 dcl pl1_resignaller_$establish_handlers 192 entry; 193 dcl sct_manager_$set entry (fixed bin, entry, fixed bin (35)); 194 dcl sus_signal_handler_ entry; 195 dcl system_shutdown_handler_ 196 entry (); 197 dcl term_signal_handler_ entry; 198 dcl terminate_process_ ext entry (char (*), ptr); 199 dcl timer_manager_$alarm_interrupt 200 entry; 201 dcl timer_manager_$cpu_time_interrupt 202 entry; 203 dcl wkp_signal_handler_ entry; 204 205 /* Entry (variable) */ 206 dcl entry entry variable; 207 dcl po entry variable; /* for find_process_overseer */ 208 209 /* Parameters */ 210 dcl ( 211 code fixed bin (35), 212 fatal_code fixed bin (35), /* code indicating fatal error */ 213 pit_ptr pointer, 214 real_why character (*), /* debugging info on stack */ 215 sys_why char (*) /* arg for terminate_process */ 216 ) parameter; 217 218 find_default_handler: 219 entry (entry, code); 220 221 call hcs_$make_entry (null (), "default_error_handler_", "wall", entry, code); 222 return; 223 224 establish_static_handlers: 225 entry (code); 226 227 code = 0; 228 call pl1_resignaller_$establish_handlers; 229 call sct_manager_$set (cput_sct_index, timer_manager_$cpu_time_interrupt, (0)); 230 call sct_manager_$set (alrm_sct_index, timer_manager_$alarm_interrupt, (0)); 231 call sct_manager_$set (term_sct_index, term_signal_handler_, (0)); 232 call sct_manager_$set (wkp_sct_index, wkp_signal_handler_, (0)); 233 call sct_manager_$set (susp_sct_index, sus_signal_handler_, (0)); 234 call sct_manager_$set (system_shutdown_scheduled_sct_index, system_shutdown_handler_, (0)); 235 call sct_manager_$set (dm_shutdown_scheduled_sct_index, dm_misc_util_$shutdown_handler, (0)); 236 call sct_manager_$set (system_message_sct_index, system_message_handler_, (0)); 237 return; 238 239 get_pit_pointer: 240 entry (pit_ptr, code); 241 242 243 pit_ptr = null (); 244 code = 0; 245 246 /* We leave the pit in the address space to avoid the need for multiple 247* initiations/static pointers in user info */ 248 249 call hcs_$initiate (get_pdir_ (), "pit", "pit_", (0), (0), pit_ptr, code); 250 /* get pointer to the PIT */ 251 if pit_ptr ^= null () 252 then code = 0; 253 return; 254 255 init_iox: 256 entry (pit_ptr, code); 257 258 call iox_$init_standard_iocbs; /* will terminate process if it cant do */ 259 260 code = 0; 261 io_module = pit_ptr -> pit.outer_module; /* Get DIM name */ 262 263 call iox_$attach_ptr (iox_$user_io, io_module || " -login_channel", null (), code); 264 if code = 0 265 then call iox_$open (iox_$user_io, Stream_input_output, "0"b, code); 266 return; 267 268 find_process_overseer: 269 entry (pit_ptr, po, code); 270 271 /* Use find_command_ cause cv_entry is not on the tape */ 272 273 call find_command_$fc_no_message (addr (pit_ptr -> pit.login_responder), 274 length (pit_ptr -> pit.login_responder), po_ptr, code); 275 if code ^= 0 276 then do; 277 call ioa_ ("Could not find specified initial procedure: ^a", pit_ptr -> pit.login_responder); 278 return; 279 end; 280 call cu_$make_entry_value (po_ptr, po); 281 return; 282 283 terminate: 284 entry (sys_why, real_why, fatal_code); 285 286 term_structure.status_code = fatal_code; /* transmit code to terminate routine */ 287 call terminate_process_ (sys_why, addr (term_structure)); 288 /* terminate the process */ 289 290 /* terminate must fall through to enable_quits */ 291 292 enable_quits: 293 entry; 294 call iox_$control (iox_$user_io, "quit_enable", null (), (0)); 295 return; 296 end worker_procedures; 297 298 primitive_handler: 299 procedure options (non_quick); /* Before DEH */ 300 301 dcl find_condition_info_ entry (pointer, pointer, fixed binary (35)); 302 dcl 1 CI aligned like condition_info; 303 dcl code fixed bin (35); 304 305 on any_other call terminate_minus_2; 306 307 call find_condition_info_ (null (), addr (CI), code); 308 if code ^= 0 309 then call terminate ("init_error", "Mysterious Fault", code); 310 311 if CI.mc_ptr ^= null () 312 then call terminate ("init_error", (CI.condition_name), (CI.mc_ptr -> mc.errcode)); 313 else call terminate ("init_error", (CI.condition_name), (0)); 314 call terminate_minus_2; /* What else do to? */ 315 316 end primitive_handler; 317 318 terminate_minus_2: 319 procedure options (non_quick); 320 321 dcl sptr pointer; 322 dcl shiva bit (36) aligned based (sptr); 323 /* "... death, the destroyer of worlds..." */ 324 325 sptr = pointer (baseptr (-2), -2); 326 shiva = "666666"b3; /* A beastly fate */ 327 end terminate_minus_2; 328 329 check_wdir_code: 330 procedure; 331 332 if wdir_code ^= 0 333 then call com_err_ (wdir_code, "initialize_process_", "Could not set working directory to home directory ^a.", 334 pit_pointer -> pit.homedir); 335 end check_wdir_code; 336 1 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 1 2 1 3 /* Structure for find_condition_info_. 1 4* 1 5* Written 1-Mar-79 by M. N. Davidoff. 1 6**/ 1 7 1 8 /* automatic */ 1 9 1 10 declare condition_info_ptr pointer; 1 11 1 12 /* based */ 1 13 1 14 declare 1 condition_info aligned based (condition_info_ptr), 1 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 1 16 2 version fixed binary, /* Must be 1 */ 1 17 2 condition_name char (32) varying, /* name of condition */ 1 18 2 info_ptr pointer, /* pointer to the condition data structure */ 1 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 1 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 1 21 2 flags unaligned, 1 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 1 23 3 pad1 bit (35), 1 24 2 pad2 bit (36), 1 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 1 26 2 pad3 (4) bit (36); 1 27 1 28 /* internal static */ 1 29 1 30 declare condition_info_version_1 1 31 fixed binary internal static options (constant) initial (1); 1 32 1 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 337 338 2 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 2 2 2 3 /* Written 05/04/78 by C. D. Tavares */ 2 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 2 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 2 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 2 7 2 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 2 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 2 10 iox_$close entry (pointer, fixed bin (35)), 2 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 2 12 iox_$delete_record entry (pointer, fixed bin (35)), 2 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 2 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 2 15 iox_$err_not_attached entry options (variable), 2 16 iox_$err_not_closed entry options (variable), 2 17 iox_$err_no_operation entry options (variable), 2 18 iox_$err_not_open entry options (variable), 2 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 2 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 2 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 2 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 2 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 2 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 2 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 2 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 2 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 2 28 iox_$propagate entry (pointer), 2 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 2 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 2 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 2 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 2 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 2 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 2 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 2 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 2 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 2 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 2 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 2 40 2 41 dcl (iox_$user_output, 2 42 iox_$user_input, 2 43 iox_$user_io, 2 44 iox_$error_output) external static pointer; 2 45 2 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 339 340 3 1 /* Begin include file ..... iox_modes.incl.pl1 */ 3 2 3 3 /* Written by C. D. Tavares, 03/17/75 */ 3 4 /* Updated 10/31/77 by CDT to include short iox mode strings */ 3 5 3 6 dcl iox_modes (13) char (24) int static options (constant) aligned initial 3 7 ("stream_input", "stream_output", "stream_input_output", 3 8 "sequential_input", "sequential_output", "sequential_input_output", "sequential_update", 3 9 "keyed_sequential_input", "keyed_sequential_output", "keyed_sequential_update", 3 10 "direct_input", "direct_output", "direct_update"); 3 11 3 12 dcl short_iox_modes (13) char (4) int static options (constant) aligned initial 3 13 ("si", "so", "sio", "sqi", "sqo", "sqio", "squ", "ksqi", "ksqo", "ksqu", "di", "do", "du"); 3 14 3 15 dcl (Stream_input initial (1), 3 16 Stream_output initial (2), 3 17 Stream_input_output initial (3), 3 18 Sequential_input initial (4), 3 19 Sequential_output initial (5), 3 20 Sequential_input_output initial (6), 3 21 Sequential_update initial (7), 3 22 Keyed_sequential_input initial (8), 3 23 Keyed_sequential_output initial (9), 3 24 Keyed_sequential_update initial (10), 3 25 Direct_input initial (11), 3 26 Direct_output initial (12), 3 27 Direct_update initial (13)) fixed bin int static options (constant); 3 28 3 29 /* End include file ..... iox_modes.incl.pl1 */ 341 342 4 1 /* */ 4 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 4 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 4 4 /* Modified 07/07/76 by Morris for fault register data */ 4 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 4 6 /* Modified '82 to make values constant */ 4 7 4 8 /* words 0-15 pointer registers */ 4 9 4 10 dcl mcp ptr; 4 11 4 12 dcl 1 mc based (mcp) aligned, 4 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 4 14 (2 regs, /* registers */ 4 15 3 x (0:7) bit (18), /* index registers */ 4 16 3 a bit (36), /* accumulator */ 4 17 3 q bit (36), /* q-register */ 4 18 3 e bit (8), /* exponent */ 4 19 3 pad1 bit (28), 4 20 3 t bit (27), /* timer register */ 4 21 3 pad2 bit (6), 4 22 3 ralr bit (3), /* ring alarm register */ 4 23 4 24 2 scu (0:7) bit (36), 4 25 4 26 2 mask bit (72), /* mem controller mask at time of fault */ 4 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 4 28 2 errcode fixed bin (35), /* fault handler's error code */ 4 29 2 fim_temp, 4 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 4 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 4 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 4 33 2 fault_reg bit (36), /* fault register */ 4 34 2 pad2 bit (1), 4 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 4 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 4 37 2 fault_time bit (54), /* time of fault */ 4 38 4 39 2 eis_info (0:7) bit (36)) unaligned; 4 40 4 41 4 42 dcl (apx fixed bin init (0), 4 43 abx fixed bin init (1), 4 44 bpx fixed bin init (2), 4 45 bbx fixed bin init (3), 4 46 lpx fixed bin init (4), 4 47 lbx fixed bin init (5), 4 48 spx fixed bin init (6), 4 49 sbx fixed bin init (7)) internal static options (constant); 4 50 4 51 4 52 4 53 4 54 dcl scup ptr; 4 55 4 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 4 57 4 58 4 59 /* WORD (0) */ 4 60 4 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 4 62 3 prr bit (3), /* procedure ring register */ 4 63 3 psr bit (15), /* procedure segment register */ 4 64 3 p bit (1), /* procedure privileged bit */ 4 65 4 66 2 apu, /* APPENDING UNIT STATUS */ 4 67 3 xsf bit (1), /* ext seg flag - IT modification */ 4 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 4 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 4 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 4 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 4 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 4 73 3 dsptw bit (1), /* Fetch of DSPTW */ 4 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 4 75 3 sdwp bit (1), /* Fetch of SDW paged */ 4 76 3 ptw bit (1), /* Fetch of PTW */ 4 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 4 78 3 fap bit (1), /* Fetch of final address paged */ 4 79 3 fanp bit (1), /* Fetch of final address non-paged */ 4 80 3 fabs bit (1), /* Fetch of final address absolute */ 4 81 4 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 4 83 4 84 4 85 /* WORD (1) */ 4 86 4 87 2 fd, /* FAULT DATA */ 4 88 3 iro bit (1), /* illegal ring order */ 4 89 3 oeb bit (1), /* out of execute bracket */ 4 90 3 e_off bit (1), /* no execute */ 4 91 3 orb bit (1), /* out of read bracket */ 4 92 3 r_off bit (1), /* no read */ 4 93 3 owb bit (1), /* out of write bracket */ 4 94 3 w_off bit (1), /* no write */ 4 95 3 no_ga bit (1), /* not a gate */ 4 96 3 ocb bit (1), /* out of call bracket */ 4 97 3 ocall bit (1), /* outward call */ 4 98 3 boc bit (1), /* bad outward call */ 4 99 3 inret bit (1), /* inward return */ 4 100 3 crt bit (1), /* cross ring transfer */ 4 101 3 ralr bit (1), /* ring alarm register */ 4 102 3 am_er bit (1), /* associative memory fault */ 4 103 3 oosb bit (1), /* out of segment bounds */ 4 104 3 paru bit (1), /* processor parity upper */ 4 105 3 parl bit (1), /* processor parity lower */ 4 106 3 onc_1 bit (1), /* op not complete type 1 */ 4 107 3 onc_2 bit (1), /* op not complete type 2 */ 4 108 4 109 2 port_stat, /* PORT STATUS */ 4 110 3 ial bit (4), /* illegal action lines */ 4 111 3 iac bit (3), /* illegal action channel */ 4 112 3 con_chan bit (3), /* connect channel */ 4 113 4 114 2 fi_num bit (5), /* (fault/interrupt) number */ 4 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 4 116 4 117 4 118 /* WORD (2) */ 4 119 4 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 4 121 3 trr bit (3), /* temporary ring register */ 4 122 3 tsr bit (15), /* temporary segment register */ 4 123 4 124 2 pad2 bit (9), 4 125 4 126 2 cpu_no bit (3), /* CPU number */ 4 127 4 128 2 delta bit (6), /* tally modification DELTA */ 4 129 4 130 4 131 /* WORD (3) */ 4 132 4 133 2 word3 bit (18), 4 134 4 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 4 136 3 tsna, /* Word 1 status */ 4 137 4 prn bit (3), /* Word 1 PR number */ 4 138 4 prv bit (1), /* Word 1 PR valid bit */ 4 139 3 tsnb, /* Word 2 status */ 4 140 4 prn bit (3), /* Word 2 PR number */ 4 141 4 prv bit (1), /* Word 2 PR valid bit */ 4 142 3 tsnc, /* Word 3 status */ 4 143 4 prn bit (3), /* Word 3 PR number */ 4 144 4 prv bit (1), /* Word 3 PR valid bit */ 4 145 4 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 4 147 4 148 4 149 /* WORD (4) */ 4 150 4 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 4 152 4 153 2 ir, /* INDICATOR REGISTERS */ 4 154 3 zero bit (1), /* zero indicator */ 4 155 3 neg bit (1), /* negative indicator */ 4 156 3 carry bit (1), /* carryry indicator */ 4 157 3 ovfl bit (1), /* overflow indicator */ 4 158 3 eovf bit (1), /* eponent overflow */ 4 159 3 eufl bit (1), /* exponent underflow */ 4 160 3 oflm bit (1), /* overflow mask */ 4 161 3 tro bit (1), /* tally runout */ 4 162 3 par bit (1), /* parity error */ 4 163 3 parm bit (1), /* parity mask */ 4 164 3 bm bit (1), /* ^bar mode */ 4 165 3 tru bit (1), /* truncation mode */ 4 166 3 mif bit (1), /* multi-word instruction mode */ 4 167 3 abs bit (1), /* absolute mode */ 4 168 3 hex bit (1), /* hexadecimal exponent mode */ 4 169 3 pad bit (3), 4 170 4 171 4 172 /* WORD (5) */ 4 173 4 174 2 ca bit (18), /* COMPUTED ADDRESS */ 4 175 4 176 2 cu, /* CONTROL UNIT STATUS */ 4 177 3 rf bit (1), /* on first cycle of repeat instr */ 4 178 3 rpt bit (1), /* repeat instruction */ 4 179 3 rd bit (1), /* repeat double instruction */ 4 180 3 rl bit (1), /* repeat link instruciton */ 4 181 3 pot bit (1), /* IT modification */ 4 182 3 pon bit (1), /* return type instruction */ 4 183 3 xde bit (1), /* XDE from Even location */ 4 184 3 xdo bit (1), /* XDE from Odd location */ 4 185 3 poa bit (1), /* operation preparation */ 4 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 4 187 3 its bit (1), /* ITS modification */ 4 188 3 if bit (1), /* fault occured during instruction fetch */ 4 189 4 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 4 191 4 192 4 193 /* WORDS (6,7) */ 4 194 4 195 2 even_inst bit (36), /* even instruction of faulting pair */ 4 196 4 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 4 198 4 199 4 200 4 201 4 202 4 203 4 204 /* ALTERNATE SCU DECLARATION */ 4 205 4 206 4 207 dcl 1 scux based (scup) aligned, 4 208 4 209 (2 pad0 bit (36), 4 210 4 211 2 fd, /* GROUP II FAULT DATA */ 4 212 3 isn bit (1), /* illegal segment number */ 4 213 3 ioc bit (1), /* illegal op code */ 4 214 3 ia_am bit (1), /* illegal address - modifier */ 4 215 3 isp bit (1), /* illegal slave procedure */ 4 216 3 ipr bit (1), /* illegal procedure */ 4 217 3 nea bit (1), /* non existent address */ 4 218 3 oobb bit (1), /* out of bounds */ 4 219 3 pad bit (29), 4 220 4 221 2 pad2 bit (36), 4 222 4 223 2 pad3a bit (18), 4 224 4 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 4 226 3 prn bit (3), /* PR number */ 4 227 3 prv bit (1), /* PR valid bit */ 4 228 4 229 2 pad3b bit (6)) unaligned, 4 230 4 231 2 pad45 (0:1) bit (36), 4 232 4 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 4 234 4 235 4 236 4 237 /* END INCLUDE FILE mc.incl.pl1 */ 343 344 5 1 /* BEGIN INCLUDE FILE ... pit.incl.pl1 */ 5 2 5 3 /****^ ******************************************** 5 4* * * 5 5* * Copyright, (C) Honeywell Bull Inc., 1988 * 5 6* * * 5 7* ******************************************** */ 5 8 5 9 /* Requires user_attributes.incl.pl1 */ 5 10 /* Declaration of the Process Inititalization Table (PIT) */ 5 11 5 12 /****^ HISTORY COMMENTS: 5 13* 1) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 5 14* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 5 15* First comment for hcom. Modified 750430 by PG to add terminal_access_class 5 16* Modified 6/20/77 by J. Stern to add term_type_name Modified Feb 1980 by M. 5 17* B. Armstrong to implement multiple rate structures. (UNCA) Modified by R. 5 18* McDonald May 1980 to include page charges, replaces cpu in iod (UNCA) 5 19* Modified by Benson I. Margulies November 1981 do declare pit_$, pit_ptr, 5 20* and unaligned character strings. Modified by E. N. Kittlitz January 1982 5 21* for user_attributes.incl.pl1 changes Modified by E. N. Kittlitz October 5 22* 1982 for request_id. Modified by BIM 1984-09-12 for auth range. The max 5 23* copies the pds, but this is the only home of the min. 5 24* 2) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 5 25* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 5 26* Add the truncate_absout and restarted bits for the 5 27* -truncate .absout SCP 6297, version 3. 5 28* 3) change(86-12-11,GDixon), approve(87-07-16,MCR7741), 5 29* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 5 30* Changed structure under pit.abs_attributes to use like structure in 5 31* abs_attributes.incl.pl1. This allows the same attributes to be used 5 32* in abs_message_format.incl.pl1 and user_table_entry.incl.pl1 as well as 5 33* this include file. 5 34* 4) change(88-06-03,Parisek), approve(88-06-10,MCR7920), 5 35* audit(88-06-23,Hunter), install(87-07-05,MR12.2-1053): 5 36* Remove "pitmsg" in END comment string. pitmsg.incl.pl1 is no longer a 5 37* name of pit.incl.pl1. 5 38* 5) change(88-07-11,Parisek), approve(88-07-11,MCR7849), 5 39* audit(88-07-03,Lippard), install(88-07-13,MR12.2-1047): 5 40* Removed the ringpad element and added the min_ring & max_ring elements so 5 41* users may access their lowest and/or highest possible login ring value. 5 42* SCP6367. 5 43* END HISTORY COMMENTS */ 5 44 5 45 5 46 /* format: style4 */ 5 47 declare pit_$ bit (36) aligned external static; 5 48 declare pit_ptr pointer; 5 49 5 50 dcl 1 pit aligned based (pit_ptr), 5 51 2 version fixed bin, /* indicates which version of the pit */ 5 52 2 process_type fixed bin, /* initializer, interactive, or absentee process */ 5 53 2 login_responder char (64) unal, /* path name of login responder */ 5 54 5 55 /* All of these are going to be word aligned whether or not they are declared aligned, 5 56* and unaligning them cleans up code in many places */ 5 57 5 58 2 homedir char (64) unal, /* path name of home directory */ 5 59 2 project char (28) unal, /* name of this process' project affiliation */ 5 60 2 account char (32) unal, /* name of account to which this process is charged */ 5 61 2 n_processes fixed bin, /* number of previous processes for this session */ 5 62 2 login_time fixed bin (71), /* clock time at login */ 5 63 2 proc_creation_time fixed bin (71), /* clock time at creation of this process */ 5 64 2 old_proc_cpu fixed bin (71), /* cpu time used by previous processes in this session */ 5 65 2 user_weight fixed bin, /* weight of this process */ 5 66 2 anonymous fixed bin, /* 1 if anonymous user */ 5 67 2 login_name char (28) unal, /* name of user given at login */ 5 68 2 logout_pid bit (36), /* process id of answering service */ 5 69 2 logout_channel fixed bin (71), /* channel for signalling logouts to answering service */ 5 70 2 group char (8) unal, /* party group */ 5 71 2 min_ring fixed bin, /* min ring */ 5 72 2 max_ring fixed bin, /* max ring */ 5 73 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 5 74 2 whox fixed bin, /* this process's index in whotab (or 0) */ 5 75 2 outer_module char (32) unaligned, 5 76 2 pad (2) fixed bin, 5 77 2 dont_call_init_admin bit (1) aligned, /* Call process_overseer_ directly */ 5 78 2 terminal_access_class bit (72) aligned, /* access class of user's terminal */ 5 79 2 dollar_charge float bin, /* Month-to-date expenditure */ 5 80 2 dollar_limit float bin, /* Limit stop on usage */ 5 81 2 shift_limit (0:7) float bin, /* Stops on each shift's usage */ 5 82 2 logins fixed bin, /* Number of logins this month */ 5 83 2 crashes fixed bin, /* Number of sessions crashed */ 5 84 2 interactive (0:7), /* interactive usage by shift */ 5 85 3 charge float bin, /* Total charge */ 5 86 3 xxx fixed bin, 5 87 3 cpu fixed bin (71), /* CPU usage in microseconds */ 5 88 3 core fixed bin (71), /* Memory usage in page-microseconds */ 5 89 3 connect fixed bin (71), /* Connect time in microseconds */ 5 90 3 io_ops fixed bin (71), /* Terminal I/O operations */ 5 91 2 absentee (4), /* Absentee usage by queue */ 5 92 3 charge float bin, /* Total absentee charge */ 5 93 3 jobs fixed bin, /* Number of jobs */ 5 94 3 cpu fixed bin (71), /* CPU usage in microseconds */ 5 95 3 memory fixed bin (71), /* Memory usage in mu */ 5 96 2 iod (4), /* IO Daemon usage, by queue */ 5 97 3 charge float bin, /* Total charge */ 5 98 3 pieces fixed bin, /* Number of requests */ 5 99 3 pad fixed bin (35), 5 100 3 pages fixed bin (35), /* number of pages output */ 5 101 3 lines fixed bin (71), /* Record count */ 5 102 2 devices (16) float bin, /* Usage of attached devices */ 5 103 2 time_last_reset fixed bin (71), /* time last updated the PDT */ 5 104 2 absolute_limit float bin, /* Limit, not reset monthly */ 5 105 2 absolute_spent float bin, /* Spending against this */ 5 106 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 5 107 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 5 108 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number (0= default rates) */ 5 109 2 pad1a fixed bin (27) unsigned unaligned, /* remainder of word */ 5 110 2 request_id fixed bin (71), /* absentee request id */ 5 111 2 authorization_range (2) bit (72) aligned, 5 112 2 pad1 (73) fixed bin, /* extra space */ 5 113 2 charge_type fixed bin, /* device charge type of console */ 5 114 2 term_type_name char (32) unal, /* terminal type name */ 5 115 2 line_type fixed bin, /* line type of user's console */ 5 116 2 tty_type fixed bin, /* old terminal type (obsolete, kept for compatibility) */ 5 117 2 service_type fixed bin, /* type of service console is performing */ 5 118 2 tty_answerback char (4) unaligned, /* original answerback of user's console */ 5 119 2 old_tty char (6), /* (obsolete) attachment name of user's console */ 5 120 2 standby fixed bin, /* 1 if standby user */ 5 121 2 login_line char (120) unal, /* line typed at login */ 5 122 2 cant_bump_until fixed bin (71), /* cannot be preempted until this time (0 for abs) */ 5 123 2 input_seg char (168) unal, /* path name of absentee input file */ 5 124 2 output_seg char (168) unal, /* path name of absentee output file */ 5 125 2 max_cpu_time fixed bin, /* max number of seconds allowed to this absentee proc */ 5 126 2 abs_queue fixed bin, /* absentee queue if absentee, else -1 */ 5 127 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 5 128 2 arg_info_ptr fixed bin (18) unsigned, /* Relative pointer to information on absentee args. */ 5 129 2 old_proc_core fixed bin (71), /* Memory usage by previous processes in this session */ 5 130 2 old_proc_io_ops fixed bin (71), /* I/O operations from previous processes in this session */ 5 131 2 tty char (32) unaligned, /* Attachment name of users channel */ 5 132 2 start_arg_info fixed bin; /* Put absentee args information here. */ 5 133 5 134 5 135 /* Structure to contain information on absentee arguments */ 5 136 dcl 1 arg_info aligned based, 5 137 2 arg_count fixed bin, /* Number of arguments for replacement in absentee segment */ 5 138 2 ln_args fixed bin, /* Length of string containing arguments. */ 5 139 2 arg_lengths (25 refer (arg_info.arg_count)) fixed bin, /* Array of argument lengths */ 5 140 2 args char (128 refer (arg_info.ln_args)) unal; 5 141 /* Args used for replacement in absentee control segment. */ 5 142 5 143 declare PIT_version_3 fixed bin int static options (constant) init (3); 5 144 5 145 /* END INCLUDE FILE ... pit.incl.pl1 */ 345 346 6 1 /* BEGIN INCLUDE FILE static_handlers.incl.pl1 */ 6 2 6 3 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 6 4 6 5 /* HISTORY: 6 6*Written by S. H. Webber, 06/20/75. 6 7*Modified: 6 8*12/15/83 by Benson Margulies: added undefined_pointer_sct_index and 6 9* pgt_sct_index. 6 10*06/11/84 by Lee A. Newcomb: added dm_shutdown_warning_sct_index and 6 11* dm_user_shutdown_sct_index for handling of Data Management 6 12* shutdown. 6 13*08/22/84 by R. Michael Tague: Removed dm_shutdown_warning_sct_index and 6 14* dm_user_shutdown_sct_index. Added 6 15* system_shutdown_scheduled_sct_index and 6 16* dm_shutdown_scheduled_sct_index. 6 17**/ 6 18 6 19 6 20 /****^ HISTORY COMMENTS: 6 21* 1) change(85-11-13,Herbst), approve(87-07-21,MCR7697), 6 22* audit(87-07-21,GDixon), install(87-08-04,MR12.1-1056): 6 23* Add system_message_sct_index. 6 24* END HISTORY COMMENTS */ 6 25 6 26 6 27 dcl ( 6 28 shutdown_sct_index init (0), 6 29 store_sct_index init (1), 6 30 mme1_sct_index init (2), 6 31 fault_tag_1_sct_index init (3), 6 32 timer_runout_sct_index init (4), 6 33 command_sct_index init (5), 6 34 derail_sct_index init (6), 6 35 lockup_sct_index init (7), 6 36 connect_sct_index init (8), 6 37 parity_sct_index init (9), 6 38 illegal_procedure_sct_index init (10), 6 39 op_not_complete_sct_index init (11), 6 40 startup_sct_index init (12), 6 41 ovrflo_sct_index init (13), 6 42 zerodivide_sct_index init (14), 6 43 execute_sct_index init (15), 6 44 seg_fault_error_sct_index init (16), 6 45 page_fault_error_sct_index init (17), 6 46 directed_fault_2_sct_index init (18), 6 47 directed_fault_3_sct_index init (19), 6 48 accessviolation_sct_index init (20), 6 49 mme2_sct_index init (21), 6 50 mme3_sct_index init (22), 6 51 mme4_sct_index init (23), 6 52 linkage_error_sct_index init (24), 6 53 fault_tag_3_sct_index init (25), 6 54 undefined_fault_sct_index init (26), 6 55 trouble_sct_index init (31), 6 56 illegal_opcode_sct_index init (32), 6 57 simfault_000000_sct_index init (33), 6 58 illegal_modifier_sct_index init (34), 6 59 illegal_ring_order_sct_index init (35), 6 60 not_in_execute_bracket_sct_index init (36), 6 61 no_execute_permission_sct_index init (37), 6 62 not_in_read_bracket_sct_index init (38), 6 63 no_read_permission_sct_index init (39), 6 64 not_in_write_bracket_sct_index init (40), 6 65 no_write_permission_sct_index init (41), 6 66 not_a_gate_sct_index init (42), 6 67 not_in_call_bracket_sct_index init (43), 6 68 outward_call_sct_index init (44), 6 69 bad_outward_call_sct_index init (45), 6 70 inward_return_sct_index init (46), 6 71 cross_ring_transfer_sct_index init (47), 6 72 ring_alarm_fault_sct_index init (48), 6 73 am_fault_sct_index init (49), 6 74 out_of_bounds_sct_index init (50), 6 75 fixedoverflow_sct_index init (51), 6 76 overflow_sct_index init (52), 6 77 underflow_sct_index init (53), 6 78 stringsize_sct_index init (54), 6 79 other_illegal_proc_sct_index init (55), 6 80 storage_sct_index init (56), 6 81 packed_pointer_fault_sct_index init (57), 6 82 lot_fault_sct_index init (58), 6 83 isot_fault_sct_index init (59), 6 84 system_packed_pointer_sct_index init (60), 6 85 quit_sct_index init (61), 6 86 alrm_sct_index init (62), 6 87 cput_sct_index init (63), 6 88 record_quota_overflow_sct_index init (64), 6 89 size_sct_index init (65), 6 90 neti_sct_index init (66), 6 91 other_command_sct_index init (67), 6 92 susp_sct_index init (68), 6 93 term_sct_index init (69), 6 94 wkp_sct_index init (70), 6 95 undefined_pointer_sct_index init (71), 6 96 pgt_sct_index init (72), 6 97 system_shutdown_scheduled_sct_index 6 98 init (73), 6 99 dm_shutdown_scheduled_sct_index init (74), 6 100 system_message_sct_index init (75) 6 101 ) fixed bin (17) int static options (constant); 6 102 6 103 /* END INCLUDE FILE static_handlers.incl.pl1 */ 347 348 7 1 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 7 2 7 3 7 4 /****^ HISTORY COMMENTS: 7 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 7 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 7 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 7 8* attribute switches. 7 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 7 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 7 12* be deleted. 7 13* B) Add constants identifying attributes that can be changed by user at 7 14* login, etc. 7 15* END HISTORY COMMENTS */ 7 16 7 17 7 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 7 19 7 20 /* format: style4 */ 7 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 7 22 (2 administrator bit (1), /* 1 system administrator privileges */ 7 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 7 24 2 nobump bit (1), /* 2 user cannot be bumped */ 7 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 7 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 7 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 7 28* . of same project (distinct from "nobump") */ 7 29 2 nolist bit (1), /* 7 don't list user on "who" */ 7 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 7 31 2 multip bit (1), /* 9 user may have several processes */ 7 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 7 33 2 brief bit (1), /* 11 no login or logout message */ 7 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 7 35 2 vhomedir bit (1), /* 13 user may change homedir */ 7 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 7 37 2 sb_ok bit (1), /* 15 user may be standby */ 7 38 2 pm_ok bit (1), /* 16 user may be primary */ 7 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 7 40 2 daemon bit (1), /* 18 user may login as daemon */ 7 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 7 42 2 no_warning bit (1), /* 20 no warning message */ 7 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 7 44* . in PDT: this user has an individual load control group */ 7 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 7 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 7 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 7 48 2 pad bit (12)) unaligned; 7 49 7 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 7 51 ("none", /* 0 */ 7 52 "administrator", /* 1 */ 7 53 "primary_line", /* 2 */ 7 54 "nobump", /* 3 */ 7 55 "guaranteed_login", /* 4 */ 7 56 "anonymous", /* 5 */ 7 57 "nopreempt", /* 6 */ 7 58 "nolist", /* 7 */ 7 59 "dialok", /* 8 */ 7 60 "multip", /* 9 */ 7 61 "bumping", /* 10 */ 7 62 "brief", /* 11 */ 7 63 "vinitproc", /* 12 */ 7 64 "vhomedir", /* 13 */ 7 65 "nostartup", /* 14 */ 7 66 "no_secondary", /* 15 */ 7 67 "no_prime", /* 16 */ 7 68 "no_eo", /* 17 */ 7 69 "daemon", /* 18 */ 7 70 "", /* 19 vdim OBSOLETE */ 7 71 "no_warning", /* 20 */ 7 72 "igroup", /* 21 */ 7 73 "save_pdir", /* 22 */ 7 74 "disconnect_ok", /* 23 */ 7 75 "save_on_disconnect"); /* 24 */ 7 76 7 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 7 78 ("null", /* 0 */ 7 79 "admin", /* 1 */ 7 80 "", "", /* 2 - 3 */ 7 81 "guar", /* 4 */ 7 82 "anon", /* 5 */ 7 83 "", "", /* 6 - 7 */ 7 84 "dial", /* 8 */ 7 85 "multi_login", /* 9 */ 7 86 "preempting", /* 10 */ 7 87 "", /* 11 */ 7 88 "v_process_overseer", /* 12 */ 7 89 "v_home_dir", /* 13 */ 7 90 "no_start_up", /* 14 */ 7 91 "no_sec", /* 15 */ 7 92 "no_primary", /* 16 */ 7 93 "no_edit_only", /* 17 */ 7 94 "op_login", /* 18 */ 7 95 "", /* 19 */ 7 96 "nowarn", /* 20 */ 7 97 "", "", "", /* 21 - 23 */ 7 98 "save"); /* 24 */ 7 99 7 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 7 101 options(constant) init("000000000010000000010000000000000000"b); 7 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 7 103 7 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 7 105 options(constant) init("000000000010000000010000000000000000"b); 7 106 /* PDT value for (brief, no_warning) is default */ 7 107 7 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 7 109 options(constant) init("000100000110010000010000000000000000"b); 7 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 7 111 8 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 8 2 8 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 4 /* */ 8 5 /* This include file describes the attributes of an absentee job. It is */ 8 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 8 7 /* and PIT.incl.pl1. */ 8 8 /* */ 8 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 10 8 11 /****^ HISTORY COMMENTS: 8 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 8 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 14* Separated abs_attributes from the request structure 8 15* (abs_message_format.incl.pl1) so that the identical structure could be 8 16* used in the ute structure (user_table_entry.incl.pl1). 8 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 8 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 19* Added ABS_ATTRIBUTE_NAMES array. 8 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 8 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 8 22* Added the no_start_up flag. SCP6367 8 23* END HISTORY COMMENTS */ 8 24 8 25 dcl 1 user_abs_attributes aligned based, 8 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 8 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 8 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 8 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 8 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 8 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 8 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 8 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 8 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 8 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 8 36 2 attributes_pad bit (26) unaligned; 8 37 8 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 8 39 "restartable", 8 40 "user_deferred_until_time", 8 41 "proxy", 8 42 "set_bit_cnt", 8 43 "time_in_gmt", 8 44 "user_deferred_indefinitely", 8 45 "secondary_ok", 8 46 "truncate_absout", 8 47 "restarted", 8 48 "no_start_up"); 8 49 8 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 8 51 7 112 7 113 7 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 349 350 351 end initialize_process_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0935.4 initialize_process_.pl1 >special_ldd>install>MR12.2-1047>initialize_process_.pl1 337 1 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 339 2 05/23/83 0916.6 iox_entries.incl.pl1 >ldd>include>iox_dcls.incl.pl1 341 3 02/02/78 1229.7 iox_modes.incl.pl1 >ldd>include>iox_modes.incl.pl1 343 4 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 345 5 07/13/88 0930.5 pit.incl.pl1 >special_ldd>install>MR12.2-1047>pit.incl.pl1 347 6 08/06/87 0913.5 static_handlers.incl.pl1 >ldd>include>static_handlers.incl.pl1 349 7 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 7-112 8 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. CI 000100 automatic structure level 1 dcl 302 set ref 307 307 Stream_input_output 000030 constant fixed bin(17,0) initial dcl 3-15 set ref 264* abs_queue 721 based fixed bin(17,0) level 2 dcl 5-50 ref 150 absentee_listen_ 000010 constant entry external dcl 91 ref 146 153 addr builtin function dcl 103 ref 273 273 287 287 307 307 alrm_sct_index 000007 constant fixed bin(17,0) initial dcl 6-27 set ref 230* an_entry 000104 automatic entry variable dcl 82 set ref 145* 146* any_other 000226 stack reference condition dcl 102 ref 106 122 305 at 110 based structure level 2 dcl 5-50 baseptr builtin function dcl 103 ref 325 code 000132 automatic fixed bin(35,0) dcl 303 in procedure "primitive_handler" set ref 307* 308 308* code parameter fixed bin(35,0) dcl 210 in procedure "worker_procedures" set ref 218 221* 224 227* 239 244* 249* 251* 255 260* 263* 264 264* 268 273* 275 code 000122 automatic fixed bin(35,0) dcl 86 in procedure "initialize_process_" set ref 108* 110* 111 111* 118* 119 119* 124* 125 125* 128* 129 129* 134* 135 135* com_err_ 000012 constant entry external dcl 92 ref 332 condition_info based structure level 1 dcl 1-14 condition_name 3 000100 automatic varying char(32) level 2 dcl 302 set ref 311 313 cput_sct_index 000006 constant fixed bin(17,0) initial dcl 6-27 set ref 229* cu_$make_entry_value 000034 constant entry external dcl 179 ref 280 default_handler 000114 automatic entry variable dcl 84 set ref 118* 122 dm_misc_util_$shutdown_handler 000036 constant entry external dcl 180 ref 235 235 dm_shutdown_scheduled_sct_index 000001 constant fixed bin(17,0) initial dcl 6-27 set ref 235* entry parameter entry variable dcl 206 set ref 218 221* errcode 43 based fixed bin(35,0) level 2 packed packed unaligned dcl 4-12 ref 311 error_table_$termination_requested 000022 external static fixed bin(35,0) dcl 99 set ref 159* fatal_code parameter fixed bin(35,0) dcl 210 ref 283 286 find_command_$fc_no_message 000040 constant entry external dcl 182 ref 273 find_condition_info_ 000076 constant entry external dcl 301 ref 307 get_pdir_ 000042 constant entry external dcl 184 ref 249 249 hcs_$fs_search_set_wdir 000016 constant entry external dcl 94 ref 115 147 hcs_$initiate 000044 constant entry external dcl 185 ref 249 hcs_$make_entry 000046 constant entry external dcl 187 ref 221 homedir 22 based char(64) level 2 packed packed unaligned dcl 5-50 set ref 115* 147* 332* initial_command_line 000124 automatic varying char(256) dcl 88 set ref 139* 155* io_module 000100 automatic char(32) packed unaligned dcl 168 set ref 261* 263 ioa_ 000050 constant entry external dcl 188 ref 277 iox_$attach_ptr 000024 constant entry external dcl 2-8 ref 263 iox_$control 000026 constant entry external dcl 2-8 ref 294 iox_$init_standard_iocbs 000052 constant entry external dcl 189 ref 258 iox_$open 000030 constant entry external dcl 2-8 ref 264 iox_$user_io 000032 external static pointer dcl 2-41 set ref 263* 264* 294* length builtin function dcl 103 ref 273 273 listen_ 000014 constant entry external dcl 93 ref 145 150 listener 000100 automatic entry variable dcl 81 set ref 150* 153* 155 login_responder 2 based char(64) level 2 packed packed unaligned dcl 5-50 set ref 273 273 273 273 277* mc based structure level 1 dcl 4-12 mc_ptr 000100 automatic pointer level 2 dcl 302 set ref 311 311 null builtin function dcl 103 ref 221 221 243 251 263 263 294 294 307 307 311 outer_module 112 based char(32) level 2 packed packed unaligned dcl 5-50 ref 261 pit based structure level 1 dcl 5-50 pit_pointer 000120 automatic pointer dcl 85 set ref 110* 115 115 128* 134* 139* 143 147 150 332 pit_ptr parameter pointer dcl 210 set ref 239 243* 249* 251 255 261 268 273 273 273 273 277 pl1_resignaller_$establish_handlers 000054 constant entry external dcl 191 ref 228 po parameter entry variable dcl 207 set ref 268 280* po_ptr 000110 automatic pointer dcl 168 set ref 273* 280* pointer builtin function dcl 103 ref 325 process_overseer 000110 automatic entry variable dcl 83 set ref 134* 139 real_why parameter char packed unaligned dcl 210 ref 283 requested_call_to_listen_ 000225 automatic bit(1) dcl 89 set ref 138* 139* 140 sct_manager_$set 000056 constant entry external dcl 193 ref 229 230 231 232 233 234 235 236 shiva based bit(36) dcl 322 set ref 326* sptr 000100 automatic pointer dcl 321 set ref 325* 326 status_code 1 000112 automatic fixed bin(35,0) level 2 dcl 174 set ref 286* sus_signal_handler_ 000060 constant entry external dcl 194 ref 233 233 susp_sct_index 000005 constant fixed bin(17,0) initial dcl 6-27 set ref 233* sys_why parameter char packed unaligned dcl 210 set ref 283 287* system_message_handler_ 000020 constant entry external dcl 96 ref 236 236 system_message_sct_index 000000 constant fixed bin(17,0) initial dcl 6-27 set ref 236* system_shutdown_handler_ 000062 constant entry external dcl 195 ref 234 234 system_shutdown_scheduled_sct_index 000002 constant fixed bin(17,0) initial dcl 6-27 set ref 234* term_sct_index 000004 constant fixed bin(17,0) initial dcl 6-27 set ref 231* term_signal_handler_ 000064 constant entry external dcl 197 ref 231 231 term_structure 000112 automatic structure level 1 dcl 174 set ref 287 287 terminate_process_ 000066 constant entry external dcl 198 ref 287 timer_manager_$alarm_interrupt 000070 constant entry external dcl 199 ref 230 230 timer_manager_$cpu_time_interrupt 000072 constant entry external dcl 201 ref 229 229 user_abs_attributes based structure level 1 dcl 8-25 user_attributes based structure level 1 dcl 7-21 version 000112 automatic fixed bin(17,0) initial level 2 dcl 174 set ref 174* vinitproc 110(11) based bit(1) level 3 packed packed unaligned dcl 5-50 ref 115 143 wdir_code 000123 automatic fixed bin(35,0) dcl 87 set ref 114* 115* 147* 332 332* wkp_sct_index 000003 constant fixed bin(17,0) initial dcl 6-27 set ref 232* wkp_signal_handler_ 000074 constant entry external dcl 203 ref 232 232 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 8-38 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 7-77 Direct_input internal static fixed bin(17,0) initial dcl 3-15 Direct_output internal static fixed bin(17,0) initial dcl 3-15 Direct_update internal static fixed bin(17,0) initial dcl 3-15 Keyed_sequential_input internal static fixed bin(17,0) initial dcl 3-15 Keyed_sequential_output internal static fixed bin(17,0) initial dcl 3-15 Keyed_sequential_update internal static fixed bin(17,0) initial dcl 3-15 PIT_version_3 internal static fixed bin(17,0) initial dcl 5-143 Sequential_input internal static fixed bin(17,0) initial dcl 3-15 Sequential_input_output internal static fixed bin(17,0) initial dcl 3-15 Sequential_output internal static fixed bin(17,0) initial dcl 3-15 Sequential_update internal static fixed bin(17,0) initial dcl 3-15 Stream_input internal static fixed bin(17,0) initial dcl 3-15 Stream_output internal static fixed bin(17,0) initial dcl 3-15 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 7-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 7-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 7-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 7-50 abx internal static fixed bin(17,0) initial dcl 4-42 accessviolation_sct_index internal static fixed bin(17,0) initial dcl 6-27 am_fault_sct_index internal static fixed bin(17,0) initial dcl 6-27 apx internal static fixed bin(17,0) initial dcl 4-42 arg_info based structure level 1 dcl 5-136 bad_outward_call_sct_index internal static fixed bin(17,0) initial dcl 6-27 bbx internal static fixed bin(17,0) initial dcl 4-42 bpx internal static fixed bin(17,0) initial dcl 4-42 command_sct_index internal static fixed bin(17,0) initial dcl 6-27 condition_info_ptr automatic pointer dcl 1-10 condition_info_version_1 internal static fixed bin(17,0) initial dcl 1-30 connect_sct_index internal static fixed bin(17,0) initial dcl 6-27 cross_ring_transfer_sct_index internal static fixed bin(17,0) initial dcl 6-27 derail_sct_index internal static fixed bin(17,0) initial dcl 6-27 directed_fault_2_sct_index internal static fixed bin(17,0) initial dcl 6-27 directed_fault_3_sct_index internal static fixed bin(17,0) initial dcl 6-27 execute_sct_index internal static fixed bin(17,0) initial dcl 6-27 fault_tag_1_sct_index internal static fixed bin(17,0) initial dcl 6-27 fault_tag_3_sct_index internal static fixed bin(17,0) initial dcl 6-27 fixedoverflow_sct_index internal static fixed bin(17,0) initial dcl 6-27 illegal_modifier_sct_index internal static fixed bin(17,0) initial dcl 6-27 illegal_opcode_sct_index internal static fixed bin(17,0) initial dcl 6-27 illegal_procedure_sct_index internal static fixed bin(17,0) initial dcl 6-27 illegal_ring_order_sct_index internal static fixed bin(17,0) initial dcl 6-27 inward_return_sct_index internal static fixed bin(17,0) initial dcl 6-27 iox_$attach_loud 000000 constant entry external dcl 2-8 iox_$attach_name 000000 constant entry external dcl 2-8 iox_$close 000000 constant entry external dcl 2-8 iox_$close_file 000000 constant entry external dcl 2-8 iox_$delete_record 000000 constant entry external dcl 2-8 iox_$destroy_iocb 000000 constant entry external dcl 2-8 iox_$detach 000000 constant entry external dcl 2-8 iox_$detach_iocb 000000 constant entry external dcl 2-8 iox_$err_no_operation 000000 constant entry external dcl 2-8 iox_$err_not_attached 000000 constant entry external dcl 2-8 iox_$err_not_closed 000000 constant entry external dcl 2-8 iox_$err_not_open 000000 constant entry external dcl 2-8 iox_$error_output external static pointer dcl 2-41 iox_$find_iocb 000000 constant entry external dcl 2-8 iox_$find_iocb_n 000000 constant entry external dcl 2-8 iox_$get_chars 000000 constant entry external dcl 2-8 iox_$get_line 000000 constant entry external dcl 2-8 iox_$look_iocb 000000 constant entry external dcl 2-8 iox_$modes 000000 constant entry external dcl 2-8 iox_$move_attach 000000 constant entry external dcl 2-8 iox_$open_file 000000 constant entry external dcl 2-8 iox_$position 000000 constant entry external dcl 2-8 iox_$propagate 000000 constant entry external dcl 2-8 iox_$put_chars 000000 constant entry external dcl 2-8 iox_$read_key 000000 constant entry external dcl 2-8 iox_$read_length 000000 constant entry external dcl 2-8 iox_$read_record 000000 constant entry external dcl 2-8 iox_$rewrite_record 000000 constant entry external dcl 2-8 iox_$seek_key 000000 constant entry external dcl 2-8 iox_$user_input external static pointer dcl 2-41 iox_$user_output external static pointer dcl 2-41 iox_$write_record 000000 constant entry external dcl 2-8 iox_modes internal static char(24) initial array dcl 3-6 isot_fault_sct_index internal static fixed bin(17,0) initial dcl 6-27 lbx internal static fixed bin(17,0) initial dcl 4-42 linkage_error_sct_index internal static fixed bin(17,0) initial dcl 6-27 lockup_sct_index internal static fixed bin(17,0) initial dcl 6-27 lot_fault_sct_index internal static fixed bin(17,0) initial dcl 6-27 lpx internal static fixed bin(17,0) initial dcl 4-42 mcp automatic pointer dcl 4-10 mme1_sct_index internal static fixed bin(17,0) initial dcl 6-27 mme2_sct_index internal static fixed bin(17,0) initial dcl 6-27 mme3_sct_index internal static fixed bin(17,0) initial dcl 6-27 mme4_sct_index internal static fixed bin(17,0) initial dcl 6-27 neti_sct_index internal static fixed bin(17,0) initial dcl 6-27 no_execute_permission_sct_index internal static fixed bin(17,0) initial dcl 6-27 no_read_permission_sct_index internal static fixed bin(17,0) initial dcl 6-27 no_write_permission_sct_index internal static fixed bin(17,0) initial dcl 6-27 not_a_gate_sct_index internal static fixed bin(17,0) initial dcl 6-27 not_in_call_bracket_sct_index internal static fixed bin(17,0) initial dcl 6-27 not_in_execute_bracket_sct_index internal static fixed bin(17,0) initial dcl 6-27 not_in_read_bracket_sct_index internal static fixed bin(17,0) initial dcl 6-27 not_in_write_bracket_sct_index internal static fixed bin(17,0) initial dcl 6-27 op_not_complete_sct_index internal static fixed bin(17,0) initial dcl 6-27 other_command_sct_index internal static fixed bin(17,0) initial dcl 6-27 other_illegal_proc_sct_index internal static fixed bin(17,0) initial dcl 6-27 out_of_bounds_sct_index internal static fixed bin(17,0) initial dcl 6-27 outward_call_sct_index internal static fixed bin(17,0) initial dcl 6-27 overflow_sct_index internal static fixed bin(17,0) initial dcl 6-27 ovrflo_sct_index internal static fixed bin(17,0) initial dcl 6-27 packed_pointer_fault_sct_index internal static fixed bin(17,0) initial dcl 6-27 page_fault_error_sct_index internal static fixed bin(17,0) initial dcl 6-27 parity_sct_index internal static fixed bin(17,0) initial dcl 6-27 pgt_sct_index internal static fixed bin(17,0) initial dcl 6-27 pit_$ external static bit(36) dcl 5-47 pit_ptr automatic pointer dcl 5-48 quit_sct_index internal static fixed bin(17,0) initial dcl 6-27 record_quota_overflow_sct_index internal static fixed bin(17,0) initial dcl 6-27 ring_alarm_fault_sct_index internal static fixed bin(17,0) initial dcl 6-27 sbx internal static fixed bin(17,0) initial dcl 4-42 scu based structure level 1 dcl 4-56 scup automatic pointer dcl 4-54 scux based structure level 1 dcl 4-207 seg_fault_error_sct_index internal static fixed bin(17,0) initial dcl 6-27 short_iox_modes internal static char(4) initial array dcl 3-12 shutdown_sct_index internal static fixed bin(17,0) initial dcl 6-27 simfault_000000_sct_index internal static fixed bin(17,0) initial dcl 6-27 size_sct_index internal static fixed bin(17,0) initial dcl 6-27 spx internal static fixed bin(17,0) initial dcl 4-42 startup_sct_index internal static fixed bin(17,0) initial dcl 6-27 storage_sct_index internal static fixed bin(17,0) initial dcl 6-27 store_sct_index internal static fixed bin(17,0) initial dcl 6-27 stringsize_sct_index internal static fixed bin(17,0) initial dcl 6-27 substr builtin function dcl 103 system_packed_pointer_sct_index internal static fixed bin(17,0) initial dcl 6-27 timer_runout_sct_index internal static fixed bin(17,0) initial dcl 6-27 trouble_sct_index internal static fixed bin(17,0) initial dcl 6-27 undefined_fault_sct_index internal static fixed bin(17,0) initial dcl 6-27 undefined_pointer_sct_index internal static fixed bin(17,0) initial dcl 6-27 underflow_sct_index internal static fixed bin(17,0) initial dcl 6-27 zerodivide_sct_index internal static fixed bin(17,0) initial dcl 6-27 NAMES DECLARED BY EXPLICIT CONTEXT. check_wdir_code 002130 constant entry internal dcl 329 ref 132 148 enable_quits 001631 constant entry internal dcl 292 ref 142 establish_static_handlers 001033 constant entry internal dcl 224 ref 124 find_default_handler 000754 constant entry internal dcl 218 ref 118 find_process_overseer 001464 constant entry internal dcl 268 ref 134 get_pit_pointer 001254 constant entry internal dcl 239 ref 110 init_iox 001360 constant entry internal dcl 255 ref 128 initialize_process_ 000232 constant entry external dcl 77 primitive_handler 001674 constant entry internal dcl 298 ref 106 terminate 001563 constant entry internal dcl 283 ref 111 119 125 129 135 159 308 311 313 terminate_minus_2 002111 constant entry internal dcl 318 ref 305 314 worker_procedures 000744 constant entry internal dcl 161 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2732 3032 2177 2742 Length 3464 2177 100 415 533 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME initialize_process_ 248 external procedure is an external procedure. on unit on line 106 64 on unit on unit on line 122 64 on unit worker_procedures 188 internal procedure is called during a stack extension, and is declared options(non_quick). primitive_handler 132 internal procedure enables or reverts conditions, and is declared options(non_quick). on unit on line 305 64 on unit terminate_minus_2 66 internal procedure is declared options(non_quick). check_wdir_code internal procedure shares stack frame of external procedure initialize_process_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME initialize_process_ 000100 listener initialize_process_ 000104 an_entry initialize_process_ 000110 process_overseer initialize_process_ 000114 default_handler initialize_process_ 000120 pit_pointer initialize_process_ 000122 code initialize_process_ 000123 wdir_code initialize_process_ 000124 initial_command_line initialize_process_ 000225 requested_call_to_listen_ initialize_process_ primitive_handler 000100 CI primitive_handler 000132 code primitive_handler terminate_minus_2 000100 sptr terminate_minus_2 worker_procedures 000100 io_module worker_procedures 000110 po_ptr worker_procedures 000112 term_structure worker_procedures THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ent_var_desc call_ent_var call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other_desc call_int_other return_mac enable_op shorten_stack ext_entry int_entry int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. absentee_listen_ com_err_ cu_$make_entry_value dm_misc_util_$shutdown_handler find_command_$fc_no_message find_condition_info_ get_pdir_ hcs_$fs_search_set_wdir hcs_$initiate hcs_$make_entry ioa_ iox_$attach_ptr iox_$control iox_$init_standard_iocbs iox_$open listen_ pl1_resignaller_$establish_handlers sct_manager_$set sus_signal_handler_ system_message_handler_ system_shutdown_handler_ term_signal_handler_ terminate_process_ timer_manager_$alarm_interrupt timer_manager_$cpu_time_interrupt wkp_signal_handler_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$termination_requested iox_$user_io LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 77 000231 106 000237 108 000261 110 000262 111 000272 114 000323 115 000324 118 000345 119 000355 122 000406 124 000430 125 000436 128 000467 129 000477 132 000531 134 000532 135 000544 138 000575 139 000576 140 000616 142 000621 143 000625 145 000631 146 000636 147 000641 148 000655 150 000656 153 000670 155 000675 159 000705 351 000736 174 000740 161 000743 218 000752 221 000765 222 001031 224 001032 227 001044 228 001045 229 001052 230 001072 231 001112 232 001132 233 001152 234 001172 235 001212 236 001232 237 001252 239 001253 243 001265 244 001270 249 001271 251 001350 253 001356 255 001357 258 001371 260 001376 261 001377 263 001405 264 001441 266 001462 268 001463 273 001475 275 001521 277 001523 278 001546 280 001547 281 001561 283 001562 286 001604 287 001607 292 001627 294 001637 295 001672 298 001673 305 001701 307 001723 308 001742 311 001775 313 002042 314 002101 316 002107 318 002110 325 002116 326 002124 327 002126 329 002130 332 002131 335 002172 ----------------------------------------------------------- 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