#ifndef BURN__STRUCTURE_H #define BURN__STRUCTURE_H struct isrc { int has_isrc; char country[2]; /* each must be 0-9, A-Z */ char owner[3]; /* each must be 0-9, A-Z */ unsigned char year; /* must be 0-99 */ unsigned int serial; /* must be 0-99999 */ }; struct burn_track { int refcnt; struct burn_toc_entry *entry; unsigned char indices; /* lba address of the index */ unsigned int index[99]; /** number of 0 bytes to write before data */ int offset; /** how much offset has been used */ int offsetcount; /** Number of zeros to write after data */ int tail; /** how much tail has been used */ int tailcount; /** 1 means Pad with zeros, 0 means start reading the next track */ int pad; /** Data source */ struct burn_source *source; /** End of Source flag */ int eos; /* ts A61101 */ off_t sourcecount; off_t writecount; off_t written_sectors; /* ts A61031 */ /** Source is of undefined length */ int open_ended; /** End of open ended track flag : offset+payload+tail are delivered */ int track_data_done; /** The audio/data mode for the entry. Derived from control and possibly from reading the track's first sector. */ int mode; /** The track contains interval one of a pregap */ int pregap1; /** The track contains interval two of a pregap */ int pregap2; /** The track contains a postgap */ int postgap; struct isrc isrc; /* ts A61024 */ /** Byte swapping on source data stream : 0=none , 1=pairwise */ int swap_source_bytes; }; struct burn_session { unsigned char firsttrack; unsigned char lasttrack; int hidefirst; unsigned char start_m; unsigned char start_s; unsigned char start_f; struct burn_toc_entry *leadout_entry; int tracks; struct burn_track **track; int refcnt; }; struct burn_disc { int sessions; struct burn_session **session; int refcnt; }; int burn_track_get_shortage(struct burn_track *t); /* ts A61031 : might go to libburn.h */ int burn_track_is_open_ended(struct burn_track *t); int burn_track_is_data_done(struct burn_track *t); /* ts A70125 */ int burn_track_set_sectors(struct burn_track *t, int sectors); #endif /* BURN__STRUCTURE_H */