diff options
| author | Kacper <kacper@mail.openlinux.dev> | 2025-12-07 20:10:31 +0100 |
|---|---|---|
| committer | Kacper <kacper@mail.openlinux.dev> | 2025-12-07 20:10:31 +0100 |
| commit | fc00c656c96528112d05cf0edf8631bd5eaea446 (patch) | |
| tree | a6e0e6c588191a8bd1c64afc3b7a258e3e66c236 /include/arch/x86_64/linux/romfs_fs.h | |
Add build system scaffolding and libc headers
Diffstat (limited to 'include/arch/x86_64/linux/romfs_fs.h')
| -rw-r--r-- | include/arch/x86_64/linux/romfs_fs.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/include/arch/x86_64/linux/romfs_fs.h b/include/arch/x86_64/linux/romfs_fs.h new file mode 100644 index 00000000..7d9aeb24 --- /dev/null +++ b/include/arch/x86_64/linux/romfs_fs.h @@ -0,0 +1,60 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __LINUX_ROMFS_FS_H +#define __LINUX_ROMFS_FS_H + +#include <linux/types.h> +#include <linux/fs.h> + +/* The basic structures of the romfs filesystem */ + +#define ROMBSIZE BLOCK_SIZE +#define ROMBSBITS BLOCK_SIZE_BITS +#define ROMBMASK (ROMBSIZE - 1) +#define ROMFS_MAGIC 0x7275 + +#define ROMFS_MAXFN 128 + +#define __mkw(h, l) (((h) & 0x00ff) << 8 | ((l) & 0x00ff)) +#define __mkl(h, l) (((h) & 0xffff) << 16 | ((l) & 0xffff)) +#define __mk4(a, b, c, d) cpu_to_be32(__mkl(__mkw(a, b), __mkw(c, d))) +#define ROMSB_WORD0 __mk4('-', 'r', 'o', 'm') +#define ROMSB_WORD1 __mk4('1', 'f', 's', '-') + +/* On-disk "super block" */ + +struct romfs_super_block { + __be32 word0; + __be32 word1; + __be32 size; + __be32 checksum; + char name[]; /* volume name */ +}; + +/* On disk inode */ + +struct romfs_inode { + __be32 next; /* low 4 bits see ROMFH_ */ + __be32 spec; + __be32 size; + __be32 checksum; + char name[]; +}; + +#define ROMFH_TYPE 7 +#define ROMFH_HRD 0 +#define ROMFH_DIR 1 +#define ROMFH_REG 2 +#define ROMFH_SYM 3 +#define ROMFH_BLK 4 +#define ROMFH_CHR 5 +#define ROMFH_SCK 6 +#define ROMFH_FIF 7 +#define ROMFH_EXEC 8 + +/* Alignment */ + +#define ROMFH_SIZE 16 +#define ROMFH_PAD (ROMFH_SIZE - 1) +#define ROMFH_MASK (~ROMFH_PAD) + +#endif |
