Добрый день. Кто-то хоть раз разрабатывал софт с использованием АТА_команд(для харда) под линукс? Можете подсказать, как можно правильно написать по стандартам? Например нужно сделать диагностику харда...вот что мне удалось придумать исходя из АТА документации:
static string ATA_Diagnostic(string driveName){
int fd;
fd = open(driveName.c_str(), O_RDONLY);
int args [512+4];
args[0] = EXECUTE_DEVICE_DIAGNOSTIC;
string resultStr;
if (ioctl(fd, HDIO_DRIVE_CMD, args))
{resultStr = "Error_Diag";}
else
{resultStr = "Diagnostic";}
close(fd);
//cout << "debugarg" << endl << args[0] << endl << args[1] << endl << args[2] << endl << args[3] << endl;
for (int i = 0; i < 512; i++)
{
cout << args[i] << endl;
}
return resultStr;
}