Gibt es eine Möglichkeit, die BSD-Nummer eines Geräts unter Mac OS X zu bekommen?

StackOverflow https://stackoverflow.com/questions/1640584

  •  08-07-2019
  •  | 
  •  

Frage

Ihr Programm liest Gerätepfade wie /dev/rdisk0 von Eingang und dann sieht es in IOKit für eine Platte mit der BSD Namen disk0. Dazu muss ich /dev/r vom Weg entfernen.

Codierung Fest dieses Weges in zukünftigen Versionen von Mac OS X. brechen kann deshalb ich allerdings einen anderen Weg: könnte ich die IOService Übereinstimmen mit der BSD-Major und Minor-Version des Geräts

.

Hier ist meine Frage: Ist es möglich, die BSD kleinere und größere Zahlen von einem Pfad zu extrahieren

?
War es hilfreich?

Lösung

Ja. Verwenden Sie die stat syscall. Das Mitglied der struct stat Sie suchen ist st_dev, die meiner Meinung nach eine OR wichtiger ist und Moll nach einer Bitverschiebung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top