perlcdio(3) 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.

Real OS driver numbers come before image-disc drivers. Here are constants that can be used in iteration.

MIN_DRIVER
Smallest image or OS driver number.
MIN_DEVICE_DRIVER
Smallest OS device driver number.
MAX_DRIVER
Largest image or OS device driver number.
MAX_DEVICE_DRIVER
Largest device driver number.

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.

AUTHORS

Rocky Bernstein "<rocky at cpan.org>".

COPYRIGHT

Copyright (C) 2006, 2008, 2011 Rocky Bernstein <[email protected]>

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/>.