diff options
| author | Amlal <amlal@nekernel.org> | 2025-05-01 08:30:58 +0200 |
|---|---|---|
| committer | Amlal <amlal@nekernel.org> | 2025-05-01 08:30:58 +0200 |
| commit | 72fa8a81498a53491950f92d9e96fbe6dd65cc04 (patch) | |
| tree | 5d3e67a39d0864892a058634b7073797df615dff /tooling | |
| parent | fcea594f2df75dcd0f3d4bfeac988b748be89c13 (diff) | |
dev, kernel: HeFS spec and tooling, and PEF spec updates.
Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'tooling')
| -rw-r--r-- | tooling/hefs.h | 51 | ||||
| -rw-r--r-- | tooling/mkfs.hefs.cc | 1 |
2 files changed, 3 insertions, 49 deletions
diff --git a/tooling/hefs.h b/tooling/hefs.h index 2a04a1c3..52c951ef 100644 --- a/tooling/hefs.h +++ b/tooling/hefs.h @@ -56,9 +56,6 @@ enum { kHeFSEncodingCount, }; -// Block constants -constexpr std::size_t kHeFSBlockCount = 16; - // Time type using ATime = std::uint64_t; @@ -103,54 +100,10 @@ struct alignas(8) BootNode { std::uint16_t diskStatus{}; std::uint16_t diskFlags{}; std::uint16_t vid{}; - std::uint64_t reserved{}; - std::uint64_t reserved2{}; + std::uint64_t startIN{}; + std::uint64_t endIN{}; std::uint64_t reserved3{}; std::uint64_t reserved4{}; char pad[272]{}; }; - -// Index Node -struct alignas(8) IndexNode { - char8_t name[kHeFSFileNameLen]{}; - std::uint32_t flags{}; - std::uint16_t kind{}; - std::uint32_t size{}; - std::uint32_t checksum{}; - bool symbolicLink{false}; - ATime created{}; - ATime accessed{}; - ATime modified{}; - ATime deleted{}; - std::uint32_t uid{}; - std::uint32_t gid{}; - std::uint32_t mode{}; - std::uint64_t block[kHeFSBlockCount]{}; - char pad[62]{}; -}; - -// Index Node Directory (Red-Black Tree Node) -struct alignas(8) IndexNodeDirectory { - char8_t name[kHeFSFileNameLen]{}; - std::uint32_t flags{}; - std::uint16_t kind{}; - std::uint32_t entryCount{}; - std::uint32_t checksum{}; - std::uint32_t indexNodeChecksum{}; - ATime created{}; - ATime accessed{}; - ATime modified{}; - ATime deleted{}; - std::uint32_t uid{}; - std::uint32_t gid{}; - std::uint32_t mode{}; - std::uint64_t indexNode[kHeFSBlockCount]{}; - std::uint8_t color{}; - std::uint64_t next{}; - std::uint64_t prev{}; - std::uint64_t child{}; - std::uint64_t parent{}; - char pad[32]{}; -}; - } // namespace mkfs::hefs diff --git a/tooling/mkfs.hefs.cc b/tooling/mkfs.hefs.cc index 356504f9..4d7225fe 100644 --- a/tooling/mkfs.hefs.cc +++ b/tooling/mkfs.hefs.cc @@ -96,6 +96,7 @@ int main(int argc, char** argv) { bootNode.sectorSize = kSectorSize; bootNode.startIND = start_ind; bootNode.endIND = end_ind; + bootNode.indCount = 0UL; bootNode.diskStatus = mkfs::hefs::kHeFSStatusUnlocked; std::memcpy(bootNode.magic, kHeFSMagic, kHeFSMagicLen - 1); |
