我对内核编程相当陌生,我正在按照USB引导authentication给出的教程
我想获得一个USB驱动器的“设备结构”。 我有USB设备的'dev_t'实例。 此外,我想检查设备结构是否是USB设备。 我无法弄清楚如何开始…
谢谢
正如hiteshradia所说, dev_t
是一个设备号码(主号码和次号码)。 但是,您可以将其与知识块一起使用,以访问与其关联的struct device
。 为此,请使用linux/fs.h
struct block_device *bdget(dev_t)
。 从这里你可以使用block_device->bd_part
获得一个struct hd_struct *
,最后使用在linux/genhd.h
定义为宏的struct device *part_to_dev(struct hd_struct *)
。
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