summaryrefslogtreecommitdiff
path: root/include/sqfs/dir.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sqfs/dir.h')
-rw-r--r--include/sqfs/dir.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/sqfs/dir.h b/include/sqfs/dir.h
new file mode 100644
index 0000000..a1ca69c
--- /dev/null
+++ b/include/sqfs/dir.h
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-3.0-or-later */
+/*
+ * dir.h
+ *
+ * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at>
+ */
+#ifndef SQFS_DIR_H
+#define SQFS_DIR_H
+
+#include "config.h"
+
+#include <stdint.h>
+
+#define SQFS_MAX_DIR_ENT 256
+
+typedef struct {
+ uint32_t count;
+ uint32_t start_block;
+ uint32_t inode_number;
+} sqfs_dir_header_t;
+
+typedef struct {
+ uint16_t offset;
+ int16_t inode_diff;
+ uint16_t type;
+ uint16_t size;
+ uint8_t name[];
+} sqfs_dir_entry_t;
+
+typedef struct {
+ uint32_t index;
+ uint32_t start_block;
+ uint32_t size;
+ uint8_t name[];
+} sqfs_dir_index_t;
+
+#endif /* SQFS_DIR_H */