8 /* For CmiRegisterHandler and CmiHandler */
22 #define CPathArrayDimensions(a) ((a)->nsizes)
23 #define CPathArrayDimension(a,n) ((a)->sizes[n])
25 #define CPATH_WILD (-1)
27 typedef unsigned int (*CPathMapFn
)(CPath
*path
, int *indices
);
28 typedef void (*CPathReduceFn
)(int nelts
,void *updateme
,void *inputme
);
30 #define CPathRegisterMapper(x) CmiRegisterHandler((CmiHandler)(x))
31 #define CPathRegisterThreadFn(x) CmiRegisterHandler((CmiHandler)(x))
32 #define CPathRegisterReducer(x) CmiRegisterHandler((CmiHandler)(x))
34 void CPathMakeArray(CPath
*path
, int startfn
, int mapfn
, ...);
35 void CPathMakeThread(CPath
*path
, int startfn
, int pe
);
37 void CPathSend(int key
, ...);
38 void *CPathRecv(int key
, ...);
39 void CPathReduce(int key
, ...);
41 void CPathMsgDecodeBytes(void *msg
, int *len
, void *bytes
);
42 void CPathMsgDecodeReduction(void *msg
,int *vecsize
,int *eltsize
,void *bytes
);
43 void CPathMsgFree(void *msg
);
45 #define CPATH_ALL (-1)
48 #define CPATH_DESTELT 2
51 #define CPATH_TAGVEC 5
54 #define CPATH_REDUCER 8
55 #define CPATH_REDBYTES 9