X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=snapshot.h;h=e41eb9c9debfecc7cac7cfc912b6a3c190000966;hb=84e24d516d4e9dbd30f1fff7e9a185d1540d20eb;hp=f0e36f089b6e8ef145352765d296ba2aca05629a;hpb=1d6c949fef3b5da936f8499dde464f8df634267a;p=model-checker.git diff --git a/snapshot.h b/snapshot.h index f0e36f0..e41eb9c 100644 --- a/snapshot.h +++ b/snapshot.h @@ -1,25 +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 -#define DEBUG 1 -typedef unsigned int snapshot_id; -typedef void (*MyFuncPtr)(); -void initSnapShotLibrary(unsigned int numbackingpages, unsigned int numsnapshots, unsigned int nummemoryregions, MyFuncPtr entryPoint); -void addMemoryRegionToSnapShot( void * ptr, unsigned int numBytes ); +/* 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 -snapshot_id takeSnapshot( ); +/* 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