X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4340c977641036e7aa8ae5dcb69ccb3cac1df3c5..756df47074b2d7b0721f234077f5ef8d75e13932:/src/mc/mc_protocol.h diff --git a/src/mc/mc_protocol.h b/src/mc/mc_protocol.h index 440c5028ed..64b0e7021a 100644 --- a/src/mc/mc_protocol.h +++ b/src/mc/mc_protocol.h @@ -37,7 +37,6 @@ extern e_mc_mode_t mc_mode; typedef enum { MC_MESSAGE_NONE, - MC_MESSAGE_HELLO, MC_MESSAGE_CONTINUE, MC_MESSAGE_IGNORE_HEAP, MC_MESSAGE_UNIGNORE_HEAP, @@ -49,6 +48,8 @@ typedef enum { MC_MESSAGE_WAITING, MC_MESSAGE_SIMCALL_HANDLE, MC_MESSAGE_ASSERTION_FAILED, + // MCer request to finish the restoration: + MC_MESSAGE_RESTORE, } e_mc_message_type; #define MC_MESSAGE_LENGTH 512 @@ -76,12 +77,15 @@ typedef struct s_mc_int_message { typedef struct s_mc_ignore_heap_message { e_mc_message_type type; - s_mc_heap_ignore_region_t region; + int block; + int fragment; + void *address; + size_t size; } s_mc_ignore_heap_message_t, *mc_ignore_heap_message_t; typedef struct s_mc_ignore_memory_message { e_mc_message_type type; - void *addr; + uint64_t addr; size_t size; } s_mc_ignore_memory_message_t, *mc_ignore_memory_message_t; @@ -103,13 +107,17 @@ typedef struct s_mc_register_symbol_message { void* data; } s_mc_register_symbol_message_t, * mc_register_symbol_message_t; -XBT_INTERNAL int MC_protocol_send(int socket, const void* message, size_t size); -XBT_INTERNAL int MC_protocol_send_simple_message(int socket, e_mc_message_type type); -XBT_INTERNAL int MC_protocol_hello(int socket); -XBT_INTERNAL ssize_t MC_receive_message(int socket, void* message, size_t size, int options); +typedef struct s_mc_restore_message { + e_mc_message_type type; + int index; +} s_mc_restore_message_t, *mc_restore_message_t; + +XBT_PRIVATE int MC_protocol_send(int socket, const void* message, size_t size); +XBT_PRIVATE int MC_protocol_send_simple_message(int socket, e_mc_message_type type); +XBT_PRIVATE ssize_t MC_receive_message(int socket, void* message, size_t size, int options); -XBT_INTERNAL const char* MC_message_type_name(e_mc_message_type type); -XBT_INTERNAL const char* MC_mode_name(e_mc_mode_t mode); +XBT_PRIVATE const char* MC_message_type_name(e_mc_message_type type); +XBT_PRIVATE const char* MC_mode_name(e_mc_mode_t mode); SG_END_DECL()