#define COLL_TAG_GATHERV -2223
#define COLL_TAG_BCAST -3334
#define COLL_TAG_ALLREDUCE -4445
+#define SMPI_RMA_TAG -1234
#define MPI_COMM_UNINITIALIZED ((MPI_Comm)-1)
XBT_PRIVATE MPI_Op smpi_op_new(MPI_User_function * function, bool commute);
XBT_PRIVATE bool smpi_op_is_commute(MPI_Op op);
XBT_PRIVATE void smpi_op_destroy(MPI_Op op);
+XBT_PRIVATE void smpi_op_set_fortran(MPI_Op op);
XBT_PRIVATE void smpi_op_apply(MPI_Op op, const void *invec, void *inoutvec, int *len, MPI_Datatype * datatype);
XBT_PRIVATE MPI_Group smpi_group_new(int size);
XBT_PRIVATE int smpi_request_c2f(MPI_Request req);
XBT_PRIVATE MPI_Request smpi_request_f2c(int req);
XBT_PRIVATE int smpi_type_c2f(MPI_Datatype datatype);
+XBT_PRIVATE int smpi_type_add_f(MPI_Datatype datatype);
XBT_PRIVATE MPI_Datatype smpi_type_f2c(int datatype);
XBT_PRIVATE int smpi_op_c2f(MPI_Op op);
XBT_PRIVATE MPI_Op smpi_op_f2c(int op);
void mpi_comm_spawn_multiple_ ( int* count, char *array_of_commands, char** array_of_argv, int* array_of_maxprocs,
int* array_of_info, int* root, int* comm, int*intercomm, int* array_of_errcodes, int* ierr);
void mpi_comm_get_parent_ ( int*parent, int* ierr);
+void mpi_file_close_ ( int* file, int* ierr);
+void mpi_file_delete_ ( char* filename, int* info, int* ierr);
+void mpi_file_open_ ( int* comm, char* filename, int* amode, int* info, int* fh, int* ierr);
+void mpi_file_set_view_ ( int* fh, long long int* offset, int* etype, int* filetype, char* datarep, int* info, int* ierr);
+void mpi_file_read_ ( int* fh, void* buf, int* count, int* datatype, MPI_Status* status, int* ierr);
+void mpi_file_write_ ( int* fh, void* buf, int* count, int* datatype, MPI_Status* status, int* ierr);
/********** Tracing **********/
/* from instr_smpi.c */
XBT_PRIVATE void TRACE_smpi_release();
XBT_PRIVATE void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, instr_extra_data extra);
XBT_PRIVATE void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation);
-XBT_PRIVATE void TRACE_smpi_send(int rank, int src, int dst, int size);
-XBT_PRIVATE void TRACE_smpi_recv(int rank, int src, int dst);
+XBT_PRIVATE void TRACE_smpi_send(int rank, int src, int dst, int tag, int size);
+XBT_PRIVATE void TRACE_smpi_recv(int rank, int src, int dst, int tag);
XBT_PRIVATE void TRACE_smpi_init(int rank);
XBT_PRIVATE void TRACE_smpi_finalize(int rank);
XBT_PRIVATE char *smpi_container(int rank, char *container, int n);