/* BEGIN INCLUDE FILE probe_info.incl.pl1 */ /****^ HISTORY COMMENTS: 1) change(88-10-24,WAAnderson), approve(88-10-24,MCR7952), audit(88-10-24,RWaters), install(88-10-27,MR12.2-1194): Added field 'retry_using_main' to add new C feature. END HISTORY COMMENTS */ /* Created: 04/22/79 W. Olin Sibert, from subsystem_info Modified: 22 Sept 79 JRd to remove: default (ptr & (auto|based)) init (null ()); Added flags.setting_break 08/22/83 Steve Herbst Added flags.executing_quit_request 01/15/85 Steve Herbst */ dcl 1 probe_info aligned based (probe_info_ptr), /* standard data for a probe invocation */ 2 probe_info_version fixed bin, /* version of this structure */ 2 static_info_ptr pointer unaligned, /* pointer to static information structure */ 2 modes_ptr pointer unaligned, /* pointer to probe_modes structure */ 2 ptr_to_current_source ptr, /* current_source is based on this */ 2 ptr_to_initial_source ptr, /* initial_source is based on this */ 2 machine_cond_ptr pointer, /* pointer to machine conditions, if we faulted to get here */ 2 token_info aligned, /* information about token chain currently being processed */ 3 first_token pointer unaligned, /* first token in chain */ 3 ct pointer unaligned, /* pointer to current token; updated in MANY places */ 3 end_token bit (18) aligned, /* token type at which to stop scanning token chain */ 3 buffer_ptr pointer unaligned, /* pointer to input buffer */ 3 buffer_lth fixed bin (21), /* and length */ 2 random_info aligned, 3 current_stack_frame pointer unaligned, /* stack frame pointer for frame in which probe was invoked */ 3 input_type fixed bin, /* current input type */ 3 language_type fixed bin, /* current language being processed */ 3 return_method fixed bin, /* how we should return after exiting probe */ 3 entry_method fixed bin, /* how we got here in the first place */ 3 pad1 (19) bit (36) aligned, 2 break_info, /* break info -- only interesting if we got here via a break */ 3 break_slot_ptr pointer, /* pointer to break slot -- non-null IFF at a break */ 3 last_break_slot_ptr pointer unaligned, /* pointer to previous break slot, not presently used */ 3 break_reset bit (1) aligned, /* this break has been reset by somebody further on */ 3 real_break_return_loc pointer, /* where to REALLY return to, modulo previous bit */ 2 probe_area_info, /* information about various probe areas */ 3 break_segment_ptr pointer unaligned, /* pointer to Personid.probe */ 3 break_area_ptr pointer unaligned, /* pointer to area in break segment */ 3 scratch_area_ptr pointer unaligned, /* pointer to probe scratch seg in process dir */ 3 probe_area_ptr pointer unaligned, /* This area lasts as long as an invocation of probe. */ 3 work_area_ptr pointer unaligned, /* This area lasts as long as the current request line */ 3 expression_area_ptr pointer unaligned, /* This area lasts as long as the current command */ 2 flags aligned, /* this, in particular, should be saved and restored correctly */ (3 execute, /* "1"b => execute requests, "0"b => just check syntax */ 3 in_listener, /* ON => in probe listener loop */ 3 executing_request, /* ON => executing a request */ 3 in_interpret_line, /* executing in probe_listen_$interpret_line */ 3 setting_break, /* executing "after" or "before": check syntax of "if" */ 3 executing_quit_request, /* to prevent error looping during "quit" request */ 3 pad (30)) bit (1) unaligned, 2 io_switches, /* switches probe will do normal I/O on */ 3 input_switch pointer, 3 output_switch pointer, 2 error_info, /* information about the last error saved for later printing */ 3 error_code fixed bin (35), 3 error_message char (300) varying, 2 listener_info, /* internal use by probe listener */ 3 request_name character (32) varying, /* primary name of the request being processed */ 3 abort_probe_label label variable, 3 abort_line_label label variable, 3 depth fixed binary, /* count of active invocations of probe */ 3 previous pointer unaligned, /* -> previous invocation's info */ 3 next pointer unaligned, 2 end_of_probe_info pointer aligned, 2 retry_using_main fixed bin aligned; dcl probe_info_ptr pointer; dcl probe_info_version fixed bin static options (constant) initial (1); dcl probe_info_version_1 fixed bin static options (constant) initial (1); dcl scratch_area area based (probe_info.scratch_area_ptr); dcl probe_area area based (probe_info.probe_area_ptr); dcl work_area area based (probe_info.work_area_ptr); dcl expression_area area based (probe_info.expression_area_ptr); /* END INCLUDE FILE probe_info.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 */