-gras_error_t
-gras_ddt_new_scalar(const char *name,
- long int size,
- enum e_gras_dd_scalar_encoding encoding,
- gras_datadesc_type_cb_void_t cb,
- gras_datadesc_type_t **dst);
-gras_error_t
-gras_ddt_new_struct(const char *name,
- gras_datadesc_type_cb_void_t pre,
- gras_datadesc_type_cb_void_t post,
- gras_datadesc_type_t **dst);
-gras_error_t
-gras_ddt_new_struct_append(gras_datadesc_type_t *struct_type,
- const char *name,
- gras_datadesc_type_t *field_type,
- gras_datadesc_type_cb_void_t pre,
- gras_datadesc_type_cb_void_t post);
-gras_error_t
-gras_ddt_new_union(const char *name,
- gras_datadesc_type_cb_int_t field_count,
- gras_datadesc_type_cb_void_t post,
- gras_datadesc_type_t **dst);
-gras_error_t
-gras_ddt_new_union_append(gras_datadesc_type_t *union_type,
- const char *name,
- gras_datadesc_type_t *field_type,
- gras_datadesc_type_cb_void_t pre,
- gras_datadesc_type_cb_void_t post);
-gras_error_t
-gras_ddt_new_ref(const char *name,
- gras_datadesc_type_t *referenced_type,
- gras_datadesc_type_cb_int_t discriminant,
- gras_datadesc_type_cb_void_t post,
- gras_datadesc_type_t **dst);
-gras_error_t
-gras_ddt_new_array(const char *name,
- gras_datadesc_type_t *element_type,
- long int fixed_size,
- gras_datadesc_type_cb_int_t dynamic_size,
- gras_datadesc_type_cb_void_t post,
- gras_datadesc_type_t **dst);
-
-
+void gras_datadesc_free(gras_datadesc_type_t *type);
+
+gras_datadesc_type_t
+ gras_datadesc_scalar(const char *name,
+ gras_ddt_scalar_type_t type,
+ enum e_gras_dd_scalar_encoding encoding);
+
+/****************************************************
+ * Callback persistant state constructor/destructor *
+ ****************************************************/
+gras_cbps_t gras_cbps_new(void);
+void gras_cbps_free(gras_cbps_t *state);
+
+/***************
+ * Convertions *
+ ***************/
+xbt_error_t
+gras_dd_convert_elm(gras_datadesc_type_t type, int count,
+ int r_arch,
+ void *src, void *dst);