fix mutex_trylock bug
[c11tester.git] / snapshot-interface.h
index 9912a1b78f2beba07c08b624b483c71492fd9e3a..548ae05335ac89ed6cd9c1cd530b9eeb5b3fda49 100644 (file)
@@ -1,39 +1,21 @@
-/** @file snapshot-interface.h
- *  @brief C++ layer on top of snapshotting system.
+/**
+ * @file snapshot-interface.h
+ * @brief C interface layer on top of snapshotting system
  */
 
-
 #ifndef __SNAPINTERFACE_H
 #define __SNAPINTERFACE_H
-#include "mymemory.h"
+#include <ucontext.h>
 
 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;
-  snapshot_id snapshotid;
-  int index;
-};
-
-class SnapshotStack {
- public:
-  MEMALLOC
-  SnapshotStack( );
-  ~SnapshotStack();
-  int backTrackBeforeStep(int seq_index);
-  void snapshotStep(int seq_index);
 
- private:
-  struct stackEntry * stack;
-};
+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);
 
-/* 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