1 /* BEGIN INCLUDE FILE probe_references.incl.pl1 */ 2 3 /****^ HISTORY COMMENTS: 4 1) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 5 audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 6 Added new field (c_symbol) for C-Probe support. 7 2) change(88-10-28,WAAnderson), approve(88-10-28,MCR7952), 8 audit(88-10-31,RWaters), install(88-11-11,MR12.2-1210): 9 Added new field (c_sub_c_ptr) for C-Probe_support. 10 END HISTORY COMMENTS */ 11 12 /* Split out of probe_tokens, 04/22/79 WOS */ 13 /* modified for probe variables Feb 19 80 JRD */ 14 /* Modified June 83 JMAthane to add "type_ptr" and "builtin" fields */ 15 16 dcl 1 reference_node aligned based, /* information about a reference */ 17 2 symbol_ptr pointer aligned, /* to symbol table entry for reference */ 18 2 type_ptr pointer aligned, /* to symbol table entry for type (null if none) */ 19 2 address_ptr pointer aligned, /* to location of variable */ 20 2 base_addr pointer aligned, /* pointer on which whole symbol is based */ 21 2 source_info_ptr pointer aligned, /* to symbol structure for reference */ 22 23 2 name char (256) unaligned varying, /* symbol name */ 24 25 2 type fixed bin (35), /* data type */ 26 2 descriptor fixed bin (35), /* type || packed */ 27 2 precision fixed bin (35), /* scale and precision */ 28 2 flags, 29 3 packed bit (1) unal, /* data is in packed format */ 30 3 constant bit (1) unal, /* data is really a constant */ 31 3 cross_section bit (1) unal, /* reference is an array cross-section */ 32 3 function bit (1) unal, /* reference is function value */ 33 3 octal bit (1) unal, /* indicates that this is the octal bif */ 34 3 star_extent bit (1) unal, /* reference is a star subscript for father */ 35 3 have_generation bit (1) unal, /* this reference has an explicitly specified generation */ 36 3 pseudo_var bit (1) unal, /* it is ok to assign to it */ 37 3 probe_variable bit (1) unal, 38 3 path bit (1) unal, /* it's a pathname/virtual entry */ 39 3 builtin bit (1) unal, /* probe builtinvalue */ 40 3 c_ptr_to_char bit (1) unal, 41 3 c_sub_c_ptr bit (1) unal, 42 3 pad2 bit (23) unal, 43 44 2 optional_info, /* information which may or may not be present */ 45 3 argument_list pointer unaligned, /* pointer to reference_arg_list */ 46 3 subscript_ptr pointer unaligned, /* pointer to reference_subscripts */ 47 3 n_arguments fixed bin, /* number of arguments in argument list */ 48 3 n_subscripts fixed bin, /* number of subscripts present */ 49 50 2 constant_token_ptr pointer unaligned, /* pointer to constant token if this is a constant */ 51 2 subscript_refs_ptr pointer unaligned, /* pointer to array of subscript reference node pointers */ 52 2 invocation_level fixed bin, /* invocation level number ("[-17]") for this reference */ 53 2 probe_var_info_ptr ptr unal, /* only if flags.probe_variable */ 54 2 c_symbol_ptr ptr unal, 55 2 pad1 (9) pointer unaligned, 56 2 end_of_reference_node pointer aligned; 57 58 59 dcl 1 reference_arg_list aligned based, /* argument list; based on reference.argument_list */ 60 2 number fixed bin, /* number of arguments actually present */ 61 2 node (16) pointer aligned; /* reference node pointers for each argument */ 62 63 64 dcl 1 reference_subscripts aligned based, /* subscript array; based on reference.subscript_ptr */ 65 2 number fixed bin, /* number actually present */ 66 2 value (2, 16) fixed bin (24); /* values for lower and upper bound for each */ 67 68 69 dcl 1 subscript_reference_ptrs aligned based, /* array of pointers to subscript reference nodes */ 70 2 ptr (2, 16) pointer aligned; 71 72 /* END INCLUDE FILE probe_references.incl.pl1 */