NAME

perlcdio - lower-level wrapper to libcdio, the CD Input and Control library

SYNOPSIS

This is fairly straight-forward wrapper around the C library libcdio. Although this is perfectly usable on its own, it is expected that the Object-Oriented interface Device::Cdio is what most people will want to use.

There are various constants that are defined here.

DESCRIPTION

Encapsulation is done in two parts. The lower-level Perl interface is called perlcdio (this file) and is generated via SWIG.

CONSTANTS

Driver ID's

DRIVER_UNKNOWN

Use when you don't know what kind of driver and you don't care if it is an CD image driver or a real CD-ROM driver. See also DRIVER_DEVICE which doesn't include image drivers.

DRIVER_AIX

Driver for IBM's AIX.

DRIVER_BSDI

Driver for BSDI.

DRIVER_FREEBSD

Driver for Free BSD

DRIVER_LINUX

Driver for GNU/LINUX

DRIVER_SOLARIS

Driver for Solaris

DRIVER_OSX

Driver for Apple's OS X.

DRIVER_WIN32

Driver for Microsoft Windows

DRIVER_CDRDAO

Image Driver for cdrdao

DRIVER_BINCUE

Image driver for CDRWin BIN/CUE

DRIVER_NRG

Image driver for Nero NRG

DRIVER_DEVICE

Use when you don't know what kind of driver but the driver must be a real CD-ROM driver. See also DRIVER_UNKNOWN which includes image drivers.

Driver Return codes

May driver operations return a status code.

DRIVER_OP_SUCCESS

Driver operation was successful

DRIVER_OP_ERROR

Driver operation had an error of some sort

DRIVER_OP_UNSUPPORTED

Operation is not supported for this driver. For example ejecting a CD from an image driver.

DRIVER_OP_UNINIT

Source is not initialized for this operation.

DRIVER_OP_NOT_PERMITTED

Operation is not permitted

DRIVER_OP_BAD_PARAMETER

An invalid parameter was passed to the routine

DRIVER_OP_BAD_POINTER

A pointer somehow got corrupted.

DRIVER_OP_NO_DRIVER

No driver has been set.

Device Capabilities

Miscellaneous

DRIVE_CAP_ERROR
DRIVE_CAP_UNKNOWN
DRIVE_CAP_MISC_CLOSE_TRAY
DRIVE_CAP_MISC_EJECT
DRIVE_CAP_MISC_LOCK
DRIVE_CAP_MISC_SELECT_SPEED
DRIVE_CAP_MISC_SELECT_DISC
DRIVE_CAP_MISC_MULTI_SESSION
DRIVE_CAP_MISC_MEDIA_CHANGED
DRIVE_CAP_MISC_RESET
DRIVE_CAP_MISC_FILE

Read Capabilities

DRIVE_CAP_READ_AUDIO
DRIVE_CAP_READ_CD_DA
DRIVE_CAP_READ_CD_G
DRIVE_CAP_READ_CD_R
DRIVE_CAP_READ_CD_RW
DRIVE_CAP_READ_DVD_R
DRIVE_CAP_READ_DVD_PR
DRIVE_CAP_READ_DVD_RAM
DRIVE_CAP_READ_DVD_ROM
DRIVE_CAP_READ_DVD_RW
DRIVE_CAP_READ_DVD_RPW
DRIVE_CAP_READ_C2_ERRS
DRIVE_CAP_READ_MODE2_FORM1
DRIVE_CAP_READ_MODE2_FORM2
DRIVE_CAP_READ_MCN
DRIVE_CAP_READ_ISRC

Writing masks

DRIVE_CAP_WRITE_CD_R
DRIVE_CAP_WRITE_CD_RW
DRIVE_CAP_WRITE_DVD_R
DRIVE_CAP_WRITE_DVD_PR
DRIVE_CAP_WRITE_DVD_RAM
DRIVE_CAP_WRITE_DVD_RW
DRIVE_CAP_WRITE_DVD_RPW
DRIVE_CAP_WRITE_MT_RAINIER
DRIVE_CAP_WRITE_BURN_PROOF

Derived Capabilities

DRIVE_CAP_WRITE_CD

Has some sort of CD writer ability

