libcdio 2.4.0
dvd.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2004, 2010, 2026 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
27
28#ifndef CDIO_DVD_H_
29#define CDIO_DVD_H_
30
31#include <cdio/types.h>
32
43
48typedef enum cdio_dvd_book {
56 /* 0b0111, Reserved */
57 /* 0b1000, Reserved */
60 /* 0b1011, Reserved */
61 /* 0b1100, Reserved */
64 /* 0b1111, Reserved */
66
70typedef struct cdio_dvd_layer {
71 unsigned int book_version : 4;
72 unsigned int book_type : 4;
73 unsigned int min_rate : 4; /*< This the *maximum* rate field */
74 unsigned int disc_size : 4;
75 unsigned int layer_type : 4;
76 unsigned int track_path : 1;
77 unsigned int nlayers : 2;
78 unsigned int track_density : 4;
79 unsigned int linear_density : 4;
80 unsigned int bca : 1;
81 uint32_t start_sector;
82 uint32_t end_sector;
83 uint32_t end_sector_l0;
85
89#define CDIO_DVD_MAX_LAYERS 4
90
96
97typedef struct cdio_dvd_copyright {
98 uint8_t type;
99
100 uint8_t layer_num;
101 uint8_t cpst;
102 uint8_t rmi;
104
105typedef struct cdio_dvd_disckey {
106 uint8_t type;
107
108 unsigned agid : 2;
109 uint8_t value[2048];
111
112typedef struct cdio_dvd_bca {
113 uint8_t type;
114
115 int len;
116 uint8_t value[188];
118
119typedef struct cdio_dvd_manufact {
120 uint8_t type;
121
122 uint8_t layer_num;
123 int len;
124 uint8_t value[2048];
126
136
137#endif /* CDIO_DVD_H_ */
struct cdio_dvd_bca cdio_dvd_bca_t
#define CDIO_DVD_MAX_LAYERS
Definition dvd.h:89
struct cdio_dvd_disckey cdio_dvd_disckey_t
struct cdio_dvd_layer cdio_dvd_layer_t
struct cdio_dvd_physical cdio_dvd_physical_t
struct cdio_dvd_manufact cdio_dvd_manufact_t
cdio_dvd_book
Definition dvd.h:48
@ CDIO_DVD_BOOK_HD_DVD_R
Definition dvd.h:55
@ CDIO_DVD_BOOK_DVD_RW
Definition dvd.h:52
@ CDIO_DVD_BOOK_DVD_PR
Definition dvd.h:59
@ CDIO_DVD_BOOK_DVD_PR_DL
Definition dvd.h:63
@ CDIO_DVD_BOOK_HD_DVD_RAM
Definition dvd.h:54
@ CDIO_DVD_BOOK_DVD_ROM
Definition dvd.h:49
@ CDIO_DVD_BOOK_DVD_RAM
Definition dvd.h:50
@ CDIO_DVD_BOOK_DVD_PRW_DL
Definition dvd.h:62
@ CDIO_DVD_BOOK_DVD_PRW
Definition dvd.h:58
@ CDIO_DVD_BOOK_DVD_R
Definition dvd.h:51
@ CDIO_DVD_BOOK_HD_DVD_ROM
Definition dvd.h:53
struct cdio_dvd_copyright cdio_dvd_copyright_t
cdio_dvd_structure
Definition dvd.h:36
@ CDIO_DVD_STRUCT_PHYSICAL
Definition dvd.h:37
@ CDIO_DVD_STRUCT_DISCKEY
Definition dvd.h:39
@ CDIO_DVD_STRUCT_COPYRIGHT
Definition dvd.h:38
@ CDIO_DVD_STRUCT_MANUFACT
Definition dvd.h:41
@ CDIO_DVD_STRUCT_BCA
Definition dvd.h:40
Definition dvd.h:112
int len
Definition dvd.h:115
uint8_t value[188]
Definition dvd.h:116
uint8_t type
Definition dvd.h:113
Definition dvd.h:105
uint8_t value[2048]
Definition dvd.h:109
uint8_t type
Definition dvd.h:106
unsigned agid
Definition dvd.h:108
Definition dvd.h:70
unsigned int book_type
Definition dvd.h:72
uint32_t end_sector
Definition dvd.h:82
unsigned int nlayers
Definition dvd.h:77
unsigned int book_version
Definition dvd.h:71
unsigned int linear_density
Definition dvd.h:79
unsigned int track_path
Definition dvd.h:76
unsigned int track_density
Definition dvd.h:78
unsigned int min_rate
Definition dvd.h:73
unsigned int disc_size
Definition dvd.h:74
uint32_t start_sector
Definition dvd.h:81
unsigned int bca
Definition dvd.h:80
unsigned int layer_type
Definition dvd.h:75
uint32_t end_sector_l0
Definition dvd.h:83
Definition dvd.h:119
uint8_t value[2048]
Definition dvd.h:124
uint8_t layer_num
Definition dvd.h:122
int len
Definition dvd.h:123
uint8_t type
Definition dvd.h:120
Definition dvd.h:91
uint8_t type
Definition dvd.h:92
uint8_t layer_num
Definition dvd.h:93
cdio_dvd_layer_t layer[CDIO_DVD_MAX_LAYERS]
Definition dvd.h:94
Common type definitions used pervasively in libcdio.
Definition dvd.h:127
cdio_dvd_disckey_t disckey
Definition dvd.h:132
cdio_dvd_manufact_t manufact
Definition dvd.h:134
cdio_dvd_copyright_t copyright
Definition dvd.h:131
uint8_t type
Definition dvd.h:128
cdio_dvd_physical_t physical
Definition dvd.h:130
cdio_dvd_bca_t bca
Definition dvd.h:133

Generated for libcdio by doxygen 1.15.0