1 /* This file contains definitions for the data structures and codes used in
2 VMS debugging information. */
7 typedef unsigned short int DST_DTYPE;
8 #define DST_K_SOURCE 155
9 #define DST_K_PROLOG 162
10 #define DST_K_BLKBEG 176
11 #define DST_K_BLKEND 177
12 #define DST_K_LINE_NUM 185
13 #define DST_K_MODBEG 188
14 #define DST_K_MODEND 189
15 #define DST_K_RTNBEG 190
16 #define DST_K_RTNEND 191
18 typedef struct _DST_HEADER {
20 unsigned short int dst_w_length;
21 unsigned short int dst_x_length;
28 #define DST_K_DST_HEADER_SIZE 4
30 typedef unsigned int DST_LANGUAGE;
31 #define DST_K_FORTRAN 1
34 #define DST_K_UNKNOWN 10
36 typedef struct _DST_MODULE_BEGIN {
37 DST_HEADER dst_a_modbeg_header;
39 unsigned dst_v_modbeg_hide : 1;
40 unsigned dst_v_modbeg_version : 1;
41 unsigned dst_v_modbeg_unused : 6;
43 unsigned char dst_b_modbeg_unused;
44 DST_LANGUAGE dst_l_modbeg_language;
45 unsigned short int dst_w_version_major;
46 unsigned short int dst_w_version_minor;
47 unsigned char dst_b_modbeg_name;
49 #define DST_K_MODBEG_SIZE 15
51 typedef struct _DST_MB_TRLR {
52 unsigned char dst_b_compiler;
54 #define DST_K_MB_TRLR_SIZE 1
55 #define DST_K_VERSION_MAJOR 1
56 #define DST_K_VERSION_MINOR 13
57 typedef struct _DST_MODULE_END {
58 DST_HEADER dst_a_modend_header;
60 #define DST_K_MODEND_SIZE 4
61 typedef struct _DST_ROUTINE_BEGIN {
62 DST_HEADER dst_a_rtnbeg_header;
64 unsigned dst_v_rtnbeg_unused : 4;
65 unsigned dst_v_rtnbeg_unalloc : 1;
66 unsigned dst_v_rtnbeg_prototype : 1;
67 unsigned dst_v_rtnbeg_inlined : 1;
68 unsigned dst_v_rtnbeg_no_call : 1;
70 int *dst_l_rtnbeg_address;
71 int *dst_l_rtnbeg_pd_address;
72 unsigned char dst_b_rtnbeg_name;
74 #define DST_K_RTNBEG_SIZE 14
75 typedef struct _DST_ROUTINE_END {
76 DST_HEADER dst_a_rtnend_header;
77 char dst_b_rtnend_unused;
78 unsigned int dst_l_rtnend_size;
80 #define DST_K_RTNEND_SIZE 9
81 typedef struct _DST_BLOCK_BEGIN {
82 DST_HEADER dst_a_blkbeg_header;
83 unsigned char dst_b_blkbeg_unused;
84 int *dst_l_blkbeg_address;
85 unsigned char dst_b_blkbeg_name;
87 #define DST_K_BLKBEG_SIZE 10
88 typedef struct _DST_BLOCK_END {
89 DST_HEADER dst_a_blkend_header;
90 unsigned char dst_b_blkend_unused;
91 unsigned int dst_l_blkend_size;
93 #define DST_K_BLKEND_SIZE 9
94 typedef struct _DST_LINE_NUM_HEADER {
95 DST_HEADER dst_a_line_num_header;
96 } DST_LINE_NUM_HEADER;
97 #define DST_K_LINE_NUM_HEADER_SIZE 4
99 typedef struct _DST_PCLINE_COMMANDS {
100 char dst_b_pcline_command;
102 unsigned int dst_l_pcline_unslong;
103 unsigned short int dst_w_pcline_unsword;
104 unsigned char dst_b_pcline_unsbyte;
105 } dst_a_pcline_access_fields;
106 } DST_PCLINE_COMMANDS;
107 #define DST_K_PCLINE_COMMANDS_SIZE 5
108 #define DST_K_PCLINE_COMMANDS_SIZE_MIN 2
109 #define DST_K_PCLINE_COMMANDS_SIZE_MAX 5
110 #define DST_K_DELTA_PC_LOW -128
111 #define DST_K_DELTA_PC_HIGH 0
112 #define DST_K_DELTA_PC_W 1
113 #define DST_K_INCR_LINUM 2
114 #define DST_K_INCR_LINUM_W 3
115 #define DST_K_SET_LINUM 9
116 #define DST_K_SET_ABS_PC 16
117 #define DST_K_DELTA_PC_L 17
118 #define DST_K_INCR_LINUM_L 18
119 #define DST_K_SET_LINUM_B 19
120 #define DST_K_SET_LINUM_L 20
121 typedef struct _DST_SOURCE_CORR {
122 DST_HEADER dst_a_source_corr_header;
124 #define DST_K_SOURCE_CORR_HEADER_SIZE 4
126 #define DST_K_SRC_DECLFILE 1
127 #define DST_K_SRC_SETFILE 2
128 #define DST_K_SRC_SETREC_L 3
129 #define DST_K_SRC_SETREC_W 4
130 #define DST_K_SRC_SETLNUM_L 5
131 #define DST_K_SRC_SETLNUM_W 6
132 #define DST_K_SRC_INCRLNUM_B 7
133 #define DST_K_SRC_DEFLINES_W 10
134 #define DST_K_SRC_DEFLINES_B 11
135 #define DST_K_SRC_FORMFEED 16
136 #define DST_K_SRC_MIN_CMD 1
137 #define DST_K_SRC_MAX_CMD 16
138 typedef struct _DST_SRC_COMMAND {
139 unsigned char dst_b_src_command;
142 unsigned char dst_b_src_df_length;
143 unsigned char dst_b_src_df_flags;
144 unsigned short int dst_w_src_df_fileid;
146 long long dst_q_src_df_rms_cdt;
148 __int64 dst_q_src_df_rms_cdt;
150 unsigned int dst_l_src_df_rms_ebk;
151 unsigned short int dst_w_src_df_rms_ffb;
152 unsigned char dst_b_src_df_rms_rfo;
153 unsigned char dst_b_src_df_filename;
154 } dst_a_src_decl_src;
155 unsigned int dst_l_src_unslong;
156 unsigned short int dst_w_src_unsword;
157 unsigned char dst_b_src_unsbyte;
158 } dst_a_src_cmd_fields;
160 #define DST_K_SRC_COMMAND_SIZE 21
162 typedef struct _DST_SRC_CMDTRLR {
163 unsigned char dst_b_src_df_libmodname;
165 #define DST_K_SRC_CMDTRLR_SIZE 1
167 typedef struct _DST_PROLOG {
168 DST_HEADER dst_a_prolog_header;
169 unsigned int dst_l_prolog_bkpt_addr;
171 #define DST_K_PROLOG_SIZE 8
173 #endif /* VMSDBG_H */