small changes
[c11tester.git] / snapshot-interface.h
index 5f5f4ea01246b8fa506e06dcfb5cba5f3a38ef81..548ae05335ac89ed6cd9c1cd530b9eeb5b3fda49 100644 (file)
@@ -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 <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;
+#include <ucontext.h>
 
-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();
+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