Mon programme lit les chemins de périphérique comme /dev/rdisk0
de l'entrée, puis il recherche IOKit
pour un disque portant le nom BSD disk0
. Pour cela, je dois supprimer /dev/r
du chemin.Existe-t-il un moyen d'obtenir le numéro BSD d'un périphérique sous Mac OS X?
Le codage dur de ce chemin peut se rompre dans les futures versions de Mac OS X. Par conséquent, je pense d'une autre manière: je pourrais faire correspondre le IOService
en utilisant la version BSD Major et Minor du périphérique.
Voici ma question: est-il possible d'extraire les numéros BSD mineurs et majeurs d'un chemin?
Cela fonctionne. 'dev_t' est un entier de 32 bits, les 8 premiers bits sont la version majeure et les 24 autres sont la version mineure. Y at-il un moyen de rendre ce portable dans le cas où 'dev_t' est changé en un entier de 64 bits? –
dans sur ma machine OpenBSD, il semble y avoir des macros majeur() et mineur() pour cela. –
asveikau
@ asveikau: Merci, je les ai trouvés. Je pourrais jurer que ces fonctions n'étaient pas là hier quand je les ai cherchées. –