00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef GCC_VMSDBG_H
00022 #define GCC_VMSDBG_H 1
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 typedef enum _DST_TYPE {DST_K_SOURCE = 155, DST_K_PROLOG = 162,
00033 DST_K_BLKBEG = 176, DST_K_BLKEND = 177,
00034 DST_K_LINE_NUM = 185, DST_K_MODBEG = 188,
00035 DST_K_MODEND = 189, DST_K_RTNBEG = 190,
00036 DST_K_RTNEND = 191} DST_DTYPE;
00037
00038
00039
00040 typedef struct _DST_HEADER
00041 {
00042 union
00043 {
00044 unsigned short int dst_w_length;
00045 unsigned short int dst_x_length;
00046 } dst__header_length;
00047 union
00048 {
00049 ENUM_BITFIELD (_DST_TYPE) dst_w_type : 16;
00050 ENUM_BITFIELD (_DST_TYPE) dst_x_type : 16;
00051 } dst__header_type;
00052 } DST_HEADER;
00053 #define DST_K_DST_HEADER_SIZE sizeof 4
00054
00055
00056 typedef enum _DST_LANGUAGE {DST_K_FORTRAN = 1, DST_K_C = 7, DST_K_ADA = 9,
00057 DST_K_UNKNOWN = 10, DST_K_CXX = 15} DST_LANGUAGE;
00058
00059
00060
00061 typedef struct _DST_MODULE_BEGIN
00062 {
00063 DST_HEADER dst_a_modbeg_header;
00064 struct
00065 {
00066 unsigned dst_v_modbeg_hide : 1;
00067 unsigned dst_v_modbeg_version : 1;
00068 unsigned dst_v_modbeg_unused : 6;
00069 } dst_b_modbeg_flags;
00070 unsigned char dst_b_modbeg_unused;
00071 DST_LANGUAGE dst_l_modbeg_language;
00072 unsigned short int dst_w_version_major;
00073 unsigned short int dst_w_version_minor;
00074 unsigned char dst_b_modbeg_name;
00075 } DST_MODULE_BEGIN;
00076 #define DST_K_MODBEG_SIZE 15
00077
00078
00079
00080 typedef struct _DST_MB_TRLR
00081 {
00082 unsigned char dst_b_compiler;
00083 } DST_MB_TRLR;
00084
00085 #define DST_K_MB_TRLR_SIZE 1
00086
00087 #define DST_K_VERSION_MAJOR 1
00088 #define DST_K_VERSION_MINOR 13
00089
00090 typedef struct _DST_MODULE_END
00091 {
00092 DST_HEADER dst_a_modend_header;
00093 } DST_MODULE_END;
00094 #define DST_K_MODEND_SIZE sizeof 4
00095
00096
00097
00098 typedef struct _DST_ROUTINE_BEGIN
00099 {
00100 DST_HEADER dst_a_rtnbeg_header;
00101 struct
00102 {
00103 unsigned dst_v_rtnbeg_unused : 4;
00104 unsigned dst_v_rtnbeg_unalloc : 1;
00105 unsigned dst_v_rtnbeg_prototype : 1;
00106 unsigned dst_v_rtnbeg_inlined : 1;
00107 unsigned dst_v_rtnbeg_no_call : 1;
00108 } dst_b_rtnbeg_flags;
00109 int *dst_l_rtnbeg_address;
00110 int *dst_l_rtnbeg_pd_address;
00111 unsigned char dst_b_rtnbeg_name;
00112 } DST_ROUTINE_BEGIN;
00113 #define DST_K_RTNBEG_SIZE 14
00114
00115
00116
00117 typedef struct _DST_ROUTINE_END
00118 {
00119 DST_HEADER dst_a_rtnend_header;
00120 char dst_b_rtnend_unused;
00121 unsigned int dst_l_rtnend_size;
00122 } DST_ROUTINE_END;
00123 #define DST_K_RTNEND_SIZE 9
00124
00125
00126
00127 typedef struct _DST_BLOCK_BEGIN
00128 {
00129 DST_HEADER dst_a_blkbeg_header;
00130 unsigned char dst_b_blkbeg_unused;
00131 int *dst_l_blkbeg_address;
00132 unsigned char dst_b_blkbeg_name;
00133 } DST_BLOCK_BEGIN;
00134 #define DST_K_BLKBEG_SIZE 10
00135
00136
00137
00138 typedef struct _DST_BLOCK_END
00139 {
00140 DST_HEADER dst_a_blkend_header;
00141 unsigned char dst_b_blkend_unused;
00142 unsigned int dst_l_blkend_size;
00143 } DST_BLOCK_END;
00144 #define DST_K_BLKEND_SIZE 9
00145
00146
00147
00148 typedef struct _DST_LINE_NUM_HEADER
00149 {
00150 DST_HEADER dst_a_line_num_header;
00151 } DST_LINE_NUM_HEADER;
00152 #define DST_K_LINE_NUM_HEADER_SIZE 4
00153
00154
00155
00156 typedef struct _DST_PCLINE_COMMANDS
00157 {
00158 char dst_b_pcline_command;
00159 union
00160 {
00161 unsigned int dst_l_pcline_unslong;
00162 unsigned short int dst_w_pcline_unsword;
00163 unsigned char dst_b_pcline_unsbyte;
00164 } dst_a_pcline_access_fields;
00165 } DST_PCLINE_COMMANDS;
00166
00167
00168
00169 #define DST_K_PCLINE_COMMANDS_SIZE 5
00170 #define DST_K_PCLINE_COMMANDS_SIZE_MIN 2
00171 #define DST_K_PCLINE_COMMANDS_SIZE_MAX 5
00172 #define DST_K_DELTA_PC_LOW -128
00173 #define DST_K_DELTA_PC_HIGH 0
00174 #define DST_K_DELTA_PC_W 1
00175 #define DST_K_INCR_LINUM 2
00176 #define DST_K_INCR_LINUM_W 3
00177 #define DST_K_SET_LINUM 9
00178 #define DST_K_SET_ABS_PC 16
00179 #define DST_K_DELTA_PC_L 17
00180 #define DST_K_INCR_LINUM_L 18
00181 #define DST_K_SET_LINUM_B 19
00182 #define DST_K_SET_LINUM_L 20
00183
00184
00185
00186 typedef struct _DST_SOURCE_CORR
00187 {
00188 DST_HEADER dst_a_source_corr_header;
00189 } DST_SOURCE_CORR;
00190 #define DST_K_SOURCE_CORR_HEADER_SIZE 4
00191
00192
00193
00194 #define DST_K_SRC_DECLFILE 1
00195 #define DST_K_SRC_SETFILE 2
00196 #define DST_K_SRC_SETREC_L 3
00197 #define DST_K_SRC_SETREC_W 4
00198 #define DST_K_SRC_SETLNUM_L 5
00199 #define DST_K_SRC_SETLNUM_W 6
00200 #define DST_K_SRC_INCRLNUM_B 7
00201 #define DST_K_SRC_DEFLINES_W 10
00202 #define DST_K_SRC_DEFLINES_B 11
00203 #define DST_K_SRC_FORMFEED 16
00204 #define DST_K_SRC_MIN_CMD 1
00205 #define DST_K_SRC_MAX_CMD 16
00206
00207
00208
00209 typedef struct _DST_SRC_COMMAND
00210 {
00211 unsigned char dst_b_src_command;
00212 union
00213 {
00214 struct
00215 {
00216 unsigned char dst_b_src_df_length;
00217 unsigned char dst_b_src_df_flags;
00218 unsigned short int dst_w_src_df_fileid;
00219 #ifdef HAVE_LONG_LONG
00220 long long dst_q_src_df_rms_cdt;
00221 #else
00222 #ifdef HAVE___INT64
00223 __int64 dst_q_src_df_rms_cdt;
00224 #endif
00225 #endif
00226 unsigned int dst_l_src_df_rms_ebk;
00227 unsigned short int dst_w_src_df_rms_ffb;
00228 unsigned char dst_b_src_df_rms_rfo;
00229 unsigned char dst_b_src_df_filename;
00230 } dst_a_src_decl_src;
00231 unsigned int dst_l_src_unslong;
00232 unsigned short int dst_w_src_unsword;
00233 unsigned char dst_b_src_unsbyte;
00234 } dst_a_src_cmd_fields;
00235 } DST_SRC_COMMAND;
00236 #define DST_K_SRC_COMMAND_SIZE 21
00237
00238
00239
00240 typedef struct _DST_SRC_CMDTRLR
00241 {
00242 unsigned char dst_b_src_df_libmodname;
00243 } DST_SRC_CMDTRLR;
00244 #define DST_K_SRC_CMDTRLR_SIZE 1
00245
00246
00247
00248 typedef struct _DST_PROLOG
00249 {
00250 DST_HEADER dst_a_prolog_header;
00251 unsigned int dst_l_prolog_bkpt_addr;
00252 } DST_PROLOG;
00253 #define DST_K_PROLOG_SIZE 8
00254
00255 #endif