DRIVE_CAP_WRITE_DVD

Has some sort of DVD writer ability

DRIVE_CAP_WRITE

Has some sort of writer ability

Filesystem type constants

These constants are used in getting drive capabilities:

FS_AUDIO

audio only - not really a filesystem

FS_HIGH_SIERRA

High-Sierra Filesystem

FS_ISO_9660

ISO-9660 filesystem

FS_INTERACTIVE
FS_HFS

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

FS_UFS

Generic Unix file system derived from the Berkeley fast file system.

FS_EXT2

EXT2 was the GNU/Linux native filesystem for early kernels. Newer GNU/Linux OS's may use EXT3 which EXT2 with a journal.

FS_ISO_HFS

both HFS & ISO-9660 filesystem

FS_ISO_9660_INTERACTIVE

both CD-RTOS and ISO filesystem

FS_3DO

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.

FS_XISO

Microsoft X-BOX CD

FS_UDFX
FS_UDF
FS_ISO_UDF
FS_ANAL_XA

eXtended Architecture format

FS_ANAL_MULTISESSION

CD has multisesion

FS_ANAL_PHOTO_CD

Is a Kodak Photo CD

FS_ANAL_HIDDEN_TRACK

Hidden track at the beginning the CD

FS_ANAL_CDTV
FS_ANAL_BOOTABLE

CD is bootable

FS_ANAL_VIDEOCD

VCD 1.1

FS_ANAL_ROCKRIDGE

Has Rock Ridge Extensions to ISO 9660

FS_ANAL_JOLIET

Microsoft Joliet extensions to ISO 9660

FS_ANAL_SVCD

Super VCD or Choiji Video CD

FS_ANAL_CVD

Choiji Video CD

FS_ANAL_XISO

XBOX CD determined by some analysis

FS_MATCH_ALL

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

Sector size constants

CD_FRAMESIZE
CD_FRAMESIZE_RAW

Size of a Philip Red book CD-DA block. It is also the maximum CD sector size possible: 2352 bytes.

ISO_BLOCKSIZE

Size of an ISO 9660 block. Also the size of the data portion in CD data reads: 2048 bytes.

M2F2_SECTOR_SIZE

Mode 2 Form 2 Data size: 2328 bytes.

M2RAW_SECTOR_SIZE

Mod1 Form 1 Data size: 2336 bytes.

Reading Modes

READ_MODE_AUDIO

audio mode (CD-DA) read. Blocksize is a multiple of $perlcdio::CD_FRAMESIZE_RAW (2352) bytes.

READ_MODE_M1F1

Mode 1 Form 1 read. Blocksize is a multiple of $perlcdio::CD_FRAMESIZE (2048) bytes.

READ_MODE_M1F2

Mode 1 Form 2 read. Blocksize is a multiple of $perlcdio::M2RAW_SECTIOR_SIZE (2336) bytes.

READ_MODE_M2F1

Mode 2 Form 1 read. Blocksize is a multiple of $perlcdio::CD_FRAMESIZE (2048) bytes.

READ_MODE_M2F2

Mode 2 Form 1 read. Blocksize is a multiple of (2328) bytes.

Miscellaneous

VERSION_NUM

libcdio version that is getting used

INVALID_LBA

Canonical value used for an invalid LBA.

INVALID_LSN

Canonical value used for an invalid LSN.

INVALID_TRACK

Canonical value used for an invalid track number. (Valid range is 0 to 99.)

LEADOUT_TRACK

Canonical value for the "leadout" or track just after the last track. So again this value is outside the range 0 to 99. The leadout track is often used to get the last LSN or LBA. The libcdio routines also allow the last actual track plus one as a synonym for the leadout track.

METHODS

cdio_version

    perlcdio::cdio_version

Returns the libcdio version string Device::Cdio is currently linked with.

this

This seems to be an artifact of SWIG.

SEE ALSO

http://www.gnu.org/software/libcdio has documentation on libcdio including the a manual and the API via doxygen.

AUTHORS

Rocky Bernstein <rocky at cpan.org>.

COPYRIGHT

Copyright (C) 2006, 2008, 2011 Rocky Bernstein <rocky@cpan.org>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.