-
Frage zu hdreg.h
Hallo,
ich beschäftige mich gerade mit ATA/ATAPI Programmierung unter Linux.
int fd, i;
unsigned char args[4+512] = {WIN_READ,1,0,1};
unsigned char a;
if ((fd = open("/dev/hdd", O_RDWR | O_NONBLOCK)) == -1)
{
perror("Can't open device /dev/hdd");
return(1);
}
if ((ioctl(fd, HDIO_DRIVE_CMD, &args)) == -1)
perror("READ SECTOR failed");
Das klappt auch so halbwegs. Hab mir mal /usr/include/linux/hdreg.h angesehen und mir ist folgendes augefallen:
typedef unsigned char task_ioreg_t;
struct hd_drive_cmd_hdr {
task_ioreg_t command;
task_ioreg_t sector_number;
task_ioreg_t feature;
task_ioreg_t sector_count;
};
Wenn ich das richig sehe sind alle vier Werte nur jeweils ein Byte gross. Wie adressiere ich Sektoren die grösser sind als 255 ??
Vielen Dank,
Bernd
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen