1 /* @(#)ifo_types.h	1.3 18/09/17 joerg */
2 
3 #ifndef	_IFO_TYPES_H
4 #define	_IFO_TYPES_H
5 /*
6  * Copyright (C) 2001, 2002 Billy Biggs <vektor@dumbterm.net>,
7  *			    H�kan Hjort <d95hjort@dtek.chalmers.se>,
8  *			    Olaf Beck <olaf_sc@yahoo.com>
9  *			    (I only did the cut down no other contribs)
10  *
11  * Copyright (C) 2001, 2002-2015 J�rg Schilling <joerg@schily.net>
12  *
13  * This program is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 2 of the License, or (at
16  * your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful, but
19  * WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21  * General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26  */
27 
28 /*
29  * NOTE: This is a cut down version of libdvdread for mkisofs, due
30  * to portability issues with the current libdvdread according to
31  * the maintainer of mkisofs.
32  * This cut down version only reads from a harddisk file structure
33  * and it only implements the functions necessary inorder to make
34  * mkisofs produce valid DVD-Video images.
35  * DON'T USE THIS LIBRARY IN ANY OTHER PROGRAM GET THE REAL
36  * LIBDVDREAD INSTEAD
37  */
38 
39 #include "dvd_reader.h"
40 
41 
42 typedef struct {
43 	UInt32_t	title_set_sector; 	/* sector */
44 } title_info_t;
45 
46 
47 typedef struct {
48 	UInt16_t	nr_of_srpts;
49 	title_info_t *	title;			/* array of title info */
50 } tt_srpt_t;
51 
52 typedef struct {
53 	UInt32_t	vmg_last_sector;	/*sector */
54 	UInt32_t	vmgi_last_sector;	/* sector */
55 	UInt16_t	vmg_nr_of_title_sets;
56 	UInt32_t	vmgm_vobs;		/* sector */
57 	UInt32_t	tt_srpt;		/* sector */
58 } vmgi_mat_t;
59 
60 
61 
62 typedef struct {
63 	UInt32_t	vts_last_sector;	/* sector */
64 	UInt32_t	vtsi_last_sector;	/* sector */
65 	UInt32_t	vtsm_vobs;		/* sector */
66 	UInt32_t	vtstt_vobs;		/* sector */
67 } vtsi_mat_t;
68 
69 
70 typedef struct {
71 	/* VMGI */
72 	vmgi_mat_t *	vmgi_mat;
73 	tt_srpt_t  *	tt_srpt;
74 
75 	/* VTSI */
76 	vtsi_mat_t *	vtsi_mat;
77 } ifo_handle_t;
78 
79 
80 #endif	/* _IFO_TYPES_H */
81