30 #include <sys/types.h>
34 #if defined(__cplusplus)
35 #define BURN_BEGIN_DECLS \
38 #define BURN_END_DECLS \
42 #define BURN_BEGIN_DECLS
43 #define BURN_END_DECLS
64 struct burn_write_opts;
71 #define BURN_CDXA 0x20
73 #define BURN_POS_END 100
76 #define BURN_MODE_BITS 127
81 #define BURN_MODE0 (1 << 0)
85 #define BURN_MODE_RAW (1 << 1)
89 #define BURN_MODE1 (1 << 2)
94 #define BURN_MODE2 (1 << 3)
98 #define BURN_FORM1 (1 << 4)
102 #define BURN_FORM2 (1 << 5)
110 #define BURN_AUDIO (1 << 6)
112 #define BURN_4CH (1 << 7)
114 #define BURN_COPY (1 << 8)
116 #define BURN_PREEMPHASIS (1 << 9)
118 #define BURN_SUBCODE_P16 (1 << 10)
120 #define BURN_SUBCODE_P96 (1 << 11)
122 #define BURN_SUBCODE_R96 (1 << 12)
130 #define BURN_SCMS (1 << 13)
792 int (*pacifier_func)(
void *handle,
int patience,
int elapsed),
953 char* adr,
int load);
959 #define BURN_DRIVE_WHITELIST_LEN 255
996 unsigned int *n_drives);
1026 #define BURN_DRIVE_ADR_LEN 1024
1090 int target_no,
int lun_no,
char adr[]);
1123 char *dir_adr,
char **templ,
int num_templ,
int flag);
1134 int *channel_no,
int *target_no,
int *lun_no);
1264 int *start_lba,
int *
end_lba,
int flag);
1289 int m_lo,
int s_lo,
int f_lo,
int flag);
1318 unsigned int *disc_id,
char bar_code[9],
int *app_code,
1342 unsigned char **text_packs,
int *num_packs,
1360 int *alloc_blocks,
int *free_blocks,
int flag);
1380 char **book_name,
int *part_version,
int *num_layers,
1381 int *num_blocks,
int flag);
1402 int trackno,
int *lba,
int *nwa);
1473 struct burn_write_opts *o);
1539 char **product_id,
char **media_code1,
char **media_code2,
1540 char **book_type,
int flag);
1559 char *manuf_code,
char *media_code,
int flag);
1673 #define BURN_FORMAT_IS_UNFORMATTED 1
1674 #define BURN_FORMAT_IS_FORMATTED 2
1675 #define BURN_FORMAT_IS_UNKNOWN 3
1699 unsigned *bl_sas,
int *num_formats);
1717 int *type, off_t *size,
unsigned *tdp);
1728 void burn_disc_read(
struct burn_drive *drive,
const struct burn_read_opts *o);
1737 #define BURN_REASONS_LEN 4096
1772 void burn_disc_write(
struct burn_write_opts *o,
struct burn_disc *disc);
1794 int start,
int flag);
1932 char *path,
int fifo_size,
struct burn_source **fifo,
1933 unsigned char **text_packs,
int *num_packs,
int flag);
2021 int char_codes[8],
int copyrights[8],
2022 int languages[8],
int flag);
2031 #define BURN_CDTEXT_LANGUAGES_0X00 \
2032 "Unknown", "Albanian", "Breton", "Catalan", \
2033 "Croatian", "Welsh", "Czech", "Danish", \
2034 "German", "English", "Spanish", "Esperanto", \
2035 "Estonian", "Basque", "Faroese", "French", \
2036 "Frisian", "Irish", "Gaelic", "Galician", \
2037 "Icelandic", "Italian", "Lappish", "Latin", \
2038 "Latvian", "Luxembourgian", "Lithuanian", "Hungarian", \
2039 "Maltese", "Dutch", "Norwegian", "Occitan", \
2040 "Polish", "Portuguese", "Romanian", "Romansh", \
2041 "Serbian", "Slovak", "Slovenian", "Finnish", \
2042 "Swedish", "Turkish", "Flemish", "Wallon"
2052 #define BURN_CDTEXT_LANGUAGES_0X45 \
2053 "Zulu", "Vietnamese", "Uzbek", \
2054 "Urdu", "Ukrainian", "Thai", "Telugu", \
2055 "Tatar", "Tamil", "Tadzhik", "Swahili", \
2056 "Sranan Tongo", "Somali", "Sinhalese", "Shona", \
2057 "Serbo-croat", "Ruthenian", "Russian", "Quechua", \
2058 "Pushtu", "Punjabi", "Persian", "Papamiento", \
2059 "Oriya", "Nepali", "Ndebele", "Marathi", \
2060 "Moldavian", "Malaysian", "Malagasay", "Macedonian", \
2061 "Laotian", "Korean", "Khmer", "Kazakh", \
2062 "Kannada", "Japanese", "Indonesian", "Hindi", \
2063 "Hebrew", "Hausa", "Gurani", "Gujurati", \
2064 "Greek", "Georgian", "Fulani", "Dari", \
2065 "Churash", "Chinese", "Burmese", "Bulgarian", \
2066 "Bengali", "Bielorussian", "Bambora", "Azerbaijani", \
2067 "Assamese", "Armenian", "Arabic", "Amharic"
2077 #define BURN_CDTEXT_FILLER \
2098 int char_codes[8],
int copyrights[8],
2099 int block_languages[8],
int flag);
2150 int pack_type,
char *pack_type_name,
2151 unsigned char *payload,
int length,
int flag);
2160 #define BURN_CDTEXT_GENRE_LIST \
2161 "Not Used", "Not Defined", "Adult Contemporary", "Alternative Rock", \
2162 "Childrens Music", "Classical", "Contemporary Christian", "Country", \
2163 "Dance", "Easy Listening", "Erotic", "Folk", \
2164 "Gospel", "Hip Hop", "Jazz", "Latin", \
2165 "Musical", "New Age", "Opera", "Operetta", \
2166 "Pop Music", "Rap", "Reggae", "Rock Music", \
2167 "Rhythm & Blues", "Sound Effects", "Spoken Word", "World Music"
2171 #define BURN_CDTEXT_NUM_GENRES 28
2197 int pack_type,
char *pack_type_name,
2198 unsigned char **payload,
int *length,
int flag);
2223 char *path,
int block,
int flag);
2249 unsigned char **text_packs,
int *num_packs,
2283 int *num_packs,
int flag);
2332 int pack_type,
char *pack_type_name,
2333 unsigned char *payload,
int length,
int flag);
2355 int pack_type,
char *pack_type_name,
2356 unsigned char **payload,
int *length,
int flag);
2398 unsigned char year,
unsigned int serial);
2436 unsigned int relative_lba,
int flag);
2550 const char *subpath);
2658 off_t start, off_t size,
int flag);
2705 int chunksize,
int chunks,
int flag);
2727 int *free_bytes,
char **status_text);
2745 int *total_min_fill,
int *interval_min_fill,
2746 int *put_counter,
int *get_counter,
2747 int *empty_counter,
int *full_counter);
2827 off_t *read_bytes, off_t *written_bytes);
2873 int min_usec,
int max_usec,
int timeout_sec,
2874 int min_percent,
int max_percent);
2915 struct burn_write_opts *opts,
struct burn_disc *disc,
2961 int underrun_proof);
2979 unsigned char mediacatalog[13]);
2988 int has_mediacatalog);
3026 unsigned char *text_packs,
3027 int num_packs,
int flag);
3146 int subcodes_audio);
3160 int hardware_error_recovery);
3167 int report_recovered_errors);
3174 int transfer_damaged_blocks);
3181 unsigned char hardware_error_retries);
3198 int profiles[64],
char is_current[64]);
3486 #define burn_header_version_major 1
3487 #define burn_header_version_minor 2
3488 #define burn_header_version_micro 8
3562 char *print_severity,
char *print_id);
3566 #define BURN_MSGS_MESSAGE_LEN 4096
3586 int *error_code,
char msg_text[],
int *os_errno,
3609 char severity[],
struct burn_drive *d);
3769 char *data, off_t data_count,
int flag);
3825 char data[], off_t data_size, off_t *data_count,
int flag);
3869 char data[], off_t data_size, off_t *data_count,
int flag);
3956 #define LIBDAX_AUDIOXTR_STRLEN 4096
3964 struct libdax_audioxtr;
3995 char **fmt,
char **fmt_info,
3996 int *num_channels,
int *sample_rate,
3997 int *bits_per_sample,
int *msb_first,
int flag);
4025 char buffer[],
int buffer_size,
int flag);
4083 #define Libburn_dummy_probe_write_modeS 1
4089 #define Libburn_disc_with_incomplete_sessioN 1
4097 #ifdef Libburn_develop_quality_scaN
4101 int burn_nec_optiarc_rep_err_rate(
struct burn_drive *d,
4102 int start_lba,
int rate_period,
int flag);