summaryrefslogtreecommitdiffhomepage
path: root/Private
diff options
context:
space:
mode:
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