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