int bgav_eject_disc(const char * device) { #if LIBCDIO_VERSION_NUM >= 78 driver_return_code_t err; if((err = cdio_eject_media_drive(device)) != DRIVER_OP_SUCCESS) return 0; else return 1; #else return 0; #endif }
int main(int argc, char ** argv) { driver_return_code_t err; int close_tray = 0; const char * device = NULL; if(argc < 2 || argc > 3) { usage(argv[0]); return -1; } if((argc == 3) && strcmp(argv[1], "-t")) { usage(argv[0]); return -1; } if(argc == 2) device = argv[1]; else if(argc == 3) { close_tray = 1; device = argv[2]; } if(close_tray) { err = cdio_close_tray(device, NULL); if(err) { fprintf(stderr, "Closing tray failed for device %s: %s\n", device, cdio_driver_errmsg(err)); return -1; } } else { err = cdio_eject_media_drive(device); if(err) { fprintf(stderr, "Ejecting failed for device %s: %s\n", device, cdio_driver_errmsg(err)); return -1; } } return 0; }
int main(int argc, const char *argv[]) { driver_return_code_t ret; driver_id_t driver_id = DRIVER_DEVICE; char *psz_drive = NULL; if (argc > 1) psz_drive = strdup(argv[1]); if (!psz_drive) { psz_drive = cdio_get_default_device_driver(&driver_id); if (!psz_drive) { printf("Can't find a CD-ROM to eject\n"); exit(1); } } ret = cdio_eject_media_drive(psz_drive); switch(ret) { case DRIVER_OP_UNSUPPORTED: printf("Eject not supported for %s.\n", psz_drive); break; case DRIVER_OP_SUCCESS: printf("CD-ROM drive %s ejected.\n", psz_drive); break; default: printf("Eject of CD-ROM drive %s failed.\n", psz_drive); break; } if (DRIVER_OP_SUCCESS == cdio_close_tray(psz_drive, &driver_id)) { printf("Closed tray of CD-ROM drive %s.\n", psz_drive); } else { printf("Closing tray of CD-ROM drive %s failed.\n", psz_drive); } free(psz_drive); ret = cdio_eject_media_drive(NULL); switch(ret) { case DRIVER_OP_UNSUPPORTED: printf("Eject not supported for default device.\n"); break; case DRIVER_OP_SUCCESS: printf("CD-ROM drive ejected for default device.\n"); break; default: printf("Eject of CD-ROM drive failed for default device.\n"); break; } driver_id = DRIVER_DEVICE; if (DRIVER_OP_SUCCESS == cdio_close_tray(NULL, &driver_id)) { printf("Closed tray of CD-ROM drive for default disc driver:\n\t%s\n", cdio_driver_describe(driver_id)); } else { printf("Closing tray of CD-ROM drive failed for default " "disc driver:\n\t%s\n", cdio_driver_describe(driver_id)); } return 0; }
/*! Eject media in CD drive if there is a routine to do so. If the CD is ejected, object is destroyed. */ void ejectMedia (const char *psz_drive) { driver_return_code_t drc = cdio_eject_media_drive(psz_drive); possible_throw_device_exception(drc); }
void CddaLister::UnmountDevice(const QString& id) { cdio_eject_media_drive(id.toLocal8Bit().constData()); }