examples: add example program demonstrating sync entry methods
[charm.git] / examples / charm++ / onesided / onesided.h
1 #include "onesided.decl.h"
2
3
4 void doneOp(void *tmp);
5
6 CpvDeclare(void *, _cmvar);
7
8 class charMsg : public CMessage_charMsg {
9  public:
10   char *addr;
11 };
12
13 class Main : public CBase_Main {
14  public:
15   Main(CkMigrateMessage *m) {}
16   Main(CkArgMsg *);
17   void done(void);
18 };
19
20 class commtest : public CBase_commtest {
21  private:
22   int idx;
23   char *srcAddr, *destAddr;
24   unsigned int size, dest;
25   char srcChar, destChar;
26   int operation; //get or put (current operation)
27   int callb;
28   void *pend;
29  public:
30   commtest(CkMigrateMessage *m) {}
31   commtest(void);
32   void startRMA(int op, int cb);
33   void remoteRMA(int len, int op, int cb);
34   void recvAddr(charMsg *cm);
35   void verifyCorrectRMA(char c);
36   void doJnkWork(void);
37   void testDone(void);
38   void initializeMem(char *addr, int len, char c);
39   void testForCompletion(void);
40   void testForCorrectness(void);
41 };