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