libcdio
0.82
|
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 */