MicrOS
harddisk_ata.h
Go to the documentation of this file.
1 #ifndef HARDDISK_ATA_H
2 #define HARDDISK_ATA_H
3 
4 #include <stdint.h>
5 #include <stddef.h>
6 #include <stdbool.h>
7 #include "math.h"
8 #include "assembly/io.h"
11 
13 
22 
24 
33 
35 
40 
42 
47 
49 
54 int8_t __harddisk_ata_poll(uint16_t port);
55 
56 #endif
uint64_t __harddisk_ata_get_disk_space(const harddisk_identify_device_data *data)
Get space of hard disk.
Definition: harddisk_ata.c:8
int8_t __harddisk_ata_read_sector(HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus, uint32_t high_lba, uint32_t low_lba, uint16_t *buffer)
Reads hard disk sector.
Definition: harddisk_ata.c:14
Hard disk Identify Device Data.
Definition: harddisk_identify_device_data.h:999
char buffer[500]
Definition: physical_memory_manager.c:5
HARDDISK_ATA_BUS_TYPE
Enum represent bus type.
Definition: harddisk_header.h:15
uint64_t __harddisk_ata_get_user_addressable_sectors(const harddisk_identify_device_data *data)
Get user addressable sectors of hard disk.
Definition: harddisk_ata.c:3
int8_t __harddisk_ata_write_sector(HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus, uint32_t high_lba, uint32_t low_lba, uint16_t *buffer)
Write hard disk sector.
Definition: harddisk_ata.c:88
int8_t __harddisk_ata_poll(uint16_t port)
Doing pooling.
Definition: harddisk_ata.c:170
HARDDISK_ATA_MASTER_SLAVE
Enum represent hard disk type.
Definition: harddisk_header.h:22
size_t uint32_t
Unsigned integral type.
Definition: string.h:8