libcdio-paranoia  10.2+0.94+2git
drive_exceptions.h
Go to the documentation of this file.
1 /*
2  $Id: drive__exceptions_8h_source.html,v 1.3 2017/08/23 00:53:56 rocky Exp $
3 
4  Copyright (C) 2004, 2008 Rocky Bernstein <rocky@gnu.org>
5  Copyright (C) 1998 Monty xiphmont@mit.edu
6 
7  This program is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 extern int scsi_enable_cdda(cdrom_drive_t *d, int);
22 extern long scsi_read_mmc(cdrom_drive_t *d, void *,long,long);
23 extern long scsi_read_D4_10(cdrom_drive_t *, void *,long,long);
24 extern long scsi_read_D4_12(cdrom_drive_t *, void *,long,long);
25 extern long scsi_read_D8(cdrom_drive_t *, void *,long,long);
26 extern long scsi_read_28(cdrom_drive_t *, void *,long,long);
27 extern long scsi_read_A8(cdrom_drive_t *, void *,long,long);
28 
29 typedef struct exception {
30  const char *model;
31  int atapi; /* If the ioctl doesn't work */
32  unsigned char density;
33  int (*enable)(cdrom_drive_t *,int);
34  long (*read)(cdrom_drive_t *,void *, long, long);
36 } exception_t;
37 
38 /* specific to general */
39 
40 #ifdef FINISHED_DRIVE_EXCEPTIONS
41 extern long scsi_read_mmc2(cdrom_drive_t *d, void *,long,long);
42 #else
43 #define scsi_read_mmc2 NULL
44 #endif
45 
46 int dummy_exception (cdrom_drive_t *d,int Switch);
47 
48 #if HAVE_LINUX_MAJOR_H
49 extern const exception_t atapi_list[];
50 #endif
51 
52 #ifdef NEED_MMC_LIST
53 extern const exception_t mmc_list[];
54 #endif
55 
56 #ifdef NEED_SCSI_LIST
57 extern const exception_t scsi_list[];
58 #endif
const char * model
Definition: drive_exceptions.h:30
struct exception exception_t
long(* read)(cdrom_drive_t *, void *, long, long)
Definition: drive_exceptions.h:34
Structure for cdparanoia&#39;s CD-ROM access.
Definition: cdda.h:80
long scsi_read_D4_12(cdrom_drive_t *, void *, long, long)
int scsi_enable_cdda(cdrom_drive_t *d, int)
long scsi_read_A8(cdrom_drive_t *, void *, long, long)
int(* enable)(cdrom_drive_t *, int)
Definition: drive_exceptions.h:33
int dummy_exception(cdrom_drive_t *d, int Switch)
Definition: drive_exceptions.c:22
int atapi
Definition: drive_exceptions.h:31
long scsi_read_mmc(cdrom_drive_t *d, void *, long, long)
int bigendianp
Definition: drive_exceptions.h:35
unsigned char density
Definition: drive_exceptions.h:32
long scsi_read_D4_10(cdrom_drive_t *, void *, long, long)
long scsi_read_28(cdrom_drive_t *, void *, long, long)
long scsi_read_D8(cdrom_drive_t *, void *, long, long)
Definition: drive_exceptions.h:29
#define scsi_read_mmc2
Definition: drive_exceptions.h:43