perlcdio(3pm) | User Contributed Perl Documentation | perlcdio(3pm) |
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/>.
2024-03-07 | perl v5.38.2 |