fixup style
[c11tester.git] / snapshot-interface.h
index 5f5f4ea01246b8fa506e06dcfb5cba5f3a38ef81..ecc60ec6453a9ca4991c92e27d248622a201b7c5 100644 (file)
@@ -1,35 +1,39 @@
+/** @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 <vector>
-#include <utility>
-#include <string>
-#include <map>
-#include <set>
-#include "snapshot.h"
-#include "libthreads.h"
 
-class snapshotStack;
-typedef std::basic_string<char, std::char_traits<char>, MyAlloc<char> > MyString;
+typedef unsigned int snapshot_id;
 
-void SnapshotGlobalSegments();
+typedef void (*VoidFuncPtr)();
+void initSnapshotLibrary(unsigned int numbackingpages,
+               unsigned int numsnapshots, unsigned int nummemoryregions,
+               unsigned int numheappages, VoidFuncPtr entryPoint);
 
 struct stackEntry {
-  struct stackEntry *next;
-  snapshot_id snapshotid;
-  int index;
+       struct stackEntry *next;
+       snapshot_id snapshotid;
+       int index;
 };
 
-class snapshotStack {
+class SnapshotStack {
  public:
-  MEMALLOC
-  snapshotStack( );
-  ~snapshotStack();
-  int backTrackBeforeStep(int seq_index);
-  void snapshotStep(int seq_index);
-
- private: 
-  struct stackEntry * stack;
+       SnapshotStack();
+       ~SnapshotStack();
+       int backTrackBeforeStep(int seq_index);
+       void snapshotStep(int seq_index);
+
+       MEMALLOC
+ 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;
 #endif