X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/02f267e2895f3985fe73344a8b96ac05363b8b62..9b7c007d68cc9aabd52746479c68a8287a087fe3:/src/mc/mc_protocol.h diff --git a/src/mc/mc_protocol.h b/src/mc/mc_protocol.h index 70fcbbf3ae..f0100fd06b 100644 --- a/src/mc/mc_protocol.h +++ b/src/mc/mc_protocol.h @@ -37,11 +37,16 @@ extern e_mc_mode_t mc_mode; // ***** Messages typedef enum { - MC_MESSAGE_NONE = 0, - MC_MESSAGE_HELLO = 1, - MC_MESSAGE_CONTINUE = 2, - MC_MESSAGE_IGNORE_REGION = 3, - MC_MESSAGE_IGNORE_MEMORY = 4, + MC_MESSAGE_NONE, + MC_MESSAGE_HELLO, + MC_MESSAGE_CONTINUE, + MC_MESSAGE_IGNORE_HEAP, + MC_MESSAGE_UNIGNORE_HEAP, + MC_MESSAGE_IGNORE_MEMORY, + MC_MESSAGE_STACK_REGION, + MC_MESSAGE_REGISTER_SYMBOL, + MC_MESSAGE_DEADLOCK_CHECK, + MC_MESSAGE_DEADLOCK_CHECK_REPLY, } e_mc_message_type; #define MC_MESSAGE_LENGTH 512 @@ -62,10 +67,15 @@ typedef struct s_mc_message { e_mc_message_type type; } s_mc_message_t, *mc_message_t; -typedef struct s_mc_ignore_region_message { +typedef struct s_mc_int_message { + e_mc_message_type type; + uint64_t value; +} s_mc_int_message_t, *mc_int_message_t; + +typedef struct s_mc_ignore_heap_message { e_mc_message_type type; s_mc_heap_ignore_region_t region; -} s_mc_ignore_region_message_t, *mc_ignore_region_message_t; +} s_mc_ignore_heap_message_t, *mc_ignore_heap_message_t; typedef struct s_mc_ignore_memory_message { e_mc_message_type type; @@ -73,9 +83,22 @@ typedef struct s_mc_ignore_memory_message { size_t size; } s_mc_ignore_memory_message_t, *mc_ignore_memory_message_t; +typedef struct s_mc_stack_region_message { + e_mc_message_type type; + s_stack_region_t stack_region; +} s_mc_stack_region_message_t, *mc_stack_region_message_t; + +typedef struct s_mc_register_symbol_message { + e_mc_message_type type; + char name[128]; + int (*callback)(void*); + void* data; +} s_mc_register_symbol_message_t, * mc_register_symbol_message_t; + int MC_protocol_send(int socket, void* message, size_t size); int MC_protocol_send_simple_message(int socket, int type); int MC_protocol_hello(int socket); +ssize_t MC_receive_message(int socket, void* message, size_t size); SG_END_DECL()