diff ffstools/tiffs-mkfs/struct.h @ 705:12ae93940467

tiffs-mkfs program written, compiles
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 20 May 2020 06:55:58 +0000
parents
children 178ed445021d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ffstools/tiffs-mkfs/struct.h	Wed May 20 06:55:58 2020 +0000
@@ -0,0 +1,38 @@
+/* some general limits */
+#define	MAX_FN_COMPONENT	20
+#define	MAX_DIR_NEST		6
+#define	MAX_DIR_ENTRIES		128
+
+/* tree of content to be written */
+struct tree_object {
+	char	name[MAX_FN_COMPONENT+1];
+	int	is_dir;
+	union {
+		struct {
+			struct tree_object *children[MAX_DIR_ENTRIES];
+			unsigned nchildren;
+			uint16_t *ffs_link_ptr;
+		} d;
+		struct {
+			char host_pathname[MAXPATHLEN];
+		} f;
+	} u;
+};
+
+/* actual TIFFS on-media structure */
+struct tiffs_inode {
+	uint16_t	size;
+	uint8_t		reserved1;
+	uint8_t		type;
+	uint16_t	child;
+	uint16_t	sibling;
+	uint32_t	location;
+	uint16_t	sequence;
+	uint16_t	updates;
+};
+
+/* TIFFS object types */
+#define	OBJTYPE_FILE	0xF1
+#define	OBJTYPE_DIR	0xF2
+#define	OBJTYPE_SYMLINK	0xF3
+#define	OBJTYPE_SEGMENT	0xF4