COMPILATION LISTING OF SEGMENT ssu_arglist_ 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 1641.1 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 8 /* Subsystem request argument processing functions: arg_count, arg_ptr, return_arg, arg_list_ptr */ 9 10 /* Created: 3 May 1980 by W. Olin Sibert */ 11 /* Modified: 13 February 1982 by G. Palter to make arg_ptr and arg_count abort when appropriate */ 12 13 /* format: style4,delnl,insnl,ifthenstmt,ifthen */ 14 15 16 ssu_arglist_: 17 procedure (); 18 19 return; /* not an entrypoint */ 20 21 22 /* Parameters */ 23 24 dcl P_sci_ptr pointer parameter; 25 26 dcl P_arg_count fixed binary parameter; /* arg_count, return_arg: # of arguments given to request */ 27 28 dcl P_arg_idx fixed binary parameter; /* arg_ptr: index of the desired argument */ 29 dcl P_arg_ptr pointer parameter; /* arg_ptr: set -> the desired argument */ 30 dcl P_arg_lth fixed binary (21) parameter; /* arg_ptr: set to length of the argument */ 31 32 dcl P_af_sw bit (1) aligned parameter; /* return_arg: set ON => invoked as an active request */ 33 dcl P_rv_ptr pointer parameter; /* return_arg: set -> active request's return value */ 34 dcl P_rv_lth fixed binary (21) parameter; /* return_arg: set to maximum length of return value */ 35 36 dcl P_arg_list_ptr pointer parameter; /* arg_list_ptr: -> the request's argument list */ 37 38 39 /* Remaining declarations */ 40 41 dcl error_table_$noarg fixed binary (35) external; 42 dcl ssu_et_$not_af_request fixed binary (35) external; 43 44 dcl cu_$arg_ptr_rel entry (fixed binary, pointer, fixed binary (21), fixed binary (35), pointer); 45 dcl ssu_$abort_line entry () options (variable); 46 47 dcl null builtin; 48 49 /* */ 50 51 /* Returns the number of arguments to the request: aborts if the request was invoked as an active request */ 52 53 arg_count: 54 entry (P_sci_ptr, P_arg_count); 55 56 call ssu_check_sci (P_sci_ptr); 57 58 request_data_ptr = P_sci_ptr -> sci.request_data_ptr; 59 60 if request_data.af_sw then 61 call ssu_$abort_line (P_sci_ptr, ssu_et_$not_af_request); 62 else P_arg_count = request_data.arg_count; 63 64 return; 65 66 67 68 /* Returns pointer/length of the requested argument: aborts if the argument doesn't exist */ 69 70 arg_ptr: 71 entry (P_sci_ptr, P_arg_idx, P_arg_ptr, P_arg_lth); 72 73 call ssu_check_sci (P_sci_ptr); 74 75 request_data_ptr = P_sci_ptr -> sci.request_data_ptr; 76 77 if (P_arg_idx > request_data.arg_count) | (P_arg_idx < 1) then 78 call ssu_$abort_line (P_sci_ptr, error_table_$noarg); 79 else call cu_$arg_ptr_rel (P_arg_idx, P_arg_ptr, P_arg_lth, (0), request_data.arg_list_ptr); 80 81 return; 82 83 /* */ 84 85 /* Returns the argument count, whether the request was invoked as an active request, and, if so, the return value */ 86 87 return_arg: 88 entry (P_sci_ptr, P_arg_count, P_af_sw, P_rv_ptr, P_rv_lth); 89 90 call ssu_check_sci (P_sci_ptr); 91 92 request_data_ptr = P_sci_ptr -> sci.request_data_ptr; 93 94 P_arg_count = request_data.arg_count; 95 96 if request_data.af_sw then do; /* invoked as an active request */ 97 P_rv_ptr = request_data.rv_ptr; 98 P_rv_lth = request_data.rv_lth; 99 P_af_sw = "1"b; 100 end; 101 102 else do; /* not invoked as an active request */ 103 P_rv_ptr = null (); 104 P_rv_lth = 0; 105 P_af_sw = "0"b; 106 end; 107 108 return; 109 110 111 112 /* Returns a pointer to the request's argument list */ 113 114 arg_list_ptr: 115 entry (P_sci_ptr, P_arg_list_ptr); 116 117 call ssu_check_sci (P_sci_ptr); 118 119 request_data_ptr = P_sci_ptr -> sci.request_data_ptr; 120 121 P_arg_list_ptr = request_data.arg_list_ptr; 122 123 return; 124 125 /* */ 126 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 * * * * * */ 127 128 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 */ 129 130 5 1 /* BEGIN INCLUDE FILE ... _ssu_request_data.incl.pl1 */ 5 2 /* Created: 13 May 1980 by W. Olin Sibert */ 5 3 /* Modified: 28 February 1982 by G. Palter to add dont_summarize and dont_list */ 5 4 /* Modified: 2 August 1982 by Jay Pattin to add unknown flag */ 5 5 5 6 /* format: style4,delnl,insnl,ifthenstmt,ifthen */ 5 7 5 8 5 9 /* Description of a subsystem request returned by ssu_$locate_request */ 5 10 5 11 dcl 1 request_data aligned based (request_data_ptr), 5 12 2 full_name character (32) unaligned, /* its primary name */ 5 13 2 entry entry (pointer, pointer) variable, /* entry to call to implement the request */ 5 14 2 call_info, /* describes current invocation of the request ... */ 5 15 3 arg_list_ptr pointer, /* ... -> argument list */ 5 16 3 arg_count fixed binary, 5 17 3 af_sw bit (1) aligned, /* ... ON => invoked as an active request */ 5 18 3 rv_ptr pointer, /* ... -> active request's return string */ 5 19 3 rv_lth fixed binary (21), /* ... maxlength of the return string */ 5 20 2 flags aligned like request_flags, /* attributes of the request (from the request table) */ 5 21 2 name_list_ptr pointer unaligned, /* -> list of all valid names for the request */ 5 22 2 info_string, /* brief description of the request (if any) */ 5 23 3 ptr pointer unaligned, 5 24 3 lth fixed binary (18), 5 25 2 pad (4) bit (36); 5 26 5 27 dcl request_data_ptr pointer; 5 28 5 29 5 30 /* Request attributes from the request table */ 5 31 5 32 dcl 1 request_flags aligned based, 5 33 2 system_flags unaligned, 5 34 3 allow_command bit (1) unaligned, /* ON => request may be called as a command */ 5 35 3 allow_af bit (1) unaligned, /* ON => request may be called as an active function */ 5 36 3 unimplemented bit (1) unaligned, /* ON => request is not yet implemented */ 5 37 3 multics_request bit (1) unaligned, /* ON => this request is really just a Multics command */ 5 38 3 dont_summarize bit (1) unaligned, /* ON => summarize_requests doesn't list this request */ 5 39 3 dont_list bit (1) unaligned, /* ON => list_requests doesn't match this one without -all */ 5 40 3 unknown bit (1) unaligned, /* ON => return unknown_request, don't list or summarize ever */ 5 41 3 pad bit (11) unaligned, 5 42 2 user_flags bit (18) unaligned; /* no longer used */ 5 43 5 44 5 45 /* List of all names for a given request */ 5 46 5 47 dcl 1 request_name_list aligned based (request_name_list_ptr), 5 48 2 n_names fixed binary, /* structure describing name list */ 5 49 2 name (request_name_list_n_names refer (request_name_list.n_names)) character (32) unaligned; 5 50 5 51 dcl request_name_list_ptr pointer; 5 52 dcl request_name_list_n_names fixed binary; 5 53 5 54 5 55 /* Brief description of a request */ 5 56 5 57 dcl request_info_string character (request_info_string_lth) based (request_info_string_ptr); 5 58 dcl request_info_string_lth fixed binary (21); 5 59 dcl request_info_string_ptr pointer; 5 60 5 61 /* END INCLUDE FILE ... _ssu_request_data.incl.pl1 */ 131 132 133 end ssu_arglist_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1539.2 ssu_arglist_.pl1 >special_ldd>install>MR12.1-1054>ssu_arglist_.pl1 127 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 129 4 01/21/85 0912.2 _ssu_sci.incl.pl1 >ldd>include>_ssu_sci.incl.pl1 131 5 09/28/82 1437.6 _ssu_request_data.incl.pl1 >ldd>include>_ssu_request_data.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 000020 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_af_sw parameter bit(1) dcl 32 set ref 87 99* 105* P_arg_count parameter fixed bin(17,0) dcl 26 set ref 53 62* 87 94* P_arg_idx parameter fixed bin(17,0) dcl 28 set ref 70 77 77 79* P_arg_list_ptr parameter pointer dcl 36 set ref 114 121* P_arg_lth parameter fixed bin(21,0) dcl 30 set ref 70 79* P_arg_ptr parameter pointer dcl 29 set ref 70 79* P_rv_lth parameter fixed bin(21,0) dcl 34 set ref 87 98* 104* P_rv_ptr parameter pointer dcl 33 set ref 87 97* 103* P_sci_ptr parameter pointer dcl 24 set ref 53 56* 58 60* 70 73* 75 77* 87 90* 92 114 117* 119 SCI_VERSION_3 000010 constant char(8) initial unaligned dcl 4-98 ref 1-53 SSU_ 000000 constant char(32) initial unaligned dcl 1-31 set ref 1-42* 1-48* 1-56* af_sw 17 based bit(1) level 3 dcl 5-11 ref 60 96 arg_count 16 based fixed bin(17,0) level 3 dcl 5-11 ref 62 77 94 arg_list_ptr 14 based pointer level 3 dcl 5-11 set ref 79* 121 call_info 14 based structure level 2 dcl 5-11 cu_$arg_ptr_rel 000014 constant entry external dcl 44 ref 79 error_table_$bad_ptr 000020 external static fixed bin(35,0) dcl 1-33 set ref 1-42* error_table_$noarg 000010 external static fixed bin(35,0) dcl 41 set ref 77* error_table_$null_info_ptr 000022 external static fixed bin(35,0) dcl 1-34 set ref 1-48* error_table_$unimplemented_version 000024 external static fixed bin(35,0) dcl 1-35 set ref 1-56* 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 in procedure "ssu_check_sci" ref 1-42 1-42 1-47 1-48 1-48 1-56 1-56 null builtin function dcl 47 in procedure "ssu_arglist_" ref 103 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 request_data based structure level 1 dcl 5-11 request_data_ptr 000100 automatic pointer dcl 5-27 in procedure "ssu_arglist_" set ref 58* 60 62 75* 77 79 92* 94 96 97 98 119* 121 request_data_ptr 52 based pointer level 3 in structure "sci" dcl 4-14 in procedure "ssu_arglist_" ref 58 75 92 119 request_flags based structure level 1 dcl 5-32 request_processor_info 42 based structure level 2 dcl 4-14 rv_lth 22 based fixed bin(21,0) level 3 dcl 5-11 ref 98 rv_ptr 20 based pointer level 3 dcl 5-11 ref 97 sci based structure level 1 dcl 4-14 ssu_$abort_line 000016 constant entry external dcl 45 ref 60 77 ssu_et_$not_af_request 000012 external static fixed bin(35,0) dcl 42 set ref 60* sub_err_ 000026 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 request_info_string based char unaligned dcl 5-57 request_info_string_lth automatic fixed bin(21,0) dcl 5-58 request_info_string_ptr automatic pointer dcl 5-59 request_name_list based structure level 1 dcl 5-47 request_name_list_n_names automatic fixed bin(17,0) dcl 5-52 request_name_list_ptr automatic pointer dcl 5-51 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 000311 constant label dcl 1-42 set ref 1-44 RESIGNAL_BAD_VERSION 000443 constant label dcl 1-56 set ref 1-59 RESIGNAL_NULL_POINTER 000371 constant label dcl 1-48 ref 1-50 arg_count 000047 constant entry external dcl 53 arg_list_ptr 000257 constant entry external dcl 114 arg_ptr 000120 constant entry external dcl 70 return_arg 000212 constant entry external dcl 87 ssu_arglist_ 000035 constant entry external dcl 16 ssu_check_sci 000303 constant entry internal dcl 1-26 ref 56 73 90 117 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 672 722 520 702 Length 1216 520 30 257 151 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME ssu_arglist_ 140 external procedure is an external procedure. ssu_check_sci internal procedure shares stack frame of external procedure ssu_arglist_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME ssu_arglist_ 000100 request_data_ptr ssu_arglist_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cu_$arg_ptr_rel ssu_$abort_line sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_ptr error_table_$noarg error_table_$null_info_ptr error_table_$unimplemented_version ssu_et_$not_af_request LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000034 19 000042 53 000043 56 000054 58 000063 60 000070 62 000110 64 000112 70 000113 73 000125 75 000134 77 000141 79 000164 81 000204 87 000205 90 000217 92 000226 94 000233 96 000235 97 000237 98 000241 99 000243 100 000245 103 000246 104 000250 105 000251 108 000252 114 000253 117 000264 119 000273 121 000300 123 000302 1 26 000303 1 41 000305 1 42 000311 1 44 000364 1 47 000365 1 48 000371 1 50 000433 1 53 000434 1 56 000443 1 59 000517 ----------------------------------------------------------- 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