+
+
+void xbt_workload_declare_datadesc(void)
+{
+ gras_datadesc_type_t ddt;
+
+ ddt = gras_datadesc_struct("s_xbt_workload_elm_t");
+ gras_datadesc_struct_append(ddt, "who", gras_datadesc_by_name("string"));
+ gras_datadesc_struct_append(ddt, "comment",
+ gras_datadesc_by_name("string"));
+ gras_datadesc_struct_append(ddt, "action", gras_datadesc_by_name("int"));
+ gras_datadesc_struct_append(ddt, "date",
+ gras_datadesc_by_name("double"));
+ gras_datadesc_struct_append(ddt, "d_arg",
+ gras_datadesc_by_name("double"));
+ gras_datadesc_struct_append(ddt, "str_arg",
+ gras_datadesc_by_name("string"));
+ gras_datadesc_struct_close(ddt);
+
+ gras_datadesc_ref("xbt_workload_elm_t", ddt);
+
+ ddt = gras_datadesc_struct("s_xbt_workload_data_chunk_t");
+ gras_datadesc_struct_append(ddt, "size", gras_datadesc_by_name("int"));
+ gras_datadesc_cb_field_push(ddt, "size");
+ gras_datadesc_struct_append(ddt, "chunk",
+ gras_datadesc_ref_pop_arr
+ (gras_datadesc_by_name("char")));
+ gras_datadesc_struct_close(ddt);
+
+ gras_datadesc_ref("xbt_workload_data_chunk_t", ddt);
+}
+
+
+
+xbt_workload_data_chunk_t xbt_workload_data_chunk_new(int size)
+{
+ xbt_workload_data_chunk_t res = xbt_new0(s_xbt_workload_data_chunk_t, 1);
+ res->size = size - sizeof(res) - sizeof(int);
+ res->chunk = xbt_new(char, res->size);
+ return res;
+}
+
+void xbt_workload_data_chunk_free(xbt_workload_data_chunk_t c)
+{
+ free(c->chunk);
+ free(c);
+}