model: schedule appropriate fence backtracking points
[c11tester.git] / snapshot-interface.h
index 0fab53b1ea9fb5ffa0514955bb743f9972acb77e..7f4de211badfe57b580d224306b08c3ffce5929b 100644 (file)
@@ -1,31 +1,20 @@
+/**
+ * @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 "snapshot.h"
-
-void SnapshotGlobalSegments();
-
-struct stackEntry {
-  struct stackEntry *next;
-  snapshot_id snapshotid;
-  int index;
-};
 
-class snapshotStack {
- public:
-  MEMALLOC
-  snapshotStack( );
-  ~snapshotStack();
-  int backTrackBeforeStep(int seq_index);
-  void snapshotStep(int seq_index);
+typedef unsigned int snapshot_id;
 
- private: 
-  struct stackEntry * stack;
-};
+typedef void (*VoidFuncPtr)();
+void snapshot_system_init(unsigned int numbackingpages,
+               unsigned int numsnapshots, unsigned int nummemoryregions,
+               unsigned int numheappages, VoidFuncPtr entryPoint);
 
-/* Not sure what it even means to have more than one snapshot object,
-   so let's just make a global reference to it.*/
+void snapshot_stack_init();
+void snapshot_record(int seq_index);
+int snapshot_backtrack_before(int seq_index);
 
-extern snapshotStack * snapshotObject;
 #endif