libcdio  0.83
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 
39 #define CDIO_DVD_STRUCT_PHYSICAL 0x00
40 #define CDIO_DVD_STRUCT_COPYRIGHT 0x01
41 #define CDIO_DVD_STRUCT_DISCKEY 0x02
42 #define CDIO_DVD_STRUCT_BCA 0x03
43 #define CDIO_DVD_STRUCT_MANUFACT 0x04
44 
48 #define CDIO_DVD_BOOK_DVD_ROM 0x0
49 #define CDIO_DVD_BOOK_DVD_RAM 0x1
50 #define CDIO_DVD_BOOK_DVD_R 0x2
51 #define CDIO_DVD_BOOK_DVD_RW 0x3
52 #define CDIO_DVD_BOOK_HD_DVD_ROM 0x4
53 #define CDIO_DVD_BOOK_HD_DVD_RAM 0x5
54 #define CDIO_DVD_BOOK_HD_DVD_R 0x6
55 #define CDIO_DVD_BOOK_DVD_PRW 0x9
56 #define CDIO_DVD_BOOK_DVD_PR 0xa
57 #define CDIO_DVD_BOOK_DVD_PRW_DL 0xd
58 #define CDIO_DVD_BOOK_DVD_PR_DL 0xe
60 typedef struct cdio_dvd_layer {
61  unsigned int book_version : 4;
62  unsigned int book_type : 4;
63  unsigned int min_rate : 4;
64  unsigned int disc_size : 4;
65  unsigned int layer_type : 4;
66  unsigned int track_path : 1;
67  unsigned int nlayers : 2;
68  unsigned int track_density : 4;
69  unsigned int linear_density : 4;
70  unsigned int bca : 1;
71  uint32_t start_sector;
72  uint32_t end_sector;
73  uint32_t end_sector_l0;
75 
79 #define CDIO_DVD_MAX_LAYERS 4
80 
81 typedef struct cdio_dvd_physical {
82  uint8_t type;
83  uint8_t layer_num;
86 
87 typedef struct cdio_dvd_copyright {
88  uint8_t type;
89 
90  uint8_t layer_num;
91  uint8_t cpst;
92  uint8_t rmi;
94 
95 typedef struct cdio_dvd_disckey {
96  uint8_t type;
97 
98  unsigned agid : 2;
99  uint8_t value[2048];
101 
102 typedef struct cdio_dvd_bca {
103  uint8_t type;
104 
105  int len;
106  uint8_t value[188];
108 
109 typedef struct cdio_dvd_manufact {
110  uint8_t type;
111 
112  uint8_t layer_num;
113  int len;
114  uint8_t value[2048];
116 
117 typedef union {
118  uint8_t type;
119 
126 
127 #endif /* __CDIO_DVD_H__ */

Generated for libcdio by doxygen 1.8.1.1