Geräteinformationen in C++ auslesen



  • Hallo,

    Ich schreibe derzeit ein Programm um die Sektoren einer CD-ROM auslesen zu können. Dazu verwenden ich die Header-Datei "cdrom.h". Funktionieren tut das ganze auch schon nur möchte ich jetzt von dem Gerät (z.B. "/dev/cdrom") den Hersteller und Modellnamen wissen. Wie kann ich das von C++ aus abfragen?

    Danke.

    Liebe Grüße,
    Thomas



  • Bsp: wenn du deinen CDROM im 2. IDE Bus hast:

    cat /proc/ide/hdc/model



  • Und wenn es was fürn Desktop ist kannst du HAL oder das KDE4-Pendant benutzen.



  • Also gibt es da nicht irgendeine C++ Funktion mit der ich sowas machen kann? Ich mache ja so derzeit eine Verbindung zum Laufwerk auf:

    char* dev_name = "/dev/cdrom";
    int fd;
    if((fd = open(dev_name, O_RDONLY | O_NONBLOCK)) < 0) {
            // etwas ist schief gelaufen
    }
    

    Dann kann ich über "ioctl" Sachen mit dem Laufwerk machen (z.B. Sektoren auslesen):

    if((ioctl(fd, CDROMREADAUDIO, &data)) < 0) {
            // etwas ist schief gelaufen
    }
    

    Ich dachte, dass ein Block-Device Treiber wie der eines CDROM-Laufwerks ist, irgendwelche ioctls oder andere Funktion zum Abruf von Hersteller, Modell und andere Dinge wie Lesegeschwindigkeit usw. zur Verfügung stellt.

    Vielleicht wird meine Situation ja jetzt klarer.

    Liebe Grüße,
    Thomas


Anmelden zum Antworten