私は Linux プログラミングの初心者です。自分のニーズに合わせて既存のドライバーをカスタマイズしたいと考えています。これは、RealTek 8169 ネットワーク ドライバーです。
私の質問は、ドライバー内の HDD にアクセスできますか? これは「許可」されていますか?または、これで問題が発生する可能性がありますか?
私はこのようなことをしたい:
// Which disk?
char diskName[] = "/dev/sda";
std::string diskError = std::string() + diskName + ": ";
// Open device file
std::ifstream disk(diskName, std::ios_base::binary);
if(!disk)
throw(std::runtime_error(diskError + std::strerror(errno)));
// Seek to 12345'th sector
disk.seekg(512 * 12345);
if(!disk)
throw(std::runtime_error(diskError + std::strerror(errno)));
// Read in one sector
std::vector<char> buffer(512);
disk.read(&buffer[0], 512);
if(!disk)
throw(std::runtime_error(diskError + std::strerror(errno)));