Imported Upstream version 1.1.11
[platform/upstream/cdrkit.git] / libparanoia / README.interface
1 /*
2  * Exports (libparanoia) cdda_paranoia.h
3  */
4 cdrom_paranoia  *paranoia_init  __PR((void * d, int nsectors));
5 void            paranoia_modeset __PR((cdrom_paranoia * p, int mode));
6 long            paranoia_seek   __PR((cdrom_paranoia * p, long seek, int mode));
7 Int16_t         *paranoia_read  __PR((cdrom_paranoia * p, void (*callback) (long, int)));
8 Int16_t         *paranoia_read_limited __PR((cdrom_paranoia * p, void (*callback) (long, int), int maxretries));
9 void            paranoia_free   __PR((cdrom_paranoia * p));
10 void            paranoia_overlapset __PR((cdrom_paranoia * p, long overlap));
11
12 /*
13  * Exports ?? (libparanoia) overlap.h
14  */
15 extern  void    paranoia_resetall       __PR((cdrom_paranoia * p));
16 extern  void    paranoia_resetcache     __PR((cdrom_paranoia * p));
17
18 Supported:
19
20 PARANOIA_MODE_VERIFY
21 PARANOIA_MODE_OVERLAP
22 PARANOIA_MODE_NEVERSKIP
23
24 Unsupported:
25
26 PARANOIA_MODE_FRAGMENT
27 PARANOIA_MODE_SCRATCH
28 PARANOIA_MODE_REPAIR
29
30
31
32 /*
33  * Imports (global Code)
34  */
35 cdda_disc_firstsector   (cdrom_drive *d)                -> long sector
36 cdda_disc_lastsector    (cdrom_drive *d)                -> long sector
37 cdda_read               (cdrom_drive *d, void *buffer, long beginsector, long sectors)  -> long sectors
38 cdda_sector_gettrack    (cdrom_drive *d,long sector)    -> int trackno
39 cdda_track_audiop       (cdrom_drive *d,int track)      -> int ???  /* Is audiotrack */
40 cdda_track_firstsector  (cdrom_drive *d,int track)      -> long sector
41 cdda_track_lastsector   (cdrom_drive *d,int track)      -> long sector
42 cdda_tracks             (cdrom_drive *d)                -> int tracks
43
44 callback                (long inpos, int function)
45
46 /*
47  * Imports (libc)
48  */
49 calloc
50 free
51 malloc
52 realloc
53
54 memcmp
55 memcpy
56 memmove
57 memset
58
59 qsort
60
61 /*--------------------------------------------------------------------------*/
62 usalp = usal_open();
63 bufsize = usal_bufsize(usalp, CDR_BUF_SIZE);
64 nsecs = bufsize / SEC_SIZE;
65
66 cdp = paranoia_init(usalp, nsecs);
67 # paranoia_modeset(cdp, mode);
68 # paranoia_overlapset(cdp, overlap);
69
70 while (not ready) {
71         bp = paranoia_read(cdp, NULL);
72         write(f, bp, SEC_SISE);
73 }
74
75 paranoia_free(cdp);