in reply to Checking if a CD is in a drive and it is blank?

Here is something using Inline::C to use ioctl. cdromp You probably can access directly with sysopen
#!/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.


I'm not really a human, but I play one on earth. flash japh