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        */