59b01d3093ae31c3a5770cb60d255a67ec21c818
[seabios.git] / src / ata.h
1 // Low level ATA disk definitions
2 //
3 // Copyright (C) 2008  Kevin O'Connor <kevin@koconnor.net>
4 // Copyright (C) 2002  MandrakeSoft S.A.
5 //
6 // This file may be distributed under the terms of the GNU GPLv3 license.
7
8 #ifndef __ATA_H
9 #define __ATA_H
10
11 #include "types.h" // u16
12 #include "atabits.h" // ATA_CB_DH_DEV1
13
14 // Function definitions
15 void ata_reset(int driveid);
16 int ata_cmd_data(int driveid, u16 command, u64 lba, u16 count, void *far_buffer);
17 int ata_cmd_packet(int driveid, u8 *cmdbuf, u8 cmdlen
18                    , u32 length, void *far_buffer);
19 int cdrom_read(int driveid, u32 lba, u32 count, void *far_buffer);
20 int cdrom_read_512(int driveid, u32 lba, u32 count, void *far_buffer);
21 void hard_drive_setup();
22
23 #endif /* __ATA_H */