summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/FSKit
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/FSKit')
-rw-r--r--dev/kernel/FSKit/HeFS.h29
-rw-r--r--dev/kernel/FSKit/NeFS.h3
2 files changed, 22 insertions, 10 deletions
diff --git a/dev/kernel/FSKit/HeFS.h b/dev/kernel/FSKit/HeFS.h
index 6c294ec6..cf1bebfc 100644
--- a/dev/kernel/FSKit/HeFS.h
+++ b/dev/kernel/FSKit/HeFS.h
@@ -20,19 +20,30 @@
#define kHeFSMinimumDiskSize (mib_cast(256))
+struct HeFS_BOOT_NODE;
+
enum
{
- kHeFSInvalidDrive,
- kHeFSHDDDrive,
- kHeFSSSDDrive,
- kHeFSMassStorageDrive,
- kHeFSSCSIDrive,
- kHeFSDriveCount,
+ kHeFSHardDrive = 0xC0, // Hard Drive
+ kHeFSSolidStateDrive = 0xC1, // Solid State Drive
+ kHeFSOpticalDrive = 0x0C, // Blu-Ray/DVD
+ kHeFSMassStorageDevice = 0xCC, // USB
+ kHeFSScsiDrive = 0xC4, // SCSI Hard Drive
+ kHeFSFlashDrive = 0xC6,
+ kHeFSUnknown = 0xFF, // Unknown device.
+ kHeFSDriveCount = 7,
};
-struct HeFS_BOOT_NODE;
+enum
+{
+ kHeFSStatusUnlocked = 0x18,
+ kHeFSStatusLocked,
+ kHeFSStatusError,
+ kHeFSStatusInvalid,
+ kHeFSStatusCount,
+};
-struct HeFS_BOOT_NODE final
+struct PACKED HeFS_BOOT_NODE final
{
Kernel::Char fMagic[kHeFSMagicLen];
Kernel::Char fPartName[kHeFSPartNameLen];
@@ -47,7 +58,7 @@ struct HeFS_BOOT_NODE final
Kernel::UInt64 fRecoveryINode;
};
-struct HeFS_INDEX_NODE
+struct PACKED HeFS_INDEX_NODE
{
Kernel::Char fName[kHeFSFileNameLen];
Kernel::UInt32 fFlags;
diff --git a/dev/kernel/FSKit/NeFS.h b/dev/kernel/FSKit/NeFS.h
index 3c11fdb4..747af16b 100644
--- a/dev/kernel/FSKit/NeFS.h
+++ b/dev/kernel/FSKit/NeFS.h
@@ -135,9 +135,10 @@ enum
kNeFSStatusLocked,
kNeFSStatusError,
kNeFSStatusInvalid,
+ kNeFSStatusCount,
};
-/// @brief Catalog type.
+/// @brief Catalog record type.
struct PACKED NEFS_CATALOG_STRUCT final
{
BOOL ForkOrCatalog : 1 {0};