typedef struct {
/* óÔÁÔÉÓÔÉÞÅÓËÉÅ ÄÁÎÎÙÅ */
- u_int32_t totalen; /* ÏÂÝÅÅ ËÏÌ-×Ï ÍÁÌÌÏÃÉÒÏ×ÁÎÎÏÊ ÐÁÍÑÔÉ */
- u_int32_t nnodes; /* ÏÂÝÅÅ ËÏÌ-×Ï ÕÚÌÏ× ÄÅÒÅ×Á */
+ u_int64_t totalen; /* ÏÂÝÅÅ ËÏÌ-×Ï ÍÁÌÌÏÃÉÒÏ×ÁÎÎÏÊ ÐÁÍÑÔÉ */
+ u_int64_t nnodes; /* ÏÂÝÅÅ ËÏÌ-×Ï ÕÚÌÏ× ÄÅÒÅ×Á */
+ char plainmemory; /* true ÅÓÌÉ ÄÅÒÅ×Ï × ÐÌÏÓËÏÊ ÐÁÍÑÔÉ */
u_int32_t datasize; /* ÒÁÚÍÅÒ ÚÎÁÞÅÎÉÑ (ËÒÁÔÅÎ sizeof(u_int32_t))*/
SFSNode *node; /* ËÏÒÎÅ×ÏÊ ÕÚÅÌ ÄÅÒÅ×Á */
*/
int SFSRange(SFSTree *info, char *word, SFSDataIO *f, SFSDataIO *l);
+/*
+ * ëÏÐÉÒÕÅÔ ÄÅÒÅ×Ï × "ÐÌÏÓËÕÀ" ÐÁÍÑÔØ. "ðÌÏÓËÏÅ" ÄÅÒÅ×Ï Read Only.
+ */
+void SFSMakePlain(SFSTree *info, void *pointer);
+
+/*
+ * ëÏÎ×ÅÒÔÉÒÕÅÔ "ÐÌÏÓËÏÅ" ÄÅÒÅ×Ï × ÏÂÙÞÎÏÅ.
+ */
+void * SFSRevertPlain(SFSTree *info);
+
+typedef struct SFSTreeDumpHeader {
+ u_int32_t version;
+ u_int32_t opaquesize;
+ u_int32_t headersize;
+ u_int32_t datasize;
+ u_int64_t totalen;
+ u_int64_t nnodes;
+} SFSTreeDumpHeader;
+
+#define SFSTDHSZ ( MAXALIGN(sizeof(SFSTreeDumpHeader)) )
+
+/*
+ * óÏÚÄÁÅÔ dump ÄÅÒÅ×Á, ÎÅ ÔÒÅÂÕÅÔ ÂÏÌØÛÏÇÏ ÒÁÓÈÏÄÁ ÐÁÍÑÔÉ
+ */
+void SFSWriteDump(SFSTree *info, char *filename);
+
+/*
+ * óÏÚÄÁÅÔ "ÏÂÙÞÎÏÅ" (ÎÅ ÐÌÏÓËÏÅ) ÄÅÒÅ×Ï ÉÚ ÄÁÍÐÁ,
+ * ÎÅ ÔÒÅÂÕÅÔ ÂÏÌØÛÏÇÏ ÒÁÓÈÏÄÁ ÐÁÍÑÔÉ
+ * ïÂÎÕÌÑÅÔ info!
+ */
+void SFSReadDump(SFSTree *info, char *filename);
+
+/*
+ * éÎÉÃÉÁÌÉÚÉÒÕÅÔ "ÐÌÏÓËÏÅ" ÄÅÒÅ×Ï ÉÚ ÏÂÒÁÚÁ ÄÁÍÐÁ
+ * ïÂÎÕÌÑÅÔ info!
+ */
+void SFSInitFromDump(SFSTree *info, void *pointer, u_int64_t size);
+
+
#endif