#include #include #include #include #include /* drives have capabilities (CDC*) like CDC_MEDIA_CHANGED. These done with CDROM_SET_OPTIONS ioctl. perhaps magicdev should turn this off as it doesn't use anyway? */ int main(void) { int cd = open("/dev/cdrom", O_RDONLY|O_NONBLOCK); /* This causes VFS: disk change ... */ while(1) { //int cd = open("/dev/cdrom", O_RDONLY|O_NONBLOCK); printf ("media changed[%d]\n", ioctl(cd, CDROM_MEDIA_CHANGED, CDSL_CURRENT)); /* switch (ioctl(cd, CDROM_DRIVE_STATUS, CDSL_CURRENT)) { case CDS_DISC_OK: printf("DISK_OK\n"); break; case CDS_TRAY_OPEN: printf("TRAY_OPEN\n"); break; case CDS_DRIVE_NOT_READY: printf("DRIVE_NOT_READY\n"); break; default: printf("default\n"); break; } */ //close(cd); sleep(2); } }