CD-Rom Laufwerk auf?



  • Wie gesagt, ioctl(...) ist der Schlüssel.
    Hier ein kleines Beispiel:

    int eject_cdrom()
    {
            if((fd1 = open("/dev/cdrom", O_RDONLY | O_NONBLOCK))==-1);
            {
    	       printf("Konnte /dev/cdrom nicht öffnen!!");
    	       return 1;
            }	
    
            if (ioctl(fd1, CDROMEJECT) == -1)/*Um CDROM zu schliessen CDROMEJECT*/ 
            {                                /*durch CDROMCLOSETRAY ersetzen    */
    	       printf( "konnte CDROM nicht auswerfen");
    	       return 1;
            }
            else
            {
    	       printf( "CDROM1 ausgeworfen" );
    	       return 0;
            }
    
            close(fd1);        
    
            return 0;
    }
    


  • eject macht das doch ohnehin, sogar richtig portabel; warum dann das Ganze zu Fuß nochmal machen?



  • Hi,

    @nman ich antworte mal für @---.

    meine meinung ist "eject" ist wirklich komfortabel. nur wenn man selbst in die programmierung von hardware
    einsteigen möchte muss man solche grundlegenden sachen kennen (finde ich).
    oder will man ein programm schreiben was das CD/DVD-ROM einbindet dann sollte man ebenfalls diese
    grundlegenden sachen schreibseln können, und nicht laufend einen befehl nutzen der eventuell irgendwann,
    durch welchen zufall auch immer, nicht vorhanden ist, und das selbst geschreibselte programm deshalb nicht
    funktioniert (ist zumindest meine Meinung).

    @---
    schaue dir mal die "cdrom.h" an, da steht so einiges drin was du gebrauchen könntest.

    bis dann
    Ein Wissbegieriger



  • Ein Wissbegieriger schrieb:

    und nicht laufend einen befehl nutzen der eventuell irgendwann, durch welchen zufall auch immer, nicht vorhanden ist, und das selbst geschreibselte programm deshalb nicht funktioniert

    Das ist ein blödsinniges Argument; demnach müsstest Du ja alles selbst coden und dürftest nie andere Programme benutzen.

    CDs auszuwerfen ist ja auch nichts so grundlegendes; insofern ist es völlig legitim dem Benutzer zu sagen "Wenn Du CDs automatisch auswerfen lassen möchtest, dann brauchst Du eject", besonders da eject ja für lau erhältlich ist und keine 60k wiegt, wir reden hier ja nicht von einem 250MB großem, 150 Euro teurem Utility.



  • Hi,

    nman schrieb:

    Ein Wissbegieriger schrieb:

    und nicht laufend einen befehl nutzen der eventuell irgendwann, durch welchen zufall auch immer, nicht vorhanden ist, und das selbst geschreibselte programm deshalb nicht funktioniert

    Das ist ein blödsinniges Argument; demnach müsstest Du ja alles selbst coden und dürftest nie andere Programme benutzen.

    CDs auszuwerfen ist ja auch nichts so grundlegendes; insofern ist es völlig legitim dem Benutzer zu sagen "Wenn Du CDs automatisch auswerfen lassen möchtest, dann brauchst Du eject", besonders da eject ja für lau erhältlich ist und keine 60k wiegt, wir reden hier ja nicht von einem 250MB großem, 150 Euro teurem Utility.

    wenns so ein blödsinniges argument ist, ist das deine meinung.
    wenn das programm aber z.b. vom root verschoben wurde dann ist man mit dem system("eject ...") oder auch nur "eject ..." über die shell denke ich gut bedient ! aber das ist meine meinung. darüber kann man sich tagelang streiten (das will/werde ich nicht).

    bis dann
    Ein Wissbegierger



  • Ein Wissbegieriger schrieb:

    wenn das programm aber z.b. vom root verschoben wurde

    Das ist doch kein Argument, da kannst Du ja genauso davon ausgehen dass root /etc/profile / whatever dahingehend geändert hat dass TERM auf das Spool-Verzeichnis des MTAs gesetzt wird, oder dass er /bin nach /tmp verschoben hat.

    Alles selbst implementieren weil vielleicht der Admin Scheiße gebaut haben könnte ist nicht kompatibel mit der Philosophie hinter Unix. 👎



  • nman schrieb:

    Alles selbst implementieren weil vielleicht der Admin Scheiße gebaut haben könnte ist nicht kompatibel mit der Philosophie hinter Unix. 👎

    ZACK! nman hat gesprochen!! 😡

    Also Klappe jetzt!!

    🤡 😉



  • Sgt. Nukem schrieb:

    ZACK! nman hat gesprochen!! 😡

    Also Klappe jetzt!!

    🤡 😉

    wieso? Ist nman denn hier der Oberbefehlshaber? Ich bin der gleichen Meinung wie nman, und ich weiß und gebe zu, dass er viel weiß, auch deutlich mehr als ich, aber ist kein Argument sowas zu sagen. Wenn man drüber weiter diskutieren will, nur zu! Dafür ist das board auch da.



  • supertux schrieb:

    wieso? Ist nman denn hier der Oberbefehlshaber?

    Ja, ist er! 😡

    Ein Gesandter des großen Torvalds! 🤡 👍

    P.S.: Nimm den Scheiß den ich schreibe nicht so ernst, und realisier' mal meine Sig. 😉



  • 😃


Anmelden zum Antworten