diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-30 08:05:00 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-30 08:05:00 +0100 |
| commit | f22e69b8837b84548f79e0b8ca7bef24605c6611 (patch) | |
| tree | cda020af66538453cc3d8fb16a41e2e3eec7b01e /Private/KernelKit | |
| parent | a8c17ccd6d97cc78830917dc6282b040b21ba16c (diff) | |
Kernel: Update TODO_LIST.txt, fix CRC32, add .vscode dir in root.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/KernelKit')
| -rw-r--r-- | Private/KernelKit/DriveManager.hpp | 90 |
1 files changed, 42 insertions, 48 deletions
diff --git a/Private/KernelKit/DriveManager.hpp b/Private/KernelKit/DriveManager.hpp index 3d77dd56..251453aa 100644 --- a/Private/KernelKit/DriveManager.hpp +++ b/Private/KernelKit/DriveManager.hpp @@ -10,52 +10,47 @@ #pragma once #include <CompilerKit/Compiler.hpp> +#include <KernelKit/Device.hpp> #include <NewKit/Defines.hpp> #include <NewKit/String.hpp> -#include <KernelKit/Device.hpp> - #define kDriveInvalidID -1 #define kDriveNameLen 32 -namespace hCore -{ -enum -{ - kInvalidDrive = -1, - kBlockDevice = 0xAD, - kMassStorage = 0xDA, - kFloppyDisc = 0xCD, - kOpticalDisc = 0xDC, // CD-ROM/DVD-ROM/Blu-Ray - kReadOnly = 0x10, // Read only drive - kEPMDrive = 0x11, // Explicit Partition Map. - kEPTDrive = 0x12, // ESP w/ EPM partition. - kMBRDrive = 0x13, // IBM PC classic partition scheme +namespace hCore { +enum { + kInvalidDrive = -1, + kBlockDevice = 0xAD, + kMassStorage = 0xDA, + kFloppyDisc = 0xCD, + kOpticalDisc = 0xDC, // CD-ROM/DVD-ROM/Blu-Ray + kReadOnly = 0x10, // Read only drive + kEPMDrive = 0x11, // Explicit Partition Map. + kEPTDrive = 0x12, // ESP w/ EPM partition. + kMBRDrive = 0x13, // IBM PC classic partition scheme }; typedef Int64 DriveID; // Mounted drive. -struct DriveTraits final -{ - char fName[kDriveNameLen]; // /system, /boot... - Int32 fKind; // fMassStorage, fFloppy, fOpticalDisc. - DriveID fId; // Drive id. - Int32 fFlags; // fReadOnly, fXPMDrive, fXPTDrive - - //! disk mount, unmount operations - void (*fMount)(void); - void (*fUnmount)(void); - - bool (*fReady)(void); //! is drive ready? - - //! for StorageKit. - struct DrivePacket final - { - voidPtr fPacketContent; // packet body. - Char fPacketMime[32]; //! identify what we're sending. - SizeT fPacketSize; // packet size - } fPacket; +struct DriveTraits final { + char fName[kDriveNameLen]; // /System, /Boot, /USBDevice... + Int32 fKind; // fMassStorage, fFloppy, fOpticalDisc. + DriveID fId; // Drive id. + Int32 fFlags; // fReadOnly, fXPMDrive, fXPTDrive + + //! disk mount, unmount operations + void (*fMount)(void); + void (*fUnmount)(void); + + bool (*fReady)(void); //! is drive ready? + + //! for StorageKit. + struct DrivePacket final { + voidPtr fPacketContent; // packet body. + Char fPacketMime[32]; //! identify what we're sending. + SizeT fPacketSize; // packet size + } fPacket; }; #define kPacketBinary "file/x-binary" @@ -67,20 +62,19 @@ struct DriveTraits final typedef DeviceInterface<DriveTraits> Drive; typedef Drive *DrivePtr; -class DriveSelector final -{ - public: - explicit DriveSelector(); - ~DriveSelector(); +class DriveSelector final { + public: + explicit DriveSelector(); + ~DriveSelector(); - public: - HCORE_COPY_DEFAULT(DriveSelector); + public: + HCORE_COPY_DEFAULT(DriveSelector); - DriveTraits &GetMounted(); - bool Mount(DriveTraits *drive); - DriveTraits *Unmount(); + DriveTraits &GetMounted(); + bool Mount(DriveTraits *drive); + DriveTraits *Unmount(); - private: - DriveTraits *fDrive; + private: + DriveTraits *fDrive; }; -} // namespace hCore +} // namespace hCore |
