我对内核编程很陌生,我正在按照以下教程进行操作: 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