Add user-defined extradata to tree dump
[tedtools.git] / sfxstr.h
index 7683e99..84b708e 100644 (file)
--- a/sfxstr.h
+++ b/sfxstr.h
@@ -229,32 +229,33 @@ void * SFSRevertPlain(SFSTree *info);
 
 typedef struct SFSTreeDumpHeader {
        u_int32_t               version;
-       u_int32_t               opaquesize;
-       u_int32_t               headersize;
+       u_int16_t               opaquesize;
+       u_int16_t               headersize;
        u_int32_t               datasize;
+       u_int32_t               extrasize;
        u_int64_t               totalen;
        u_int64_t               nnodes;
 } SFSTreeDumpHeader;
 
-#define  SFSTDHSZ      ( MAXALIGN(sizeof(SFSTreeDumpHeader))  )
+#define  SFSTDHSZ      MAXALIGN( sizeof(SFSTreeDumpHeader) )
 
 /*
  * óÏÚÄÁÅÔ dump ÄÅÒÅ×Á, ÎÅ ÔÒÅÂÕÅÔ ÂÏÌØÛÏÇÏ ÒÁÓÈÏÄÁ ÐÁÍÑÔÉ
  */
-void SFSWriteDump(SFSTree *info, char *filename);
+void SFSWriteDump(SFSTree *info, char *filename, void *extradata, u_int32_t extrasize);
 
 /*
  * óÏÚÄÁÅÔ "ÏÂÙÞÎÏÅ" (ÎÅ ÐÌÏÓËÏÅ) ÄÅÒÅ×Ï ÉÚ ÄÁÍÐÁ, 
  * ÎÅ ÔÒÅÂÕÅÔ ÂÏÌØÛÏÇÏ ÒÁÓÈÏÄÁ ÐÁÍÑÔÉ
  * ïÂÎÕÌÑÅÔ info!
  */
-void SFSReadDump(SFSTree *info, char *filename);
+void SFSReadDump(SFSTree *info, char *filename, void **extradata, u_int32_t *extrasize);
 
 /*
  * éÎÉÃÉÁÌÉÚÉÒÕÅÔ "ÐÌÏÓËÏÅ" ÄÅÒÅ×Ï ÉÚ ÏÂÒÁÚÁ ÄÁÍÐÁ
  * ïÂÎÕÌÑÅÔ info!
  */
-void SFSInitFromDump(SFSTree *info, void *pointer, u_int64_t size);
+void SFSInitFromDump(SFSTree *info, void *pointer, u_int64_t size, void **extradata, u_int32_t *extrasize);
 
 
 #endif