summaryrefslogtreecommitdiffhomepage
path: root/Private/Builtins
diff options
context:
space:
mode:
Diffstat (limited to 'Private/Builtins')
-rw-r--r--Private/Builtins/ATA/Defines.hxx29
1 files changed, 27 insertions, 2 deletions
diff --git a/Private/Builtins/ATA/Defines.hxx b/Private/Builtins/ATA/Defines.hxx
index 4ea49dc9..f0f019e8 100644
--- a/Private/Builtins/ATA/Defines.hxx
+++ b/Private/Builtins/ATA/Defines.hxx
@@ -16,8 +16,6 @@
#include <CompilerKit/CompilerKit.hxx>
#include <NewKit/Defines.hpp>
-using namespace HCore;
-
// Status register
#define ATA_SR_BSY 0x80
#define ATA_SR_DRDY 0x40
@@ -118,3 +116,30 @@ using namespace HCore;
#define ATA_COMMAND(x) (x + 7)
#define kATASectorSize 512
+
+enum {
+ kATADevicePATA,
+ kATADeviceSATA,
+ kATADevicePATA_PI,
+ kATADeviceSATA_PI,
+ kATADeviceCount,
+};
+
+#ifdef __KERNEL__
+
+HCore::Boolean drv_ata_init(HCore::UInt16 Bus, HCore::UInt8 Drive, HCore::UInt16& OutBus,
+ HCore::UInt8& OutMaster);
+
+HCore::Boolean drv_ata_detected(HCore::Void);
+
+HCore::Void drv_ata_select(HCore::UInt16 Bus);
+
+HCore::Boolean drv_ata_wait_io(HCore::UInt16 IO);
+
+HCore::Void drv_ata_read(HCore::UInt32 Lba, HCore::UInt16 IO, HCore::UInt8 Master, HCore::Char* Buf,
+ HCore::SizeT SectorSz, HCore::SizeT Size);
+
+HCore::Void drv_ata_write(HCore::UInt32 Lba, HCore::UInt16 IO, HCore::UInt8 Master, HCore::Char* Buf,
+ HCore::SizeT SectorSz, HCore::SizeT Size);
+
+#endif // ifdef __KERNEL__ \ No newline at end of file