hunter
08-02-2004, 18:50
Folgendes Problem:
Gnome 2.4 wirft beim unmounten einer CD immer die CD aus. Das will ich aber nicht. Also möchte ich ein kleines C Programm haben das überprüft ob das Laufwerk gemountet ist oder nicht und das entsprechende Gegenteil tut.
#include <stdio.h>
int checkcdrom();
int main()
{
int status;
status = checkcdrom();
If (status == 0)
system("mount /mnt/cdrom");
else If (status == 1)
system("umount /mnt/cdrom");
return 0;
}
int checkcdrom()
{
- return 1 wenn CD-Rom gemounted
- return 0 wenn CD-Rom nicht gemounted
}
Und genau bei der Funktion komme ich nicht weiter. Wie mache ich das am besten ? Hab schon überlegt die Datei /etc/mtab einzulesen, aber irgendwie kommt da nur Murks raus.
Müsste ja eigentlich nur die existenz oder nicht existez folgender Zeilen feststellen:
/dev/scsi/host1/bus0/target0/lun0/cd /mnt/cdrom iso9660 ro,noexec,nosuid,nodev,iocharset=iso8859-15,codepage=850,umask=0,user=hunter 0 0
/dev/scsi/host1/bus0/target1/lun0/cd /mnt/cdrom2 iso9660 ro,noexec,nosuid,nodev,iocharset=iso8859-15,codepage=850,umask=0,user=hunter 0 0
Wobei das hier schon reichen würde:
/dev/scsi/host1/bus0/target0/lun0/cd /mnt/cdrom
/dev/scsi/host1/bus0/target1/lun0/cd /mnt/cdrom2
Kann mir da bitte jemand diese Funktion schrieben ? Kriebe das irgendwie nicht hin. Oder einen anderen Weg.
Gnome 2.4 wirft beim unmounten einer CD immer die CD aus. Das will ich aber nicht. Also möchte ich ein kleines C Programm haben das überprüft ob das Laufwerk gemountet ist oder nicht und das entsprechende Gegenteil tut.
#include <stdio.h>
int checkcdrom();
int main()
{
int status;
status = checkcdrom();
If (status == 0)
system("mount /mnt/cdrom");
else If (status == 1)
system("umount /mnt/cdrom");
return 0;
}
int checkcdrom()
{
- return 1 wenn CD-Rom gemounted
- return 0 wenn CD-Rom nicht gemounted
}
Und genau bei der Funktion komme ich nicht weiter. Wie mache ich das am besten ? Hab schon überlegt die Datei /etc/mtab einzulesen, aber irgendwie kommt da nur Murks raus.
Müsste ja eigentlich nur die existenz oder nicht existez folgender Zeilen feststellen:
/dev/scsi/host1/bus0/target0/lun0/cd /mnt/cdrom iso9660 ro,noexec,nosuid,nodev,iocharset=iso8859-15,codepage=850,umask=0,user=hunter 0 0
/dev/scsi/host1/bus0/target1/lun0/cd /mnt/cdrom2 iso9660 ro,noexec,nosuid,nodev,iocharset=iso8859-15,codepage=850,umask=0,user=hunter 0 0
Wobei das hier schon reichen würde:
/dev/scsi/host1/bus0/target0/lun0/cd /mnt/cdrom
/dev/scsi/host1/bus0/target1/lun0/cd /mnt/cdrom2
Kann mir da bitte jemand diese Funktion schrieben ? Kriebe das irgendwie nicht hin. Oder einen anderen Weg.