summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-31 22:27:28 +0200
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-31 22:32:59 +0200
commit3c4efadf68e2071429925ea7f90f73341200a42f (patch)
treefa3b3faa39aca899330d6823f16a6cb66371286d /Private/KernelKit
parentbdd680f31ac1b23f5ad9baea60d01f6860e02575 (diff)
Kernel: Improve Drive Manager regarding the NewFS support.
HCFS is also planned, HCFS is a filesystem made for mass media storages. Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/KernelKit')
-rw-r--r--Private/KernelKit/DriveManager.hxx17
1 files changed, 16 insertions, 1 deletions
diff --git a/Private/KernelKit/DriveManager.hxx b/Private/KernelKit/DriveManager.hxx
index 36e0b681..d82c302b 100644
--- a/Private/KernelKit/DriveManager.hxx
+++ b/Private/KernelKit/DriveManager.hxx
@@ -48,6 +48,7 @@ struct DriveTrait final {
SizeT fPacketSize; //! packet size
UInt32 fPacketCRC32; //! sanity crc, in case if good is set to false
Boolean fPacketGood;
+ Lba fLba;
} fPacket;
Void (*fInput)(DrivePacket* packetPtr);
@@ -91,7 +92,7 @@ class MountpointInterface final {
return &mD;
default: {
DbgLastError() = kErrorNoSuchDisk;
- kcout << "NewKernel.exe: No such disk.\n";
+ kcout << "NewOS: No such disk.\n";
break;
}
@@ -103,6 +104,20 @@ class MountpointInterface final {
private:
DriveDevicePtr mA, mB, mC, mD = nullptr;
};
+
+
+/// @brief Unimplemented drive.
+/// @param pckt
+/// @return
+Void ke_drv_unimplemented(DriveTrait::DrivePacket* pckt);
+
+/// @brief Makes a new drive.
+/// @return the new drive.
+DriveTrait construct_drive() noexcept;
+
+/// @brief Fetches the main drive.
+/// @return the new drive.
+DriveTrait main_drive() noexcept;
} // namespace NewOS
#endif /* ifndef __DRIVE_MANAGER__ */