+/*
+ * Creating procdata for this module
+ */
+static void *gras_msg_procdata_new() {
+ gras_msg_procdata_t res = xbt_new(s_gras_msg_procdata_t,1);
+
+ res->msg_queue = xbt_dynar_new(sizeof(s_gras_msg_t), NULL);
+ res->cbl_list = xbt_dynar_new(sizeof(gras_cblist_t *),gras_cbl_free);
+ res->timers = xbt_dynar_new(sizeof(s_gras_timer_t), NULL);
+
+ return (void*)res;
+}
+
+/*
+ * Freeing procdata for this module
+ */
+static void gras_msg_procdata_free(void *data) {
+ gras_msg_procdata_t res = (gras_msg_procdata_t)data;
+
+ xbt_dynar_free(&( res->msg_queue ));
+ xbt_dynar_free(&( res->cbl_list ));
+ xbt_dynar_free(&( res->timers ));
+}
+
+/*
+ * Module registration
+ */
+void gras_msg_register() {
+ gras_procdata_add("gras_msg",gras_msg_procdata_new, gras_msg_procdata_free);
+}
+
+/*