Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : free memory
[simgrid.git] / src / include / mc / datatypes.h
index 4c6cda3..656541b 100644 (file)
 SG_BEGIN_DECL()
 
 /******************************* Transitions **********************************/
+
 typedef struct s_mc_transition *mc_transition_t;
 
-typedef struct s_mc_ignore_region{
+
+/*********** Structures for snapshot comparison **************************/
+
+typedef struct s_mc_heap_ignore_region{
+  int block;
+  int fragment;
+  void *address;
+  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_ignore_region_t, *mc_ignore_region_t;
+}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{
+  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);
+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 */