#define NON_PERSISTENT 0x2
#define SEND 0x4
#define RECV 0x8
-#define RECV_DELETE 0x10
-
+#define RECV_DELETE 0x10
+#define ISEND 0x20
+#define SSEND 0x40
// this struct is here to handle the problem of non-contignous data
// for each such structure these function should be implemented (vector
// index hvector hindex struct)
int dst, int tag, MPI_Comm comm);
MPI_Request smpi_mpi_recv_init(void *buf, int count, MPI_Datatype datatype,
int src, int tag, MPI_Comm comm);
+MPI_Request smpi_mpi_ssend_init(void *buf, int count, MPI_Datatype datatype,
+ int dst, int tag, MPI_Comm comm);
void smpi_mpi_start(MPI_Request request);
void smpi_mpi_startall(int count, MPI_Request * requests);
void smpi_mpi_request_free(MPI_Request * request);
int dst, int tag, MPI_Comm comm);
MPI_Request smpi_mpi_isend(void *buf, int count, MPI_Datatype datatype,
int dst, int tag, MPI_Comm comm);
+MPI_Request smpi_mpi_issend(void *buf, int count, MPI_Datatype datatype,
+ int dst, int tag, MPI_Comm comm);
MPI_Request smpi_irecv_init(void *buf, int count, MPI_Datatype datatype,
int src, int tag, MPI_Comm comm);
MPI_Request smpi_mpi_irecv(void *buf, int count, MPI_Datatype datatype,
int tag, MPI_Comm comm, MPI_Status * status);
void smpi_mpi_send(void *buf, int count, MPI_Datatype datatype, int dst,
int tag, MPI_Comm comm);
+void smpi_mpi_ssend(void *buf, int count, MPI_Datatype datatype, int dst,
+ int tag, MPI_Comm comm);
void smpi_mpi_sendrecv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
int dst, int sendtag, void *recvbuf, int recvcount,
MPI_Datatype recvtype, int src, int recvtag,
void* recvbuf, int* recvcounts, int* recvdisps, int* recvtype, int* comm, int* ierr);
void mpi_get_processor_name__(char *name, int *resultlen, int* ierr);
void mpi_test__ (int * request, int *flag, MPI_Status * status, int* ierr);
+void mpi_testall__ (int* count, int * requests, int *flag, MPI_Status * statuses, int* ierr);
void mpi_get_count__(MPI_Status * status, int* datatype, int *count, int* ierr);
void mpi_type_extent__(int* datatype, MPI_Aint * extent, int* ierr);
void mpi_attr_get__(int* comm, int* keyval, void* attr_value, int* flag, int* ierr );