1 /*  START OF:       trace_interface.incl.pl1                  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */
  2 /* Written: May 1984 by Jeffrey D. Ives. */
  3 /* format: style2,^inddcls,^indnoniterdo,^inditerdo,dclind5,idind35 */
  4 
  5 /* IDENTIFICATION */
  6 
  7 dcl  trace_$me                          entry () returns (char (32));
  8 dcl  trace_$version                     entry () returns (char (32));
  9 
 10 /* TRANSACTIONS */
 11 
 12 dcl  trace_$transaction_begin           entry (fixed bin (71)) returns (bit aligned);
 13 dcl  trace_$transaction_begin_force     entry (fixed bin (71));
 14 dcl  trace_$transaction_end             entry (fixed bin (71)) returns (bit aligned);
 15 
 16 /* ACTIONS */
 17 
 18 dcl  trace_$update_default_parms        entry () returns (bit aligned);
 19 dcl  trace_$update_global_parms         entry () returns (bit aligned);
 20 dcl  trace_$add_specified_eps           entry (fixed bin, fixed bin);
 21 dcl  trace_$add_specified_locs          entry (fixed bin, fixed bin);
 22 dcl  trace_$remove_specified_eps        entry (fixed bin);
 23 dcl  trace_$remove_specified_locs       entry (fixed bin);
 24 dcl  trace_$turn_on_specified_eps       entry (fixed bin);
 25 dcl  trace_$turn_off_specified_eps      entry (fixed bin);
 26 
 27 /* CONVERSION */
 28 
 29 dcl  trace_$cv_inout_to_bits            entry (char (8) aligned) returns (bit (2) aligned);
 30 dcl  trace_$cv_bits_to_inout            entry (bit (2) aligned) returns (char (8) aligned);
 31 dcl  trace_$cv_n_to_number              entry (char (16)) returns (fixed bin (34));
 32 dcl  trace_$cv_onoff_to_bit             entry (char (8) aligned) returns (bit aligned);
 33 dcl  trace_$cv_bit_to_onoff             entry (bit aligned) returns (char (8) aligned);
 34 dcl  trace_$cv_entry_name_to_spp        entry (char (256) var, ptr) returns (1 like stop_proc aligned);
 35 dcl  trace_$cv_file_path_to_osw         entry (char (256) var, ptr) returns (1 like output_switch aligned);
 36 dcl  trace_$cv_stream_name_to_osw       entry (char (32) var) returns (1 like output_switch aligned);
 37 
 38 /* METERS */
 39 
 40 dcl  trace_$entrypoint_counts           entry (fixed bin) returns (1 aligned like counts);
 41 dcl  trace_$entrypoint_global_meters    entry (fixed bin) returns (1 like meters aligned);
 42 dcl  trace_$entrypoint_local_meters     entry (fixed bin) returns (1 like meters aligned);
 43 dcl  trace_$metered                     entry () returns (1 like meters aligned);
 44 dcl  trace_$removed                     entry () returns (1 like meters aligned);
 45 dcl  trace_$reset_meters                entry ();
 46 
 47 /* ENTRYPOINTS */
 48 
 49 dcl  trace_$entrypoint_index            entry (ptr unal) returns (fixed bin);
 50 dcl  trace_$entrypoint_name             entry (fixed bin) returns (char (65) var);
 51 dcl  trace_$entrypoint_ptr              entry (fixed bin) returns (ptr);
 52 dcl  trace_$entrypoint_seg_path         entry (fixed bin) returns (char (256) var);
 53 dcl  trace_$entrypoint_status           entry (fixed bin) returns (char (32) var);
 54 dcl  trace_$function                    entry (fixed bin) returns (bit aligned);
 55 dcl  trace_$num_entrypoints             entry () returns (fixed bin);
 56 dcl  trace_$num_specified_entrypoints   entry () returns (fixed bin);
 57 dcl  trace_$specified_entrypoint_index  entry (fixed bin) returns (fixed bin);
 58 dcl  trace_$specify_entrypoints         entry (char (256) var, ptr);
 59 dcl  trace_$translator_id               entry (fixed bin) returns (fixed bin);
 60 
 61 /* LOCATIONS */
 62 
 63 dcl  trace_$location_ptr                entry (fixed bin) returns (ptr);
 64 dcl  trace_$location_seg_path           entry (fixed bin) returns (char (256) var);
 65 dcl  trace_$location_values             entry (fixed bin) returns (1 aligned like watch_values);
 66 dcl  trace_$num_locations               entry () returns (fixed bin);
 67 dcl  trace_$num_specified_locations     entry () returns (fixed bin);
 68 dcl  trace_$specified_location_index    entry (fixed bin) returns (fixed bin);
 69 dcl  trace_$specify_locations           entry (char (256) var);
 70 dcl  trace_$specify_changed_locations   entry ();
 71 
 72 /* EVENT BUFFER */
 73 
 74 dcl  trace_$buffer_counts               entry (fixed bin (34), fixed bin (34));
 75 dcl  trace_$buffer_event                entry (fixed bin (34), fixed bin, char (2), ptr unal, 1 like counts aligned, 1 like meters aligned);
 76 dcl  trace_$buffer_event_header         entry (fixed bin (34)) returns (char (256) var);
 77 dcl  trace_$buffer_event_string         entry (fixed bin (34)) returns (char (256) var);
 78 dcl  trace_$buffer_ptr                  entry () returns (ptr unal);
 79 
 80 /* TRACE PARAMETERS */
 81 
 82 dcl  trace_$arguments                   entry (fixed bin) returns (bit (2) aligned);
 83 dcl  trace_$set_arguments               entry (bit (2) aligned);
 84 dcl  trace_$call                        entry (fixed bin) returns (char (256) var);
 85 dcl  trace_$set_call                    entry (char (256) var);
 86 dcl  trace_$every                       entry (fixed bin) returns (fixed bin (34));
 87 dcl  trace_$set_every                   entry (fixed bin (34));
 88 dcl  trace_$first                       entry (fixed bin) returns (fixed bin (34));
 89 dcl  trace_$set_first                   entry (fixed bin (34));
 90 dcl  trace_$high                        entry (fixed bin) returns (fixed bin (34));
 91 dcl  trace_$set_high                    entry (fixed bin (34));
 92 dcl  trace_$last                        entry (fixed bin) returns (fixed bin (34));
 93 dcl  trace_$set_last                    entry (fixed bin (34));
 94 dcl  trace_$low                         entry (fixed bin) returns (fixed bin (34));
 95 dcl  trace_$set_low                     entry (fixed bin (34));
 96 dcl  trace_$new_high                    entry (fixed bin) returns (bit aligned);
 97 dcl  trace_$set_new_high                entry (bit aligned);
 98 dcl  trace_$parms_string                entry (fixed bin, bit aligned) returns (char (256) var);
 99 dcl  trace_$parms_specified             entry () returns (bit aligned);
