Linux-CDROM

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN

		 GPCMD_SEND_DVD_STRUCTURE GPCMD_SEND_EVENT GPCMD_SEND_KEY
		 GPCMD_SEND_OPC GPCMD_SET_READ_AHEAD GPCMD_SET_SPEED
		 GPCMD_SET_STREAMING GPCMD_START_STOP_UNIT GPCMD_STOP_PLAY_SCAN
		 GPCMD_TEST_UNIT_READY GPCMD_VERIFY_10 GPCMD_WRITE_10
		 GPCMD_WRITE_AND_VERIFY_10 GPMODE_ALL_PAGES
		 GPMODE_AUDIO_CTL_PAGE GPMODE_CAPABILITIES_PAGE
		 GPMODE_CDROM_PAGE GPMODE_FAULT_FAIL_PAGE GPMODE_POWER_PAGE
		 GPMODE_R_W_ERROR_PAGE GPMODE_TO_PROTECT_PAGE
		 GPMODE_WRITE_PARMS_PAGE mechtype_caddy
		 mechtype_cartridge_changer mechtype_individual_changer
		 mechtype_popup mechtype_tray));
  ExtUtils::Constant::WriteConstants(
                                     NAME         => 'Linux::CDROM',
                                     NAMES        => \@names,
                                     DEFAULT_TYPE => 'IV',
                                     C_FILE       => 'const-c.inc',
                                     XS_FILE      => 'const-xs.inc',
                                  );

}
else {

fallback/const-c.inc  view on Meta::CPAN

  return PERL_constant_NOTFOUND;
}

static int
constant_14 (pTHX_ const char *name, IV *iv_return) {
  /* When generated this function returned values for the list of names given
     here.  However, subsequent manual editing may have added or removed some.
     CDC_CLOSE_TRAY CDC_PLAY_AUDIO CDO_AUTO_CLOSE CDO_AUTO_EJECT CDO_CHECK_TYPE
     CDO_USE_FFLAGS CDROMCLOSETRAY CDROMREADAUDIO CDROMREADMODE1 CDROMREADMODE2
     CDROM_LOCKDOOR CGC_DATA_WRITE DVD_STRUCT_BCA GPCMD_SEND_KEY GPCMD_SEND_OPC
     GPCMD_WRITE_10 mechtype_caddy mechtype_popup */
  /* Offset 13 gives the best switch position.  */
  switch (name[13]) {
  case '0':
    if (memEQ(name, "GPCMD_WRITE_1", 13)) {
    /*                            0      */
#ifdef GPCMD_WRITE_10
      *iv_return = GPCMD_WRITE_10;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;

fallback/const-c.inc  view on Meta::CPAN

      *iv_return = GPCMD_SEND_KEY;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'p':
    if (memEQ(name, "mechtype_popu", 13)) {
    /*                            p      */
#ifdef mechtype_popup
      *iv_return = mechtype_popup;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'y':
    if (memEQ(name, "mechtype_cadd", 13)) {
    /*                            y      */
#ifdef mechtype_caddy

fallback/const-c.inc  view on Meta::CPAN

	       GPCMD_REPORT_KEY GPCMD_REQUEST_SENSE GPCMD_RESERVE_RZONE_TRACK
	       GPCMD_SCAN GPCMD_SEEK GPCMD_SEND_DVD_STRUCTURE GPCMD_SEND_EVENT
	       GPCMD_SEND_KEY GPCMD_SEND_OPC GPCMD_SET_READ_AHEAD
	       GPCMD_SET_SPEED GPCMD_SET_STREAMING GPCMD_START_STOP_UNIT
	       GPCMD_STOP_PLAY_SCAN GPCMD_TEST_UNIT_READY GPCMD_VERIFY_10
	       GPCMD_WRITE_10 GPCMD_WRITE_AND_VERIFY_10 GPMODE_ALL_PAGES
	       GPMODE_AUDIO_CTL_PAGE GPMODE_CAPABILITIES_PAGE GPMODE_CDROM_PAGE
	       GPMODE_FAULT_FAIL_PAGE GPMODE_POWER_PAGE GPMODE_R_W_ERROR_PAGE
	       GPMODE_TO_PROTECT_PAGE GPMODE_WRITE_PARMS_PAGE mechtype_caddy
	       mechtype_cartridge_changer mechtype_individual_changer
	       mechtype_popup mechtype_tray));

print constant_types(); # macro defs
foreach (C_constant ("Device::CDROM", 'constant', 'IV', $types, undef, 3, @names) ) {
    print $_, "\n"; # C constant subs
}
print "#### XS Section:\n";
print XS_constant ("Device::CDROM", $types);
__END__
   */

lib/Linux/CDROM.pm  view on Meta::CPAN

    GPMODE_CAPABILITIES_PAGE
    GPMODE_CDROM_PAGE
    GPMODE_FAULT_FAIL_PAGE
    GPMODE_POWER_PAGE
    GPMODE_R_W_ERROR_PAGE
    GPMODE_TO_PROTECT_PAGE
    GPMODE_WRITE_PARMS_PAGE
    mechtype_caddy
    mechtype_cartridge_changer
    mechtype_individual_changer
    mechtype_popup
    mechtype_tray
) ] );

