add psz_ to hwinfo type.
_cdio_linux.c: go back to using SCSI MMC drive cap routine.
This commit is contained in:
@@ -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");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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. */
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user