Rhy*_*man 1 macos iokit diskarbitration
IOKit和DiskArbitration框架可以告诉我很多关于mac上挂载卷的事情,但它们似乎无法区分HFS +和HFS标准卷.
由于IOKit/DA键Content,DAVolumeKind并且DAMediaContent总是Apple_HFS和两个HFS标准和HFS +卷HFS.
diskutil和DiskUtility.app 可以区分,但我似乎没有Apple开源.
ps statfs(2)没有区分
有两种方法可以做到这一点:
getattrlist()检索ATTR_VOL_SIGNATURE的卷的安装路径属性. signature返回的struct 的字段.卷的签名是16位值,通常解释为两个ASCII字符.HFS的签名是"BD",HFS +是"H +",区分大小写的HFS +是"HX".
getattrlist说该字段的手册页是一个u_int32,但FSVolumeInfo结构中的等效字段只有16位,所以我不确定使用时签名中哪些32位填充了32位getattrlist,你可能会有如果你想进入非碳路线,只是尝试一下.
| 归档时间: |
|
| 查看次数: |
1830 次 |
| 最近记录: |