libcdio  0.82
cd_types.h
Go to the documentation of this file.
00001 /*
00002     $Id: cd_types.h,v 1.18 2008/03/25 15:59:08 karl Exp $
00003 
00004     Copyright (C) 2003, 2006, 2008 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 3 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, see <http://www.gnu.org/licenses/>.
00020 */
00021 
00028 #ifndef __CDIO_CD_TYPES_H__
00029 #define __CDIO_CD_TYPES_H__
00030 
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif /* __cplusplus */
00034 
00039   typedef enum {
00040     CDIO_FS_AUDIO                = 1, 
00042     CDIO_FS_HIGH_SIERRA          = 2, 
00043     CDIO_FS_ISO_9660             = 3, 
00044     CDIO_FS_INTERACTIVE          = 4,
00045     CDIO_FS_HFS                  = 5, 
00048     CDIO_FS_UFS                  = 6, 
00056     CDIO_FS_EXT2                 = 7,
00057 
00058     CDIO_FS_ISO_HFS              = 8,  
00059     CDIO_FS_ISO_9660_INTERACTIVE = 9,  
00068     CDIO_FS_3DO                 = 10,
00069 
00070 
00074     CDIO_FS_XISO                = 11,
00075     CDIO_FS_UDFX                = 12,
00076     CDIO_FS_UDF                 = 13,
00077     CDIO_FS_ISO_UDF             = 14
00078   } cdio_fs_t;
00079 
00080 
00084 #define CDIO_FSTYPE(fs) (fs & CDIO_FS_MASK)
00085 
00091   typedef enum {
00092     CDIO_FS_MASK              =   0x000f, 
00095     CDIO_FS_ANAL_XA           =   0x00010, 
00096     CDIO_FS_ANAL_MULTISESSION =   0x00020, 
00097     CDIO_FS_ANAL_PHOTO_CD     =   0x00040, 
00098     CDIO_FS_ANAL_HIDDEN_TRACK =   0x00080, 
00100     CDIO_FS_ANAL_CDTV         =   0x00100,
00101     CDIO_FS_ANAL_BOOTABLE     =   0x00200, 
00102     CDIO_FS_ANAL_VIDEOCD      =   0x00400, 
00103     CDIO_FS_ANAL_ROCKRIDGE    =   0x00800, 
00105     CDIO_FS_ANAL_JOLIET       =   0x01000, 
00107     CDIO_FS_ANAL_SVCD         =   0x02000, 
00108     CDIO_FS_ANAL_CVD          =   0x04000, 
00109     CDIO_FS_ANAL_XISO         =   0x08000, 
00110     CDIO_FS_ANAL_ISO9660_ANY  =   0x10000, 
00111     CDIO_FS_ANAL_VCD_ANY      =   (CDIO_FS_ANAL_VIDEOCD|CDIO_FS_ANAL_SVCD|
00112                                    CDIO_FS_ANAL_CVD),
00113     CDIO_FS_MATCH_ALL         =  ~CDIO_FS_MASK 
00118   } cdio_fs_cap_t;
00119     
00120 
00121 #define CDIO_FS_UNKNOWN             CDIO_FS_MASK
00122 
00126 #define CDIO_FS_MATCH_ALL            (cdio_fs_anal_t) (~CDIO_FS_MASK)
00127 
00128 
00135 typedef struct 
00136 {
00137   unsigned int  joliet_level;  
00139   char          iso_label[33]; 
00141   unsigned int  isofs_size;
00142   uint8_t       UDFVerMinor;   
00143   uint8_t       UDFVerMajor;   
00144 } cdio_iso_analysis_t;
00145 
00151 cdio_fs_anal_t cdio_guess_cd_type(const CdIo_t *cdio, int start_session, 
00152                                   track_t track_num, 
00153                                   /*out*/ cdio_iso_analysis_t *iso_analysis);
00154 
00155 #ifdef __cplusplus
00156 }
00157 #endif /* __cplusplus */
00158 
00164 extern cdio_fs_cap_t debug_cdio_fs_cap;
00165 extern cdio_fs_t     debug_cdio_fs;
00166 
00167 #endif /* __CDIO_CD_TYPES_H__ */
00168 
00169 /* 
00170  * Local variables:
00171  *  c-file-style: "gnu"
00172  *  tab-width: 8
00173  *  indent-tabs-mode: nil
00174  * End:
00175  */

Generated for libcdio by doxygen 1.7.6.1