MALOC 0.1

vcom.h

Go to the documentation of this file.
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