Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / src / include / mc / datatypes.h
index 307e3ea..ffc5d6f 100644 (file)
@@ -1,14 +1,21 @@
-/* Copyright (c) 2008-2012. Da SimGrid Team. All rights reserved.           */
+/* Copyright (c) 2008-2014. The SimGrid Team.
+ * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #ifndef MC_DATATYPE_H
 #define MC_DATATYPE_H
+
+#define UNW_LOCAL_ONLY
+
 #include "xbt/misc.h"
 #include "xbt/swag.h"
 #include "xbt/fifo.h"
 
+#include <libunwind.h>
+#include <dwarf.h>
+
 SG_BEGIN_DECL()
 
 /******************************* Transitions **********************************/
@@ -25,34 +32,29 @@ typedef struct s_mc_heap_ignore_region{
   size_t size;
 }s_mc_heap_ignore_region_t, *mc_heap_ignore_region_t;
 
-typedef struct s_mc_stack_ignore_variable{
-  char *var_name;
-  char *frame;
-}s_mc_stack_ignore_variable_t, *mc_stack_ignore_variable_t;
-
-typedef struct s_mc_data_bss_ignore_variable{
-  void *address;
-  size_t size;
-}s_mc_data_bss_ignore_variable_t, *mc_data_bss_ignore_variable_t;
-
 typedef struct s_stack_region{
   void *address;
   char *process_name;
   void *context;
   size_t size;
   int block;
+  int process_index;
 }s_stack_region_t, *stack_region_t;
 
-typedef struct s_heap_equality{
-  void *address1;
-  void *address2;
-}s_heap_equality_t, *heap_equality_t;
-
-void heap_equality_free_voidp(void *e);
-void stack_region_free_voidp(void *s);
-
 void heap_ignore_region_free(mc_heap_ignore_region_t r);
 void heap_ignore_region_free_voidp(void *r);
 
+/************ Object info *************/
+
+typedef struct s_mc_object_info s_mc_object_info_t, *mc_object_info_t;
+
+/************ DWARF structures *************/
+
+typedef int e_dw_type_type;
+
+typedef struct s_dw_type s_dw_type_t, *dw_type_t;
+
+char* get_type_description(mc_object_info_t info, char *type_name);
+
 SG_END_DECL()
 #endif                          /* _MC_MC_H */