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