#ifndef _SIMIX_PRIVATE_H
#define _SIMIX_PRIVATE_H
-#include "simix/simix.h"
+#include "simgrid/simix.h"
#include "surf/surf.h"
#include "xbt/fifo.h"
#include "xbt/swag.h"
#include "smx_network_private.h"
#include "smx_smurf_private.h"
#include "smx_synchro_private.h"
-#include "simix/context.h"
/* Define only for SimGrid benchmarking purposes */
#undef TIME_BENCH
#define SMX_THROW() RETHROW
+/* ******************************** File ************************************ */
+typedef struct s_smx_file {
+ surf_file_t surf_file;
+} s_smx_file_t;
+
+typedef struct s_smx_stat {
+ s_file_stat_t surf_stat;
+} s_smx_stat_t;
+
/*********************************** Time ************************************/
/** @brief Timer datatype */
SIMIX_COMM_DONE
} e_smx_comm_type_t;
+typedef enum {
+ SIMIX_IO_OPEN,
+ SIMIX_IO_WRITE,
+ SIMIX_IO_READ,
+ SIMIX_IO_STAT
+} e_smx_io_type_t;
+
/** @brief Action datatype */
typedef struct s_smx_action {
int detached; /* If detached or not */
void (*clean_fun)(void*); /* Function to clean the detached src_buf if something goes wrong */
+ int (*match_fun)(void*,void*,smx_action_t); /* Filter function used by the other side. It is used when
+ looking if a given communication matches my needs. For that, myself must match the
+ expectations of the other side, too. See */
/* Surf action data */
surf_action_t surf_comm; /* The Surf communication action encapsulated */