X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=snapshot.h;h=e41eb9c9debfecc7cac7cfc912b6a3c190000966;hb=84e24d516d4e9dbd30f1fff7e9a185d1540d20eb;hp=a0f2757dc19496ab7d1155bfba983954127d7b14;hpb=10de861d3a9908e75b6f94283cc67b3f1b4d93ab;p=model-checker.git diff --git a/snapshot.h b/snapshot.h index a0f2757..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 -typedef unsigned int snapshot_id; -typedef void (*MyFuncPtr)(); -void initSnapShotLibrary(unsigned int numbackingpages, unsigned int numsnapshots, unsigned int nummemoryregions, unsigned int numheappages, MyFuncPtr entryPoint); +/* 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 -void addMemoryRegionToSnapShot( void * ptr, unsigned int numPages ); +/* 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