MALOC 0.1
|
00001 00038 #ifndef _VCOM_H_ 00039 #define _VCOM_H_ 00040 00041 #include <maloc/maloc_base.h> 00042 00043 #include <maloc/vsys.h> 00044 00046 #define VCOM_MPI_TAG 111 00047 00048 /* 00049 * *************************************************************************** 00050 * Class Vcom: Parameters and datatypes 00051 * *************************************************************************** 00052 */ 00053 00060 struct sVcom { 00061 00063 int mpi_rank; 00065 int mpi_size; 00066 00071 int type; 00073 int error; 00075 void *core; 00076 00077 }; 00078 00085 typedef struct sVcom Vcom; 00086 00087 /* 00088 * *************************************************************************** 00089 * Class Vcom: Inlineable methods (vcom.c) 00090 * *************************************************************************** 00091 */ 00092 00093 #if !defined(VINLINE_MALOC) 00094 #else /* if defined(VINLINE_MALOC) */ 00095 #endif /* if !defined(VINLINE_MALOC) */ 00096 00097 00107 int Vcom_init(int *argc, char ***argv); 00108 00116 int Vcom_finalize(void); 00117 00127 Vcom* Vcom_ctor(int commtype); 00128 00140 int Vcom_ctor2(Vcom* thee, int commtype); 00141 00150 void Vcom_dtor(Vcom **thee); 00151 00161 void Vcom_dtor2(Vcom *thee); 00162 00177 int Vcom_send(Vcom *thee, int des, void *buf, int len, int type, 00178 int block); 00179 00197 int Vcom_recv(Vcom *thee, int src, void *buf, int len, int type, 00198 int block); 00199 00214 int Vcom_getCount(Vcom *thee, int src, int *length, int type); 00215 00237 int Vcom_reduce(Vcom *thee, void *sendbuf, void *recvbuf, int length, 00238 int type, int op); 00239 00248 int Vcom_size(Vcom *thee); 00249 00261 int Vcom_resize(Vcom *thee, int newsize); 00262 00271 int Vcom_rank(Vcom *thee); 00272 00281 int Vcom_barr(Vcom *thee); 00282 00283 #endif /* _VCOM_H_ */ 00284 00285