X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=snapshot-interface.h;h=7a5030b85dc23df43112189e03e611fe0cc86c76;hb=8899359d333648c680e9a1aecf34b45a1eb6a201;hp=5f5f4ea01246b8fa506e06dcfb5cba5f3a38ef81;hpb=810306cb85accaaace9a50f174264f105991230b;p=c11tester.git diff --git a/snapshot-interface.h b/snapshot-interface.h index 5f5f4ea0..7a5030b8 100644 --- a/snapshot-interface.h +++ b/snapshot-interface.h @@ -1,35 +1,21 @@ +/** + * @file snapshot-interface.h + * @brief C interface layer on top of snapshotting system + */ + #ifndef __SNAPINTERFACE_H #define __SNAPINTERFACE_H -#include "snapshot.h" -#include "mymemory.h" -#include -#include -#include -#include -#include -#include "snapshot.h" -#include "libthreads.h" - -class snapshotStack; -typedef std::basic_string, MyAlloc > MyString; +#include -void SnapshotGlobalSegments(); +typedef unsigned int snapshot_id; +typedef void (*VoidFuncPtr)(); -struct stackEntry { - struct stackEntry *next; - snapshot_id snapshotid; - int index; -}; +void snapshot_system_init(unsigned int numbackingpages, + unsigned int numsnapshots, unsigned int nummemoryregions, + unsigned int numheappages); +void startExecution(ucontext_t * context, VoidFuncPtr entryPoint); +snapshot_id take_snapshot(); +void snapshot_roll_back(snapshot_id theSnapShot); -class snapshotStack { - public: - MEMALLOC - snapshotStack( ); - ~snapshotStack(); - int backTrackBeforeStep(int seq_index); - void snapshotStep(int seq_index); - private: - struct stackEntry * stack; -}; #endif