Blame lib/cdda_interface/drive_exceptions.h

Packit cb6d3d
/*
Packit cb6d3d
  $Id: drive_exceptions.h,v 1.6 2008/06/13 19:26:23 flameeyes Exp $
Packit cb6d3d
Packit cb6d3d
  Copyright (C) 2004, 2008 Rocky Bernstein <rocky@gnu.org>
Packit cb6d3d
  Copyright (C) 1998 Monty xiphmont@mit.edu
Packit cb6d3d
  
Packit cb6d3d
  This program is free software: you can redistribute it and/or modify
Packit cb6d3d
  it under the terms of the GNU General Public License as published by
Packit cb6d3d
  the Free Software Foundation, either version 3 of the License, or
Packit cb6d3d
  (at your option) any later version.
Packit cb6d3d
Packit cb6d3d
  This program is distributed in the hope that it will be useful,
Packit cb6d3d
  but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit cb6d3d
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit cb6d3d
  GNU General Public License for more details.
Packit cb6d3d
Packit cb6d3d
  You should have received a copy of the GNU General Public License
Packit cb6d3d
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit cb6d3d
*/
Packit cb6d3d
Packit cb6d3d
extern int scsi_enable_cdda(cdrom_drive_t *d, int);
Packit cb6d3d
extern long scsi_read_mmc(cdrom_drive_t *d, void *,long,long);
Packit cb6d3d
extern long scsi_read_D4_10(cdrom_drive_t *, void *,long,long);
Packit cb6d3d
extern long scsi_read_D4_12(cdrom_drive_t *, void *,long,long);
Packit cb6d3d
extern long scsi_read_D8(cdrom_drive_t *, void *,long,long);
Packit cb6d3d
extern long scsi_read_28(cdrom_drive_t *, void *,long,long);
Packit cb6d3d
extern long scsi_read_A8(cdrom_drive_t *, void *,long,long);
Packit cb6d3d
Packit cb6d3d
typedef struct exception {
Packit cb6d3d
  const char *model;
Packit cb6d3d
  int atapi; /* If the ioctl doesn't work */
Packit cb6d3d
  unsigned char density;
Packit cb6d3d
  int  (*enable)(cdrom_drive_t *,int);
Packit cb6d3d
  long (*read)(cdrom_drive_t *,void *, long, long);
Packit cb6d3d
  int  bigendianp;
Packit cb6d3d
} exception_t;
Packit cb6d3d
Packit cb6d3d
/* specific to general */
Packit cb6d3d
Packit cb6d3d
#ifdef FINISHED_DRIVE_EXCEPTIONS
Packit cb6d3d
extern long scsi_read_mmc2(cdrom_drive_t *d, void *,long,long);
Packit cb6d3d
#else 
Packit cb6d3d
#define scsi_read_mmc2 NULL
Packit cb6d3d
#endif
Packit cb6d3d
Packit cb6d3d
int dummy_exception (cdrom_drive_t *d,int Switch);
Packit cb6d3d
Packit cb6d3d
#if HAVE_LINUX_MAJOR_H
Packit cb6d3d
extern const exception_t atapi_list[];
Packit cb6d3d
#endif
Packit cb6d3d
Packit cb6d3d
#ifdef NEED_MMC_LIST
Packit cb6d3d
extern const exception_t mmc_list[];
Packit cb6d3d
#endif
Packit cb6d3d
Packit cb6d3d
#ifdef NEED_SCSI_LIST
Packit cb6d3d
extern const exception_t scsi_list[];
Packit cb6d3d
#endif