X-Git-Url: http://plrg.eecs.uci.edu/git/?p=cdsspec-compiler.git;a=blobdiff_plain;f=snapshot.h;h=d3fc7b80f9856e5c83a662ba1235c72a6f1b18f4;hp=cc5e7e535408dd03a9002af41122ed5bfbe53476;hb=78d9862a9e6c7a12b6755853e5dd865eb5e893e8;hpb=843f65d8af9e9b4c73f844ecc2a22fbafaee7967 diff --git a/snapshot.h b/snapshot.h index cc5e7e5..d3fc7b8 100644 --- a/snapshot.h +++ b/snapshot.h @@ -1,28 +1,20 @@ +/** @file snapshot.h + * @brief Snapshotting interface header file. + */ + #ifndef _SNAPSHOT_H #define _SNAPSHOT_H #include "snapshot-interface.h" +#include "config.h" +#include "mymemory.h" -#define PAGESIZE 4096 - -/* 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 - -/* Size of signal stack */ -#define SIGSTACKSIZE 32768 - -void addMemoryRegionToSnapShot( void * ptr, unsigned int numPages ); +void snapshot_add_memory_region(void *ptr, unsigned int numPages); +snapshot_id take_snapshot(); +void snapshot_roll_back(snapshot_id theSnapShot); -snapshot_id takeSnapshot( ); - -void rollBack( snapshot_id theSnapShot ); - -#ifdef __cplusplus -extern "C" { -#endif -void createSharedLibrary(); -#ifdef __cplusplus -}; /* end of extern "C" */ +#if !USE_MPROTECT_SNAPSHOT +mspace create_shared_mspace(); #endif + #endif