libcdio  2.1.0
Data Structures | Macros | Enumerations | Functions | Variables
cd_types.h File Reference

Header for routines which automatically determine the Compact Disc format and possibly filesystem on the CD. More...

Go to the source code of this file.

Data Structures

struct  cdio_iso_analysis_t
 The type used to return analysis information from cdio_guess_cd_type. More...
 

Macros

#define CDIO_FSTYPE(fs)   (fs & CDIO_FS_MASK)
 
#define CDIO_FS_UNKNOWN   CDIO_FS_MASK
 
#define CDIO_FS_MATCH_ALL   (cdio_fs_anal_t) (~CDIO_FS_MASK)
 

Enumerations

enum  cdio_fs_t {
  CDIO_FS_AUDIO = 1, CDIO_FS_HIGH_SIERRA = 2, CDIO_FS_ISO_9660 = 3, CDIO_FS_INTERACTIVE = 4,
  CDIO_FS_HFS = 5, CDIO_FS_UFS = 6, CDIO_FS_EXT2 = 7, CDIO_FS_ISO_HFS = 8,
  CDIO_FS_ISO_9660_INTERACTIVE = 9, CDIO_FS_3DO = 10, CDIO_FS_XISO = 11, CDIO_FS_UDFX = 12,
  CDIO_FS_UDF = 13, CDIO_FS_ISO_UDF = 14
}
 
enum  cdio_fs_cap_t {
  CDIO_FS_MASK = 0x000f, CDIO_FS_ANAL_XA = 0x00010, CDIO_FS_ANAL_MULTISESSION = 0x00020, CDIO_FS_ANAL_PHOTO_CD = 0x00040,
  CDIO_FS_ANAL_HIDDEN_TRACK = 0x00080, CDIO_FS_ANAL_CDTV = 0x00100, CDIO_FS_ANAL_BOOTABLE = 0x00200, CDIO_FS_ANAL_VIDEOCD = 0x00400,
  CDIO_FS_ANAL_ROCKRIDGE = 0x00800, CDIO_FS_ANAL_JOLIET = 0x01000, CDIO_FS_ANAL_SVCD = 0x02000, CDIO_FS_ANAL_CVD = 0x04000,
  CDIO_FS_ANAL_XISO = 0x08000, CDIO_FS_ANAL_ISO9660_ANY = 0x10000, CDIO_FS_ANAL_VCD_ANY, CDIO_FS_MATCH_ALL = ~CDIO_FS_MASK
}
 

Functions

cdio_fs_anal_t cdio_guess_cd_type (const CdIo_t *cdio, int start_session, track_t track_num, cdio_iso_analysis_t *iso_analysis)
 

Variables

cdio_fs_cap_t debug_cdio_fs_cap
 
cdio_fs_t debug_cdio_fs
 

Detailed Description

Header for routines which automatically determine the Compact Disc format and possibly filesystem on the CD.

Macro Definition Documentation

◆ CDIO_FS_MATCH_ALL

#define CDIO_FS_MATCH_ALL   (cdio_fs_anal_t) (~CDIO_FS_MASK)

◆ CDIO_FS_UNKNOWN

#define CDIO_FS_UNKNOWN   CDIO_FS_MASK

◆ CDIO_FSTYPE

#define CDIO_FSTYPE (   fs)    (fs & CDIO_FS_MASK)

Macro to extract just the FS type portion defined above

Enumeration Type Documentation

◆ cdio_fs_cap_t

Bit masks for the classes of CD-images. These are generally higher-level than the fs-type information above and may be determined based of the fs type information. This

Enumerator
CDIO_FS_MASK 

Note: this should be 2**n-1 and and greater than the highest CDIO_FS number above

CDIO_FS_ANAL_XA 

eXtended Architecture format

CDIO_FS_ANAL_MULTISESSION 

CD has multisesion

CDIO_FS_ANAL_PHOTO_CD 

Is a Kodak Photo CD

CDIO_FS_ANAL_HIDDEN_TRACK 

Hidden track at the beginning of the CD

CDIO_FS_ANAL_CDTV 
CDIO_FS_ANAL_BOOTABLE 

CD is bootable

CDIO_FS_ANAL_VIDEOCD 

VCD 1.1

CDIO_FS_ANAL_ROCKRIDGE 

Has Rock Ridge Extensions to ISO 9660,

CDIO_FS_ANAL_JOLIET 

Microsoft Joliet extensions to ISO 9660,

CDIO_FS_ANAL_SVCD 

Super VCD or Choiji Video CD

CDIO_FS_ANAL_CVD 

Choiji Video CD

CDIO_FS_ANAL_XISO 

XBOX CD

CDIO_FS_ANAL_ISO9660_ANY 

Any sort fo ISO9660 FS

CDIO_FS_ANAL_VCD_ANY 
CDIO_FS_MATCH_ALL 

bitmask which can be used by cdio_get_devices to specify matching any sort of CD.

◆ cdio_fs_t

enum cdio_fs_t

Filesystem types we understand. The highest-numbered fs type should be less than CDIO_FS_MASK defined below.

Enumerator
CDIO_FS_AUDIO 

audio only - not really a filesystem

CDIO_FS_HIGH_SIERRA 

High-Sierra Filesystem

CDIO_FS_ISO_9660 

ISO 9660 filesystem

CDIO_FS_INTERACTIVE 
CDIO_FS_HFS 

file system used on the Macintosh system in MacOS 6 through MacOS 9 and deprecated in OSX.

CDIO_FS_UFS 

Generic Unix file system derived from the Berkeley fast file system. EXT2 was the GNU/Linux native filesystem for early kernels. Newer GNU/Linux OS's may use EXT3 which is EXT2 with a journal.

CDIO_FS_EXT2 
CDIO_FS_ISO_HFS 

both HFS & ISO-9660 filesystem

CDIO_FS_ISO_9660_INTERACTIVE 

both CD-RTOS and ISO filesystem The 3DO is, technically, a set of specifications created by the 3DO company. These specs are for making a 3DO Interactive Multiplayer which uses a CD-player. Panasonic in the early 90's was the first company to manufacture and market a 3DO player.

CDIO_FS_3DO 

Microsoft X-BOX CD.

CDIO_FS_XISO 
CDIO_FS_UDFX 
CDIO_FS_UDF 
CDIO_FS_ISO_UDF 

Function Documentation

◆ cdio_guess_cd_type()

cdio_fs_anal_t cdio_guess_cd_type ( const CdIo_t cdio,
int  start_session,
track_t  track_num,
cdio_iso_analysis_t iso_analysis 
)

Try to determine what kind of CD-image and/or filesystem we have at track track_num. Return information about the CD image is returned in iso_analysis and the return value.

Variable Documentation

◆ debug_cdio_fs

cdio_fs_t debug_cdio_fs

◆ debug_cdio_fs_cap

cdio_fs_cap_t debug_cdio_fs_cap

The below variables are trickery to force the above enum symbol values to be recorded in debug symbol tables. They are used to allow one to refer to the enumeration value names in the typedefs above in a debugger and debugger expressions.