从网络设备驱动程序(Linux)中的硬盘读/写

时间:2012-11-09 15:11:57

标签: linux-device-driver

我是Linux编程的新手。我想根据自己的需要自定义现有的驱动程序。它是RealTek 8169网络驱动程序。

我的问题是:我可以访问驱动程序内的硬盘吗?这是“允许的”吗?或者我可以解决这个问题吗?

我想做这样的事情:

  // 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)));

0 个答案:

没有答案