Моя программа считывает пути устройства, такие как /dev/rdisk0
, от ввода, а затем выглядит IOKit
для диска с именем BSD disk0
. Для этого мне нужно удалить /dev/r
с пути.Есть ли способ получить номер BSD устройства в Mac OS X?
Жесткое кодирование этого пути может быть нарушено в будущих версиях Mac OS X. Поэтому я, хотя и по-другому: я мог бы сопоставить IOService
с использованием основной и младшей версии устройства BSD.
Вот мой вопрос: возможно ли извлечь BSD младшие и основные номера из пути?
Это работает. 'dev_t' - это 32-битное целое число, первые 8 бит являются основной версией, а остальные 24 - второстепенной. Есть ли способ сделать этот перенос в случае, если 'dev_t' будет изменен на 64-битное целое число? –
в на моей машине OpenBSD, для этого существуют макросы major() и minor(). –
asveikau
@ asveikau: Спасибо, нашел их. Я мог бы поклясться, что эти функции не были там вчера, когда я их искал. –