39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
/* Compile-time check that the installed headers expose the cdparanoia 10.2
|
|
* API and the expected 64-bit Linux ABI layout. */
|
|
#include <stddef.h>
|
|
#include "cdda_interface.h"
|
|
#include "cdda_paranoia.h"
|
|
|
|
_Static_assert(sizeof(TOC) == 8, "TOC ABI");
|
|
_Static_assert(offsetof(TOC, bFlags) == 0, "TOC flags");
|
|
_Static_assert(offsetof(TOC, bTrack) == 1, "TOC track");
|
|
_Static_assert(offsetof(TOC, dwStartSector) == 4, "TOC sector");
|
|
_Static_assert(sizeof(cdrom_drive) == 1136, "cdrom_drive ABI");
|
|
_Static_assert(offsetof(cdrom_drive, disc_toc) == 64, "TOC array");
|
|
_Static_assert(offsetof(cdrom_drive, private) == 952, "private pointer");
|
|
_Static_assert(offsetof(cdrom_drive, sigset) == 1008, "sigset");
|
|
|
|
static void use_api(cdrom_drive *d, cdrom_paranoia *p)
|
|
{
|
|
(void)cdda_version();
|
|
(void)paranoia_version();
|
|
#ifdef CDDA_TEST
|
|
(void)cdda_identify_test("", 0, 0);
|
|
#endif
|
|
(void)cdda_open(d);
|
|
(void)cdda_read(d, 0, 0, 1);
|
|
(void)paranoia_init(d);
|
|
paranoia_modeset(p, PARANOIA_MODE_FULL);
|
|
(void)paranoia_read(p, 0);
|
|
paranoia_free(p);
|
|
(void)cdda_close(d);
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
cdrom_drive *d = 0;
|
|
cdrom_paranoia *p = 0;
|
|
use_api(d, p);
|
|
return 0;
|
|
}
|