#include "misc.h"
+#define SNAPSHOT_MEMORY_DEFAULT (512 * 1024 * 1024)
+
/* needed for comfortably saving engine snapshot buffers */
-#define ARGS_ADDRESS_AND_SIZEOF(x) (&(x)), (sizeof(x))
+#define ARGS_ADDRESS_AND_SIZEOF(x) (&(x)), (sizeof(x))
-struct EngineSnapshotNodeInfo
+struct SnapshotNodeInfo
{
void *buffer_orig;
void *buffer_copy;
};
-void SaveEngineSnapshotBuffer(void *buffer, int size);
-void LoadEngineSnapshotBuffers();
-void FreeEngineSnapshotBuffers();
+void SaveSnapshotBuffer(ListNode **, void *, int);
+void LoadSnapshotBuffers(ListNode *);
+void FreeSnapshotBuffers(ListNode *);
+
+void SaveSnapshotSingle(ListNode *);
+void SaveSnapshotToList(ListNode *);
+boolean LoadSnapshotSingle();
+boolean LoadSnapshotFromList_Older(int);
+boolean LoadSnapshotFromList_Newer(int);
+boolean CheckSnapshotList();
+void FreeSnapshotSingle();
+void FreeSnapshotList();
#endif /* SNAPSHOT_H */