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