/* BEGIN INCLUDE FILE ... _ssu_sci.incl.pl1 */ /* Created: 31 April 1980 by W. Olin Sibert */ /* Modified: 17 November 1981 by Jay Pattin to add info_prefix */ /* Modified: 10 December 1981 by G. Palter to make arg_count, arg_ptr, return_arg, and arg_list_ptr replaceable */ /* Modified: 10 February 1982 by G. Palter to reorganize and make changes required for installation */ /* Modified: June 1982 by G. Palter for version 2 (new request processor options and replaceable procedures) */ /* Modified: 6 November 1984 by G. Palter for version 3 (get_subsystem_and_request_name is now replaceable) */ /* format: style4,^delnl */ /* Structure used internally by subsystem utilities to contain control information about a single invocation */ dcl 1 sci aligned based (sci_ptr), 2 version character (8), 2 parent_area_ptr pointer, /* -> area holding this data and referenced structures */ 2 global_info, /* global information about this subsystem ... */ 3 subsystem_name char (32) unaligned, /* ... its name (eg: read_mail) */ 3 subsystem_version char (32) unaligned, /* ... its version numer (eg: 4.3j) */ 3 info_ptr pointer, /* ... -> data maintained by the subsystem */ 3 standalone_abort_entry entry () variable, /* ... for standalone invocations: called by ssu_$abort_* */ 3 flags, 4 standalone_invocation bit (1) unaligned, /* ... ON => ssu_$standalone_invocation was used */ 4 in_listener bit (1) unaligned, /* ... ON => in subsystem listener loop */ 4 executing_request bit (1) unaligned, /* ... ON => executing a request */ 4 debug_mode bit (1) unaligned, /* ... ON => debugging the subsystem */ 4 pad bit (32) unaligned, 2 recursion_info, /* describes relationship of this invocation to other active invocations of the same subsystem ... */ 3 invocation_data_idx fixed binary, /* ... locates the list of active invocations */ 3 level fixed binary, /* ... # of active invocations when this one created + 1 */ 3 previous_sci_ptr pointer, /* ... -> description of previous invocation */ 3 next_sci_ptr pointer, /* ... -> description of next invocation */ 2 request_processor_info, /* information related to request line processing ... */ 3 request_tables_ptr pointer, /* ... -> list of request tables in use */ 3 rp_options_ptr pointer, /* ... -> options controlling the processor */ 3 abort_line_label label variable, 3 request_data_ptr pointer, /* ... -> request_data structure for current request */ 2 prompt_and_ready_info, /* information related to prompts and ready messages ... */ 3 prompt character (64) varying, /* the prompt (if any): an ioa_ control string */ 3 prompt_mode, /* controls prompting ... */ 4 dont_prompt bit (1) unaligned, /* ... ON => never prompt */ 4 prompt_after_null_lines bit (1) unaligned, /* ... ON => prompt after a blank line if prompts enabled */ 4 dont_prompt_if_typeahead bit (1) unaligned, /* ... ON => suppress prompts if request line available */ 4 pad bit (33) unaligned, 3 ready_enabled bit (1) aligned, /* ... ON => ready procedure should be invoked */ 2 listener_info, /* information used by the listener ... */ 3 abort_subsystem_label label variable, 3 temp_seg_ptr pointer, /* ... -> temporary segment used for long request lines */ 2 temp_info_ptr pointer, /* pointer to data used by ssu_temp_mgr_ */ 2 info_info, /* information related to self-documentation ... */ 3 info_dirs_ptr pointer, /* ... -> list of info directories */ 3 info_prefix character (32), /* ... prefix used to form info segment names */ 2 ec_info, /* data for subsystem exec_com processing ... */ 3 ec_suffix char (32) unaligned, /* ... suffix of exec_com segments */ 3 ec_search_list char (32) unaligned, /* ... search list used to find exec_coms */ 3 subsystem_dir_ptr pointer, /* ... defines referencing_dir rule for above search list */ 2 entries, /* all replaceable entries ... */ ( 3 abort_line, /* ... invoked by ssu_$abort_line */ 3 abort_subsystem, /* ... invoked by ssu_$abort_subsystem */ 3 print_message, /* ... invoked by ssu_$print_message */ 3 program_interrupt, /* ... cannot be called externally */ 3 pre_request_line, /* ... cannot be called externally */ 3 post_request_line, /* ... cannot be called externally */ 3 ready, /* ... invoked by ssu_$ready_proc */ 3 cpescape, /* ... cannot be called externally */ 3 unknown_request, /* ... invoked by ssu_$unknown_request */ 3 listen, /* ... invoked by ssu_$listen */ 3 execute_line, /* ... invoked by ssu_$execute_line */ 3 evaluate_active_string, /* ... invoked by ssu_$evaluate_active_string */ 3 invoke_request, /* ... invoked by ssu_$invoke_request */ 3 locate_request, /* ... invoked by ssu_$locate_request */ 3 arg_count, /* ... invoked by ssu_$arg_count */ 3 arg_ptr, /* ... invoked by ssu_$arg_ptr */ 3 return_arg, /* ... invoked by ssu_$return_arg */ 3 arg_list_ptr, /* ... invoked by ssu_$arg_list_ptr */ 3 get_default_rp_options, /* ... invoked by ssu_$get_default_rp_options */ 3 get_rp_options, /* ... invoked by ssu_$get_request_processor_options */ 3 set_rp_options, /* ... invoked by ssu_$set_request_processor_options */ 3 reset_rp_options, /* ... invoked by ssu_$reset_request_processor_options */ 3 get_subsys_and_request_name /* ... invoked by ssu_$get_subsystem_and_request_name */ ) entry () variable options (variable); dcl sci_ptr pointer; dcl sci_parent_area area based (sci.parent_area_ptr); dcl SCI_VERSION_3 character (8) static options (constant) init ("sci_0003"); /* END INCLUDE FILE ... _ssu_sci.incl.pl1 */ */ ----------------------------------------------------------- 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 */