Esempio n. 1
0
int
main(int argc, const char *argv[])
{
  CdIo_t *p_cdio;
  char **ppsz_drives=NULL;
  int n=0;

  cdio_loglevel_default = (argc > 1) ? CDIO_LOG_DEBUG : CDIO_LOG_INFO;
  /* snprintf(psz_nrgfile, sizeof(psz_nrgfile)-1,
	     "%s/%s", TEST_DIR, cue_file[i]);
  */
  if (!cdio_have_driver(DRIVER_OSX)) return(77);
  ppsz_drives = cdio_get_devices(DRIVER_DEVICE);
  if (!ppsz_drives) {
      printf("Can't find a CD-ROM drive. Skipping test.\n");
      exit(77);
  }
  
  do {
    p_cdio = cdio_open_osx(ppsz_drives[n]);
    if (p_cdio) {
      const char *psz_source = cdio_get_arg(p_cdio, "source");
      const char *psz_access_mode = cdio_get_arg(p_cdio, "access-mode");
      discmode_t  discmode = cdio_get_discmode(p_cdio);
      if (0 != strncmp(psz_source, ppsz_drives[0],
		       strlen(ppsz_drives[0]))) {
	  fprintf(stderr, 
		  "Got %s; should get back %s, the name we opened.\n",
		  psz_source, ppsz_drives[0]);
	  exit(1);
      }
      if (0 != strncmp(psz_access_mode, "OS X", strlen("OS X"))) {
	  fprintf(stderr,
		  "Got %s; Should get back %s, the access mode requested.\n",
		  psz_access_mode, "OS X");
	  exit(2);
      }
      if (CDIO_DISC_MODE_ERROR == discmode) {
	  fprintf(stderr,
		  "Error getting disc mode for device %s.\n",
		  ppsz_drives[n]);
	  exit(3);
      }
    }

    cdio_destroy(p_cdio);
  }
  while (ppsz_drives[++n] != NULL);

  cdio_free_device_list(ppsz_drives);

  return 0;
}
Esempio n. 2
0
int
main(int argc, const char *argv[])
{
  CdIo_t *p_cdio;
  char **ppsz_drives=NULL;
  
  cdio_loglevel_default = (argc > 1) ? CDIO_LOG_DEBUG : CDIO_LOG_INFO;
  /* snprintf(psz_nrgfile, sizeof(psz_nrgfile)-1,
	     "%s/%s", TEST_DIR, cue_file[i]);
  */
  if (!cdio_have_driver(DRIVER_SOLARIS)) return(77);
  ppsz_drives = cdio_get_devices(DRIVER_DEVICE);
  if (!ppsz_drives) {
      printf("Can't find a CD-ROM drive. Skipping test.\n");
      exit(77);
  }
  
  p_cdio = cdio_open_linux(ppsz_drives[0]);
  if (p_cdio) {
      const char *psz_source = cdio_get_arg(p_cdio, "source");
      if (0 != strncmp(psz_source, ppsz_drives[0],
		       strlen(ppsz_drives[0]))) {
	  fprintf(stderr, 
		  "Got %s; should get back %s, the name we opened.\n",
		  psz_source, ppsz_drives[0]);
	  exit(1);
      }
  }
  
  
  cdio_destroy(p_cdio);
  p_cdio = cdio_open_am_linux(ppsz_drives[0], "SCSI");
  if (p_cdio) {
      const char *psz_access_mode = cdio_get_arg(p_cdio, "access-mode");
      
      if (0 != strncmp(psz_access_mode, "SCSI", strlen("SCSI"))) {
	  fprintf(stderr,
		  "Got %s; Should get back %s, the access mode requested.\n",
		  psz_access_mode, "SCSI");
	  exit(2);
      }
  }

  cdio_destroy(p_cdio);
  cdio_free_device_list(ppsz_drives);

  return 0;
}
Esempio n. 3
0
void check_get_arg_source(CdIo_t *p_cdio, const char *psz_expected_source)
  {
      const char *psz_source = cdio_get_arg(p_cdio, "source");
      if ( psz_source == NULL || 
	   (0 != strcmp(psz_expected_source, psz_source)) ) {
	  fprintf(stderr, 
		  "cdio_get_arg(\"source\") should return \"%s\"; got: \"%s\".\n",
		  psz_expected_source, psz_source);
	  exit(40);
      }
  }
