diff options
| -rw-r--r-- | Private/Source/PRDT.cxx | 11 | ||||
| -rw-r--r-- | Private/StorageKit/PRDT.hpp | 3 |
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 |
