summaryrefslogtreecommitdiff
path: root/lib/sqfs/block_processor/internal.h
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-06-05 18:19:42 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-06-07 02:44:10 +0200
commit82ace40392829e6361f3052941e3c60effeb8a98 (patch)
treef6be752822c83c5675df651f169ba310a35ab7cb /lib/sqfs/block_processor/internal.h
parent9c61e28d9b9faf6bd8b4e9b8d28ed79b441fbeb6 (diff)
Move the fragment deduplication hash table back into the block processor
Fragment deduplication really doesn't belong into the public API of the fragment table. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/sqfs/block_processor/internal.h')
-rw-r--r--lib/sqfs/block_processor/internal.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/sqfs/block_processor/internal.h b/lib/sqfs/block_processor/internal.h
index d50a452..0c4f2b3 100644
--- a/lib/sqfs/block_processor/internal.h
+++ b/lib/sqfs/block_processor/internal.h
@@ -18,12 +18,22 @@
#include "sqfs/error.h"
#include "sqfs/block.h"
#include "sqfs/io.h"
+
+#include "hash_table.h"
#include "util.h"
#include <string.h>
#include <stdlib.h>
#include <assert.h>
+typedef struct chunk_info_t {
+ struct chunk_info_t *next;
+ sqfs_u32 index;
+ sqfs_u32 offset;
+ sqfs_u32 size;
+ sqfs_u32 hash;
+} chunk_info_t;
+
enum {
BLK_FLAG_MANUAL_SUBMISSION = 0x10000000,
BLK_FLAG_INTERNAL = 0x10000000,
@@ -69,6 +79,7 @@ struct sqfs_block_processor_t {
sqfs_u32 blk_index;
void *user;
+ struct hash_table *frag_ht;
sqfs_block_t *free_list;
size_t max_block_size;