OSDN Git Service

2001-12-03 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / vmsdbg.h
1 /* This file contains definitions for the data structures and codes used in
2    VMS debugging information.  */
3
4 #ifndef VMSDBG_H
5 #define VMSDBG_H 1
6         
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
17
18 typedef struct _DST_HEADER {
19   union  {
20     unsigned short int dst_w_length;
21     unsigned short int dst_x_length;
22   } dst__header_length;
23   union  {
24     DST_DTYPE dst_w_type;
25     DST_DTYPE dst_x_type;
26   } dst__header_type;
27 } DST_HEADER;
28 #define DST_K_DST_HEADER_SIZE 4
29         
30 typedef unsigned int DST_LANGUAGE;
31 #define DST_K_FORTRAN 1
32 #define DST_K_C 7
33 #define DST_K_ADA 9
34 #define DST_K_UNKNOWN 10
35 #define DST_K_CXX 15
36 typedef struct _DST_MODULE_BEGIN {
37   DST_HEADER dst_a_modbeg_header;
38   struct  {
39     unsigned dst_v_modbeg_hide : 1;
40     unsigned dst_v_modbeg_version : 1;
41     unsigned dst_v_modbeg_unused : 6;
42   } dst_b_modbeg_flags;
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;
48 } DST_MODULE_BEGIN;
49 #define DST_K_MODBEG_SIZE 15
50         
51 typedef struct _DST_MB_TRLR {
52   unsigned char dst_b_compiler;
53 } DST_MB_TRLR;
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;
59 } DST_MODULE_END;
60 #define DST_K_MODEND_SIZE 4
61 typedef struct _DST_ROUTINE_BEGIN {
62   DST_HEADER dst_a_rtnbeg_header;
63   struct  {
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;
69   } dst_b_rtnbeg_flags;
70   int *dst_l_rtnbeg_address;
71   int *dst_l_rtnbeg_pd_address;
72   unsigned char dst_b_rtnbeg_name;
73 } DST_ROUTINE_BEGIN;
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;
79 } DST_ROUTINE_END;
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;
86 } DST_BLOCK_BEGIN;
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;
92 } DST_BLOCK_END;
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
98
99 typedef struct _DST_PCLINE_COMMANDS {
100   char dst_b_pcline_command;
101   union  {
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;
123 } DST_SOURCE_CORR;
124 #define DST_K_SOURCE_CORR_HEADER_SIZE 4
125         
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;
140   union  {
141     struct  {
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;
145 #ifdef __GNUC__
146       long long dst_q_src_df_rms_cdt;
147 #else
148       __int64 dst_q_src_df_rms_cdt;
149 #endif
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;
159 } DST_SRC_COMMAND;
160 #define DST_K_SRC_COMMAND_SIZE 21
161         
162 typedef struct _DST_SRC_CMDTRLR {
163   unsigned char dst_b_src_df_libmodname;
164 } DST_SRC_CMDTRLR;
165 #define DST_K_SRC_CMDTRLR_SIZE 1
166         
167 typedef struct _DST_PROLOG {
168   DST_HEADER dst_a_prolog_header;
169   unsigned int dst_l_prolog_bkpt_addr;
170 } DST_PROLOG;
171 #define DST_K_PROLOG_SIZE 8
172         
173 #endif /* VMSDBG_H */