summaryrefslogtreecommitdiffhomepage
path: root/Private
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-04-10 12:09:30 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-04-10 12:09:30 +0200
commitd037da53759d768059b6ce43e8b53ae6db737628 (patch)
treecd4b0dfb0c6995a8371957af36e2b46e85053f6d /Private
parent26bdcc7ea550498dea5d99909c8b51f80fda22c3 (diff)
StorageKit:PRDT: Add construct_prdt helper.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private')
-rw-r--r--Private/Source/PRDT.cxx11
-rw-r--r--Private/StorageKit/PRDT.hpp3
2 files changed, 13 insertions, 1 deletions
diff --git a/Private/Source/PRDT.cxx b/Private/Source/PRDT.cxx
index 42808a43..b569316a 100644
--- a/Private/Source/PRDT.cxx
+++ b/Private/Source/PRDT.cxx
@@ -8,4 +8,13 @@
#include <NewKit/String.hpp>
#include <StorageKit/PRDT.hpp>
-namespace NewOS {} // namespace NewOS
+namespace NewOS {
+/// @brief constructs a new PRD.
+/// @param prd PRD reference.
+/// @note This doesnt construct a valid, please fill it by yourself.
+void construct_prdt(Ref<PRDT>& prd) {
+ prd.Leak().fPhysAddress = 0x0;
+ prd.Leak().fSectorCount = 0x0;
+ prd.Leak().fEndBit = 0x0;
+}
+} // namespace NewOS
diff --git a/Private/StorageKit/PRDT.hpp b/Private/StorageKit/PRDT.hpp
index 12da78ab..f6fa8dd9 100644
--- a/Private/StorageKit/PRDT.hpp
+++ b/Private/StorageKit/PRDT.hpp
@@ -8,6 +8,7 @@
#include <KernelKit/PCI/Dma.hpp>
#include <KernelKit/PCI/Iterator.hpp>
+#include <NewKit/Ref.hpp>
#define kPrdtTransferSize (sizeof(NewOS::UShort))
@@ -26,5 +27,7 @@ struct PRDT {
UInt8 fEndBit;
};
+void construct_prdt(Ref<PRDT>& prd);
+
EXTERN_C Int32 kPRDTTransferStatus;
} // namespace NewOS