我对内核编程很陌生,我正在遵循以下教程: USB boot authentication
我想获得一个USB驱动器的“设备结构”。我有USB设备的'dev_t'实例。此外,我想检查设备结构是否是USB设备。我无法弄清楚如何开始......
由于
答案 0 :(得分:2)
正如hiteshradia所说,dev_t
是设备编号(主要编号和次编号)。但是,您可以使用此功能以及阻止设备访问与其关联的struct device
的知识。为此,请使用struct block_device *bdget(dev_t)
中的linux/fs.h
。在此之后,您可以使用block_device->bd_part
获取设备的struct hd_struct *
,最后使用struct device *part_to_dev(struct hd_struct *)
中定义为linux/genhd.h
的宏。{/ p>
答案 1 :(得分:1)
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