cd_types.h

Go to the documentation of this file.
00001 /*
00002     $Id: cd__types_8h-source.html,v 1.19 2006/10/27 11:16:41 rocky Exp $
00003 
00004     Copyright (C) 2003, 2006 Rocky Bernstein <rocky@cpan.org>
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           =   0x00010, 
00097     CDIO_FS_ANAL_MULTISESSION =   0x00020, 
00098     CDIO_FS_ANAL_PHOTO_CD     =   0x00040, 
00099     CDIO_FS_ANAL_HIDDEN_TRACK =   0x00080, 
00101     CDIO_FS_ANAL_CDTV         =   0x00100,
00102     CDIO_FS_ANAL_BOOTABLE     =   0x00200, 
00103     CDIO_FS_ANAL_VIDEOCD      =   0x00400, 
00104     CDIO_FS_ANAL_ROCKRIDGE    =   0x00800, 
00106     CDIO_FS_ANAL_JOLIET       =   0x01000, 
00108     CDIO_FS_ANAL_SVCD         =   0x02000, 
00109     CDIO_FS_ANAL_CVD          =   0x04000, 
00110     CDIO_FS_ANAL_XISO         =   0x08000, 
00111     CDIO_FS_ANAL_ISO9660_ANY  =   0x10000, 
00112     CDIO_FS_ANAL_VCD_ANY      =   (CDIO_FS_ANAL_VIDEOCD|CDIO_FS_ANAL_SVCD|
00113                                    CDIO_FS_ANAL_CVD),
00114     CDIO_FS_MATCH_ALL         =  ~CDIO_FS_MASK 
00119   } cdio_fs_cap_t;
00120     
00121 
00122 #define CDIO_FS_UNKNOWN             CDIO_FS_MASK
00123 
00127 #define CDIO_FS_MATCH_ALL            (cdio_fs_anal_t) (~CDIO_FS_MASK)
00128 
00129 
00136 typedef struct 
00137 {
00138   unsigned int  joliet_level;  
00140   char          iso_label[33]; 
00142   unsigned int  isofs_size;
00143   uint8_t       UDFVerMinor;   
00144   uint8_t       UDFVerMajor;   
00145 } cdio_iso_analysis_t;
00146 
00152 cdio_fs_anal_t cdio_guess_cd_type(const CdIo_t *cdio, int start_session, 
00153                                   track_t track_num, 
00154                                   /*out*/ cdio_iso_analysis_t *iso_analysis);
00155 
00156 #ifdef __cplusplus
00157 }
00158 #endif /* __cplusplus */
00159 
00165 extern cdio_fs_cap_t debug_cdio_fs_cap;
00166 extern cdio_fs_t     debug_cdio_fs;
00167 
00168 #endif /* __CDIO_CD_TYPES_H__ */
00169 
00170 /* 
00171  * Local variables:
00172  *  c-file-style: "gnu"
00173  *  tab-width: 8
00174  *  indent-tabs-mode: nil
00175  * End:
00176  */

Generated on Fri Oct 27 06:38:08 2006 for libcdio by  doxygen 1.4.6