C'è un modo per ottenere il numero BSD di un dispositivo in Mac OS X?
Domanda
Il mio programma legge i percorsi del dispositivo come / dev / rdisk0
dall'input e quindi cerca in IOKit
un disco con il nome BSD disk0
. Per questo devo rimuovere / dev / r
dal percorso.
La codifica rigida di questo percorso può interrompersi nelle future versioni di Mac OS X. Pertanto, ho pensato ad un altro modo: avrei potuto abbinare il IOService
usando la versione BSD Major e Minor del dispositivo.
Ecco la mia domanda: è possibile estrarre i numeri minori e maggiori di BSD da un percorso?
Soluzione
Sì. Utilizzare la syscall stat
. Il membro di struct stat
che stai cercando è st_dev
, che credo sia un OR di maggiore e minore dopo un po 'di spostamento.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow