in reply to Checking if a CD is in a drive and it is blank?
#!/usr/bin/perl # read man ioctl_list for hex codes # read /usr/include/linux/cdrom.h for cd codes use Fcntl; sysopen my $f, "/dev/sr0", O_RDONLY|O_NONBLOCK or die "open $?"; ioctl $f, 0x5329, 0 or die "ioctl $!"; # 0 unlocks 1 locks door ioctl $f, 0x5309, 0 or die "ioctl $!"; # open tray ioctl $f, 0x5319, 0 or die "ioctl $!"; #close tray
You can detect whether there is a cd in the tray, and try to mount it, and see if it contains any data. The thing is, it can be formatted a variety of ways, a cd dosn't have to be iso9660.
Also see in the perlfaq, "perldoc -q ioctl".
8.21: Where do I get the include files to do ioctl() or syscall()?
Running cdrecord with some options may tell you if the cd is blank.
|
|---|