-/* $Id: datatypes.h 5497 2008-05-26 12:19:15Z cristianrosa $ */
-
-/* Copyright (c) 2008 Martin Quinson, Cristian Rosa.
- 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. */
#include "xbt/swag.h"
#include "xbt/fifo.h"
+#include <libunwind.h>
+#include <dwarf.h>
+
SG_BEGIN_DECL()
/******************************* Transitions **********************************/
-typedef enum {
- mc_isend,
- mc_irecv,
- mc_test,
- mc_wait,
- mc_waitany,
- mc_random
-} mc_trans_type_t;
typedef struct s_mc_transition *mc_transition_t;
-SG_END_DECL()
-#endif /* _MC_MC_H */
+/*********** 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_stack_region{
+ void *address;
+ char *process_name;
+ void *context;
+ size_t size;
+ int block;
+}s_stack_region_t, *stack_region_t;
+
+void heap_ignore_region_free(mc_heap_ignore_region_t r);
+void heap_ignore_region_free_voidp(void *r);
+
+/************ 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 */