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 */ 92