#include #include #include #include #include #include #include #include int main (int argc, char **argv) { char *program, *device; int fd, status; program = argv[0]; ++argv; --argc; if (argc < 1 || argc > 1) { fprintf (stderr, "usage: %s \n", program); exit (1); } device = argv[0]; fd = open(device, O_RDONLY | O_NONBLOCK); if (fd < 0) { fprintf (stderr, "%s: open failed for `%s': %s\n", program, device, strerror (errno)); exit (1); } status = ioctl (fd, CDROM_DRIVE_STATUS, 0); if (status<0) { perror(" CDROM_DRIVE_STATUS"); } else switch(status) { case CDS_TRAY_OPEN: printf ("Tray open\n"); break; default: printf ("Tray NOT open\n"); break; } exit (0); }