00001 #ifndef _XFER_I_H
00002 #define _XFER_I_H
00003
00004
00005
00006 #define XF_STR_TAG "s"
00007 #define XF_FP_TAG "f"
00008 #define XF_INT_TAG "i"
00009 #define XF_LONG_TAG "g"
00010 #define XF_BYTE_TAG "b"
00011 #define XF_BOOLEAN_TAG "l"
00012 #define XF_ARRAY_NUMBER_TAG "n"
00013 #define XF_ARRAY_VEC_TAG "a"
00014 #define XF_VEC_NUMBER_TAG "n"
00015 #define XF_UNION_TAG "u"
00016 #define XF_UNION_TYPE_TAG "t"
00017 #define XF_UNION_TYPE_DESCR_TAG "T"
00018 #define XF_REC_TAG "r"
00019 #define XF_ELEM_TAG "e"
00020 #define XF_OBJ_TAG "o"
00021 #define XF_OBJ_NAME_TAG "t"
00022 #define XF_OBJ_VERSION_TAG "v"
00023 #define XF_DOC_TAG "d"
00024
00025 #define XF_BOOLEAN_TRUE "true"
00026 #define XF_BOOLEAN_FALSE "false"
00027
00029 #define XF_CLASSNAME_MAX 128
00030
00031
00032 #define XF_WRITE_TO 10
00033
00034 typedef struct
00035 {
00036 int type;
00037 int size;
00038 int offs;
00039 int noffs;
00040
00041 struct xf_descr_list_s *pl;
00042
00043 } xf_descr_t;
00044
00045
00046 struct xf_descr_list_s
00047 {
00048 int no;
00049 char *name;
00050 xf_descr_t *entry;
00051 };
00052
00053 struct xf_refl_s
00054 {
00055 char name[XF_CLASSNAME_MAX];
00056 int size;
00057 int version_minor;
00058 int version_major;
00059 xf_descr_list_t *pdescr;
00060 void *userdata;
00061 };
00062
00063 struct xf_instance_s
00064 {
00065 void *pobj;
00066 void *userdata;
00067 xf_refl_t *prefl;
00068 };
00069
00070
00071 #endif