X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c73aeef05e1a3702e23296f6ff6690d6d408543b..1b4e20873a7bd405842f3d8d1e6dd1d518db5535:/src/include/mc/datatypes.h?ds=sidebyside diff --git a/src/include/mc/datatypes.h b/src/include/mc/datatypes.h index 656541b87a..d13ce8c2d2 100644 --- a/src/include/mc/datatypes.h +++ b/src/include/mc/datatypes.h @@ -1,4 +1,5 @@ -/* Copyright (c) 2008-2012. Da SimGrid Team. All rights reserved. */ +/* Copyright (c) 2008-2013. 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. */ @@ -9,6 +10,9 @@ #include "xbt/swag.h" #include "xbt/fifo.h" +#include +#include + SG_BEGIN_DECL() /******************************* Transitions **********************************/ @@ -25,16 +29,6 @@ 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; @@ -43,20 +37,26 @@ typedef struct s_stack_region{ 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); + +/************ DWARF structures *************/ + +typedef int e_dw_type_type; + +typedef struct s_dw_type{ + e_dw_type_type type; + void *id; /* Offset in the section (in hexadecimal form) */ + char *name; /* Name of the type */ + int byte_size; /* Size in bytes */ + int element_count; /* Number of elements for array type */ + char *dw_type_id; /* DW_AT_type */ + xbt_dynar_t members; /* if DW_TAG_structure_type, DW_TAG_union_type*/ + int is_pointer_type; + int offset; +}s_dw_type_t, *dw_type_t; + +char* get_type_description(xbt_dict_t types, char *type_name); SG_END_DECL() #endif /* _MC_MC_H */