Есть ли способ получить номер BSD устройства в Mac OS X? - PullRequest
2 голосов
/ 29 октября 2009

Моя программа считывает с устройства пути устройства, например /dev/rdisk0, а затем в IOKit ищет диск с именем BSD disk0. Для этого я должен удалить /dev/r с пути.

Жесткое кодирование этого пути может нарушиться в будущих версиях Mac OS X. Поэтому я подумал о другом способе: я мог бы сопоставить IOService, используя версию устройства BSD Major и Minor.

Вот мой вопрос: возможно ли извлечь из пути младшие и старшие числа BSD?

1 Ответ

3 голосов
/ 29 октября 2009

Да. Используйте системный вызов <a href="http://www.manpagez.com/man/2/stat/" rel="nofollow noreferrer">stat</a>. Член struct stat, который вы ищете, - это st_dev, который, по моему мнению, является ИЛИ мажорной и минорной после небольшого сдвига.

...