arch/util/persist_impl.h

Go to the documentation of this file.
00001 
00010 
00011 #define PERSIST_BUFFERS_NUM   2
00012 
00013 typedef struct _PersistentSendsTable {
00014   int destPE;
00015   int sizeMax;
00016   PersistentHandle   destHandle;  
00017   void *destAddress[PERSIST_BUFFERS_NUM];
00018   void *destSizeAddress[PERSIST_BUFFERS_NUM];
00019   void *messageBuf;
00020   int messageSize;
00021   char used;
00022 } PersistentSendsTable;
00023 
00024 typedef struct _PersistentReceivesTable {
00025   void *messagePtr[PERSIST_BUFFERS_NUM];      /* preallocated message buffer of size "sizeMax" */
00026   unsigned int *recvSizePtr[PERSIST_BUFFERS_NUM];   /* pointer to the size */
00027   int sizeMax;
00028   struct _PersistentReceivesTable *prev, *next;
00029 } PersistentReceivesTable;
00030 
00031 extern PersistentReceivesTable *persistentReceivesTableHead;
00032 extern PersistentReceivesTable *persistentReceivesTableTail;
00033 
00034 extern PersistentHandle  *phs;
00035 extern int phsSize;
00036 
00037 void *PerAlloc(int size);
00038 void PerFree(char *msg);
00039 void CmiSendPersistentMsg(PersistentHandle h, int destPE, int size, void *m);
00040 int PumpPersistent();
00041 void swapSendSlotBuffers(PersistentSendsTable *slot);
00042 void swapRecvSlotBuffers(PersistentReceivesTable *slot);
00043 void setupRecvSlot(PersistentReceivesTable *slot, int maxBytes);
00044 

Generated on Sun Jun 29 13:29:06 2008 for Charm++ by  doxygen 1.5.1