100 dcl  trace_$stop                        entry (fixed bin) returns (bit (2) aligned);
101 dcl  trace_$set_stop                    entry (bit (2) aligned);
102 dcl  trace_$stop_every                  entry (fixed bin) returns (fixed bin (34));
103 dcl  trace_$set_stop_every              entry (fixed bin (34));
104 dcl  trace_$stop_low                    entry (fixed bin) returns (fixed bin (34));
105 dcl  trace_$set_stop_low                entry (fixed bin (34));
106 dcl  trace_$trace                       entry (fixed bin) returns (bit (2) aligned);
107 dcl  trace_$set_trace                   entry (bit (2) aligned);
108 
109 /* GLOBAL PARAMETERS */
110 
111 dcl  trace_$alm                         entry () returns (bit aligned);
112 dcl  trace_$set_alm                     entry (bit aligned);
113 dcl  trace_$automatic                   entry () returns (bit aligned);
114 dcl  trace_$set_automatic               entry (bit aligned);
115 dcl  trace_$buffer                      entry () returns (bit aligned);
116 dcl  trace_$set_buffer                  entry (bit aligned);
117 dcl  trace_$calibrate                   entry () returns (bit aligned);
118 dcl  trace_$set_calibrate               entry (bit aligned);
119 dcl  trace_$compensation                entry (fixed bin) returns (1 aligned like compensation);
120 dcl  trace_$set_compensation            entry (fixed bin, 1 aligned like compensation);
121 dcl  trace_$enabled                     entry () returns (bit aligned);
122 dcl  trace_$set_enabled                 entry (bit aligned);
123 dcl  trace_$global_parms_string         entry () returns (char (256) var);
124 dcl  trace_$long                        entry () returns (bit aligned);
125 dcl  trace_$set_long                    entry (bit aligned);
126 dcl  trace_$meter                       entry () returns (bit aligned);
127 dcl  trace_$set_meter                   entry (bit aligned);
128 dcl  trace_$output_switch               entry () returns (1 like output_switch aligned);
129 dcl  trace_$set_output_switch           entry (1 like output_switch aligned);
130 dcl  trace_$signals                     entry () returns (bit aligned);
131 dcl  trace_$set_signals                 entry (bit aligned);
132 dcl  trace_$stop_proc                   entry () returns (1 like stop_proc);
133 dcl  trace_$set_stop_proc               entry (1 like stop_proc);
134 dcl  trace_$stop_routine                entry () returns (entry);
135 dcl  trace_$set_stop_routine            entry (entry);
136 dcl  trace_$trace_routine               entry () returns (entry);
137 dcl  trace_$set_trace_routine           entry (entry);
138 dcl  trace_$loud                        entry () returns (bit aligned);
139 dcl  trace_$set_loud                    entry (bit aligned);
140 
141 /* MISCELLANEOUS */
142 
143 dcl  trace_$in_trace                    entry () returns (bit aligned);
144 
145 /* STRUCTURES AND CONSTANTS */
146 
147 dcl  1 watch_values                     aligned,
148        2 old                            bit (36),
149        2 new                            bit (36);
150 
151 dcl  1 counts                           aligned,
152        2 calls                          fixed bin (53),     /* total number of calls                          */
153        2 level                          fixed bin (34),     /* current recursion level                        */
154        2 max_level                      fixed bin (34);     /* max ever recursion level                       */
155 
156 
157 dcl  1 meters                           aligned,
158        2 real_time                      fixed bin (53),     /* The total amount of real time metered.         */
159        2 vcpu_time                      fixed bin (53),     /* The total amount of virtual cpu time metered.  */
160        2 page_faults                    fixed bin (34);     /* The total number of page faults metered.       */
161 
162 dcl  1 output_switch                    aligned based,
163        2 iocb_ptr                       ptr,
164        2 stream_name                    char (32) var,
165        2 file_path                      char (256) var;
166 
167 dcl  1 stop_proc                        aligned based,
168        2 entry_value                    entry (),
169        2 entry_name                     char (256) var;
170 
171 dcl  1 compensation                     aligned,
172        2 real_time                      fixed bin (53),
173        2 vcpu_time                      fixed bin (53);
174 
175 dcl  (
176      COMPENSATION_FROM_ENTRY_TO_ENTRY   init (1),
177      COMPENSATION_FROM_ENTRY_TO_RETURN  init (2),
178      COMPENSATION_FROM_RETURN_TO_ENTRY  init (3),
179      COMPENSATION_FROM_RETURN_TO_RETURN init (4)
180      )                                  static options (constant);
181 
182 /*  END OF:         trace_interface.incl.pl1                  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */