util.*, cd-drive: Add feature listing to cd-drives.

sample10.c: More feature information printed

scsi_mmc.h: more doxygen comments about features.
This commit is contained in:
rocky
2004-08-07 01:48:36 +00:00
parent 331c244177
commit 18411a8764
5 changed files with 397 additions and 49 deletions

View File

@@ -1,5 +1,5 @@
/*
$Id: scsi_mmc.h,v 1.28 2004/08/06 22:13:14 rocky Exp $
$Id: scsi_mmc.h,v 1.29 2004/08/07 01:48:36 rocky Exp $
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
@@ -117,24 +117,39 @@
/*! FEATURE codes used in GET CONFIGURATION. */
#define CDIO_MMC_FEATURE_PROFILE_LIST 0x000
#define CDIO_MMC_FEATURE_CORE 0x001
#define CDIO_MMC_FEATURE_REMOVABLE_MEDIUM 0x002
#define CDIO_MMC_FEATURE_WRITE_PROTECT 0x003
#define CDIO_MMC_FEATURE_RANDOM_READABLE 0x010
#define CDIO_MMC_FEATURE_MULTI_READ 0x01D
#define CDIO_MMC_FEATURE_CD_READ 0x01E
#define CDIO_MMC_FEATURE_DVD_READ 0x01F
#define CDIO_MMC_FEATURE_RANDOM_WRITABLE 0x020
#define CDIO_MMC_FEATURE_INCR_WRITE 0x021
#define CDIO_MMC_FEATURE_SECTOR_ERASE 0x022
#define CDIO_MMC_FEATURE_FORMATABLE 0x023
#define CDIO_MMC_FEATURE_WRITE_ONCE 0x025
#define CDIO_MMC_FEATURE_RESTRICT_OVERW 0x026
#define CDIO_MMC_FEATURE_CD_RW_CAV 0x027
#define CDIO_MMC_FEATURE_MRW 0x028
#define CDIO_MMC_FEATURE_DVD_PRW 0x02A
#define CDIO_MMC_FEATURE_DVD_PR 0x02B
#define CDIO_MMC_FEATURE_PROFILE_LIST 0x000 /**< Profile List Feature */
#define CDIO_MMC_FEATURE_CORE 0x001
#define CDIO_MMC_FEATURE_REMOVABLE_MEDIUM 0x002 /**< Removable Medium
Feature */
#define CDIO_MMC_FEATURE_WRITE_PROTECT 0x003 /**< Write Protect
Feature */
#define CDIO_MMC_FEATURE_RANDOM_READABLE 0x010 /**< Random Readable
Feature */
#define CDIO_MMC_FEATURE_MULTI_READ 0x01D /**< Multi-Read
Feature */
#define CDIO_MMC_FEATURE_CD_READ 0x01E /**< CD Read
Feature */
#define CDIO_MMC_FEATURE_DVD_READ 0x01F /**< DVD Read
Feature */
#define CDIO_MMC_FEATURE_RANDOM_WRITABLE 0x020 /**< Random Writable
Feature */
#define CDIO_MMC_FEATURE_INCR_WRITE 0x021 /**< Incremental
Streaming Writable
Feature */
#define CDIO_MMC_FEATURE_SECTOR_ERASE 0x022 /**< Sector Erasable
Feature */
#define CDIO_MMC_FEATURE_FORMATABLE 0x023 /**< Formattable
Feature */
#define CDIO_MMC_FEATURE_WRITE_ONCE 0x025 /**< Write Once
Feature */
#define CDIO_MMC_FEATURE_RESTRICT_OVERW 0x026 /**< Restricted
Overwrite
Feature */
#define CDIO_MMC_FEATURE_CD_RW_CAV 0x027 /**< CD-RW CAV Write
Feature */
#define CDIO_MMC_FEATURE_MRW 0x028 /**< MRW Feature */
#define CDIO_MMC_FEATURE_DVD_PRW 0x02A /**< DVD+RW Feature */
#define CDIO_MMC_FEATURE_DVD_PR 0x02B /**< DVD+R Feature */
#define CDIO_MMC_FEATURE_CD_TAO 0x02D
#define CDIO_MMC_FEATURE_CD_SAO 0x02E
#define CDIO_MMC_FEATURE_CDDA_EXT_PLAY 0x103
@@ -142,25 +157,65 @@
#define CDIO_MMC_FEATURE_LU_SN 0x108
/*! Profile codes used in GET_CONFIGURATION - PROFILE LIST. */
#define CDIO_MMC_FEATURE_PROF_NON_REMOVABLE 0x0001
#define CDIO_MMC_FEATURE_PROF_REMOVABLE 0x0002
#define CDIO_MMC_FEATURE_PROF_MO_ERASABLE 0x0003
#define CDIO_MMC_FEATURE_PROF_MO_WRITE_ONCE 0x0004
#define CDIO_MMC_FEATURE_PROF_AS_MO 0x0005
#define CDIO_MMC_FEATURE_PROF_CD_ROM 0x0008
#define CDIO_MMC_FEATURE_PROF_CD_R 0x0009
#define CDIO_MMC_FEATURE_PROF_CD_RW 0x000A
#define CDIO_MMC_FEATURE_PROF_DVD_ROM 0x0010
#define CDIO_MMC_FEATURE_PROF_DVD_R_SEQ 0x0011
#define CDIO_MMC_FEATURE_PROF_DVD_RAM 0x0012
#define CDIO_MMC_FEATURE_PROF_DVD_RW_RO 0x0013
#define CDIO_MMC_FEATURE_PROF_DVD_RW_SEQ 0x0014
#define CDIO_MMC_FEATURE_PROF_DVD_PRW 0x001A
#define CDIO_MMC_FEATURE_PROF_DVD_PR 0x001B
#define CDIO_MMC_FEATURE_PROF_DDCD_ROM 0x0020
#define CDIO_MMC_FEATURE_PROF_DDCD_R 0x0021
#define CDIO_MMC_FEATURE_PROF_DDCD_RW 0x0022
#define CDIO_MMC_FEATURE_PROF_NON_CONFORM 0xFFFF
#define CDIO_MMC_FEATURE_PROF_NON_REMOVABLE 0x0001 /**< Re-writable
disk, capable of
changing
behavior */
#define CDIO_MMC_FEATURE_PROF_REMOVABLE 0x0002 /**< disk
Re-writable;
with removable
media */
#define CDIO_MMC_FEATURE_PROF_MO_ERASABLE 0x0003 /**< Erasable
Magneto-Optical
disk with sector
erase
capability */
#define CDIO_MMC_FEATURE_PROF_MO_WRITE_ONCE 0x0004 /**< Write Once
Magneto-Optical
write once */
#define CDIO_MMC_FEATURE_PROF_AS_MO 0x0005 /**< Advance
Storage
Magneto-Optical */
#define CDIO_MMC_FEATURE_PROF_CD_ROM 0x0008 /**< Read only
Compact Disc
capable */
#define CDIO_MMC_FEATURE_PROF_CD_R 0x0009 /**< Write once
Compact Disc
capable */
#define CDIO_MMC_FEATURE_PROF_CD_RW 0x000A /**< CD-RW
Re-writable
Compact Disc
capable */
#define CDIO_MMC_FEATURE_PROF_DVD_ROM 0x0010 /**< Read only
DVD */
#define CDIO_MMC_FEATURE_PROF_DVD_R_SEQ 0x0011 /**< Re-recordable
DVD using
Sequential
recording */
#define CDIO_MMC_FEATURE_PROF_DVD_RAM 0x0012 /**< Re-writable
DVD */
#define CDIO_MMC_FEATURE_PROF_DVD_RW_RO 0x0013 /**< Re-recordable
DVD using
Restricted
Overwrite */
#define CDIO_MMC_FEATURE_PROF_DVD_RW_SEQ 0x0014 /**< Re-recordable
DVD using
Sequential
recording */
#define CDIO_MMC_FEATURE_PROF_DVD_PRW 0x001A /**< DVD+RW - DVD
ReWritable */
#define CDIO_MMC_FEATURE_PROF_DVD_PR 0x001B /**< DVD+R - DVD
Recordable */
#define CDIO_MMC_FEATURE_PROF_DDCD_ROM 0x0020 /**< Read only
DDCD */
#define CDIO_MMC_FEATURE_PROF_DDCD_R 0x0021 /**< DDCD-R Write
only DDCD */
#define CDIO_MMC_FEATURE_PROF_DDCD_RW 0x0022 /**< Re-Write only
DDCD */
#define CDIO_MMC_FEATURE_PROF_NON_CONFORM 0xFFFF /**< The Logical
Unit does not
conform to any
Profile. */
/*! Size of fields returned by an INQUIRY command */
#define CDIO_MMC_HW_VENDOR_LEN 8 /**< length of vendor field */