#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include "harddisk_header.h"
#include "harddisk_detection.h"
#include "ata/harddisk_ata.h"
#include "atapi/harddisk_atapi.h"
Go to the source code of this file.
|
void | harddisk_init () |
| Initialization of hard disk driver. More...
|
|
harddisk_states | harddisk_get_states () |
| Get hard disk states. More...
|
|
HARDDISK_STATE | harddisk_get_state (HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus) |
| Get status of hard disk. More...
|
|
const harddisk_identify_device_data * | harddisk_get_identify_data (HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus) |
| Get identify data of hard disk. More...
|
|
char * | harddisk_get_disk_serial_number_terminated (HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus, char *buffer) |
| Get serial number of hard disk. More...
|
|
char * | harddisk_get_disk_firmware_version_terminated (HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus, char *buffer) |
| Get firmware version of hard disk. More...
|
|
char * | harddisk_get_disk_model_number_terminated (HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus, char *buffer) |
| Get model number of hard disk. More...
|
|
uint64_t | harddisk_get_user_addressable_sectors (HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus) |
| Get user addressable sectors of hard disk. More...
|
|
uint64_t | harddisk_get_disk_space (HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus) |
| Get space of hard disk. More...
|
|
bool | harddisk_get_is_removable_media_device (HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_BUS_TYPE bus) |
| Check if device is removable media. More...
|
|
int8_t | harddisk_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. More...
|
|
int8_t | harddisk_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. More...
|
|
◆ harddisk_get_disk_firmware_version_terminated()
Get firmware version of hard disk.
Function copy firmware version to buffer and terminate string with /0.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
buffer | Buffer firmware version with size at least 9. |
- Returns
- Pointer to buffer where firmware version is stored.
◆ harddisk_get_disk_model_number_terminated()
Get model number of hard disk.
Function copy model number to buffer and terminate string with /0.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
buffer | Buffer model number with size at least 41. |
- Returns
- Pointer to buffer where model number is stored.
◆ harddisk_get_disk_serial_number_terminated()
Get serial number of hard disk.
Function copy serial number to buffer and terminate string with /0.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
buffer | Buffer for serial number with size at least 21. |
- Returns
- Pointer to buffer where serial number is stored.
◆ harddisk_get_disk_space()
Get space of hard disk.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
- Returns
- Space in bytes.
◆ harddisk_get_identify_data()
Get identify data of hard disk.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
- Returns
- Identify data of hard disk.
◆ harddisk_get_is_removable_media_device()
Check if device is removable media.
Check if device can contain removable media.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
- Returns
- True if device can contain removable media, false otherwise.
◆ harddisk_get_state()
Get status of hard disk.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
- Returns
- State of hard disk.
◆ harddisk_get_states()
Get hard disk states.
Call this function after init, which should be called during system boot up.
- Returns
- State off all hard drives in system.
◆ harddisk_get_user_addressable_sectors()
Get user addressable sectors of hard disk.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
- Returns
- Number of user addressable sectors.
◆ harddisk_init()
Initialization of hard disk driver.
Should be called during boot up once. Check for hard disks and store informations about them.
◆ harddisk_read_sector()
Reads hard disk sector.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
high_lba | Higher bits of lba (24 bits are used). |
low_lba | Lower bits of lba (24 bits are used). |
buffer | Buffer of 256 16-bits values for store data. |
- Returns
- 1 = success, -1 = disk error, -2 = parameter error.
◆ harddisk_write_sector()
Write hard disk sector.
- Parameters
-
type | Type of harddisk. |
bus | Type of bus. |
high_lba | Higher bits of lba (24 bits are used). |
low_lba | Lower bits of lba (24 bits are used). |
buffer | Buffer of 256 16-bits values for store data. |
- Returns
- 1 = success, -1 = disk error, -2 = parameter error.