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
->Filesystem
CDIO_FS_INTERACTIVE
->CdI
CDIO_FS_ISO_HFS
->Hfs
with aJust
IsoAnalysis
CDIO_FS_ISO_9660_INTERACTIVE
->CdI
with aJust
IsoAnalysis
CDIO_FS_ISO_UDF
->Udf
with aJust
IsoAnalysis
CDIO_FS_ISO_XISO
->XboxIso
CDIO_FS_ISO_UDFX
->XboxUdf
cdio_fs_cap_t
->FilesystemClass
Note 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
->fsAnyVcd
CDIO_FS_MATCH_ALL
->fsAny
CDIO_FS_ANAL_CDTV
->CommodoreCdtv
CDIO_FS_ANAL_SVCD
->SuperVideoCd
CDIO_FS_ANAL_CVD
->ChoijiVideoCd
CDIO_FS_ANAL_XISO
->XboxIsoClass
cdio_iso_analysis_t
->IsoAnalysis
joliet_level
->jolietLevel
iso_label
->label
isofs_size
->fsSize
UDFVerMajor
->fst
udfVersion
UDFVerMinor
->snd
udfVersion
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 #
Types of filesystem which may be read from a disc.
Instances
data FilesystemClass #
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 #
A collection of disc/filesystem descriptions.
The set of every FilesystemClass
.
fsAnyVcd :: FilesystemClasses #
Any sort of Video CD.
data IsoAnalysis #
A collection of data describing a disc using the ISO 9660 standard.
Constructors
IsoAnalysis | |
Instances
Eq IsoAnalysis # | |
Defined in Foreign.Libcdio.CdTypes | |
Read IsoAnalysis # | |
Defined in Foreign.Libcdio.CdTypes Methods readsPrec :: Int -> ReadS IsoAnalysis # readList :: ReadS [IsoAnalysis] # readPrec :: ReadPrec IsoAnalysis # readListPrec :: ReadPrec [IsoAnalysis] # | |
Show IsoAnalysis # | |
Defined in Foreign.Libcdio.CdTypes Methods showsPrec :: Int -> IsoAnalysis -> ShowS # show :: IsoAnalysis -> String # showList :: [IsoAnalysis] -> ShowS # | |
Storable IsoAnalysis # | |
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) #
Determine what type of file system is stored in the given track of a disc.