BarinkOS/source/kernel/drivers/ata/ataDevice.h

32 lines
582 B
C
Raw Normal View History

2021-11-30 23:00:45 +00:00
#pragma once
#include <stdint.h>
#include "../io/io.h"
#include "../ide/ideCommands.h"
#include "../ide/sampleIDE.definitions.h"
2021-11-30 23:00:45 +00:00
#include "../../terminal/kterm.h"
2021-11-30 23:00:45 +00:00
/*
* This first driver wil make use of IO ports.
* Doing so means reading or writing from disk is going
* to be very cpu intensive.
*
*/
enum DEVICE_DRIVE{
MASTER = 0xA0,
SLAVE = 0xB0
};
namespace ATA_DEVICE{
void Identify(uint16_t, DEVICE_DRIVE);
void Read (uint16_t, DEVICE_DRIVE, uint32_t, uint16_t*);
void Write(uint16_t, DEVICE_DRIVE);
void Soft_Reset(uint8_t ,DEVICE_DRIVE );
2021-11-30 23:00:45 +00:00
};