1 | /*** |
2 | * CopyPolicy: GNU Lesser General Public License 2.1 applies |
3 | * Copyright (C) by Monty (xiphmont@mit.edu) |
4 | * |
5 | ***/ |
6 | |
7 | #ifndef _CDROM_PARANOIA_ |
8 | #define _CDROM_PARANOIA_ |
9 | |
10 | #define CD_FRAMEWORDS (CD_FRAMESIZE_RAW/2) |
11 | |
12 | #define PARANOIA_CB_READ 0 |
13 | #define PARANOIA_CB_VERIFY 1 |
14 | #define PARANOIA_CB_FIXUP_EDGE 2 |
15 | #define PARANOIA_CB_FIXUP_ATOM 3 |
16 | #define PARANOIA_CB_SCRATCH 4 |
17 | #define PARANOIA_CB_REPAIR 5 |
18 | #define PARANOIA_CB_SKIP 6 |
19 | #define PARANOIA_CB_DRIFT 7 |
20 | #define PARANOIA_CB_BACKOFF 8 |
21 | #define PARANOIA_CB_OVERLAP 9 |
22 | #define PARANOIA_CB_FIXUP_DROPPED 10 |
23 | #define PARANOIA_CB_FIXUP_DUPED 11 |
24 | #define PARANOIA_CB_READERR 12 |
25 | #define PARANOIA_CB_CACHEERR 13 |
26 | |
27 | #define PARANOIA_MODE_FULL 0xff |
28 | #define PARANOIA_MODE_DISABLE 0 |
29 | |
30 | #define PARANOIA_MODE_VERIFY 1 |
31 | #define PARANOIA_MODE_FRAGMENT 2 |
32 | #define PARANOIA_MODE_OVERLAP 4 |
33 | #define PARANOIA_MODE_SCRATCH 8 |
34 | #define PARANOIA_MODE_REPAIR 16 |
35 | #define PARANOIA_MODE_NEVERSKIP 32 |
36 | |
37 | #ifndef CDP_COMPILE |
38 | typedef void cdrom_paranoia; |
39 | #endif |
40 | |
41 | #include <stdio.h> |
42 | |
43 | extern char *paranoia_version(); |
44 | extern cdrom_paranoia *paranoia_init(cdrom_drive *d); |
45 | extern void paranoia_modeset(cdrom_paranoia *p,int mode); |
46 | extern long paranoia_seek(cdrom_paranoia *p,long seek,int mode); |
47 | extern int16_t *paranoia_read(cdrom_paranoia *p,void(*callback)(long,int)); |
48 | extern int16_t *paranoia_read_limited(cdrom_paranoia *p,void(*callback)(long,int),int maxretries); |
49 | extern void paranoia_free(cdrom_paranoia *p); |
50 | extern void paranoia_overlapset(cdrom_paranoia *p,long overlap); |
51 | extern int paranoia_cachemodel_size(cdrom_paranoia *p,int sectors); |
52 | #endif |
53 | |