Add CDIO_DISC_MODEs to correspond to updated DVD Book types.

This commit is contained in:
R. Bernstein
2010-02-06 08:48:22 -05:00
parent 630fb9f3ef
commit 9cbaad6247
3 changed files with 43 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
/* -*- c -*-
$Id: disc.h,v 1.9 2008/03/25 15:59:09 karl Exp $
Copyright (C) 2004, 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
Copyright (C) 2004, 2005, 2006, 2008, 2010 Rocky Bernstein
<rocky@gnu.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,8 +17,9 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/** \file disc.h
* \brief The top-level header for disc-related libcdio calls.
/**
\file disc.h
\brief The top-level header for disc-related libcdio calls.
*/
#ifndef __CDIO_DISC_H__
#define __CDIO_DISC_H__
@@ -27,8 +28,10 @@
extern "C" {
#endif /* __cplusplus */
/*! disc modes. The first combined from MMC-3 5.29.2.8 (Send CUESHEET)
and GNU/Linux /usr/include/linux/cdrom.h and we've added DVD.
/**
disc modes. The first combined from MMC-5 6.33.3.13 (Send
CUESHEET), "DVD Book" from MMC-5 Table 400, page 419. and
GNU/Linux /usr/include/linux/cdrom.h and we've added DVD.
*/
typedef enum {
CDIO_DISC_MODE_CD_DA, /**< CD-DA */
@@ -39,8 +42,13 @@ extern "C" {
CDIO_DISC_MODE_DVD_RAM, /**< DVD-RAM */
CDIO_DISC_MODE_DVD_R, /**< DVD-R */
CDIO_DISC_MODE_DVD_RW, /**< DVD-RW */
CDIO_DISC_MODE_HD_DVD_ROM, /**< HD DVD-ROM */
CDIO_DISC_MODE_HD_DVD_RAM, /**< HD DVD-RAM */
CDIO_DISC_MODE_HD_DVD_R, /**< HD DVD-R */
CDIO_DISC_MODE_DVD_PR, /**< DVD+R */
CDIO_DISC_MODE_DVD_PRW, /**< DVD+RW */
CDIO_DISC_MODE_DVD_PRW_DL, /**< DVD+RW DL */
CDIO_DISC_MODE_DVD_PR_DL, /**< DVD+R DL */
CDIO_DISC_MODE_DVD_OTHER, /**< Unknown/unclassified DVD type */
CDIO_DISC_MODE_NO_INFO,
CDIO_DISC_MODE_ERROR,
@@ -49,26 +57,26 @@ extern "C" {
extern const char *discmode2str[];
/*!
/**
Get disc mode - the kind of CD (CD-DA, CD-ROM mode 1, CD-MIXED, etc.
that we've got. The notion of "CD" is extended a little to include
DVD's.
*/
discmode_t cdio_get_discmode (CdIo_t *p_cdio);
/*!
/**
Get the lsn of the end of the CD
@return the lsn. On error 0 or CDIO_INVALD_LSN.
*/
lsn_t cdio_get_disc_last_lsn(const CdIo_t *p_cdio);
/*!
/**
Return the Joliet level recognized for p_cdio.
*/
uint8_t cdio_get_joliet_level(const CdIo_t *p_cdio);
/*!
/**
Get the media catalog number (MCN) from the CD.
@return the media catalog number or NULL if there is none or we
@@ -80,7 +88,7 @@ extern "C" {
*/
char * cdio_get_mcn (const CdIo_t *p_cdio);
/*!
/**
Get the number of tracks on the CD.
@return the number of tracks, or CDIO_INVALID_TRACK if there is
@@ -88,17 +96,19 @@ extern "C" {
*/
track_t cdio_get_num_tracks (const CdIo_t *p_cdio);
/*!
/**
Return true if discmode is some sort of CD.
*/
bool cdio_is_discmode_cdrom (discmode_t discmode);
/*!
/**
Return true if discmode is some sort of DVD.
*/
bool cdio_is_discmode_dvd (discmode_t discmode);
/*! cdio_stat_size is deprecated. @see cdio_get_disc_last_lsn */
/**
cdio_stat_size is deprecated. @see cdio_get_disc_last_lsn
*/
#define cdio_stat_size cdio_get_disc_last_lsn
#ifdef __cplusplus

View File

@@ -19,6 +19,12 @@
/**
\file dvd.h
\brief Definitions for DVD access.
The documents we make use of are described Multi-Media Commands
(MMC). This document generally has a numeric level number
appended. For example MMC-5 refers to ``Multi-Media Commands - 5'
which is the current version in 2010.
*/
#ifndef __CDIO_DVD_H__
@@ -45,7 +51,7 @@
#define CDIO_DVD_BOOK_DVD_RW 0x3 /**< DVD-RW */
#define CDIO_DVD_BOOK_HD_DVD_ROM 0x4 /**< HD DVD-ROM */
#define CDIO_DVD_BOOK_HD_DVD_RAM 0x5 /**< HD DVD-RAM */
#define CDIO_DVD_BOOK_HD_DVD_R 0x6 /**< HD DVD+RW */
#define CDIO_DVD_BOOK_HD_DVD_R 0x6 /**< HD DVD-R */
#define CDIO_DVD_BOOK_DVD_PRW 0x9 /**< DVD+RW */
#define CDIO_DVD_BOOK_DVD_PR 0xa /**< DVD+R */
#define CDIO_DVD_BOOK_DVD_PRW_DL 0xd /**< DVD+RW DL */

View File

@@ -305,8 +305,13 @@ get_discmode_generic (void *p_user_data )
case CDIO_DVD_BOOK_DVD_RAM: return CDIO_DISC_MODE_DVD_RAM;
case CDIO_DVD_BOOK_DVD_R: return CDIO_DISC_MODE_DVD_R;
case CDIO_DVD_BOOK_DVD_RW: return CDIO_DISC_MODE_DVD_RW;
case CDIO_DVD_BOOK_HD_DVD_ROM: return CDIO_DISC_MODE_HD_DVD_ROM;
case CDIO_DVD_BOOK_HD_DVD_RAM: return CDIO_DISC_MODE_HD_DVD_RAM;
case CDIO_DVD_BOOK_HD_DVD_R: return CDIO_DISC_MODE_HD_DVD_R;
case CDIO_DVD_BOOK_DVD_PR: return CDIO_DISC_MODE_DVD_PR;
case CDIO_DVD_BOOK_DVD_PRW: return CDIO_DISC_MODE_DVD_PRW;
case CDIO_DVD_BOOK_DVD_PRW_DL: return CDIO_DISC_MODE_DVD_PRW_DL;
case CDIO_DVD_BOOK_DVD_PR_DL: return CDIO_DISC_MODE_DVD_PR_DL;
default: return CDIO_DISC_MODE_DVD_OTHER;
}
}