Esempio n. 4
0
void check_access_mode(CdIo_t *p_cdio, const char *psz_expected_access_mode)
{
    const char *psz_access_mode = cdio_get_arg(p_cdio, "access-mode");
    if ( psz_access_mode == NULL || 
	 (0 != strcmp(psz_expected_access_mode, psz_access_mode)) ) {
	fprintf(stderr, 
		"cdio_get_arg(\"access-mode?\") should return \"%s\"; got: \"%s\".\n",
		psz_expected_access_mode, psz_access_mode);
	exit(10);
    }
}
Esempio n. 5
0
/** Returns a paranoia CD-ROM drive object with a CD-DA in it or NULL
    if there was an error.  In contrast to cdio_cddap_identify, we
    start out with an initialized p_cdio object. For example you may
    have used that for other purposes such as to get CDDB/CD-Text
    information.  @see cdio_cddap_identify
 */
cdrom_drive_t *
cdio_cddap_identify_cdio(CdIo_t *p_cdio, int messagedest, char **ppsz_messages)
{
  if (!p_cdio) return NULL;
  { 
    const char *psz_device = cdio_get_arg(p_cdio, "source");
    idmessage(messagedest, ppsz_messages, "Checking %s for cdrom...", 
	      psz_device);
    return cdda_identify_device_cdio(p_cdio, psz_device, messagedest, 
				     ppsz_messages);
  }

}
Esempio n. 6
0
/* i_expected: 1 => expect false 
               2 => expect true
               3 => expect true or false
 */
void check_mmc_supported(CdIo_t *p_cdio, int i_expected)  {
    const char *psz_response = cdio_get_arg(p_cdio, "mmc-supported?");
    if ( psz_response == NULL ) {
	fprintf(stderr, 
		"cdio_get_arg(\"mmc-supported?\") returned NULL\n");
	exit(30);
    } else if ( (0 == (i_expected & 1)) && 
		(0 == strncmp("false", psz_response, sizeof("false"))) ) {
	fprintf(stderr, 
		"cdio_get_arg(\"mmc-supported?\") should not return \"false\"");
	exit(31);
    } else if ( (0 == (i_expected & 2)) && 
		(0 == strncmp("true", psz_response, sizeof("true"))) ) {
	fprintf(stderr, 
		"cdio_get_arg(\"mmc-supported?\") should not return \"true\"");
	exit(32);
    }
}
Esempio n. 7
0
/** Returns a paranoia CD-ROM drive object with a CD-DA in it or NULL
    if there was an error.
    @see cdio_cddap_identify_cdio
 */
cdrom_drive_t *
cdio_cddap_identify(const char *psz_dev, int messagedest,
char **ppsz_messages)
{
  CdIo_t *p_cdio = NULL;

  if (psz_dev) 
    idmessage(messagedest, ppsz_messages, "Checking %s for cdrom...", 
	      psz_dev);
  else 
    idmessage(messagedest, ppsz_messages, "Checking for cdrom...", NULL);

#ifdef DEVICE_IN_FILESYSTEM
  if (psz_dev) {
    char *psz_device = test_resolve_symlink(psz_dev, messagedest, 
					    ppsz_messages);
    if ( psz_device ) {
      cdrom_drive_t *d=NULL;
      p_cdio = cdio_open(psz_device, DRIVER_UNKNOWN);
      d = cdda_identify_device_cdio(p_cdio, psz_device, messagedest, 
				    ppsz_messages);
      free(psz_device);
      return d;
    }
  }
#endif

  p_cdio = cdio_open(psz_dev, DRIVER_UNKNOWN);
  if (p_cdio) {
    if (!psz_dev) {
      psz_dev = cdio_get_arg(p_cdio, "source");
    }
    return cdda_identify_device_cdio(p_cdio, psz_dev, messagedest, 
				     ppsz_messages);
  }
  return NULL;
}