5 /* If USE_MPROTECT_SNAPSHOT=1, then snapshot by using mmap() and mprotect()
6 If USE_MPROTECT_SNAPSHOT=0, then snapshot by using fork() */
7 #define USE_MPROTECT_SNAPSHOT 1
9 /* Size of signal stack */
10 #define SIGSTACKSIZE 16384
13 typedef unsigned int snapshot_id;
14 typedef void (*MyFuncPtr)();
15 void initSnapShotLibrary(unsigned int numbackingpages, unsigned int numsnapshots, unsigned int nummemoryregions, unsigned int numheappages, MyFuncPtr entryPoint);
17 void addMemoryRegionToSnapShot( void * ptr, unsigned int numPages );
19 snapshot_id takeSnapshot( );
21 void rollBack( snapshot_id theSnapShot );
28 void createSharedLibrary();
30 }; /* end of extern "C" */