1 /** @file snapshot-interface.h
2 * @brief C++ layer on top of snapshotting system.
6 #ifndef __SNAPINTERFACE_H
7 #define __SNAPINTERFACE_H
10 typedef unsigned int snapshot_id;
12 typedef void (*VoidFuncPtr)();
13 void initSnapShotLibrary(unsigned int numbackingpages,
14 unsigned int numsnapshots, unsigned int nummemoryregions,
15 unsigned int numheappages, VoidFuncPtr entryPoint);
18 void SnapshotGlobalSegments();
21 struct stackEntry *next;
22 snapshot_id snapshotid;
31 int backTrackBeforeStep(int seq_index);
32 void snapshotStep(int seq_index);
35 struct stackEntry * stack;
38 /* Not sure what it even means to have more than one snapshot object,
39 so let's just make a global reference to it.*/
41 extern SnapshotStack * snapshotObject;