COMPILATION LISTING OF SEGMENT ssu_misc_procs_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1639.8 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 8 /* Miscellaneous subsystem utilities */ 9 10 /* Created: by W. Olin Sibert */ 11 /* Modified: 17 Novenber 1981 by Jay Pattin to add set/get_info_prefix */ 12 /* Modified: February 1982 by G. Palter to move info_prefix entries to ssu_info_mgr_ */ 13 /* Modified: June 1982 by G. Palter to move (get set)_abbrev_info to ssu_request_processor_ */ 14 15 /* format: style4,delnl,insnl,ifthenstmt,ifthen */ 16 17 18 ssu_misc_procs_: 19 procedure (); 20 21 return; /* not an entrypoint */ 22 23 24 /* Parameters */ 25 26 dcl P_sci_ptr pointer parameter; 27 28 dcl P_line_ptr pointer parameter; /* cpescape, cpescape_disabled: -> the Multics command line */ 29 dcl P_line_lth fixed binary (21); /* cpescape, cpescape_disabled: length of the command line */ 30 dcl P_code fixed binary (35) parameter; /* cpescape, cpescape_disabled */ 31 32 dcl P_info_ptr pointer parameter; /* unknown_request: -> per subsystem database */ 33 dcl P_request_name character (*) parameter; /* unknown_request: the request name which isn't recognized */ 34 dcl P_arg_list_ptr pointer parameter; /* unknown_request: -> the arguments for the request */ 35 dcl P_continue_sw bit (1) aligned parameter; /* unknown_request: set ON => continue execution of request 36* line; set OFF => abort the line */ 37 38 dcl P_prompt character (64) varying parameter; /* set_prompt: the new ioa_ control string for prompting */ 39 40 dcl P_prompt_mode bit (*) parameter; /* set_prompt_mode: the new prompt control flags */ 41 42 dcl P_ready_mode bit (1) aligned parameter; /* set_ready_mode: ON => print ready messages */ 43 44 dcl P_debug_mode bit (1) aligned parameter; /* set_debug_mode: ON => enable debugging features */ 45 46 47 /* Remaining declarations */ 48 49 dcl sr_request_name character (32); 50 dcl code fixed binary (35); 51 52 dcl cu_$cp entry (pointer, fixed binary (21), fixed binary (35)); 53 dcl cu_$ready_proc entry (); 54 dcl ssu_$abort_line entry options (variable); 55 dcl ssu_request_mgr_$find_request_name entry (pointer, entry, character (*), fixed binary (35)); 56 57 dcl ssu_requests_$summarize_requests entry (); 58 59 dcl ssu_et_$cpescape_restricted fixed binary (35) external; 60 61 dcl string builtin; 62 63 /* */ 64 65 /* Default subsystem Multics command line escape processor */ 66 67 cpescape: 68 entry (P_sci_ptr, P_line_ptr, P_line_lth, P_code); 69 70 call ssu_check_sci (P_sci_ptr); 71 72 call cu_$cp (P_line_ptr, P_line_lth, (0)); 73 74 P_code = 0; /* always successfull */ 75 76 return; 77 78 79 80 /* Procedure to use if a subsystem wishes to disallow the Multics command line escape sequence */ 81 82 cpescape_disabled: 83 entry (P_sci_ptr, P_line_ptr, P_line_lth, P_code); 84 85 call ssu_check_sci (P_sci_ptr); 86 87 P_code = ssu_et_$cpescape_restricted; 88 call ssu_$abort_line (P_sci_ptr, P_code); 89 90 return; 91 92 /* */ 93 94 /* Standard processor for unknown requests */ 95 96 unknown_request: 97 entry (P_sci_ptr, P_info_ptr, P_request_name, P_arg_list_ptr, P_continue_sw); 98 99 call ssu_check_sci (P_sci_ptr); 100 101 call ssu_request_mgr_$find_request_name (P_sci_ptr, ssu_requests_$summarize_requests, sr_request_name, code); 102 103 call ssu_$abort_line (P_sci_ptr, 0, "Unknown request ""^a"".^[ Type ""^a"" for a request list.^]", 104 P_request_name, (code = 0), sr_request_name); 105 106 P_continue_sw = "0"b; /* abort the request line ... */ 107 108 return; 109 110 111 112 /* Standard subsystem ready message procedure */ 113 114 ready_proc: 115 entry (P_sci_ptr); 116 117 call ssu_check_sci (P_sci_ptr); 118 119 call cu_$ready_proc (); 120 121 return; 122 123 /* */ 124 125 /* Returns the ioa_ control string used to generate the prompt for request lines */ 126 127 get_prompt: 128 entry (P_sci_ptr) returns (character (64) varying); 129 130 call ssu_check_sci (P_sci_ptr); 131 132 return (P_sci_ptr -> sci.prompt); 133 134 135 136 /* Sets the prompt string */ 137 138 set_prompt: 139 entry (P_sci_ptr, P_prompt); 140 141 call ssu_check_sci (P_sci_ptr); 142 143 P_sci_ptr -> sci.prompt = P_prompt; 144 145 return; 146 147 148 149 /* Returns the flags which control when (and if) prompts for request lines should be issued */ 150 151 get_prompt_mode: 152 entry (P_sci_ptr) returns (bit (36) aligned); 153 154 call ssu_check_sci (P_sci_ptr); 155 156 return (string (P_sci_ptr -> sci.prompt_mode)); 157 158 159 160 /* Sets the prompt control flags */ 161 162 set_prompt_mode: 163 entry (P_sci_ptr, P_prompt_mode); 164 165 call ssu_check_sci (P_sci_ptr); 166 167 string (P_sci_ptr -> sci.prompt_mode) = P_prompt_mode; 168 169 return; 170 171 /* */ 172 173 /* Returns true if ready messages are to be printed after each request line */ 174 175 get_ready_mode: 176 entry (P_sci_ptr) returns (bit (1) aligned); 177 178 call ssu_check_sci (P_sci_ptr); 179 180 return (P_sci_ptr -> sci.ready_enabled); 181 182 183 184 /* Sets/reset printing of ready messages after request lines */ 185 186 set_ready_mode: 187 entry (P_sci_ptr, P_ready_mode); 188 189 call ssu_check_sci (P_sci_ptr); 190 191 P_sci_ptr -> sci.ready_enabled = P_ready_mode; 192 193 return; 194 195 196 197 /* Returns whether debugging features are enabled in this subsystem */ 198 199 get_debug_mode: 200 entry (P_sci_ptr) returns (bit (1) aligned); 201 202 call ssu_check_sci (P_sci_ptr); 203 204 return (P_sci_ptr -> sci.debug_mode); 205 206 207 208 /* Sets/resets subsystem debug mode */ 209 210 set_debug_mode: 211 entry (P_sci_ptr, P_debug_mode); 212 213 call ssu_check_sci (P_sci_ptr); 214 215 P_sci_ptr -> sci.debug_mode = P_debug_mode; 216 217 return; 218 219 /* */ 220 1 1 /* BEGIN: _ssu_check_sci.incl.pl1 * * * * * */ 1 2 1 3 /* Created: 25 February 1982 by G. Palter */ 1 4 /* Modified: 6 November 1984 by G. Palter for version 3 and new sub_err_ 1 5* calling sequence */ 1 6 1 7 1 8 /****^ HISTORY COMMENTS: 1 9* 1) change(87-02-07,GDixon), approve(87-05-25,MCR7680), 1 10* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 1 11* Modified to verify that p_sci_ptr has proper its modifier by overlaying it 1 12* with the structure in its.incl.pl1, rather than assuming knowledge of 1 13* pointer format. 1 14* END HISTORY COMMENTS */ 1 15 1 16 1 17 /* format: style4,delnl,insnl,ifthenstmt,ifthen */ 1 18 1 19 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 20 /* */ 1 21 /* Validates that the caller's sci_ptr acutally references a valid */ 1 22 /* subsystem control info structure. */ 1 23 /* */ 1 24 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 1 25 1 26 ssu_check_sci: 1 27 procedure (p_sci_ptr); 1 28 1 29 dcl p_sci_ptr pointer parameter; 1 30 1 31 dcl SSU_ character (32) static options (constant) initial ("ssu_"); 1 32 1 33 dcl error_table_$bad_ptr fixed binary (35) external; 1 34 dcl error_table_$null_info_ptr fixed binary (35) external; 1 35 dcl error_table_$unimplemented_version fixed binary (35) external; 1 36 1 37 dcl sub_err_ entry () options (variable); 1 38 1 39 dcl (null, substr, unspec) builtin; 1 40 1 41 if addr(p_sci_ptr) -> its.its_mod ^= ITS_MODIFIER then do; 1 42 RESIGNAL_BAD_POINTER: 1 43 call sub_err_ (error_table_$bad_ptr, SSU_, ACTION_CANT_RESTART, null (), (0), "^24.3b", unspec (p_sci_ptr)); 1 44 go to RESIGNAL_BAD_POINTER; 1 45 end; 1 46 1 47 if p_sci_ptr = null () then do; 1 48 RESIGNAL_NULL_POINTER: 1 49 call sub_err_ (error_table_$null_info_ptr, SSU_, ACTION_CANT_RESTART, null (), (0), "sci_ptr"); 1 50 go to RESIGNAL_NULL_POINTER; 1 51 end; 1 52 1 53 if p_sci_ptr -> sci.version = SCI_VERSION_3 then /* all is well */ 1 54 return; 1 55 1 56 RESIGNAL_BAD_VERSION: 1 57 call sub_err_ (error_table_$unimplemented_version, SSU_, ACTION_CANT_RESTART, null (), (0), "^24.3b", 1 58 unspec (p_sci_ptr -> sci.version)); 1 59 go to RESIGNAL_BAD_VERSION; 1 60 2 1 /* BEGIN INCLUDE FILE its.incl.pl1 2 2* modified 27 July 79 by JRDavis to add its_unsigned 2 3* Internal format of ITS pointer, including ring-number field for follow-on processor */ 2 4 2 5 dcl 1 its based aligned, /* declaration for ITS type pointer */ 2 6 2 pad1 bit (3) unaligned, 2 7 2 segno bit (15) unaligned, /* segment number within the pointer */ 2 8 2 ringno bit (3) unaligned, /* ring number within the pointer */ 2 9 2 pad2 bit (9) unaligned, 2 10 2 its_mod bit (6) unaligned, /* should be 43(8) */ 2 11 2 12 2 offset bit (18) unaligned, /* word offset within the addressed segment */ 2 13 2 pad3 bit (3) unaligned, 2 14 2 bit_offset bit (6) unaligned, /* bit offset within the word */ 2 15 2 pad4 bit (3) unaligned, 2 16 2 mod bit (6) unaligned; /* further modification */ 2 17 2 18 dcl 1 itp based aligned, /* declaration for ITP type pointer */ 2 19 2 pr_no bit (3) unaligned, /* number of pointer register to use */ 2 20 2 pad1 bit (27) unaligned, 2 21 2 itp_mod bit (6) unaligned, /* should be 41(8) */ 2 22 2 23 2 offset bit (18) unaligned, /* word offset from pointer register word offset */ 2 24 2 pad2 bit (3) unaligned, 2 25 2 bit_offset bit (6) unaligned, /* bit offset relative to new word offset */ 2 26 2 pad3 bit (3) unaligned, 2 27 2 mod bit (6) unaligned; /* further modification */ 2 28 2 29 2 30 dcl 1 its_unsigned based aligned, /* just like its, but with unsigned binary */ 2 31 2 pad1 bit (3) unaligned, 2 32 2 segno fixed bin (15) unsigned unaligned, 2 33 2 ringno fixed bin (3) unsigned unaligned, 2 34 2 pad2 bit (9) unaligned, 2 35 2 its_mod bit (6) unaligned, 2 36 2 37 2 offset fixed bin (18) unsigned unaligned, 2 38 2 pad3 bit (3) unaligned, 2 39 2 bit_offset fixed bin (6) unsigned unaligned, 2 40 2 pad4 bit (3) unaligned, 2 41 2 mod bit (6) unaligned; 2 42 2 43 dcl 1 itp_unsigned based aligned, /* just like itp, but with unsigned binary where appropriate */ 2 44 2 pr_no fixed bin (3) unsigned unaligned, 2 45 2 pad1 bit (27) unaligned, 2 46 2 itp_mod bit (6) unaligned, 2 47 2 48 2 offset fixed bin (18) unsigned unaligned, 2 49 2 pad2 bit (3) unaligned, 2 50 2 bit_offset fixed bin (6) unsigned unaligned, 2 51 2 pad3 bit (3) unaligned, 2 52 2 mod bit (6) unaligned; 2 53 2 54 2 55 dcl ITS_MODIFIER bit (6) unaligned internal static options (constant) init ("43"b3); 2 56 dcl ITP_MODIFIER bit (6) unaligned internal static options (constant) init ("41"b3); 2 57 2 58 /* END INCLUDE FILE its.incl.pl1 */ 1 61 1 62 3 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 3 2 /* format: style3 */ 3 3 3 4 /* These constants are to be used for the flags argument of sub_err_ */ 3 5 /* They are just "string (condition_info_header.action_flags)" */ 3 6 3 7 declare ( 3 8 ACTION_CAN_RESTART init (""b), 3 9 ACTION_CANT_RESTART init ("1"b), 3 10 ACTION_DEFAULT_RESTART 3 11 init ("01"b), 3 12 ACTION_QUIET_RESTART 3 13 init ("001"b), 3 14 ACTION_SUPPORT_SIGNAL 3 15 init ("0001"b) 3 16 ) bit (36) aligned internal static options (constant); 3 17 3 18 /* End include file */ 1 63 1 64 1 65 end ssu_check_sci; 1 66 1 67 1 68 /* END OF: _ssu_check_sci.incl.pl1 * * * * * */ 221 222 4 1 /* BEGIN INCLUDE FILE ... _ssu_sci.incl.pl1 */ 4 2 /* Created: 31 April 1980 by W. Olin Sibert */ 4 3 /* Modified: 17 November 1981 by Jay Pattin to add info_prefix */ 4 4 /* Modified: 10 December 1981 by G. Palter to make arg_count, arg_ptr, return_arg, and arg_list_ptr replaceable */ 4 5 /* Modified: 10 February 1982 by G. Palter to reorganize and make changes required for installation */ 4 6 /* Modified: June 1982 by G. Palter for version 2 (new request processor options and replaceable procedures) */ 4 7 /* Modified: 6 November 1984 by G. Palter for version 3 (get_subsystem_and_request_name is now replaceable) */ 4 8 4 9 /* format: style4,^delnl */ 4 10 4 11 4 12 /* Structure used internally by subsystem utilities to contain control information about a single invocation */ 4 13 4 14 dcl 1 sci aligned based (sci_ptr), 4 15 2 version character (8), 4 16 2 parent_area_ptr pointer, /* -> area holding this data and referenced structures */ 4 17 4 18 2 global_info, /* global information about this subsystem ... */ 4 19 3 subsystem_name char (32) unaligned, /* ... its name (eg: read_mail) */ 4 20 3 subsystem_version char (32) unaligned, /* ... its version numer (eg: 4.3j) */ 4 21 3 info_ptr pointer, /* ... -> data maintained by the subsystem */ 4 22 3 standalone_abort_entry entry () variable, /* ... for standalone invocations: called by ssu_$abort_* */ 4 23 3 flags, 4 24 4 standalone_invocation bit (1) unaligned, /* ... ON => ssu_$standalone_invocation was used */ 4 25 4 in_listener bit (1) unaligned, /* ... ON => in subsystem listener loop */ 4 26 4 executing_request bit (1) unaligned, /* ... ON => executing a request */ 4 27 4 debug_mode bit (1) unaligned, /* ... ON => debugging the subsystem */ 4 28 4 pad bit (32) unaligned, 4 29 4 30 2 recursion_info, /* describes relationship of this invocation to other active 4 31* invocations of the same subsystem ... */ 4 32 3 invocation_data_idx fixed binary, /* ... locates the list of active invocations */ 4 33 3 level fixed binary, /* ... # of active invocations when this one created + 1 */ 4 34 3 previous_sci_ptr pointer, /* ... -> description of previous invocation */ 4 35 3 next_sci_ptr pointer, /* ... -> description of next invocation */ 4 36 4 37 2 request_processor_info, /* information related to request line processing ... */ 4 38 3 request_tables_ptr pointer, /* ... -> list of request tables in use */ 4 39 3 rp_options_ptr pointer, /* ... -> options controlling the processor */ 4 40 3 abort_line_label label variable, 4 41 3 request_data_ptr pointer, /* ... -> request_data structure for current request */ 4 42 4 43 2 prompt_and_ready_info, /* information related to prompts and ready messages ... */ 4 44 3 prompt character (64) varying, /* the prompt (if any): an ioa_ control string */ 4 45 3 prompt_mode, /* controls prompting ... */ 4 46 4 dont_prompt bit (1) unaligned, /* ... ON => never prompt */ 4 47 4 prompt_after_null_lines bit (1) unaligned, /* ... ON => prompt after a blank line if prompts enabled */ 4 48 4 dont_prompt_if_typeahead bit (1) unaligned, /* ... ON => suppress prompts if request line available */ 4 49 4 pad bit (33) unaligned, 4 50 3 ready_enabled bit (1) aligned, /* ... ON => ready procedure should be invoked */ 4 51 4 52 2 listener_info, /* information used by the listener ... */ 4 53 3 abort_subsystem_label label variable, 4 54 3 temp_seg_ptr pointer, /* ... -> temporary segment used for long request lines */ 4 55 4 56 2 temp_info_ptr pointer, /* pointer to data used by ssu_temp_mgr_ */ 4 57 4 58 2 info_info, /* information related to self-documentation ... */ 4 59 3 info_dirs_ptr pointer, /* ... -> list of info directories */ 4 60 3 info_prefix character (32), /* ... prefix used to form info segment names */ 4 61 4 62 2 ec_info, /* data for subsystem exec_com processing ... */ 4 63 3 ec_suffix char (32) unaligned, /* ... suffix of exec_com segments */ 4 64 3 ec_search_list char (32) unaligned, /* ... search list used to find exec_coms */ 4 65 3 subsystem_dir_ptr pointer, /* ... defines referencing_dir rule for above search list */ 4 66 4 67 2 entries, /* all replaceable entries ... */ 4 68 ( 4 69 3 abort_line, /* ... invoked by ssu_$abort_line */ 4 70 3 abort_subsystem, /* ... invoked by ssu_$abort_subsystem */ 4 71 3 print_message, /* ... invoked by ssu_$print_message */ 4 72 3 program_interrupt, /* ... cannot be called externally */ 4 73 3 pre_request_line, /* ... cannot be called externally */ 4 74 3 post_request_line, /* ... cannot be called externally */ 4 75 3 ready, /* ... invoked by ssu_$ready_proc */ 4 76 3 cpescape, /* ... cannot be called externally */ 4 77 3 unknown_request, /* ... invoked by ssu_$unknown_request */ 4 78 3 listen, /* ... invoked by ssu_$listen */ 4 79 3 execute_line, /* ... invoked by ssu_$execute_line */ 4 80 3 evaluate_active_string, /* ... invoked by ssu_$evaluate_active_string */ 4 81 3 invoke_request, /* ... invoked by ssu_$invoke_request */ 4 82 3 locate_request, /* ... invoked by ssu_$locate_request */ 4 83 3 arg_count, /* ... invoked by ssu_$arg_count */ 4 84 3 arg_ptr, /* ... invoked by ssu_$arg_ptr */ 4 85 3 return_arg, /* ... invoked by ssu_$return_arg */ 4 86 3 arg_list_ptr, /* ... invoked by ssu_$arg_list_ptr */ 4 87 3 get_default_rp_options, /* ... invoked by ssu_$get_default_rp_options */ 4 88 3 get_rp_options, /* ... invoked by ssu_$get_request_processor_options */ 4 89 3 set_rp_options, /* ... invoked by ssu_$set_request_processor_options */ 4 90 3 reset_rp_options, /* ... invoked by ssu_$reset_request_processor_options */ 4 91 3 get_subsys_and_request_name /* ... invoked by ssu_$get_subsystem_and_request_name */ 4 92 ) entry () variable options (variable); 4 93 4 94 dcl sci_ptr pointer; 4 95 4 96 dcl sci_parent_area area based (sci.parent_area_ptr); 4 97 4 98 dcl SCI_VERSION_3 character (8) static options (constant) init ("sci_0003"); 4 99 4 100 /* END INCLUDE FILE ... _ssu_sci.incl.pl1 */ 223 224 225 end ssu_misc_procs_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1539.3 ssu_misc_procs_.pl1 >special_ldd>install>MR12.1-1054>ssu_misc_procs_.pl1 221 1 08/04/87 1140.5 _ssu_check_sci.incl.pl1 >spec>install>1056>_ssu_check_sci.incl.pl1 1-61 2 11/26/79 1320.6 its.incl.pl1 >ldd>include>its.incl.pl1 1-63 3 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.incl.pl1 223 4 01/21/85 0912.2 _ssu_sci.incl.pl1 >ldd>include>_ssu_sci.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. ACTION_CANT_RESTART 000000 constant bit(36) initial dcl 3-7 set ref 1-42* 1-48* 1-56* ITS_MODIFIER constant bit(6) initial unaligned dcl 2-55 ref 1-41 P_arg_list_ptr parameter pointer dcl 34 ref 96 P_code parameter fixed bin(35,0) dcl 30 set ref 67 74* 82 87* 88* P_continue_sw parameter bit(1) dcl 35 set ref 96 106* P_debug_mode parameter bit(1) dcl 44 ref 210 215 P_info_ptr parameter pointer dcl 32 ref 96 P_line_lth parameter fixed bin(21,0) dcl 29 set ref 67 72* 82 P_line_ptr parameter pointer dcl 28 set ref 67 72* 82 P_prompt parameter varying char(64) dcl 38 ref 138 143 P_prompt_mode parameter bit unaligned dcl 40 ref 162 167 P_ready_mode parameter bit(1) dcl 42 ref 186 191 P_request_name parameter char unaligned dcl 33 set ref 96 103* P_sci_ptr parameter pointer dcl 26 set ref 67 70* 82 85* 88* 96 99* 101* 103* 114 117* 127 130* 132 138 141* 143 151 154* 156 162 165* 167 175 178* 180 186 189* 191 199 202* 204 210 213* 215 SCI_VERSION_3 000012 constant char(8) initial unaligned dcl 4-98 ref 1-53 SSU_ 000001 constant char(32) initial unaligned dcl 1-31 set ref 1-42* 1-48* 1-56* code 000110 automatic fixed bin(35,0) dcl 50 set ref 101* 103 cu_$cp 000010 constant entry external dcl 52 ref 72 cu_$ready_proc 000012 constant entry external dcl 53 ref 119 debug_mode 32(03) based bit(1) level 4 packed unaligned dcl 4-14 set ref 204 215* error_table_$bad_ptr 000024 external static fixed bin(35,0) dcl 1-33 set ref 1-42* error_table_$null_info_ptr 000026 external static fixed bin(35,0) dcl 1-34 set ref 1-48* error_table_$unimplemented_version 000030 external static fixed bin(35,0) dcl 1-35 set ref 1-56* flags 32 based structure level 3 dcl 4-14 global_info 4 based structure level 2 dcl 4-14 its based structure level 1 dcl 2-5 its_mod 0(30) based bit(6) level 2 packed unaligned dcl 2-5 ref 1-41 null builtin function dcl 1-39 ref 1-42 1-42 1-47 1-48 1-48 1-56 1-56 p_sci_ptr parameter pointer dcl 1-29 set ref 1-26 1-41 1-42 1-42 1-47 1-53 1-56 1-56 prompt 54 based varying char(64) level 3 dcl 4-14 set ref 132 143* prompt_and_ready_info 54 based structure level 2 dcl 4-14 prompt_mode 75 based structure level 3 dcl 4-14 set ref 156 167* ready_enabled 76 based bit(1) level 3 dcl 4-14 set ref 180 191* sci based structure level 1 dcl 4-14 sr_request_name 000100 automatic char(32) unaligned dcl 49 set ref 101* 103* ssu_$abort_line 000014 constant entry external dcl 54 ref 88 103 ssu_et_$cpescape_restricted 000022 external static fixed bin(35,0) dcl 59 ref 87 ssu_request_mgr_$find_request_name 000016 constant entry external dcl 55 ref 101 ssu_requests_$summarize_requests 000020 constant entry external dcl 57 ref 101 101 string builtin function dcl 61 set ref 156 167* sub_err_ 000032 constant entry external dcl 1-37 ref 1-42 1-48 1-56 unspec builtin function dcl 1-39 ref 1-42 1-42 1-56 1-56 version based char(8) level 2 dcl 4-14 ref 1-53 1-56 1-56 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 3-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 3-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 3-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 3-7 ITP_MODIFIER internal static bit(6) initial unaligned dcl 2-56 itp based structure level 1 dcl 2-18 itp_unsigned based structure level 1 dcl 2-43 its_unsigned based structure level 1 dcl 2-30 sci_parent_area based area(1024) dcl 4-96 sci_ptr automatic pointer dcl 4-94 substr builtin function dcl 1-39 NAMES DECLARED BY EXPLICIT CONTEXT. RESIGNAL_BAD_POINTER 001257 constant label dcl 1-42 ref 1-44 RESIGNAL_BAD_VERSION 001411 constant label dcl 1-56 set ref 1-59 RESIGNAL_NULL_POINTER 001337 constant label dcl 1-48 ref 1-50 cpescape 000117 constant entry external dcl 67 cpescape_disabled 000173 constant entry external dcl 82 get_debug_mode 001117 constant entry external dcl 199 get_prompt 000465 constant entry external dcl 127 get_prompt_mode 000631 constant entry external dcl 151 get_ready_mode 000773 constant entry external dcl 175 ready_proc 000421 constant entry external dcl 114 set_debug_mode 001206 constant entry external dcl 210 set_prompt 000561 constant entry external dcl 138 set_prompt_mode 000716 constant entry external dcl 162 set_ready_mode 001054 constant entry external dcl 186 ssu_check_sci 001251 constant entry internal dcl 1-26 ref 70 85 99 117 130 141 154 165 178 189 202 213 ssu_misc_procs_ 000067 constant entry external dcl 18 unknown_request 000253 constant entry external dcl 96 NAME DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 1-41 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1760 2014 1470 1770 Length 2314 1470 34 263 270 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME ssu_misc_procs_ 348 external procedure is an external procedure. ssu_check_sci internal procedure shares stack frame of external procedure ssu_misc_procs_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME ssu_misc_procs_ 000100 sr_request_name ssu_misc_procs_ 000110 code ssu_misc_procs_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return_mac signal_op ext_entry ext_entry_desc any_to_any_truncate_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cu_$cp cu_$ready_proc ssu_$abort_line ssu_request_mgr_$find_request_name ssu_requests_$summarize_requests sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_ptr error_table_$null_info_ptr error_table_$unimplemented_version ssu_et_$cpescape_restricted LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 18 000066 21 000076 67 000112 70 000126 72 000135 74 000152 76 000154 82 000171 85 000202 87 000211 88 000215 90 000231 96 000246 99 000270 101 000277 103 000331 106 000377 108 000401 114 000416 117 000430 119 000437 121 000444 127 000461 130 000474 132 000503 138 000557 141 000570 143 000577 145 000610 151 000625 154 000640 156 000647 162 000712 165 000733 167 000742 169 000752 175 000767 178 001001 180 001010 186 001052 189 001063 191 001072 193 001100 199 001115 202 001125 204 001134 210 001204 213 001215 215 001224 217 001234 1 26 001251 1 41 001253 1 42 001257 1 44 001332 1 47 001333 1 48 001337 1 50 001401 1 53 001402 1 56 001411 1 59 001465 ----------------------------------------------------------- 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