libcdio
0.90
Main Page
Data Structures
Files
File List
Globals
include
cdio
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
{
40
CDIO_DVD_STRUCT_PHYSICAL
= 0x00,
41
CDIO_DVD_STRUCT_COPYRIGHT
= 0x01,
42
CDIO_DVD_STRUCT_DISCKEY
= 0x02,
43
CDIO_DVD_STRUCT_BCA
= 0x03,
44
CDIO_DVD_STRUCT_MANUFACT
= 0x04
45
}
cdio_dvd_structure
;
46
50
typedef
enum
cdio_dvd_book
51
{
52
CDIO_DVD_BOOK_DVD_ROM
= 0x0,
53
CDIO_DVD_BOOK_DVD_RAM
= 0x1,
54
CDIO_DVD_BOOK_DVD_R
= 0x2,
55
CDIO_DVD_BOOK_DVD_RW
= 0x3,
56
CDIO_DVD_BOOK_HD_DVD_ROM
= 0x4,
57
CDIO_DVD_BOOK_HD_DVD_RAM
= 0x5,
58
CDIO_DVD_BOOK_HD_DVD_R
= 0x6,
59
CDIO_DVD_BOOK_DVD_PRW
= 0x9,
60
CDIO_DVD_BOOK_DVD_PR
= 0xa,
61
CDIO_DVD_BOOK_DVD_PRW_DL
= 0xd,
62
CDIO_DVD_BOOK_DVD_PR_DL
= 0xe
63
}
cdio_dvd_book
;
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
;
79
}
cdio_dvd_layer_t
;
80
84
#define CDIO_DVD_MAX_LAYERS 4
85
86
typedef
struct
cdio_dvd_physical
{
87
uint8_t
type
;
88
uint8_t
layer_num
;
89
cdio_dvd_layer_t
layer
[
CDIO_DVD_MAX_LAYERS
];
90
}
cdio_dvd_physical_t
;
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
;
98
}
cdio_dvd_copyright_t
;
99
100
typedef
struct
cdio_dvd_disckey
{
101
uint8_t
type
;
102
103
unsigned
agid
: 2;
104
uint8_t
value
[2048];
105
}
cdio_dvd_disckey_t
;
106
107
typedef
struct
cdio_dvd_bca
{
108
uint8_t
type
;
109
110
int
len
;
111
uint8_t
value
[188];
112
}
cdio_dvd_bca_t
;
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];
120
}
cdio_dvd_manufact_t
;
121
122
typedef
union
{
123
uint8_t
type
;
124
125
cdio_dvd_physical_t
physical
;
126
cdio_dvd_copyright_t
copyright
;
127
cdio_dvd_disckey_t
disckey
;
128
cdio_dvd_bca_t
bca
;
129
cdio_dvd_manufact_t
manufact
;
130
}
cdio_dvd_struct_t
;
131
132
#endif
/* CDIO_DVD_H_ */
Generated for libcdio by
1.8.3.1