types refactoring
[m6w6/ext-psi] / src / data.h
1 #ifndef _PSI_DATA_H
2 #define _PSI_DATA_H
3
4 #include "types.h"
5 #include "error.h"
6
7 #define PSI_DATA(D) ((struct psi_data *) (D))
8
9 #define PSI_DATA_MEMBERS \
10 constants *consts; \
11 decl_typedefs *defs; \
12 decl_structs *structs; \
13 decl_unions *unions; \
14 decl_enums *enums; \
15 decls *decls; \
16 impls *impls; \
17 union { \
18 decl_file file; \
19 decl_libs libs; \
20 } psi; \
21 psi_error_cb error; \
22 unsigned errors; \
23 unsigned flags
24
25 struct psi_data {
26 PSI_DATA_MEMBERS;
27 };
28
29 struct psi_data *psi_data_exchange(struct psi_data *dest, struct psi_data *src);
30 void psi_data_dtor(struct psi_data *data);
31
32 #endif