summaryrefslogtreecommitdiff
path: root/src/table.h
diff options
context:
space:
mode:
authorjakob <jakob@memeware.net>2017-02-19 20:49:43 -0500
committerjakob <jakob@memeware.net>2017-02-19 20:49:43 -0500
commitd65a3ae8790ae28a90f0ebcf0bc4dc078c67dc35 (patch)
tree3eb2ad7f78f55cde5b809bc75904b36c5a747502 /src/table.h
parent32fb7b11d83138cc288d62c1f1674d95cc94e8de (diff)
Implemented eliF parsing.
Diffstat (limited to 'src/table.h')
-rw-r--r--src/table.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/table.h b/src/table.h
index 488e67f..c7c85bb 100644
--- a/src/table.h
+++ b/src/table.h
@@ -37,6 +37,7 @@ struct segment {
struct table_entry {
bool encrypted; /* Whether or not it's encrypted. */
bool compressed; /* Whether or not it's compressed. */
+ char *filename; /* String containing file's name. */
uint32_t key; /* File-specific key for encryption. */
uint64_t ctime; /* Timestamp of creation time. */
uint64_t segment_count; /* Number of segments. */
@@ -49,6 +50,12 @@ struct table_entry {
in the archive's table section. */
struct table_entry *parse_table(struct stream *s);
+/* Reads the contents of an eliF chunk. If there is an entry with a
+ matching key in the linked list specified by `root`, that structure
+ will be modified. Otherwise, a new entry will be created and appended
+ to the linked list. */
+void read_elif(struct stream *s, struct table_entry *root);
+
/* Inserts `e` to the end of the linked list specified by `root`. */
void entry_append(struct table_entry *root, struct table_entry *e);