通过设备名,获取接口类型 SATA,USB, ESATA接口
有没有函数接口获取,存储设备的接口类型
例如:
/dev/sda
/dev/sdb
设备名的
接口类型有可能是USB,SATA的.
怎样通过一个函数获取
分享到:
------解决方案--------------------
可以查查看类似hdparm等与硬盘信息相关的命令,有没有对应参数;然后用popen函数读出结果。
不过好像Linux对于SATA和USB是识别成同一接口类型的,SCSI好像是。
------解决方案--------------------
命令行下可以通过readline/sys/block/sda等判断类型,所以内核态应该是有数据结构保存了这个信息的。
具体的函数需要看/sys文件系统中block设备驱动注册的回调函数
total0
lrwxrwxrwx1rootroot0Sep323:59dm-0->../devices/virtual/block/dm-0
lrwxrwxrwx1rootroot0Sep323:59dm-1->../devices/virtual/block/dm-1
lrwxrwxrwx1rootroot0Sep323:59dm-2->../devices/virtual/block/dm-2
lrwxrwxrwx1rootroot0Sep400:02fd0->../devices/platform/floppy.0/block/fd0
lrwxrwxrwx1rootroot0Sep400:02loop0->../devices/virtual/block/loop0
lrwxrwxrwx1rootroot0Sep400:02loop1->../devices/virtual/block/loop1
lrwxrwxrwx1rootroot0Sep400:02loop2->../devices/virtual/block/loop2
lrwxrwxrwx1rootroot0Sep400:02loop3->../devices/virtual/block/loop3
lrwxrwxrwx1rootroot0Sep400:02loop4->../devices/virtual/block/loop4
lrwxrwxrwx1rootroot0Sep400:02loop5->../devices/virtual/block/loop5
lrwxrwxrwx1rootroot0Sep400:02loop6->../devices/virtual/block/loop6
lrwxrwxrwx1rootroot0Sep400:02loop7->../devices/virtual/block/loop7
lrwxrwxrwx1rootroot0Sep400:02ram0->../devices/virtual/block/ram0
lrwxrwxrwx1rootroot0Sep400:02ram1->../devices/virtual/block/ram1
lrwxrwxrwx1rootroot0Sep400:02ram10->../devices/virtual/block/ram10