our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );

our @EXPORT = qw(
    DEVICE_CDROM_NO_ERROR
    DEVICE_CDROM_NO_OPEN
    DEVICE_CDROM_NO_CDROM
    DEVICE_CDROM_NO_TOCHDR

lib/Linux/CDROM.pm  view on Meta::CPAN

    GPMODE_CAPABILITIES_PAGE
    GPMODE_CDROM_PAGE
    GPMODE_FAULT_FAIL_PAGE
    GPMODE_POWER_PAGE
    GPMODE_R_W_ERROR_PAGE
    GPMODE_TO_PROTECT_PAGE
    GPMODE_WRITE_PARMS_PAGE
    mechtype_caddy
    mechtype_cartridge_changer
    mechtype_individual_changer
    mechtype_popup
    mechtype_tray

=head1 LIMITATIONS

This one most definitely only works for Linux so far.

All the DVD-related controls are unimplemented.

Other unimplemented ioctls are:

t/Linux-CDROM.t  view on Meta::CPAN

	GPCMD_REPAIR_RZONE_TRACK GPCMD_REPORT_KEY GPCMD_REQUEST_SENSE
	GPCMD_RESERVE_RZONE_TRACK GPCMD_SCAN GPCMD_SEEK
	GPCMD_SEND_DVD_STRUCTURE GPCMD_SEND_EVENT GPCMD_SEND_KEY GPCMD_SEND_OPC
	GPCMD_SET_READ_AHEAD GPCMD_SET_SPEED GPCMD_SET_STREAMING
	GPCMD_START_STOP_UNIT GPCMD_STOP_PLAY_SCAN GPCMD_TEST_UNIT_READY
	GPCMD_VERIFY_10 GPCMD_WRITE_10 GPCMD_WRITE_AND_VERIFY_10
	GPMODE_ALL_PAGES GPMODE_AUDIO_CTL_PAGE GPMODE_CAPABILITIES_PAGE
	GPMODE_CDROM_PAGE GPMODE_FAULT_FAIL_PAGE GPMODE_POWER_PAGE
	GPMODE_R_W_ERROR_PAGE GPMODE_TO_PROTECT_PAGE GPMODE_WRITE_PARMS_PAGE
	mechtype_caddy mechtype_cartridge_changer mechtype_individual_changer
	mechtype_popup mechtype_tray)) {
  next if (eval "my \$a = $constname; 1");
  if ($@ =~ /^Your vendor has not defined Linux::CDROM macro $constname/) {
    print "# pass: $@";
  } else {
    print "# fail: $@";
    $fail = 1;    
  }
}
if ($fail) {
  print "not ok 2\n";



( run in 2.222 seconds using v1.01-cache-2.11-cpan-364913b4093 )