X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=snapshot.h;h=e41eb9c9debfecc7cac7cfc912b6a3c190000966;hb=84e24d516d4e9dbd30f1fff7e9a185d1540d20eb;hp=4625c5d5cfaa7c39cd03087462da86858da0c371;hpb=7320a16b1a16bf1f803bc43856b24a94c0fb4c8e;p=model-checker.git diff --git a/snapshot.h b/snapshot.h index 4625c5d..e41eb9c 100644 --- a/snapshot.h +++ b/snapshot.h @@ -1,26 +1,27 @@ +/** @file snapshot.h + * @brief Snapshotting interface header file. + */ + #ifndef _SNAPSHOT_H #define _SNAPSHOT_H + +#include "snapshot-interface.h" + #define PAGESIZE 4096 -#define USE_CHECKPOINTING 1 +/* If USE_MPROTECT_SNAPSHOT=1, then snapshot by using mmap() and mprotect() + If USE_MPROTECT_SNAPSHOT=0, then snapshot by using fork() */ +#define USE_MPROTECT_SNAPSHOT 1 -typedef unsigned int snapshot_id; -typedef void (*MyFuncPtr)(); -void initSnapShotLibrary(unsigned int numbackingpages, unsigned int numsnapshots, unsigned int nummemoryregions, unsigned int numheappages, MyFuncPtr entryPoint); +/* Size of signal stack */ +#define SIGSTACKSIZE 32768 void addMemoryRegionToSnapShot( void * ptr, unsigned int numPages ); - snapshot_id takeSnapshot( ); - void rollBack( snapshot_id theSnapShot ); -void finalize(); - -#ifdef __cplusplus -extern "C" { -#endif -void createSharedLibrary(); -#ifdef __cplusplus -}; /* end of extern "C" */ +#if !USE_MPROTECT_SNAPSHOT +void createSharedMemory(); #endif + #endif