summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-18 12:35:19 +0100
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-18 12:39:24 +0100
commit4c714f2c24c5df78bae2f35c42c73107de4c8c71 (patch)
treeb36d2498b8387909dac45c98097b8169636ad25a /Private/KernelKit
parenta4bfc396a78ddd553de519ab927d8479d0c3c45d (diff)
unstable, unrelated: See below.
- :boom: Breaking changes in System.Core.dll - Framebuffer, moved operator bool into c++ source file. - Remove zlib in favor of our own Zip API. Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/KernelKit')
-rw-r--r--Private/KernelKit/DebugOutput.hpp2
-rw-r--r--Private/KernelKit/DriveManager.hxx (renamed from Private/KernelKit/DriveManager.hpp)24
-rw-r--r--Private/KernelKit/Framebuffer.hpp8
-rw-r--r--Private/KernelKit/PEFSharedObject.hxx10
4 files changed, 23 insertions, 21 deletions
diff --git a/Private/KernelKit/DebugOutput.hpp b/Private/KernelKit/DebugOutput.hpp
index a2355cd8..88ed2448 100644
--- a/Private/KernelKit/DebugOutput.hpp
+++ b/Private/KernelKit/DebugOutput.hpp
@@ -96,7 +96,7 @@ inline TerminalDevice get_console_in(Char* buf) {
typedef Char rt_debug_type[255];
-class DebuggerPorts final {
+class DebuggerPortHeader final {
public:
Int16 fPort[kDebugMaxPorts];
Int16 fBoundCnt;
diff --git a/Private/KernelKit/DriveManager.hpp b/Private/KernelKit/DriveManager.hxx
index 027c9391..abca0ad3 100644
--- a/Private/KernelKit/DriveManager.hpp
+++ b/Private/KernelKit/DriveManager.hxx
@@ -33,30 +33,34 @@ enum {
typedef Int64 rt_drive_id_type;
-/// @brief Mounted drive traits.
-struct DriveTraits final {
+/// @brief Media drive trait type.
+struct DriveTrait final {
Char fName[kDriveNameLen]; // /System, /Boot, //./Devices/USB...
Int32 fKind; // fMassStorage, fFloppy, fOpticalDisc.
rt_drive_id_type fId; // Drive id.
Int32 fFlags; // fReadOnly, fXPMDrive, fXPTDrive
- //! for StorageKit.
+ /// @brief Packet drive (StorageKit compilant.)
struct DrivePacket final {
- voidPtr fPacketContent; // packet body.
- Char fPacketMime[32]; //! identify what we're sending.
+ VoidPtr fPacketContent; // packet body.
+ Char fPacketMime[kDriveNameLen]; //! identify what we're sending.
SizeT fPacketSize; // packet size
UInt32 fPacketCRC32; // sanity crc, in case if good is set to false
Boolean fPacketGood;
} fPacket;
+
+ Void (*fInput)(DrivePacket* packetPtr);
+ Void (*fOutput)(DrivePacket* packetPtr);
+ Void (*fVerify)(DrivePacket* packetPtr);
};
-#define kPacketBinary "file/x-binary"
-#define kPacketSource "file/x-source"
-#define kPacketASCII "file/x-ascii"
-#define kPacketZip "file/x-zip"
+#define kDrivePacketBinary "file/x-binary"
+#define kDrivePacketSource "file/x-source"
+#define kDrivePacketASCII "file/x-ascii"
+#define kDrivePacketZip "file/x-zip"
//! drive as a device.
-typedef DeviceInterface<DriveTraits> DriveDevice;
+typedef DeviceInterface<DriveTrait> DriveDevice;
typedef DriveDevice* DriveDevicePtr;
/**
diff --git a/Private/KernelKit/Framebuffer.hpp b/Private/KernelKit/Framebuffer.hpp
index 2847efb0..daf95ed0 100644
--- a/Private/KernelKit/Framebuffer.hpp
+++ b/Private/KernelKit/Framebuffer.hpp
@@ -28,7 +28,7 @@ class FramebufferContext final {
class Framebuffer final {
public:
- Framebuffer(Ref<FramebufferContext *> &addr) : m_FrameBufferAddr(addr) {}
+ explicit Framebuffer(Ref<FramebufferContext *> &addr) : m_FrameBufferAddr(addr) {}
~Framebuffer() {}
Framebuffer &operator=(const Framebuffer &) = delete;
@@ -36,10 +36,8 @@ class Framebuffer final {
volatile UIntPtr *operator[](const UIntPtr &pos);
- operator bool() {
- return m_FrameBufferAddr && m_Colour != FramebufferColorKind::INVALID;
- }
-
+ operator bool();
+
const FramebufferColorKind &Color(
const FramebufferColorKind &colour = FramebufferColorKind::INVALID);
diff --git a/Private/KernelKit/PEFSharedObject.hxx b/Private/KernelKit/PEFSharedObject.hxx
index becac43e..0684b2a7 100644
--- a/Private/KernelKit/PEFSharedObject.hxx
+++ b/Private/KernelKit/PEFSharedObject.hxx
@@ -25,7 +25,7 @@ extern "C" void __mh_purecall(void);
*/
class SharedObject final {
public:
- struct SharedObjectTraits final {
+ struct SharedObjectTrait final {
VoidPtr fImageObject;
VoidPtr fImageEntrypointOffset;
};
@@ -38,15 +38,15 @@ class SharedObject final {
HCORE_COPY_DEFAULT(SharedObject);
private:
- SharedObjectTraits *fMounted{nullptr};
+ SharedObjectTrait *fMounted{nullptr};
public:
- SharedObjectTraits **GetAddressOf() { return &fMounted; }
+ SharedObjectTrait **GetAddressOf() { return &fMounted; }
- SharedObjectTraits *Get() { return fMounted; }
+ SharedObjectTrait *Get() { return fMounted; }
public:
- void Mount(SharedObjectTraits *to_mount) {
+ void Mount(SharedObjectTrait *to_mount) {
if (!to_mount || !to_mount->fImageObject) return;
fMounted = to_mount;