質問

私のプログラムは、入力から / dev / rdisk0 などのデバイスパスを読み取り、 IOKit でBSD名 disk0 のディスクを探します。 。そのためには、パスから / dev / r を削除する必要があります。

このパスをハードコーディングすると、Mac OS Xの将来のバージョンで破損する可能性があります。したがって、別の方法を使用します。デバイスのBSDメジャーおよびマイナーバージョンを使用して IOService >

私の質問は次のとおりです。BSDのマイナー番号とメジャー番号をパスから抽出することは可能ですか?

役に立ちましたか?

解決

はい。 stat syscallを使用します。探している struct stat のメンバーは st_dev です。これは、ビットシフト後のメジャーとマイナーのORです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top