libcdio  2.1.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_ */
unsigned int bca
Definition: dvd.h:75
Definition: dvd.h:44
uint32_t end_sector
Definition: dvd.h:77
Definition: dvd.h:65
uint32_t start_sector
Definition: dvd.h:76
struct cdio_dvd_layer cdio_dvd_layer_t
unsigned int linear_density
Definition: dvd.h:74
Common type definitions used pervasively in libcdio.
Definition: dvd.h:100
uint8_t type
Definition: dvd.h:123
Definition: dvd.h:122
unsigned agid
Definition: dvd.h:103
int len
Definition: dvd.h:118
unsigned int book_version
Definition: dvd.h:66
Definition: dvd.h:61
uint32_t end_sector_l0
Definition: dvd.h:78
unsigned int disc_size
Definition: dvd.h:69
Definition: dvd.h:55
#define CDIO_DVD_MAX_LAYERS
Definition: dvd.h:84
cdio_dvd_bca_t bca
Definition: dvd.h:128
Definition: dvd.h:60
uint8_t type
Definition: dvd.h:108
cdio_dvd_copyright_t copyright
Definition: dvd.h:126
Definition: dvd.h:54
uint8_t type
Definition: dvd.h:115
Definition: dvd.h:42
cdio_dvd_physical_t physical
Definition: dvd.h:125
Definition: dvd.h:86
struct cdio_dvd_manufact cdio_dvd_manufact_t
unsigned int nlayers
Definition: dvd.h:72
unsigned int track_density
Definition: dvd.h:73
cdio_dvd_manufact_t manufact
Definition: dvd.h:129
Definition: dvd.h:57
struct cdio_dvd_bca cdio_dvd_bca_t
Definition: dvd.h:52
cdio_dvd_book
Definition: dvd.h:50
struct cdio_dvd_physical cdio_dvd_physical_t
uint8_t type
Definition: dvd.h:87
uint8_t type
Definition: dvd.h:101
Definition: dvd.h:43
unsigned int min_rate
Definition: dvd.h:68
Definition: dvd.h:58
uint8_t layer_num
Definition: dvd.h:117
Definition: dvd.h:62
cdio_dvd_structure
Definition: dvd.h:38
Definition: dvd.h:59
uint8_t layer_num
Definition: dvd.h:88
Definition: dvd.h:56
unsigned int book_type
Definition: dvd.h:67
Definition: dvd.h:40
Definition: dvd.h:53
Definition: dvd.h:114
Definition: dvd.h:107
Definition: dvd.h:41
struct cdio_dvd_disckey cdio_dvd_disckey_t
int len
Definition: dvd.h:110
struct cdio_dvd_copyright cdio_dvd_copyright_t
cdio_dvd_disckey_t disckey
Definition: dvd.h:127
unsigned int layer_type
Definition: dvd.h:70
unsigned int track_path
Definition: dvd.h:71