| Copyright | (c) 2019-2021 Sam May |
|---|---|
| License | GPL-3.0-or-later |
| Maintainer | ag@eitilt.life |
| Stability | stable |
| Portability | non-portable (requires libcdio) |
| Safe Haskell | None |
| Language | Haskell2010 |
Foreign.Libcdio.CdTypes
Description
Like any drive, discs may store their data according to many different
filesystem structures. These are abstracted to a degree in libcdio, but as
each track may store its data differently, and at the very least Audio is
handled differently than any of the file-oriented layouts, it is still helpful
to know the underlying structure.
cd_types.h
Defines
- CDIO_FSTYPE (removed; cdio_fs_anal_t represented differently in Haskell)
- CDIO_FS_UNKNOWN (removed; handled via
Nothing)
Types
cdio_fs_t->FilesystemCDIO_FS_INTERACTIVE->CdICDIO_FS_ISO_HFS->Hfswith aJustIsoAnalysisCDIO_FS_ISO_9660_INTERACTIVE->CdIwith aJustIsoAnalysisCDIO_FS_ISO_UDF->Udfwith aJustIsoAnalysisCDIO_FS_ISO_XISO->XboxIsoCDIO_FS_ISO_UDFX->XboxUdf
cdio_fs_cap_t->FilesystemClassNote that some values are not included in the Haskell type, as the indexing implementation is stricter than the equivalent bit operations in C.
CDIO_FS_MASK(removed; cdio_fs_anal_t represented differently in Haskell)CDIO_FS_ANAL_VCD_ANY->fsAnyVcdCDIO_FS_MATCH_ALL->fsAnyCDIO_FS_ANAL_CDTV->CommodoreCdtvCDIO_FS_ANAL_SVCD->SuperVideoCdCDIO_FS_ANAL_CVD->ChoijiVideoCdCDIO_FS_ANAL_XISO->XboxIsoClass
cdio_iso_analysis_t->IsoAnalysisjoliet_level->jolietLeveliso_label->labelisofs_size->fsSizeUDFVerMajor->fstudfVersionUDFVerMinor->sndudfVersion
Symbols
cdio_guess_cd_type->trackType
Sound.Libcdio.Read.Filesystem
Synopsis
- data Filesystem
- data FilesystemClass
- type FilesystemClasses = BitArray FilesystemClass
- fsAny :: FilesystemClasses
- fsAnyVcd :: FilesystemClasses
- data IsoAnalysis = IsoAnalysis {}
- trackType :: Cdio -> Track -> IO (Maybe Filesystem, FilesystemClasses, Maybe IsoAnalysis)
Types
data Filesystem Source #
Types of filesystem which may be read from a disc.
Instances
data FilesystemClass Source #
Higher-level descriptions of discs/filesystems.
Constructors
| Xa | |
| Multisession | |
| PhotoCd | |
| HiddenTrack | |
| CommodoreCdtv | |
| Bootable | |
| VideoCd | |
| RockRidge | |
| Joliet | |
| SuperVideoCd | |
| ChoijiVideoCd | |
| XboxIsoClass | |
| Iso9660Class |
Instances
type FilesystemClasses = BitArray FilesystemClass Source #
A collection of disc/filesystem descriptions.
fsAny :: FilesystemClasses Source #
The set of every FilesystemClass.
fsAnyVcd :: FilesystemClasses Source #
Any sort of Video CD.
data IsoAnalysis Source #
A collection of data describing a disc using the ISO 9660 standard.
Constructors
| IsoAnalysis | |
Instances
| Eq IsoAnalysis Source # | |
Defined in Foreign.Libcdio.CdTypes | |
| Read IsoAnalysis Source # | |
Defined in Foreign.Libcdio.CdTypes Methods readsPrec :: Int -> ReadS IsoAnalysis # readList :: ReadS [IsoAnalysis] # readPrec :: ReadPrec IsoAnalysis # readListPrec :: ReadPrec [IsoAnalysis] # | |
| Show IsoAnalysis Source # | |
Defined in Foreign.Libcdio.CdTypes Methods showsPrec :: Int -> IsoAnalysis -> ShowS # show :: IsoAnalysis -> String # showList :: [IsoAnalysis] -> ShowS # | |
| Storable IsoAnalysis Source # | |
Defined in Foreign.Libcdio.CdTypes Methods sizeOf :: IsoAnalysis -> Int # alignment :: IsoAnalysis -> Int # peekElemOff :: Ptr IsoAnalysis -> Int -> IO IsoAnalysis # pokeElemOff :: Ptr IsoAnalysis -> Int -> IsoAnalysis -> IO () # peekByteOff :: Ptr b -> Int -> IO IsoAnalysis # pokeByteOff :: Ptr b -> Int -> IsoAnalysis -> IO () # peek :: Ptr IsoAnalysis -> IO IsoAnalysis # poke :: Ptr IsoAnalysis -> IsoAnalysis -> IO () # | |
Access
trackType :: Cdio -> Track -> IO (Maybe Filesystem, FilesystemClasses, Maybe IsoAnalysis) Source #
Determine what type of file system is stored in the given track of a disc.