Есть ли способ получить BSD-номер устройства в Mac OS X?
Вопрос
Моя программа считывает пути к устройствам следующим образом /dev/rdisk0
из входных данных, а затем он просматривает IOKit
для диска с именем BSD disk0
.Для этого я должен удалить /dev/r
с тропинки.
Жесткое кодирование этого пути может нарушиться в будущих версиях Mac OS X.Поэтому я подумал о другом способе:Я мог бы соответствовать IOService
используя основную и второстепенную версии устройства BSD.
Вот мой вопрос:Можно ли извлечь второстепенные и главные числа BSD из пути?
Решение
ДА.Используйте статистика
системный вызов.Член struct stat
вы ищете это st_dev
, который, я полагаю, является разделением основного и второстепенного после небольшого сдвига.
Не связан с StackOverflow