add psz_ to hwinfo type.

_cdio_linux.c: go back to using SCSI MMC drive cap routine.
This commit is contained in:
rocky
2004-08-27 11:53:38 +00:00
parent c495bfdfa7
commit 19991ded7b
6 changed files with 49 additions and 44 deletions

View File

@@ -1,5 +1,5 @@
/* /*
$Id: sample9.c,v 1.1 2004/07/29 05:26:46 rocky Exp $ $Id: sample9.c,v 1.2 2004/08/27 11:53:38 rocky Exp $
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
@@ -18,7 +18,9 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
/* Simple program to show use of SCSI MMC interface. */ /* Simple program to show use of SCSI MMC interface. Is basically the
the libdio scsi_mmc_get_hwinfo() routine.
*/
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include "config.h" # include "config.h"
#endif #endif
@@ -53,20 +55,23 @@ main(int argc, const char *argv[])
&cdb, SCSI_MMC_DATA_READ, &cdb, SCSI_MMC_DATA_READ,
sizeof(buf), &buf); sizeof(buf), &buf);
if (i_status == 0) { if (i_status == 0) {
char vendor[CDIO_MMC_HW_VENDOR_LEN+1]; char psz_vendor[CDIO_MMC_HW_VENDOR_LEN+1];
char model[CDIO_MMC_HW_MODEL_LEN+1]; char psz_model[CDIO_MMC_HW_MODEL_LEN+1];
char rev[CDIO_MMC_HW_REVISION_LEN+1]; char psz_rev[CDIO_MMC_HW_REVISION_LEN+1];
memcpy(vendor, buf + 8, sizeof(vendor)-1); memcpy(psz_vendor, buf + 8, sizeof(psz_vendor)-1);
vendor[sizeof(vendor)-1] = '\0'; psz_vendor[sizeof(psz_vendor)-1] = '\0';
memcpy(model, buf + 8 + CDIO_MMC_HW_VENDOR_LEN, sizeof(model)-1); memcpy(psz_model,
model[sizeof(model)-1] = '\0'; buf + 8 + CDIO_MMC_HW_VENDOR_LEN,
memcpy(rev, buf + 8 + CDIO_MMC_HW_VENDOR_LEN +CDIO_MMC_HW_MODEL_LEN, sizeof(psz_model)-1);
sizeof(rev)-1); psz_model[sizeof(psz_model)-1] = '\0';
rev[sizeof(rev)-1] = '\0'; memcpy(psz_rev,
buf + 8 + CDIO_MMC_HW_VENDOR_LEN +CDIO_MMC_HW_MODEL_LEN,
sizeof(psz_rev)-1);
psz_rev[sizeof(psz_rev)-1] = '\0';
printf("Vendor: %s\nModel: %s\nRevision: %s\n", printf("Vendor: %s\nModel: %s\nRevision: %s\n",
vendor, model, rev); psz_vendor, psz_model, psz_rev);
} else { } else {
printf("Couldn't get INQUIRY data (vendor, model, and revision\n"); printf("Couldn't get INQUIRY data (vendor, model, and revision\n");
} }

View File

@@ -1,5 +1,5 @@
/* -*- c -*- /* -*- c -*-
$Id: cdio.h,v 1.63 2004/08/27 11:23:40 rocky Exp $ $Id: cdio.h,v 1.64 2004/08/27 11:53:38 rocky Exp $
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org> Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
@@ -63,9 +63,9 @@ extern "C" {
/*! Structure to return data given by the INQUIRY command */ /*! Structure to return data given by the INQUIRY command */
typedef struct cdio_hwinfo typedef struct cdio_hwinfo
{ {
char vendor [CDIO_MMC_HW_VENDOR_LEN+1]; char psz_vendor [CDIO_MMC_HW_VENDOR_LEN+1];
char model [CDIO_MMC_HW_MODEL_LEN+1]; char psz_model [CDIO_MMC_HW_MODEL_LEN+1];
char revision[CDIO_MMC_HW_REVISION_LEN+1]; char psz_revision[CDIO_MMC_HW_REVISION_LEN+1];
} cdio_hwinfo_t; } cdio_hwinfo_t;
/** This is an opaque structure for the CD object. */ /** This is an opaque structure for the CD object. */

