#define VERSION "1.8 17-Jan-1999" #define CDROM_BLOCKSIZE 2048 #define CDDA_BLOCKSIZE 2352 #define MB (1024*1024) #define FRAMES_PER_SECOND 75 #define INT2BCD(i) ((unchar)((((i)/10) << 4) | ((i) % 10))) #define MSF2INT(m, s, f) ((m) * 60 * FRAMES_PER_SECOND + (s) * FRAMES_PER_SECOND + (f)) #define MINUTE(frames) ((frames) / (60*FRAMES_PER_SECOND)) #define SECOND(frames) ((frames) / FRAMES_PER_SECOND % 60) #define FRAME(frames) ((frames) % FRAMES_PER_SECOND) typedef struct { AFfilehandle file; ulong_t blocks; } audio_info_t; extern void swap_bytes(ulong_t *data_buffer, ulong_t n_longs); extern boolean_t check_status(dsreq_t *dsp, const char *detail); extern void display_progress(uint_t verbose, ulong_t total_written, ulong_t total_bytes, ulong_t buffer_size, ulong_t buffer_room); extern void eject_disc(dsreq_t *dsp); extern boolean_t find_device(char *dev, uint_t verbose, dsreq_t **dspp, char *device_id); extern boolean_t identify_device(dsreq_t *dsp, char *device_id); extern void mode_select(struct dsreq *dsp, caddr_t data, ulong_t datalen); extern boolean_t prevent_removal(dsreq_t *dsp, boolean_t prevent); extern void print_bytes(unchar *bytes, size_t len); extern boolean_t read_block(int *file_list, uint_t n_files, ulong_t read_size, unchar *data_buffer); extern void report_sizes(ulong_t capacity, ulong_t total_bytes, uint_t block_length, uint_t speed); extern boolean_t wait_ready(dsreq_t *dsp, uint_t verbose);