diff options
Diffstat (limited to 'libparanoia/README.interface')
-rw-r--r-- | libparanoia/README.interface | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/libparanoia/README.interface b/libparanoia/README.interface new file mode 100644 index 0000000..a7a44b4 --- /dev/null +++ b/libparanoia/README.interface @@ -0,0 +1,75 @@ +/* + * Exports (libparanoia) cdda_paranoia.h + */ +cdrom_paranoia *paranoia_init __PR((void * d, int nsectors)); +void paranoia_modeset __PR((cdrom_paranoia * p, int mode)); +long paranoia_seek __PR((cdrom_paranoia * p, long seek, int mode)); +Int16_t *paranoia_read __PR((cdrom_paranoia * p, void (*callback) (long, int))); +Int16_t *paranoia_read_limited __PR((cdrom_paranoia * p, void (*callback) (long, int), int maxretries)); +void paranoia_free __PR((cdrom_paranoia * p)); +void paranoia_overlapset __PR((cdrom_paranoia * p, long overlap)); + +/* + * Exports ?? (libparanoia) overlap.h + */ +extern void paranoia_resetall __PR((cdrom_paranoia * p)); +extern void paranoia_resetcache __PR((cdrom_paranoia * p)); + +Supported: + +PARANOIA_MODE_VERIFY +PARANOIA_MODE_OVERLAP +PARANOIA_MODE_NEVERSKIP + +Unsupported: + +PARANOIA_MODE_FRAGMENT +PARANOIA_MODE_SCRATCH +PARANOIA_MODE_REPAIR + + + +/* + * Imports (global Code) + */ +cdda_disc_firstsector (cdrom_drive *d) -> long sector +cdda_disc_lastsector (cdrom_drive *d) -> long sector +cdda_read (cdrom_drive *d, void *buffer, long beginsector, long sectors) -> long sectors +cdda_sector_gettrack (cdrom_drive *d,long sector) -> int trackno +cdda_track_audiop (cdrom_drive *d,int track) -> int ??? /* Is audiotrack */ +cdda_track_firstsector (cdrom_drive *d,int track) -> long sector +cdda_track_lastsector (cdrom_drive *d,int track) -> long sector +cdda_tracks (cdrom_drive *d) -> int tracks + +callback (long inpos, int function) + +/* + * Imports (libc) + */ +calloc +free +malloc +realloc + +memcmp +memcpy +memmove +memset + +qsort + +/*--------------------------------------------------------------------------*/ +usalp = usal_open(); +bufsize = usal_bufsize(usalp, CDR_BUF_SIZE); +nsecs = bufsize / SEC_SIZE; + +cdp = paranoia_init(usalp, nsecs); +# paranoia_modeset(cdp, mode); +# paranoia_overlapset(cdp, overlap); + +while (not ready) { + bp = paranoia_read(cdp, NULL); + write(f, bp, SEC_SISE); +} + +paranoia_free(cdp); |