This is information on what the various files in libdvdnav/src are for: public API ---------- dvdnav.h main public header dvdnav_events.h events returned by get_next_block() dvd_types.h some additional convenience types, mostly unused yet dvd_reader.h libdvdread API ifo_types.h IFO structures translated into C ifo_read.h reading and parsing of IFO structures nav_types.h NAV structures translated into C nav_read.h reading and parsing of NAV structures nav_print.h print NAV structures in a human readable form client interaction ------------------ dvdnav.c the big get_next_block() function and some basic housekeeping dvdnav_internal.h internal structure of libdvdnav library handle navigation.c basic Title/Part navigation searching.c PGC/PG navigation and seeking, position reporting highlight.c DVD menu highlight handling settings.c libdvdnav customizing remap.[ch] user defined reorganization of VOBU playback order DVD virtual machine (subdirectory vm) ------------------- vm.[ch] the logic surrounding the DVD VM decoder.[ch] decodes and executes DVD VM commands DVD reading (subdirectory dvdread, a modified copy of libdvdread) ----------- dvd_reader.c reading data from DVD sources dvd_udf.[ch] handles the UDF filesystem dvd_input.[ch] lowlevel input abstraction, libdvdcss glue code md5.[ch] md5 hashing to provide unique disc IDs ifo_read.c reading and parsing of IFO structures nav_read.c reading and parsing of NAV structures nav_print.c output NAV structures in a human readable form read_cache.[ch] caching debugging and utilities ----------------------- bswap.h endianness helper macros dvdread_internal.h CHECK_VALUE() helper macro vmcmd.[ch] print DVD VM commands and registers in a human readable form