X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9b7c007d68cc9aabd52746479c68a8287a087fe3..f43536687685f8e4ff5c43fa22e571750327e5ed:/src/mc/mc_protocol.h diff --git a/src/mc/mc_protocol.h b/src/mc/mc_protocol.h index f0100fd06b..1c39fa7252 100644 --- a/src/mc/mc_protocol.h +++ b/src/mc/mc_protocol.h @@ -4,8 +4,8 @@ /* 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. */ -#ifndef MC_PROTOCOL_H -#define MC_PROTOCOL_H +#ifndef SIMGRID_MC_PROTOCOL_H +#define SIMGRID_MC_PROTOCOL_H #include @@ -27,7 +27,6 @@ SG_BEGIN_DECL() typedef enum { MC_MODE_NONE = 0, - MC_MODE_STANDALONE, MC_MODE_CLIENT, MC_MODE_SERVER } e_mc_mode_t; @@ -47,6 +46,9 @@ typedef enum { MC_MESSAGE_REGISTER_SYMBOL, MC_MESSAGE_DEADLOCK_CHECK, MC_MESSAGE_DEADLOCK_CHECK_REPLY, + MC_MESSAGE_WAITING, + MC_MESSAGE_SIMCALL_HANDLE, + MC_MESSAGE_ASSERTION_FAILED, } e_mc_message_type; #define MC_MESSAGE_LENGTH 512 @@ -79,7 +81,7 @@ typedef struct s_mc_ignore_heap_message { 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; @@ -88,6 +90,12 @@ typedef struct s_mc_stack_region_message { s_stack_region_t stack_region; } s_mc_stack_region_message_t, *mc_stack_region_message_t; +typedef struct s_mc_simcall_handle_message { + e_mc_message_type type; + unsigned long pid; + int value; +} s_mc_simcall_handle_message_t, *mc_simcall_handle_message; + typedef struct s_mc_register_symbol_message { e_mc_message_type type; char name[128]; @@ -95,10 +103,13 @@ typedef struct s_mc_register_symbol_message { 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); +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 int MC_protocol_hello(int socket); +XBT_PRIVATE ssize_t MC_receive_message(int socket, void* message, size_t size, int options); + +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()