From a1f6afa69bb25191d4b206e4ecba1557629330bc Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Wed, 28 Feb 2024 22:03:04 +0100 Subject: First commit with project structure --- src/piece-table.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/piece-table.h (limited to 'src/piece-table.h') diff --git a/src/piece-table.h b/src/piece-table.h new file mode 100644 index 0000000..94ab072 --- /dev/null +++ b/src/piece-table.h @@ -0,0 +1,32 @@ +#ifndef PIECE_TABLE_H +#define PIECE_TABLE_H + +#include +#include +#include "buffer.h" + +struct piece { + char *start; + size_t length; + struct piece *next; + struct piece *prev; +}; + +typedef struct piece piece; + +typedef struct { + fixed_buffer orig; + growable_buffer add; + piece *sentinel; + size_t length; + + piece *cached; + size_t cached_offset; +} piece_table; + +bool init_piece_table(piece_table *pt, char *orig); +void free_piece_table(piece_table *pt); + +void free_piece_list(piece *pt); + +#endif // PIECE_TABLE_H -- cgit v1.2.3