1 /*        BEGIN INCLUDE FILE probe_static_info.incl.pl1     */
 2 
 3 /* *      This include file describes per-process information about probe, such
 4    *      as various options available and the info directories and modes.
 5    *
 6    *      Created: 06/06/79 W. Olin Sibert */
 7 
 8 dcl 1 probe_static_info aligned based (probe_info.static_info_ptr), /* per-process data about probe */
 9     2 probe_info_version fixed bin,                         /* same as probe_info.probe_info_version */
10 
11     2 version aligned,
12       3 major_version fixed bin,
13       3 minor_version fixed bin,
14       3 version_string char (32) unaligned,                 /* like "4.3f, patch 1" */
15 
16     2 name char (32) unaligned,                             /* "probe" */
17     2 prompt character (40) varying,                        /* prompt for reading requests */
18     2 switches,
19       3 brief_sw bit (1) unaligned,                         /* briefer break messages, no header (default OFF) */
20       3 no_handle_faults_sw bit (1) unaligned,              /* don't handle bad ptr faults (default OFF) */
21       3 recursive_breaks_sw bit (1) unaligned,              /* don't ignore recursive breaks in probe */
22       3 prompt_on_sw bit (1) unaligned,                     /* prompt for request lines */
23       3 switch_pad bit (32) unaligned,
24 
25     2 scratch_segment_ptr pointer,                          /* pointer to probe_scratch_ -- always valid */
26     2 break_segment_ptr pointer,                            /* pointer to Person.breaks -- valid only if needed */
27 
28     2 seg_info_offset_ptr pointer,                          /* pointer to seg_info_offset array */
29 
30     2 probe_segno bit (18),                                 /* segment number of probe itself */
31    2 last_break_segno bit (18),                             /* segment number of last interrupted program */
32 
33     2 stack_info aligned,                                   /* information about the stack trace in probe_scratch_ */
34       3 level_chain pointer unaligned,                      /* first level frame entry pointer */
35       3 max_level fixed bin,                                /* number of stack levels */
36       3 flags aligned,
37        (4 good_stack,
38         4 traced_with_all,                                  /* whether the stack trace includes support frames */
39         4 pad1 (34)) bit (1) unaligned,
40 
41     2 modes_ptr pointer unaligned,                          /* pointer to modes -- same as probe_info.modes_ptr */
42 
43     2 request_table_info aligned,                           /* info for request definitions */
44       3 array_ptr pointer,                                  /* pointer to array of request table pointers */
45       3 array_size fixed bin,                               /* number of elements in use */
46       3 array_max_size fixed bin,                           /* max number of elements in array */
47       3 using_internal_array bit (1) aligned,               /* whether or not we are using the array in probe_static_info */
48 
49     2 io_switches,                                          /* switches probe does its I/O on */
50       3 input_switch pointer,
51       3 output_switch pointer,
52       3 (private_input_sw, private_output_sw) bit (1) aligned,
53                                                             /* created by ids, ods and should be destroyed */
54 
55     2 info_directory_info aligned,                          /* info about info directories */
56       3 array_ptr pointer,
57       3 array_size fixed bin,
58       3 array_max_size fixed bin,
59       3 using_internal_array bit (1) aligned,
60 
61     2 exclude_name_info aligned,                            /* info for exclude array used in printing values */
62       3 array_ptr pointer,
63       3 array_size fixed bin,
64       3 array_max_size fixed bin,
65       3 using_internal_array bit (1) aligned,
66 
67     2 null_seg_info_ptr pointer unaligned,                  /* pointer to the "null" seg_info block */
68 
69     2 initial_arrays,                                       /* initial versions of various arrays */
70       3 request_table_ptr_array (10) pointer aligned,
71       3 info_directory_name_array (3) char (168) unaligned,
72       3 exclude_name_array (6) char (32) unaligned,
73 
74     2 metering_info,                                                  /* last values for "mode meter" */
75       3 last_clock fixed bin (71),
76       3 last_vclock fixed bin (71),
77       3 last_page_faults fixed bin,
78 
79     2 end_of_probe_static_info fixed bin;
80 
81 
82 dcl 1 probe_seg_info_array aligned based (probe_static_info.seg_info_offset_ptr),
83     2 count fixed bin,                                      /* number of entries in seg_info_offset array */
84     2 seg_info_offset (0 : seg_info_offset_count refer (probe_seg_info_array.count)) bit (18) aligned;
85 
86 dcl  seg_info_offset_count fixed bin;                       /* one less than the number of info_offsets */
87 
88 dcl  probe_request_tables (probe_static_info.request_table_info.array_max_size) /* array of request table pointers */
89      pointer aligned based (probe_static_info.request_table_info.array_ptr);
90 
91 dcl  probe_info_directories (probe_static_info.info_directory_info.array_max_size) /* array of info directories */
92      char (168) unaligned based (probe_static_info.info_directory_info.array_ptr);
93 
94 dcl  probe_exclude_names (probe_static_info.exclude_name_info.array_max_size) /* array of exclude names */
95      char (168) unaligned based (probe_static_info.exclude_name_info.array_ptr);
96 
97 /*        END INCLUDE FILE probe_static_info.incl.pl1       */