Add set_speed for Solaris via ioctl and set_blocksize via SCSI-MMC.

Update comments in GNU/Linux driver.
This commit is contained in:
rocky
2005-01-18 01:48:42 +00:00
parent e5bdc956e9
commit 3a99718830
2 changed files with 27 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
/* /*
$Id: _cdio_linux.c,v 1.8 2005/01/18 00:57:20 rocky Exp $ $Id: _cdio_linux.c,v 1.9 2005/01/18 01:48:42 rocky Exp $
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org> Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
@@ -27,7 +27,7 @@
# include "config.h" # include "config.h"
#endif #endif
static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.8 2005/01/18 00:57:20 rocky Exp $"; static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.9 2005/01/18 01:48:42 rocky Exp $";
#include <string.h> #include <string.h>
@@ -985,7 +985,7 @@ static char checklist2[][40] = {
{"?a hd?"}, {"?0 scd?"}, {"?0 sr?"}, {""} {"?a hd?"}, {"?0 scd?"}, {"?0 sr?"}, {""}
}; };
/* Set operating speed */ /* Set read blocksize */
static int static int
set_blocksize_linux (void *p_user_data, int i_blocksize) set_blocksize_linux (void *p_user_data, int i_blocksize)
{ {
@@ -993,7 +993,7 @@ set_blocksize_linux (void *p_user_data, int i_blocksize)
return scsi_mmc_set_blocksize(p_env->gen.cdio, i_blocksize); return scsi_mmc_set_blocksize(p_env->gen.cdio, i_blocksize);
} }
/* Set operating speed */ /* Set CD-ROM drive speed */
static int static int
set_speed_linux (void *p_user_data, int i_speed) set_speed_linux (void *p_user_data, int i_speed)
{ {

View File

@@ -1,5 +1,5 @@
/* /*
$Id: _cdio_sunos.c,v 1.6 2005/01/17 17:20:09 rocky Exp $ $Id: _cdio_sunos.c,v 1.7 2005/01/18 01:48:42 rocky Exp $
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org> Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2002, 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com> Copyright (C) 2002, 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -38,7 +38,7 @@
#ifdef HAVE_SOLARIS_CDROM #ifdef HAVE_SOLARIS_CDROM
static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.6 2005/01/17 17:20:09 rocky Exp $"; static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.7 2005/01/18 01:48:42 rocky Exp $";
#ifdef HAVE_GLOB_H #ifdef HAVE_GLOB_H
#include <glob.h> #include <glob.h>
@@ -769,6 +769,24 @@ _cdio_get_track_msf(void *p_user_data, track_t i_track, msf_t *msf)
} }
} }
/* Set read blocksize */
static int
set_blocksize_solaris (void *p_user_data, int i_blocksize)
{
const _img_private_t *p_env = p_user_data;
return scsi_mmc_set_blocksize(p_env->gen.cdio, i_blocksize);
}
/* Set operating speed */
static int
set_speed_solaris (void *p_user_data, int i_speed)
{
const _img_private_t *p_env = p_user_data;
if (!p_env) return -1;
return ioctl(p_env->gen.fd, CDROMSDRVSPEED, i_speed);
}
#else #else
/*! /*!
Return a string containing the default VCD device if none is specified. Return a string containing the default VCD device if none is specified.
@@ -886,6 +904,9 @@ cdio_open_am_solaris (const char *psz_orig_source, const char *access_mode)
_funcs.run_scsi_mmc_cmd = run_scsi_cmd_solaris; _funcs.run_scsi_mmc_cmd = run_scsi_cmd_solaris;
_funcs.stat_size = _cdio_stat_size; _funcs.stat_size = _cdio_stat_size;
_funcs.set_arg = _set_arg_solaris; _funcs.set_arg = _set_arg_solaris;
_funcs.set_blocksize = set_blocksize_solaris;
_funcs.set_speed = set_speed_solaris;
_funcs.stat_size = _cdio_stat_size;
_data = _cdio_malloc (sizeof (_img_private_t)); _data = _cdio_malloc (sizeof (_img_private_t));