From 9c33e844d76f9db6d7110de4f05cbe2084cdbca1 Mon Sep 17 00:00:00 2001 From: Amlal Date: Sat, 26 Apr 2025 13:44:35 +0200 Subject: dev, kernel and user: codebase additions and work in progress 'tactical pause' why? - HeFS's Formating needs some thought before being layed out, that's the kind of thing that bites hard in the ass. - Alongside those changes I improved parts of the kernel too. Signed-off-by: Amlal --- dev/kernel/FSKit/HeFS.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'dev/kernel/FSKit') diff --git a/dev/kernel/FSKit/HeFS.h b/dev/kernel/FSKit/HeFS.h index 895422a6..693ec2d3 100644 --- a/dev/kernel/FSKit/HeFS.h +++ b/dev/kernel/FSKit/HeFS.h @@ -28,6 +28,9 @@ #define kHeFSDefaultVoluneName u"HeFS Volume" +#define kHeFSDIMBootDir u"boot-x/dir" +#define kHeFSDIMBootFile u"boot-x/file" + #define kHeFSSearchAllStr u"*" struct HEFS_BOOT_NODE; @@ -63,6 +66,7 @@ enum { kHeFSEncodingUTF32LE, kHeFSEncodingUTF8BE, kHeFSEncodingUTF8LE, + kHeFSEncodingBinary, kHeFSEncodingCount, }; @@ -135,6 +139,10 @@ struct PACKED ALIGN(8) HEFS_INDEX_NODE final { fLinkChecksum; /// @brief Checksum of the file, recovery checksum, block checksum, link /// checksum. + Kernel::Utf16Char fMime[kHeFSFileNameLen]; /// @brief File mime type. + + Kernel::Boolean fSymLink; /// @brief Is this a symbolic link? (if yes, the fName is the path to the file and blocklinkstart and end contains it's inodes.) + Kernel::ATime fCreated, fAccessed, fModified, fDeleted; /// @brief File timestamps. Kernel::UInt32 fUID, fGID; /// @brief User ID and Group ID of the file. Kernel::UInt32 fMode; /// @brief File mode. (read, write, execute, etc). @@ -168,6 +176,8 @@ struct PACKED ALIGN(8) HEFS_INDEX_NODE_DIRECTORY final { Kernel::UInt32 fChecksum, fIndexNodeChecksum; /// @brief Checksum of the file, index node checksum. + Kernel::Utf16Char fDim[kHeFSFileNameLen]; /// @brief Directiory Immatriculation magic. + Kernel::ATime fCreated, fAccessed, fModified, fDeleted; /// @brief File timestamps and allocation status. Kernel::UInt32 fUID, fGID; /// @brief User ID and Group ID of the file. Kernel::UInt32 fMode; /// @brief File mode. (read, write, execute, etc). -- cgit v1.2.3