- 论坛徽章:
- 0
|
求救:
将CF卡通过读卡器插入USB接口上,可以用ioctl(fd, HDIO_GET_IDENTITY, id) 来读得序列号,
这是IDE的,HDIO_GET_IDENTITY就不支持SCSI了,
大家帮我想看看啊,谢谢了!
这是网上的一段例子:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <fcntl.h>
#include <linux/hdreg.h>
#include <sys/ioctl.h>
static void dump_identity (const struct hd_driveid *id)
{
printf("\n Model=%.40s, FwRev=%.8s, SerialNo=%.20s",
id->model, id->fw_rev, id->serial_no);
}
int main(int argc,char **argv)
{
struct hd_driveid id;
char *devname = "/dev/hda";
int fd = -1;
fd = open(devname, O_RDONLY|O_NONBLOCK);
if (fd < 0)
{
perror(devname);
exit(errno);
}
if (!ioctl(fd, HDIO_GET_IDENTITY, &id))
{
dump_identity(&id);
}
close(fd);
return 0;
}
可以读到,但是通过USB接口的话,就不行了。 |
|