/* Compile-time check that the installed headers expose the cdparanoia 10.2 * API and the expected 64-bit Linux ABI layout. */ #include #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; }