# This file was automatically generated by SWIG (http://www.swig.org).
# Version 1.3.40
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

package perlmmc;
use base qw(Exporter);
use base qw(DynaLoader);
package perlmmcc;
bootstrap perlmmc;
package perlmmc;
@EXPORT = qw();

# ---------- BASE METHODS -------------

package perlmmc;

sub TIEHASH {
    my ($classname,$obj) = @_;
    return bless $obj, $classname;
}

sub CLEAR { }

sub FIRSTKEY { }

sub NEXTKEY { }

sub FETCH {
    my ($self,$field) = @_;
    my $member_func = "swig_${field}_get";
    $self->$member_func();
}

sub STORE {
    my ($self,$field,$newval) = @_;
    my $member_func = "swig_${field}_set";
    $self->$member_func($newval);
}

sub this {
    my $ptr = shift;
    return tied(%$ptr);
}


# ------- FUNCTION WRAPPERS --------

package perlmmc;

*mmc_eject_media = *perlmmcc::mmc_eject_media;
*stop_media = *perlmmcc::stop_media;
*mmc_close_tray = *perlmmcc::mmc_close_tray;
*mmc_get_isrc = *perlmmcc::mmc_get_isrc;

# ------- VARIABLE STUBS --------

package perlmmc;

*VERSION_NUM = *perlmmcc::VERSION_NUM;
*INVALID_LBA = *perlmmcc::INVALID_LBA;
*INVALID_LSN = *perlmmcc::INVALID_LSN;
*CD_FRAMESIZE = *perlmmcc::CD_FRAMESIZE;
*CD_FRAMESIZE_RAW = *perlmmcc::CD_FRAMESIZE_RAW;
*ISO_BLOCKSIZE = *perlmmcc::ISO_BLOCKSIZE;
*M2F2_SECTOR_SIZE = *perlmmcc::M2F2_SECTOR_SIZE;
*M2RAW_SECTOR_SIZE = *perlmmcc::M2RAW_SECTOR_SIZE;
*GPCMD_INQUIRY = *perlmmcc::GPCMD_INQUIRY;
*GPCMD_MODE_SELECT_6 = *perlmmcc::GPCMD_MODE_SELECT_6;
*GPCMD_MODE_SENSE_6 = *perlmmcc::GPCMD_MODE_SENSE_6;
*GPCMD_START_STOP = *perlmmcc::GPCMD_START_STOP;
*GPCMD_ALLOW_MEDIUM_REMOVAL = *perlmmcc::GPCMD_ALLOW_MEDIUM_REMOVAL;
*CDIO_MMC_GPCMD_READ_10 = *perlmmcc::CDIO_MMC_GPCMD_READ_10;
*GPCMD_READ_SUBCHANNEL = *perlmmcc::GPCMD_READ_SUBCHANNEL;
*GPCMD_READ_HEADER = *perlmmcc::GPCMD_READ_HEADER;
*GPCMD_PLAY_AUDIO_10 = *perlmmcc::GPCMD_PLAY_AUDIO_10;
*GPCMD_GET_CONFIGURATION = *perlmmcc::GPCMD_GET_CONFIGURATION;
*GPCMD_PLAY_AUDIO_MSF = *perlmmcc::GPCMD_PLAY_AUDIO_MSF;
*GPCMD_PLAY_AUDIO_TI = *perlmmcc::GPCMD_PLAY_AUDIO_TI;
*GPCMD_PLAY_TRACK_REL_10 = *perlmmcc::GPCMD_PLAY_TRACK_REL_10;
*GPCMD_GET_EVENT_STATUS = *perlmmcc::GPCMD_GET_EVENT_STATUS;
*GPCMD_PAUSE_RESUME = *perlmmcc::GPCMD_PAUSE_RESUME;
*GPCMD_READ_DISC_INFO = *perlmmcc::GPCMD_READ_DISC_INFO;
*GPCMD_MODE_SELECT_10 = *perlmmcc::GPCMD_MODE_SELECT_10;
*GPCMD_MODE_SENSE_10 = *perlmmcc::GPCMD_MODE_SENSE_10;
*GPCMD_PLAY_AUDIO_12 = *perlmmcc::GPCMD_PLAY_AUDIO_12;
*GPCMD_LOAD_UNLOAD = *perlmmcc::GPCMD_LOAD_UNLOAD;
*GPCMD_READ_12 = *perlmmcc::GPCMD_READ_12;
*GPCMD_PLAY_TRACK_REL_12 = *perlmmcc::GPCMD_PLAY_TRACK_REL_12;
*GPCMD_READ_DVD_STRUCTURE = *perlmmcc::GPCMD_READ_DVD_STRUCTURE;
*GPCMD_READ_MSF = *perlmmcc::GPCMD_READ_MSF;
*GPCMD_SET_SPEED = *perlmmcc::GPCMD_SET_SPEED;
*GPCMD_READ_CD = *perlmmcc::GPCMD_READ_CD;
*GPCMD_CD_PLAYBACK_STATUS = *perlmmcc::GPCMD_CD_PLAYBACK_STATUS;
*GPCMD_PLAYBACK_CONTROL = *perlmmcc::GPCMD_PLAYBACK_CONTROL;
*GPCMD_READ_CDDA = *perlmmcc::GPCMD_READ_CDDA;
*GPCMD_READ_CDXA = *perlmmcc::GPCMD_READ_CDXA;
*GPCMD_READ_ALL_SUBCODES = *perlmmcc::GPCMD_READ_ALL_SUBCODES;
*READ_SUB_ST_INVALID = *perlmmcc::READ_SUB_ST_INVALID;
*READ_SUB_ST_PLAY = *perlmmcc::READ_SUB_ST_PLAY;
*READ_SUB_ST_PAUSED = *perlmmcc::READ_SUB_ST_PAUSED;
*READ_SUB_ST_COMPLETED = *perlmmcc::READ_SUB_ST_COMPLETED;
*READ_SUB_ST_ERROR = *perlmmcc::READ_SUB_ST_ERROR;
*READ_SUB_ST_NO_STATUS = *perlmmcc::READ_SUB_ST_NO_STATUS;
*READ_TYPE_ANY = *perlmmcc::READ_TYPE_ANY;
*READ_TYPE_CDDA = *perlmmcc::READ_TYPE_CDDA;
*READ_TYPE_MODE1 = *perlmmcc::READ_TYPE_MODE1;
*READ_TYPE_MODE2 = *perlmmcc::READ_TYPE_MODE2;
*READ_TYPE_M2F1 = *perlmmcc::READ_TYPE_M2F1;
*READ_TYPE_M2F2 = *perlmmcc::READ_TYPE_M2F2;
*READTOC_FMT_TOC = *perlmmcc::READTOC_FMT_TOC;
*READTOC_FMT_SESSION = *perlmmcc::READTOC_FMT_SESSION;
*READTOC_FMT_FULTOC = *perlmmcc::READTOC_FMT_FULTOC;
*CDIO_MMC_READTOC_FMT_PMA = *perlmmcc::CDIO_MMC_READTOC_FMT_PMA;
*READTOC_FMT_PMA = *perlmmcc::READTOC_FMT_PMA;
*READTOC_FMT_ATIP = *perlmmcc::READTOC_FMT_ATIP;
*READTOC_FMT_CDTEXT = *perlmmcc::READTOC_FMT_CDTEXT;
*R_W_ERROR_PAGE = *perlmmcc::R_W_ERROR_PAGE;
*WRITE_PARMS_PAGE = *perlmmcc::WRITE_PARMS_PAGE;
*CDR_PARMS_PAGE = *perlmmcc::CDR_PARMS_PAGE;
*AUDIO_CTL_PAGE = *perlmmcc::AUDIO_CTL_PAGE;
*POWER_PAGE = *perlmmcc::POWER_PAGE;
*FAULT_FAIL_PAGE = *perlmmcc::FAULT_FAIL_PAGE;
*TO_PROTECT_PAGE = *perlmmcc::TO_PROTECT_PAGE;
*CAPABILITIES_PAGE = *perlmmcc::CAPABILITIES_PAGE;
*ALL_PAGES = *perlmmcc::ALL_PAGES;
*GET_CONF_ALL_FEATURES = *perlmmcc::GET_CONF_ALL_FEATURES;
*GET_CONF_CURRENT_FEATURES = *perlmmcc::GET_CONF_CURRENT_FEATURES;
*GET_CONF_NAMED_FEATURE = *perlmmcc::GET_CONF_NAMED_FEATURE;
*FEATURE_PROFILE_LIST = *perlmmcc::FEATURE_PROFILE_LIST;
*FEATURE_CORE = *perlmmcc::FEATURE_CORE;
*FEATURE_MORPHING = *perlmmcc::FEATURE_MORPHING;
*FEATURE_REMOVABLE_MEDIUM = *perlmmcc::FEATURE_REMOVABLE_MEDIUM;
*FEATURE_WRITE_PROTECT = *perlmmcc::FEATURE_WRITE_PROTECT;
*FEATURE_RANDOM_READABLE = *perlmmcc::FEATURE_RANDOM_READABLE;
*FEATURE_MULTI_READ = *perlmmcc::FEATURE_MULTI_READ;
*FEATURE_CD_READ = *perlmmcc::FEATURE_CD_READ;
*FEATURE_DVD_READ = *perlmmcc::FEATURE_DVD_READ;
*FEATURE_RANDOM_WRITABLE = *perlmmcc::FEATURE_RANDOM_WRITABLE;
*FEATURE_INCR_WRITE = *perlmmcc::FEATURE_INCR_WRITE;
*FEATURE_SECTOR_ERASE = *perlmmcc::FEATURE_SECTOR_ERASE;
*FEATURE_FORMATABLE = *perlmmcc::FEATURE_FORMATABLE;
*FEATURE_DEFECT_MGMT = *perlmmcc::FEATURE_DEFECT_MGMT;
*FEATURE_WRITE_ONCE = *perlmmcc::FEATURE_WRITE_ONCE;
*FEATURE_RESTRICT_OVERW = *perlmmcc::FEATURE_RESTRICT_OVERW;
*FEATURE_CD_RW_CAV = *perlmmcc::FEATURE_CD_RW_CAV;
*FEATURE_MRW = *perlmmcc::FEATURE_MRW;
*FEATURE_ENHANCED_DEFECT = *perlmmcc::FEATURE_ENHANCED_DEFECT;
*FEATURE_DVD_PRW = *perlmmcc::FEATURE_DVD_PRW;
*FEATURE_DVD_PR = *perlmmcc::FEATURE_DVD_PR;
*FEATURE_RIGID_RES_OVERW = *perlmmcc::FEATURE_RIGID_RES_OVERW;
*FEATURE_CD_TAO = *perlmmcc::FEATURE_CD_TAO;
*FEATURE_CD_SAO = *perlmmcc::FEATURE_CD_SAO;
*FEATURE_DVD_R_RW_WRITE = *perlmmcc::FEATURE_DVD_R_RW_WRITE;
*FEATURE_CD_RW_MEDIA_WRITE = *perlmmcc::FEATURE_CD_RW_MEDIA_WRITE;
*FEATURE_DVD_PR_2_LAYER = *perlmmcc::FEATURE_DVD_PR_2_LAYER;
*FEATURE_POWER_MGMT = *perlmmcc::FEATURE_POWER_MGMT;
*FEATURE_CDDA_EXT_PLAY = *perlmmcc::FEATURE_CDDA_EXT_PLAY;
*FEATURE_MCODE_UPGRADE = *perlmmcc::FEATURE_MCODE_UPGRADE;
*FEATURE_TIME_OUT = *perlmmcc::FEATURE_TIME_OUT;
*FEATURE_DVD_CSS = *perlmmcc::FEATURE_DVD_CSS;
*FEATURE_RT_STREAMING = *perlmmcc::FEATURE_RT_STREAMING;
*FEATURE_LU_SN = *perlmmcc::FEATURE_LU_SN;
*FEATURE_FIRMWARE_DATE = *perlmmcc::FEATURE_FIRMWARE_DATE;
*FEATURE_PROF_NON_REMOVABLE = *perlmmcc::FEATURE_PROF_NON_REMOVABLE;
*FEATURE_PROF_REMOVABLE = *perlmmcc::FEATURE_PROF_REMOVABLE;
*FEATURE_PROF_MO_ERASABLE = *perlmmcc::FEATURE_PROF_MO_ERASABLE;
*FEATURE_PROF_MO_WRITE_ONCE = *perlmmcc::FEATURE_PROF_MO_WRITE_ONCE;
*FEATURE_PROF_AS_MO = *perlmmcc::FEATURE_PROF_AS_MO;
*FEATURE_PROF_CD_ROM = *perlmmcc::FEATURE_PROF_CD_ROM;
*FEATURE_PROF_CD_R = *perlmmcc::FEATURE_PROF_CD_R;
*FEATURE_PROF_CD_RW = *perlmmcc::FEATURE_PROF_CD_RW;
*FEATURE_PROF_DVD_ROM = *perlmmcc::FEATURE_PROF_DVD_ROM;
*FEATURE_PROF_DVD_R_SEQ = *perlmmcc::FEATURE_PROF_DVD_R_SEQ;
*FEATURE_PROF_DVD_RAM = *perlmmcc::FEATURE_PROF_DVD_RAM;
*FEATURE_PROF_DVD_RW_RO = *perlmmcc::FEATURE_PROF_DVD_RW_RO;
*FEATURE_PROF_DVD_RW_SEQ = *perlmmcc::FEATURE_PROF_DVD_RW_SEQ;
*FEATURE_PROF_DVD_PRW = *perlmmcc::FEATURE_PROF_DVD_PRW;
*FEATURE_PROF_DVD_PR = *perlmmcc::FEATURE_PROF_DVD_PR;
*FEATURE_PROF_DDCD_ROM = *perlmmcc::FEATURE_PROF_DDCD_ROM;
*FEATURE_PROF_DDCD_R = *perlmmcc::FEATURE_PROF_DDCD_R;
*FEATURE_PROF_DDCD_RW = *perlmmcc::FEATURE_PROF_DDCD_RW;
*FEATURE_PROF_NON_CONFORM = *perlmmcc::FEATURE_PROF_NON_CONFORM;
*FEATURE_INTERFACE_UNSPECIFIED = *perlmmcc::FEATURE_INTERFACE_UNSPECIFIED;
*FEATURE_INTERFACE_SCSI = *perlmmcc::FEATURE_INTERFACE_SCSI;
*FEATURE_INTERFACE_ATAPI = *perlmmcc::FEATURE_INTERFACE_ATAPI;
*FEATURE_INTERFACE_IEEE_1394 = *perlmmcc::FEATURE_INTERFACE_IEEE_1394;
*FEATURE_INTERFACE_IEEE_1394A = *perlmmcc::FEATURE_INTERFACE_IEEE_1394A;
*FEATURE_INTERFACE_FIBRE_CH = *perlmmcc::FEATURE_INTERFACE_FIBRE_CH;


import Device::Cdio::VERSION;
$VERSION = $Device::Cdio::VERSION;
use strict;

=pod

=head1 NAME

perlmmc - lower-level wrapper to MMC from libcdio, the ISO 9660 library of the CD Input and Control package

=head1 SYNOPSIS

This is fairly straight-forward wrapper around the MultiMedia commands from
the C library libcdio. Although this is perfectly usable on its own, it is expected that the interfaces L<Device::Cdio::MMC> or L<Device::Cdio::Device::MMC> 
is what most people will want to use. 

There are various constants that are defined here.

=head1 METHODS

=head2 this

This seems to be an artifact of SWIG. 

=head1 SEE ALSO

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

=head1 AUTHORS

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

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

=cut

1;
