libcdio  2.0.0
dvd.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2004, 2010 Rocky Bernstein <rocky@gnu.org>
3  Modeled after GNU/Linux definitions in linux/cdrom.h
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
30 #ifndef CDIO_DVD_H_
31 #define CDIO_DVD_H_
32 
33 #include <cdio/types.h>
34 
38 typedef enum cdio_dvd_structure
39 {
46 
50 typedef enum cdio_dvd_book
51 {
64 
65 typedef struct cdio_dvd_layer {
66  unsigned int book_version : 4;
67  unsigned int book_type : 4;
68  unsigned int min_rate : 4;
69  unsigned int disc_size : 4;
70  unsigned int layer_type : 4;
71  unsigned int track_path : 1;
72  unsigned int nlayers : 2;
73  unsigned int track_density : 4;
74  unsigned int linear_density : 4;
75  unsigned int bca : 1;
76  uint32_t start_sector;
77  uint32_t end_sector;
78  uint32_t end_sector_l0;
80 
84 #define CDIO_DVD_MAX_LAYERS 4
85 
86 typedef struct cdio_dvd_physical {
87  uint8_t type;
88  uint8_t layer_num;
91 
92 typedef struct cdio_dvd_copyright {
93  uint8_t type;
94 
95  uint8_t layer_num;
96  uint8_t cpst;
97  uint8_t rmi;
99 
100 typedef struct cdio_dvd_disckey {
101  uint8_t type;
102 
103  unsigned agid : 2;
104  uint8_t value[2048];
106 
107 typedef struct cdio_dvd_bca {
108  uint8_t type;
109 
110  int len;
111  uint8_t value[188];
113 
114 typedef struct cdio_dvd_manufact {
115  uint8_t type;
116 
117  uint8_t layer_num;
118  int len;
119  uint8_t value[2048];
121 
122 typedef union {
123  uint8_t type;
124 
131 
132 #endif /* CDIO_DVD_H_ */
cdio_dvd_layer::end_sector_l0
uint32_t end_sector_l0
Definition: dvd.h:78
CDIO_DVD_BOOK_DVD_PR
@ CDIO_DVD_BOOK_DVD_PR
Definition: dvd.h:60
cdio_dvd_layer::layer_type
unsigned int layer_type
Definition: dvd.h:70
cdio_dvd_disckey::agid
unsigned agid
Definition: dvd.h:103
cdio_dvd_bca_t
struct cdio_dvd_bca cdio_dvd_bca_t
cdio_dvd_layer::track_path
unsigned int track_path
Definition: dvd.h:71
cdio_dvd_layer::linear_density
unsigned int linear_density
Definition: dvd.h:74
cdio_dvd_bca
Definition: dvd.h:107
cdio_dvd_manufact::type
uint8_t type
Definition: dvd.h:115
CDIO_DVD_BOOK_DVD_RAM
@ CDIO_DVD_BOOK_DVD_RAM
Definition: dvd.h:53
cdio_dvd_struct_t::bca
cdio_dvd_bca_t bca
Definition: dvd.h:128
CDIO_DVD_BOOK_DVD_RW
@ CDIO_DVD_BOOK_DVD_RW
Definition: dvd.h:55
types.h
Common type definitions used pervasively in libcdio.
CDIO_DVD_STRUCT_MANUFACT
@ CDIO_DVD_STRUCT_MANUFACT
Definition: dvd.h:44
cdio_dvd_manufact_t
struct cdio_dvd_manufact cdio_dvd_manufact_t
cdio_dvd_struct_t::type
uint8_t type
Definition: dvd.h:123
cdio_dvd_bca::len
int len
Definition: dvd.h:110
cdio_dvd_layer::end_sector
uint32_t end_sector
Definition: dvd.h:77
cdio_dvd_layer::start_sector
uint32_t start_sector
Definition: dvd.h:76
cdio_dvd_manufact::len
int len
Definition: dvd.h:118
CDIO_DVD_STRUCT_PHYSICAL
@ CDIO_DVD_STRUCT_PHYSICAL
Definition: dvd.h:40
cdio_dvd_manufact::value
uint8_t value[2048]
Definition: dvd.h:119
cdio_dvd_layer::book_version
unsigned int book_version
Definition: dvd.h:66
cdio_dvd_layer::disc_size
unsigned int disc_size
Definition: dvd.h:69
cdio_dvd_manufact::layer_num
uint8_t layer_num
Definition: dvd.h:117
CDIO_DVD_BOOK_HD_DVD_RAM
@ CDIO_DVD_BOOK_HD_DVD_RAM
Definition: dvd.h:57
cdio_dvd_layer_t
struct cdio_dvd_layer cdio_dvd_layer_t
CDIO_DVD_BOOK_DVD_ROM
@ CDIO_DVD_BOOK_DVD_ROM
Definition: dvd.h:52
cdio_dvd_structure
cdio_dvd_structure
Definition: dvd.h:38
CDIO_DVD_BOOK_DVD_PRW_DL
@ CDIO_DVD_BOOK_DVD_PRW_DL
Definition: dvd.h:61
cdio_dvd_copyright_t
struct cdio_dvd_copyright cdio_dvd_copyright_t
cdio_dvd_struct_t::physical
cdio_dvd_physical_t physical
Definition: dvd.h:125
cdio_dvd_struct_t::copyright
cdio_dvd_copyright_t copyright
Definition: dvd.h:126
cdio_dvd_physical::layer_num
uint8_t layer_num
Definition: dvd.h:88
cdio_dvd_bca::type
uint8_t type
Definition: dvd.h:108
CDIO_DVD_STRUCT_BCA
@ CDIO_DVD_STRUCT_BCA
Definition: dvd.h:43
cdio_dvd_layer::track_density
unsigned int track_density
Definition: dvd.h:73
cdio_dvd_book
cdio_dvd_book
Definition: dvd.h:50
CDIO_DVD_BOOK_DVD_PRW
@ CDIO_DVD_BOOK_DVD_PRW
Definition: dvd.h:59
cdio_dvd_layer::nlayers
unsigned int nlayers
Definition: dvd.h:72
CDIO_DVD_BOOK_DVD_PR_DL
@ CDIO_DVD_BOOK_DVD_PR_DL
Definition: dvd.h:62
cdio_dvd_disckey::value
uint8_t value[2048]
Definition: dvd.h:104
cdio_dvd_disckey
Definition: dvd.h:100
cdio_dvd_physical_t
struct cdio_dvd_physical cdio_dvd_physical_t
cdio_dvd_layer::book_type
unsigned int book_type
Definition: dvd.h:67
cdio_dvd_struct_t::disckey
cdio_dvd_disckey_t disckey
Definition: dvd.h:127
CDIO_DVD_BOOK_DVD_R
@ CDIO_DVD_BOOK_DVD_R
Definition: dvd.h:54
CDIO_DVD_BOOK_HD_DVD_ROM
@ CDIO_DVD_BOOK_HD_DVD_ROM
Definition: dvd.h:56
cdio_dvd_struct_t
Definition: dvd.h:122
CDIO_DVD_STRUCT_COPYRIGHT
@ CDIO_DVD_STRUCT_COPYRIGHT
Definition: dvd.h:41
CDIO_DVD_STRUCT_DISCKEY
@ CDIO_DVD_STRUCT_DISCKEY
Definition: dvd.h:42
cdio_dvd_physical
Definition: dvd.h:86
cdio_dvd_physical::layer
cdio_dvd_layer_t layer[CDIO_DVD_MAX_LAYERS]
Definition: dvd.h:89
cdio_dvd_manufact
Definition: dvd.h:114
cdio_dvd_bca::value
uint8_t value[188]
Definition: dvd.h:111
cdio_dvd_layer
Definition: dvd.h:65
cdio_dvd_disckey_t
struct cdio_dvd_disckey cdio_dvd_disckey_t
CDIO_DVD_MAX_LAYERS
#define CDIO_DVD_MAX_LAYERS
Definition: dvd.h:84
cdio_dvd_layer::min_rate
unsigned int min_rate
Definition: dvd.h:68
cdio_dvd_disckey::type
uint8_t type
Definition: dvd.h:101
cdio_dvd_physical::type
uint8_t type
Definition: dvd.h:87
cdio_dvd_layer::bca
unsigned int bca
Definition: dvd.h:75
cdio_dvd_struct_t::manufact
cdio_dvd_manufact_t manufact
Definition: dvd.h:129
CDIO_DVD_BOOK_HD_DVD_R
@ CDIO_DVD_BOOK_HD_DVD_R
Definition: dvd.h:58

Generated for libcdio by doxygen 1.8.17