add a data structure to store the values read by last read actions of each thread...
[c11tester.git] / snapshot-interface.h
index 0c2478ee67abb38b817106a876899803fa458771..4d27ae04cecfcd679b8d81d64061579391a25075 100644 (file)
@@ -1,12 +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>
-typedef std::basic_string< char, std::char_traits< char >, MyAlloc< char > > MyString;
-namespace snapshot_utils{
-       std::vector< std::pair< void *, size_t >, MyAlloc< std::pair< void *, size_t > > > ReturnGlobalSegmentsToSnapshot();
-};
+#include <ucontext.h>
+
+typedef unsigned int snapshot_id;
+typedef void (*VoidFuncPtr)();
+
+void snapshot_system_init(unsigned int numbackingpages,
+                                                                                                       unsigned int numsnapshots, unsigned int nummemoryregions,
+                                                                                                       unsigned int numheappages);
+void startExecution(ucontext_t * context, VoidFuncPtr entryPoint);
+void snapshot_stack_init();
+void snapshot_record(int seq_index);
+int snapshot_backtrack_before(int seq_index);
+
 #endif