X-Git-Url: https://git.distorted.org.uk/~mdw/dvdrip/blobdiff_plain/2bbc0426ba4e0a3d40f542df507ee1124fce18a0..48232a33dfecff3a7297300ed7087286d24033b6:/lib.h diff --git a/lib.h b/lib.h index 0198c34..069cd37 100644 --- a/lib.h +++ b/lib.h @@ -73,6 +73,12 @@ extern PRINTF_LIKE(1, 2) NORETURN void bail(const char *fmt, ...); extern PRINTF_LIKE(2, 3) NORETURN void bail_syserr(int err, const char *fmt, ...); +#define PNF_JUNK 1u +extern double parse_float(const char **p_inout, unsigned f, + double min, double max, const char *what); +extern long parse_int(const char **p_inout, unsigned f, + long min, long max, const char *what); + extern void sit(double t); extern void carefully_write(int fd, const void *buf, size_t sz); @@ -80,6 +86,7 @@ extern void open_file_on_demand(const char *file, FILE **fp_inout, const char *what); extern void check_write(FILE *fp, const char *what); extern void carefully_fclose(FILE *fp, const char *what); +extern off_t device_size(int fd, const char *file, int *blksz_out); enum { RAW, IFO, VOB, BUP }; typedef uint_least32_t ident; @@ -93,6 +100,11 @@ static inline unsigned id_part(ident id) { return ((id >> 16)&0x0ff); } #define MAXFNSZ (1 + 8 + 1 + 12 + 1) extern void store_filename(char *buf, ident id); +#define DIF_MUSTVOLINF 1u +#define DIF_MUSTIFOHASH 2u +#define MAXIDSZ 99 +extern int dvd_id(char *p, dvd_reader_t *dvd, unsigned f, const char *file); + struct banner_progress_item { struct progress_item _base; const char *msg; @@ -103,7 +115,7 @@ extern struct progress_state progress; extern void show_banner(const char *msg); extern void hide_banner(void); -extern void open_dvd(const char *device, +extern void open_dvd(const char *device, int mode, int *fd_out, dvd_reader_t **dvd_out); #endif