/*
* re_plugin_unsaved.h
*
* A programmers editor
*
* re_data plugin to support the unsaved changes file.
* (for recovery when the program closes unexpectedly)
*
* HEADER FILE
*
* Author: Dario Rodriguez dario@softhome.net
* This program is licensed under the terms of GNU GPL v2.1+
*/
#include "re_data.h"
typedef struct unsaved_t {
char initialhash[129];
int unsavedfd;
long sizebuf;
long usedbuf;
char *buf;
} unsaved_t;
int redata_unsaved_register(redata_t *redata, redata_plugin_t *slot);
int redata_unsaved_unregister(redata_t *redata, redata_plugin_t *slot,char *filename);
int redata_unsaved_exists(redata_t *redata, redata_plugin_t *slot, char *filename);
int redata_unsaved_check(redata_t *redata, redata_plugin_t *slot, char *filename);
int redata_unsaved_wipe(redata_t *redata, redata_plugin_t *slot, char *filename);
int redata_unsaved_truncload(redata_t *redata, redata_plugin_t *slot, char *filename);
int redata_unsaved_loadappend(redata_t *redata, redata_plugin_t *slot, char *filename);
int redata_unsaved_unlink(redata_t *redata, redata_plugin_t *slot, char *filename);
int redata_unsaved_trunc(redata_t *redata, redata_plugin_t *slot, char *oldfilename, char *newfilename);
int redata_unsaved_add(redata_t *redata, redata_plugin_t *slot, undo_t *undo);
int redata_unsaved_unadd(redata_t *redata, redata_plugin_t *slot, undo_t *undo);
int redata_unsaved_commit(redata_t *redata, redata_plugin_t *slot, char *filename);