cd_types.h

Go to the documentation of this file.
00001 /*
00002     $Id: cd_types.h,v 1.14 2006/02/13 08:44:17 rocky Exp $
00003 
00004     Copyright (C) 2003, 2006 Rocky Bernstein <rocky@panix.com>
00005     Copyright (C) 1996,1997,1998  Gerd Knorr <kraxel@bytesex.org>
00006          and       Heiko Eißfeldt <heiko@hexco.de>
00007 
00008     This program is free software; you can redistribute it and/or modify
00009     it under the terms of the GNU General Public License as published by
00010     the Free Software Foundation; either version 2 of the License, or
00011     (at your option) any later version.
00012 
00013     This program is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016     GNU General Public License for more details.
00017 
00018     You should have received a copy of the GNU General Public License
00019     along with this program; if not, write to the Free Software
00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00021 */
00022 
00029 #ifndef __CDIO_CD_TYPES_H__
00030 #define __CDIO_CD_TYPES_H__
00031 
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif /* __cplusplus */
00035 
00040   typedef enum {
00041     CDIO_FS_AUDIO                = 1, 
00043     CDIO_FS_HIGH_SIERRA          = 2, 
00044     CDIO_FS_ISO_9660             = 3, 
00045     CDIO_FS_INTERACTIVE          = 4,
00046     CDIO_FS_HFS                  = 5, 
00049     CDIO_FS_UFS                  = 6, 
00057     CDIO_FS_EXT2                 = 7,
00058 
00059     CDIO_FS_ISO_HFS              = 8,  
00060     CDIO_FS_ISO_9660_INTERACTIVE = 9,  
00069     CDIO_FS_3DO                 = 10,
00070 
00071 
00075     CDIO_FS_XISO                = 11,
00076     CDIO_FS_UDFX                = 12,
00077     CDIO_FS_UDF                 = 13,
00078     CDIO_FS_ISO_UDF             = 14
00079   } cdio_fs_t;
00080 
00081 
00085 #define CDIO_FSTYPE(fs) (fs & CDIO_FS_MASK)
00086 
00092   typedef enum {
00093     CDIO_FS_MASK              =   0x000f, 
00096     CDIO_FS_ANAL_XA           =   0x0010, 
00097     CDIO_FS_ANAL_MULTISESSION =   0x0020, 
00098     CDIO_FS_ANAL_PHOTO_CD     =   0x0040, 
00099     CDIO_FS_ANAL_HIDDEN_TRACK =   0x0080, 
00101     CDIO_FS_ANAL_CDTV         =   0x0100,
00102     CDIO_FS_ANAL_BOOTABLE     =   0x0200, 
00103     CDIO_FS_ANAL_VIDEOCD      =   0x0400, 
00104     CDIO_FS_ANAL_ROCKRIDGE    =   0x0800, 
00106     CDIO_FS_ANAL_JOLIET       =   0x1000, 
00108     CDIO_FS_ANAL_SVCD         =   0x2000, 
00109     CDIO_FS_ANAL_CVD          =   0x4000, 
00110     CDIO_FS_ANAL_XISO         =   0x8000, 
00111     CDIO_FS_MATCH_ALL         =  ~CDIO_FS_MASK 
00116   } cdio_fs_cap_t;
00117     
00118 
00119 #define CDIO_FS_UNKNOWN             CDIO_FS_MASK
00120 
00124 #define CDIO_FS_MATCH_ALL            (cdio_fs_anal_t) (~CDIO_FS_MASK)
00125 
00126 
00133 typedef struct 
00134 {
00135   unsigned int  joliet_level;  
00137   char          iso_label[33]; 
00139   unsigned int  isofs_size;
00140   uint8_t       UDFVerMinor;   
00141   uint8_t       UDFVerMajor;   
00142 } cdio_iso_analysis_t;
00143 
00149 cdio_fs_anal_t cdio_guess_cd_type(const CdIo_t *cdio, int start_session, 
00150                                   track_t track_num, 
00151                                   /*out*/ cdio_iso_analysis_t *iso_analysis);
00152 
00153 #ifdef __cplusplus
00154 }
00155 #endif /* __cplusplus */
00156 
00162 extern cdio_fs_cap_t debug_cdio_fs_cap;
00163 extern cdio_fs_t     debug_cdio_fs;
00164 
00165 #endif /* __CDIO_CD_TYPES_H__ */
00166 
00167 /* 
00168  * Local variables:
00169  *  c-file-style: "gnu"
00170  *  tab-width: 8
00171  *  indent-tabs-mode: nil
00172  * End:
00173  */

Generated on Thu Oct 5 09:21:38 2006 for libcdio by  doxygen 1.4.7