snapshot: turn C++ interface into C interface
[model-checker.git] / snapshot-interface.h
index c0db0d0c0990595beaea3f1af70933a0f97779a8..b024e5a83a06300eb0e7a95aeee4f9f326765995 100644 (file)
@@ -2,10 +2,8 @@
  *  @brief C++ layer on top of snapshotting system.
  */
 
-
 #ifndef __SNAPINTERFACE_H
 #define __SNAPINTERFACE_H
-#include "mymemory.h"
 
 typedef unsigned int snapshot_id;
 
@@ -14,26 +12,8 @@ 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;
-};
-
-/* 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