标签: macos bsd device
我的程序从输入中读取/dev/rdisk0之类的设备路径,然后在IOKit中查找BSD名称为disk0的磁盘。为此,我必须从路径中删除/dev/r。
/dev/rdisk0
IOKit
disk0
/dev/r
在未来版本的Mac OS X中,此路径的硬编码可能会中断。因此,我会采用另一种方式:我可以使用设备的BSD Major和Minor版本匹配IOService。
IOService
这是我的问题:是否可以从路径中提取BSD次要和主要数字?
答案 0 :(得分:3)
是。使用stat系统调用。您正在寻找的struct stat成员是st_dev,我认为这是一个主要和次要的OR,稍微移位。
stat
struct stat
st_dev