Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : free memory
[simgrid.git] / src / include / mc / datatypes.h
index a31625a..656541b 100644 (file)
@@ -18,18 +18,29 @@ typedef struct s_mc_transition *mc_transition_t;
 
 /*********** Structures for snapshot comparison **************************/
 
-typedef struct s_mc_ignore_region{
+typedef struct s_mc_heap_ignore_region{
   int block;
   int fragment;
   void *address;
   size_t size;
-}s_mc_ignore_region_t, *mc_ignore_region_t;
+}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;
 }s_stack_region_t, *stack_region_t;
 
 typedef struct s_heap_equality{
@@ -37,5 +48,15 @@ typedef struct s_heap_equality{
   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);
+void data_bss_ignore_variable_free(mc_data_bss_ignore_variable_t v);
+void data_bss_ignore_variable_free_voidp(void *v);
+void stack_ignore_variable_free(mc_stack_ignore_variable_t v);
+void stack_ignore_variable_free_voidp(void *v);
+
 SG_END_DECL()
 #endif                          /* _MC_MC_H */