Merge branch 'master' into mutex
[model-checker.git] / snapshot-interface.h
index 0fab53b1ea9fb5ffa0514955bb743f9972acb77e..9912a1b78f2beba07c08b624b483c71492fd9e3a 100644 (file)
@@ -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