1 /* BEGIN INCLUDE FILE probe_info.incl.pl1 */ 2 3 4 5 /****^ HISTORY COMMENTS: 6 1) change(88-10-24,WAAnderson), approve(88-10-24,MCR7952), 7 audit(88-10-24,RWaters), install(88-10-27,MR12.2-1194): 8 Added field 'retry_using_main' to add new C feature. 9 END HISTORY COMMENTS */ 10 11 12 /* Created: 04/22/79 W. Olin Sibert, from subsystem_info 13 Modified: 22 Sept 79 JRd to remove: default (ptr & (auto|based)) init (null ()); 14 Added flags.setting_break 08/22/83 Steve Herbst 15 Added flags.executing_quit_request 01/15/85 Steve Herbst 16 */ 17 18 dcl 1 probe_info aligned based (probe_info_ptr), /* standard data for a probe invocation */ 19 2 probe_info_version fixed bin, /* version of this structure */ 20 21 2 static_info_ptr pointer unaligned, /* pointer to static information structure */ 22 2 modes_ptr pointer unaligned, /* pointer to probe_modes structure */ 23 24 2 ptr_to_current_source ptr, /* current_source is based on this */ 25 2 ptr_to_initial_source ptr, /* initial_source is based on this */ 26 2 machine_cond_ptr pointer, /* pointer to machine conditions, if we faulted to get here */ 27 28 2 token_info aligned, /* information about token chain currently being processed */ 29 3 first_token pointer unaligned, /* first token in chain */ 30 3 ct pointer unaligned, /* pointer to current token; updated in MANY places */ 31 3 end_token bit (18) aligned, /* token type at which to stop scanning token chain */ 32 3 buffer_ptr pointer unaligned, /* pointer to input buffer */ 33 3 buffer_lth fixed bin (21), /* and length */ 34 35 2 random_info aligned, 36 3 current_stack_frame pointer unaligned, /* stack frame pointer for frame in which probe was invoked */ 37 3 input_type fixed bin, /* current input type */ 38 3 language_type fixed bin, /* current language being processed */ 39 3 return_method fixed bin, /* how we should return after exiting probe */ 40 3 entry_method fixed bin, /* how we got here in the first place */ 41 3 pad1 (19) bit (36) aligned, 42 43 2 break_info, /* break info -- only interesting if we got here via a break */ 44 3 break_slot_ptr pointer, /* pointer to break slot -- non-null IFF at a break */ 45 3 last_break_slot_ptr pointer unaligned, /* pointer to previous break slot, not presently used */ 46 3 break_reset bit (1) aligned, /* this break has been reset by somebody further on */ 47 3 real_break_return_loc pointer, /* where to REALLY return to, modulo previous bit */ 48 49 2 probe_area_info, /* information about various probe areas */ 50 3 break_segment_ptr pointer unaligned, /* pointer to Personid.probe */ 51 3 break_area_ptr pointer unaligned, /* pointer to area in break segment */ 52 3 scratch_area_ptr pointer unaligned, /* pointer to probe scratch seg in process dir */ 53 3 probe_area_ptr pointer unaligned, /* This area lasts as long as an invocation of probe. */ 54 3 work_area_ptr pointer unaligned, /* This area lasts as long as the current request line */ 55 3 expression_area_ptr pointer unaligned, /* This area lasts as long as the current command */ 56 57 2 flags aligned, /* this, in particular, should be saved and restored correctly */ 58 (3 execute, /* "1"b => execute requests, "0"b => just check syntax */ 59 3 in_listener, /* ON => in probe listener loop */ 60 3 executing_request, /* ON => executing a request */ 61 3 in_interpret_line, /* executing in probe_listen_$interpret_line */ 62 3 setting_break, /* executing "after" or "before": check syntax of "if" */ 63 3 executing_quit_request, /* to prevent error looping during "quit" request */ 64 3 pad (30)) bit (1) unaligned, 65 66 2 io_switches, /* switches probe will do normal I/O on */ 67 3 input_switch pointer, 68 3 output_switch pointer, 69 70 2 error_info, /* information about the last error saved for later printing */ 71 3 error_code fixed bin (35), 72 3 error_message char (300) varying, 73 74 2 listener_info, /* internal use by probe listener */ 75 3 request_name character (32) varying, /* primary name of the request being processed */ 76 3 abort_probe_label label variable, 77 3 abort_line_label label variable, 78 3 depth fixed binary, /* count of active invocations of probe */ 79 3 previous pointer unaligned, /* -> previous invocation's info */ 80 3 next pointer unaligned, 81 82 2 end_of_probe_info pointer aligned, 83 2 retry_using_main fixed bin aligned; 84 85 86 dcl probe_info_ptr pointer; 87 88 dcl probe_info_version fixed bin static options (constant) initial (1); 89 90 dcl probe_info_version_1 fixed bin static options (constant) initial (1); 91 92 dcl scratch_area area based (probe_info.scratch_area_ptr); 93 dcl probe_area area based (probe_info.probe_area_ptr); 94 dcl work_area area based (probe_info.work_area_ptr); 95 dcl expression_area area based (probe_info.expression_area_ptr); 96 97 /* END INCLUDE FILE probe_info.incl.pl1 */