X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=snapshot-interface.h;h=c0db0d0c0990595beaea3f1af70933a0f97779a8;hp=0fab53b1ea9fb5ffa0514955bb743f9972acb77e;hb=9e4f7e812e1e6e8cdb4df00add7199288dc30c04;hpb=b42e7645d3eaab0a2ab5e618cd322215f8164390 diff --git a/snapshot-interface.h b/snapshot-interface.h index 0fab53b1..c0db0d0c 100644 --- a/snapshot-interface.h +++ b/snapshot-interface.h @@ -1,10 +1,18 @@ +/** @file snapshot-interface.h + * @brief C++ layer on top of snapshotting system. + */ + + #ifndef __SNAPINTERFACE_H #define __SNAPINTERFACE_H -#include "snapshot.h" #include "mymemory.h" -#include "snapshot.h" -void SnapshotGlobalSegments(); +typedef unsigned int snapshot_id; + +typedef void (*VoidFuncPtr)(); +void initSnapshotLibrary(unsigned int numbackingpages, + unsigned int numsnapshots, unsigned int nummemoryregions, + unsigned int numheappages, VoidFuncPtr entryPoint); struct stackEntry { struct stackEntry *next; @@ -12,20 +20,20 @@ struct stackEntry { int index; }; -class snapshotStack { +class SnapshotStack { public: MEMALLOC - snapshotStack( ); - ~snapshotStack(); + SnapshotStack( ); + ~SnapshotStack(); int backTrackBeforeStep(int seq_index); void snapshotStep(int seq_index); - private: + private: struct stackEntry * stack; }; /* Not sure what it even means to have more than one snapshot object, so let's just make a global reference to it.*/ -extern snapshotStack * snapshotObject; +extern SnapshotStack * snapshotObject; #endif