我对内核编程很陌生,我正在按照以下教程进行操作: USB 引导身份验证
我想获得 USB 驱动器的“设备结构”。我有 USB 设备的“dev_t”实例。此外,我想检查设备结构是否是 USB 设备。我无法弄清楚如何开始......
谢谢
我对内核编程很陌生,我正在按照以下教程进行操作: USB 引导身份验证
我想获得 USB 驱动器的“设备结构”。我有 USB 设备的“dev_t”实例。此外,我想检查设备结构是否是 USB 设备。我无法弄清楚如何开始......
谢谢
正如 hiteshradia 所说dev_t的是一个设备号(一个主要的数字和次要的数字)。但是,您可以使用它以及块设备可以访问struct device与其关联的知识。为此,请使用struct block_device *bdget(dev_t)from linux/fs.h。从中您可以使用block_device->bd_part获取struct hd_struct *设备的 a 并最终使用struct device *part_to_dev(struct hd_struct *)定义为linux/genhd.h.
dev_t只是一个设备号,它代表/dev/sdb1从您的链接中看到的分区。无法使用它获取底层 USB 驱动器详细信息。
在您提供的链接中有部分
if(udev->serial != NULL)
{
if((strcmp(udev->serial, "3513001D97827E69")) == 0) /* Hard coded usb device serial here*/
{
key_dev_found = 1;
}
}
您可以在哪里获取 USB 设备详细信息和struct usb_device *udev