View File

@@ -1,5 +1,5 @@
/* /*
$Id: _cdio_linux.c,v 1.95 2004/08/27 01:24:40 rocky Exp $ $Id: _cdio_linux.c,v 1.96 2004/08/27 11:53:38 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.95 2004/08/27 01:24:40 rocky Exp $"; static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.96 2004/08/27 11:53:38 rocky Exp $";
#include <string.h> #include <string.h>
@@ -218,7 +218,7 @@ get_arg_linux (void *env, const char key[])
return NULL; return NULL;
} }
#define USE_LINUX_CAP 1 #undef USE_LINUX_CAP
#ifdef USE_LINUX_CAP #ifdef USE_LINUX_CAP
/*! /*!
Return the the kind of drive capabilities of device. Return the the kind of drive capabilities of device.

View File

@@ -1,6 +1,6 @@
/* Common SCSI Multimedia Command (MMC) routines. /* Common SCSI Multimedia Command (MMC) routines.
$Id: scsi_mmc.c,v 1.26 2004/08/27 02:50:13 rocky Exp $ $Id: scsi_mmc.c,v 1.27 2004/08/27 11:53:38 rocky Exp $
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
@@ -445,18 +445,18 @@ scsi_mmc_get_hwinfo ( const CdIo *p_cdio,
sizeof(buf), &buf); sizeof(buf), &buf);
if (i_status == 0) { if (i_status == 0) {
memcpy(hw_info->vendor, memcpy(hw_info->psz_vendor,
buf + 8, buf + 8,
sizeof(hw_info->vendor)-1); sizeof(hw_info->psz_vendor)-1);
hw_info->vendor[sizeof(hw_info->vendor)-1] = '\0'; hw_info->psz_vendor[sizeof(hw_info->psz_vendor)-1] = '\0';
memcpy(hw_info->model, memcpy(hw_info->psz_model,
buf + 8 + CDIO_MMC_HW_VENDOR_LEN, buf + 8 + CDIO_MMC_HW_VENDOR_LEN,
sizeof(hw_info->model)-1); sizeof(hw_info->psz_model)-1);
hw_info->model[sizeof(hw_info->model)-1] = '\0'; hw_info->psz_model[sizeof(hw_info->psz_model)-1] = '\0';
memcpy(hw_info->revision, memcpy(hw_info->psz_revision,
buf + 8 + CDIO_MMC_HW_VENDOR_LEN + CDIO_MMC_HW_MODEL_LEN, buf + 8 + CDIO_MMC_HW_VENDOR_LEN + CDIO_MMC_HW_MODEL_LEN,
sizeof(hw_info->revision)-1); sizeof(hw_info->psz_revision)-1);
hw_info->revision[sizeof(hw_info->revision)-1] = '\0'; hw_info->psz_revision[sizeof(hw_info->psz_revision)-1] = '\0';
return true; return true;
} }
return false; return false;

View File

@@ -1,5 +1,5 @@
/* /*
$Id: cd-drive.c,v 1.8 2004/08/27 04:17:08 rocky Exp $ $Id: cd-drive.c,v 1.9 2004/08/27 11:53:38 rocky Exp $
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
@@ -242,9 +242,9 @@ main(int argc, const char *argv[])
printf("%28s: %s\n", "Drive", *ppsz_cd); printf("%28s: %s\n", "Drive", *ppsz_cd);
if (cdio_get_hwinfo(p_cdio, &hwinfo)) { if (cdio_get_hwinfo(p_cdio, &hwinfo)) {
printf("%-28s: %s\n%-28s: %s\n%-28s: %s\n", printf("%-28s: %s\n%-28s: %s\n%-28s: %s\n",
"Vendor" , hwinfo.vendor, "Vendor" , hwinfo.psz_vendor,
"Model" , hwinfo.model, "Model" , hwinfo.psz_model,
"Revision", hwinfo.revision); "Revision", hwinfo.psz_revision);
} }
print_mmc_drive_features(p_cdio); print_mmc_drive_features(p_cdio);
print_drive_capabilities(i_read_cap, i_write_cap, i_misc_cap); print_drive_capabilities(i_read_cap, i_write_cap, i_misc_cap);
@@ -268,9 +268,9 @@ main(int argc, const char *argv[])
if (NULL != p_cdio) { if (NULL != p_cdio) {
if (cdio_get_hwinfo(p_cdio, &hwinfo)) { if (cdio_get_hwinfo(p_cdio, &hwinfo)) {
printf("%-28s: %s\n%-28s: %s\n%-28s: %s\n", printf("%-28s: %s\n%-28s: %s\n%-28s: %s\n",
"Vendor" , hwinfo.vendor, "Vendor" , hwinfo.psz_vendor,
"Model" , hwinfo.model, "Model" , hwinfo.psz_model,
"Revision", hwinfo.revision); "Revision", hwinfo.psz_revision);
} }
print_mmc_drive_features(p_cdio); print_mmc_drive_features(p_cdio);
} }

View File

@@ -1,5 +1,5 @@
/* /*
$Id: cd-info.c,v 1.83 2004/08/27 04:17:08 rocky Exp $ $Id: cd-info.c,v 1.84 2004/08/27 11:53:38 rocky Exp $
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
Copyright (C) 1996, 1997, 1998 Gerd Knorr <kraxel@bytesex.org> Copyright (C) 1996, 1997, 1998 Gerd Knorr <kraxel@bytesex.org>
@@ -988,9 +988,9 @@ main(int argc, const char *argv[])
cdio_hwinfo_t hwinfo; cdio_hwinfo_t hwinfo;
if (cdio_get_hwinfo(p_cdio, &hwinfo)) { if (cdio_get_hwinfo(p_cdio, &hwinfo)) {
printf("%-28s: %s\n%-28s: %s\n%-28s: %s\n", printf("%-28s: %s\n%-28s: %s\n%-28s: %s\n",
"Vendor" , hwinfo.vendor, "Vendor" , hwinfo.psz_vendor,
"Model" , hwinfo.model, "Model" , hwinfo.psz_model,
"Revision", hwinfo.revision); "Revision", hwinfo.psz_revision);
} }
cdio_get_drive_cap(p_cdio, &i_read_cap, &i_write_cap, &i_misc_cap); cdio_get_drive_cap(p_cdio, &i_read_cap, &i_write_cap, &i_misc_cap);
print_drive_capabilities(i_read_cap, i_write_cap, i_misc_cap); print_drive_capabilities(i_read_cap, i_write_cap, i_misc_cap);
@@ -1009,9 +1009,9 @@ main(int argc, const char *argv[])
printf("Drive %s\n", *d); printf("Drive %s\n", *d);
if (scsi_mmc_get_hwinfo(p_cdio, &hwinfo)) { if (scsi_mmc_get_hwinfo(p_cdio, &hwinfo)) {
printf("%-8s: %s\n%-8s: %s\n%-8s: %s\n", printf("%-8s: %s\n%-8s: %s\n%-8s: %s\n",
"Vendor" , hwinfo.vendor, "Vendor" , hwinfo.psz_vendor,
"Model" , hwinfo.model, "Model" , hwinfo.psz_model,
"Revision", hwinfo.revision); "Revision", hwinfo.psz_revision);
} }
if (p_cdio) cdio_destroy(p_cdio); if (p_cdio) cdio_destroy(p_cdio);
} }