00001 #ifndef _CKRDMAUTILS_H
00002 #define _CKRDMAUTILS_H
00003
00004 #include "conv-header.h"
00005
00006
00007 typedef struct ncpystruct{
00008
00009
00010 #if CMK_CONVERSE_MPI
00011 char core[CmiMsgHeaderSizeBytes];
00012 int tag;
00013 #endif
00014
00015 const void *srcPtr;
00016 int srcPe;
00017 char *srcLayerInfo;
00018 int srcLayerSize;
00019 char *srcAck;
00020 int srcAckSize;
00021 int srcSize;
00022 unsigned short int srcRegMode;
00023 unsigned short int srcDeregMode;
00024 unsigned short int isSrcRegistered;
00025 const void *srcRef;
00026
00027 const void *destPtr;
00028 int destPe;
00029 char *destLayerInfo;
00030 int destLayerSize;
00031 char *destAck;
00032 int destAckSize;
00033 int destSize;
00034 unsigned short int destRegMode;
00035 unsigned short int destDeregMode;
00036 unsigned short int isDestRegistered;
00037 const void *destRef;
00038
00039 unsigned char opMode;
00040
00041
00042
00043
00044
00045 unsigned char ackMode;
00046
00047
00048
00049 unsigned char freeMe;
00050
00051
00052 void *refPtr;
00053
00054 int ncpyOpInfoSize;
00055
00056 }NcpyOperationInfo;
00057
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061
00062 int getNcpyOpInfoTotalSize(
00063 int srcLayerSize,
00064 int srcAckSize,
00065 int destLayerSize,
00066 int destAckSize);
00067
00068 void setNcpyOpInfo(
00069 const void *srcPtr,
00070 char *srcLayerInfo,
00071 int srcLayerSize,
00072 char *srcAck,
00073 int srcAckSize,
00074 int srcSize,
00075 unsigned short int srcRegMode,
00076 unsigned short int srcDeregMode,
00077 unsigned short int isSrcRegistered,
00078 int srcPe,
00079 const void *srcRef,
00080 const void *destPtr,
00081 char *destLayerInfo,
00082 int destLayerSize,
00083 char *destAck,
00084 int destAckSize,
00085 int destSize,
00086 unsigned short int destRegMode,
00087 unsigned short int destDeregMode,
00088 unsigned short int isdestRegistered,
00089 int destPe,
00090 const void *destRef,
00091 NcpyOperationInfo *ncpyOpInfo);
00092
00093 void resetNcpyOpInfoPointers(NcpyOperationInfo *ncpyOpInfo);
00094
00095 void setReverseModeForNcpyOpInfo(NcpyOperationInfo *ncpyOpInfo);
00096
00097 #ifdef __cplusplus
00098 }
00099 #endif
00100
00101 #endif