¿Hay alguna manera de obtener el número BSD de un dispositivo en Mac OS X?
Pregunta
Mi programa lee las rutas del dispositivo como / dev / rdisk0
desde la entrada y luego busca en IOKit
un disco con el nombre BSD disk0
. Para esto, tengo que eliminar / dev / r
de la ruta.
La codificación rígida de esta ruta puede romperse en futuras versiones de Mac OS X. Por lo tanto, pensé en otra forma: podría hacer coincidir el IOService
usando la versión BSD Major y Minor del dispositivo.
Aquí está mi pregunta: ¿Es posible extraer los números mayores y menores de BSD de una ruta?
Solución
Sí Utilice el stat
syscall. El miembro de struct stat
que está buscando es st_dev
, que creo que es un OR de mayor y menor después de un cambio de bit.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow