+/** @file snapshot.h
+ * @brief Snapshotting interface header file.
+ */
+
#ifndef _SNAPSHOT_H
#define _SNAPSHOT_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 numPages );
-
-snapshot_id takeSnapshot( );
-void rollBack( snapshot_id theSnapShot );
+#include "snapshot-interface.h"
+#include "config.h"
+#include "mymemory.h"
-void finalize();
+void snapshot_add_memory_region(void *ptr, unsigned int numPages);
+snapshot_id take_snapshot();
+void snapshot_roll_back(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