#![allow(non_camel_case_types)]
#![allow(clippy::useless_transmute)]
#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage> {
storage: Storage,
}
impl<Storage> __BindgenBitfieldUnit<Storage> {
#[inline]
pub const fn new(storage: Storage) -> Self {
Self { storage }
}
}
impl<Storage> __BindgenBitfieldUnit<Storage>
where
Storage: AsRef<[u8]> + AsMut<[u8]>,
{
#[inline]
fn extract_bit(byte: u8, index: usize) -> bool {
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
byte & mask == mask
}
#[inline]
pub fn get_bit(&self, index: usize) -> bool {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = self.storage.as_ref()[byte_index];
Self::extract_bit(byte, index)
}
#[inline]
pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
debug_assert!(index / 8 < core::mem::size_of::<Storage>());
let byte_index = index / 8;
let byte = unsafe {
*(core::ptr::addr_of!((*this).storage) as *const u8).add(byte_index)
};
Self::extract_bit(byte, index)
}
#[inline]
fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
if val { byte | mask } else { byte & !mask }
}
#[inline]
pub fn set_bit(&mut self, index: usize, val: bool) {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = &mut self.storage.as_mut()[byte_index];
*byte = Self::change_bit(*byte, index, val);
}
#[inline]
pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
debug_assert!(index / 8 < core::mem::size_of::<Storage>());
let byte_index = index / 8;
let byte = unsafe {
(core::ptr::addr_of_mut!((*this).storage) as *mut u8).add(byte_index)
};
unsafe { *byte = Self::change_bit(*byte, index, val) };
}
#[inline]
pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
let mut val = 0;
for i in 0..(bit_width as usize) {
if self.get_bit(i + bit_offset) {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
let mut val = 0;
for i in 0..(bit_width as usize) {
if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
self.set_bit(index + bit_offset, val_bit_is_set);
}
}
#[inline]
pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
}
}
}
pub const BURN_CDROM: u32 = 0;
pub const BURN_CDI: u32 = 16;
pub const BURN_CDXA: u32 = 32;
pub const BURN_POS_END: u32 = 100;
pub const BURN_MODE_BITS: u32 = 127;
pub const BURN_MODE0: u32 = 1;
pub const BURN_MODE_RAW: u32 = 2;
pub const BURN_MODE1: u32 = 4;
pub const BURN_MODE2: u32 = 8;
pub const BURN_FORM1: u32 = 16;
pub const BURN_FORM2: u32 = 32;
pub const BURN_AUDIO: u32 = 64;
pub const BURN_4CH: u32 = 128;
pub const BURN_COPY: u32 = 256;
pub const BURN_PREEMPHASIS: u32 = 512;
pub const BURN_SUBCODE_P16: u32 = 1024;
pub const BURN_SUBCODE_P96: u32 = 2048;
pub const BURN_SUBCODE_R96: u32 = 4096;
pub const BURN_SCMS: u32 = 8192;
pub const BURN_DRIVE_WHITELIST_LEN: u32 = 255;
pub const BURN_DRIVE_ADR_LEN: u32 = 1024;
pub const BURN_FORMAT_IS_UNFORMATTED: u32 = 1;
pub const BURN_FORMAT_IS_FORMATTED: u32 = 2;
pub const BURN_FORMAT_IS_UNKNOWN: u32 = 3;
pub const BURN_REASONS_LEN: u32 = 4096;
pub const BURN_CDTEXT_NUM_GENRES: u32 = 28;
pub const BURN_HEADER_VERSION_MAJOR: u32 = 1;
pub const BURN_HEADER_VERSION_MINOR: u32 = 5;
pub const BURN_HEADER_VERSION_MICRO: u32 = 6;
pub const BURN_MSGS_MESSAGE_LEN: u32 = 4096;
pub const LIBDAX_AUDIOXTR_STRLEN: u32 = 4096;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_drive {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_disc {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_session {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_track {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_write_opts {
_unused: [u8; 0],
}
pub const BURN_WRITE_TYPES_BURN_WRITE_PACKET: burn_write_types = 0;
pub const BURN_WRITE_TYPES_BURN_WRITE_TAO: burn_write_types = 1;
pub const BURN_WRITE_TYPES_BURN_WRITE_SAO: burn_write_types = 2;
pub const BURN_WRITE_TYPES_BURN_WRITE_RAW: burn_write_types = 3;
pub const BURN_WRITE_TYPES_BURN_WRITE_NONE: burn_write_types = 4;
pub type burn_write_types = ::std::os::raw::c_uint;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_RAW0: burn_block_types = 1;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_RAW16: burn_block_types = 2;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_RAW96P: burn_block_types = 4;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_RAW96R: burn_block_types = 8;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_MODE1: burn_block_types = 256;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_MODE2R: burn_block_types = 512;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_MODE2_PATHETIC: burn_block_types = 1024;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_MODE2_LAME: burn_block_types = 2048;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_MODE2_OBSCURE: burn_block_types = 4096;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_MODE2_OK: burn_block_types = 8192;
pub const BURN_BLOCK_TYPES_BURN_BLOCK_SAO: burn_block_types = 16384;
pub type burn_block_types = ::std::os::raw::c_uint;
pub const BURN_DISC_STATUS_BURN_DISC_UNREADY: burn_disc_status = 0;
pub const BURN_DISC_STATUS_BURN_DISC_BLANK: burn_disc_status = 1;
pub const BURN_DISC_STATUS_BURN_DISC_EMPTY: burn_disc_status = 2;
pub const BURN_DISC_STATUS_BURN_DISC_APPENDABLE: burn_disc_status = 3;
pub const BURN_DISC_STATUS_BURN_DISC_FULL: burn_disc_status = 4;
pub const BURN_DISC_STATUS_BURN_DISC_UNGRABBED: burn_disc_status = 5;
pub const BURN_DISC_STATUS_BURN_DISC_UNSUITABLE: burn_disc_status = 6;
pub type burn_disc_status = ::std::os::raw::c_uint;
pub const BURN_SOURCE_STATUS_BURN_SOURCE_OK: burn_source_status = 0;
pub const BURN_SOURCE_STATUS_BURN_SOURCE_EOF: burn_source_status = 1;
pub const BURN_SOURCE_STATUS_BURN_SOURCE_FAILED: burn_source_status = 2;
pub type burn_source_status = ::std::os::raw::c_uint;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_IDLE: burn_drive_status = 0;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_SPAWNING: burn_drive_status = 1;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_READING: burn_drive_status = 2;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_WRITING: burn_drive_status = 3;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_WRITING_LEADIN: burn_drive_status = 4;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_WRITING_LEADOUT: burn_drive_status = 5;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_ERASING: burn_drive_status = 6;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_GRABBING: burn_drive_status = 7;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_WRITING_PREGAP: burn_drive_status = 8;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_CLOSING_TRACK: burn_drive_status = 9;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_CLOSING_SESSION: burn_drive_status = 10;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_FORMATTING: burn_drive_status = 11;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_READING_SYNC: burn_drive_status = 12;
pub const BURN_DRIVE_STATUS_BURN_DRIVE_WRITING_SYNC: burn_drive_status = 13;
pub type burn_drive_status = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_toc_entry {
pub session: ::std::os::raw::c_uchar,
pub adr: ::std::os::raw::c_uchar,
pub control: ::std::os::raw::c_uchar,
pub tno: ::std::os::raw::c_uchar,
pub point: ::std::os::raw::c_uchar,
pub min: ::std::os::raw::c_uchar,
pub sec: ::std::os::raw::c_uchar,
pub frame: ::std::os::raw::c_uchar,
pub zero: ::std::os::raw::c_uchar,
pub pmin: ::std::os::raw::c_uchar,
pub psec: ::std::os::raw::c_uchar,
pub pframe: ::std::os::raw::c_uchar,
pub extensions_valid: ::std::os::raw::c_uchar,
pub session_msb: ::std::os::raw::c_uchar,
pub point_msb: ::std::os::raw::c_uchar,
pub start_lba: ::std::os::raw::c_int,
pub track_blocks: ::std::os::raw::c_int,
pub last_recorded_address: ::std::os::raw::c_int,
pub track_status_bits: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of burn_toc_entry"][::std::mem::size_of::<burn_toc_entry>() - 32usize];
["Alignment of burn_toc_entry"][::std::mem::align_of::<burn_toc_entry>() - 4usize];
["Offset of field: burn_toc_entry::session"]
[::std::mem::offset_of!(burn_toc_entry, session) - 0usize];
["Offset of field: burn_toc_entry::adr"][::std::mem::offset_of!(burn_toc_entry, adr) - 1usize];
["Offset of field: burn_toc_entry::control"]
[::std::mem::offset_of!(burn_toc_entry, control) - 2usize];
["Offset of field: burn_toc_entry::tno"][::std::mem::offset_of!(burn_toc_entry, tno) - 3usize];
["Offset of field: burn_toc_entry::point"]
[::std::mem::offset_of!(burn_toc_entry, point) - 4usize];
["Offset of field: burn_toc_entry::min"][::std::mem::offset_of!(burn_toc_entry, min) - 5usize];
["Offset of field: burn_toc_entry::sec"][::std::mem::offset_of!(burn_toc_entry, sec) - 6usize];
["Offset of field: burn_toc_entry::frame"]
[::std::mem::offset_of!(burn_toc_entry, frame) - 7usize];
["Offset of field: burn_toc_entry::zero"]
[::std::mem::offset_of!(burn_toc_entry, zero) - 8usize];
["Offset of field: burn_toc_entry::pmin"]
[::std::mem::offset_of!(burn_toc_entry, pmin) - 9usize];
["Offset of field: burn_toc_entry::psec"]
[::std::mem::offset_of!(burn_toc_entry, psec) - 10usize];
["Offset of field: burn_toc_entry::pframe"]
[::std::mem::offset_of!(burn_toc_entry, pframe) - 11usize];
["Offset of field: burn_toc_entry::extensions_valid"]
[::std::mem::offset_of!(burn_toc_entry, extensions_valid) - 12usize];
["Offset of field: burn_toc_entry::session_msb"]
[::std::mem::offset_of!(burn_toc_entry, session_msb) - 13usize];
["Offset of field: burn_toc_entry::point_msb"]
[::std::mem::offset_of!(burn_toc_entry, point_msb) - 14usize];
["Offset of field: burn_toc_entry::start_lba"]
[::std::mem::offset_of!(burn_toc_entry, start_lba) - 16usize];
["Offset of field: burn_toc_entry::track_blocks"]
[::std::mem::offset_of!(burn_toc_entry, track_blocks) - 20usize];
["Offset of field: burn_toc_entry::last_recorded_address"]
[::std::mem::offset_of!(burn_toc_entry, last_recorded_address) - 24usize];
["Offset of field: burn_toc_entry::track_status_bits"]
[::std::mem::offset_of!(burn_toc_entry, track_status_bits) - 28usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_source {
pub refcount: ::std::os::raw::c_int,
pub read: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut burn_source,
buffer: *mut ::std::os::raw::c_uchar,
size: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub read_sub: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut burn_source,
buffer: *mut ::std::os::raw::c_uchar,
size: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub get_size: ::std::option::Option<unsafe extern "C" fn(arg1: *mut burn_source) -> libc::off_t>,
pub set_size: ::std::option::Option<
unsafe extern "C" fn(source: *mut burn_source, size: libc::off_t) -> ::std::os::raw::c_int,
>,
pub free_data: ::std::option::Option<unsafe extern "C" fn(arg1: *mut burn_source)>,
pub next: *mut burn_source,
pub data: *mut ::std::os::raw::c_void,
pub version: ::std::os::raw::c_int,
pub read_xt: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut burn_source,
buffer: *mut ::std::os::raw::c_uchar,
size: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub cancel: ::std::option::Option<
unsafe extern "C" fn(source: *mut burn_source) -> ::std::os::raw::c_int,
>,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of burn_source"][::std::mem::size_of::<burn_source>() - 88usize];
["Alignment of burn_source"][::std::mem::align_of::<burn_source>() - 8usize];
["Offset of field: burn_source::refcount"]
[::std::mem::offset_of!(burn_source, refcount) - 0usize];
["Offset of field: burn_source::read"][::std::mem::offset_of!(burn_source, read) - 8usize];
["Offset of field: burn_source::read_sub"]
[::std::mem::offset_of!(burn_source, read_sub) - 16usize];
["Offset of field: burn_source::get_size"]
[::std::mem::offset_of!(burn_source, get_size) - 24usize];
["Offset of field: burn_source::set_size"]
[::std::mem::offset_of!(burn_source, set_size) - 32usize];
["Offset of field: burn_source::free_data"]
[::std::mem::offset_of!(burn_source, free_data) - 40usize];
["Offset of field: burn_source::next"][::std::mem::offset_of!(burn_source, next) - 48usize];
["Offset of field: burn_source::data"][::std::mem::offset_of!(burn_source, data) - 56usize];
["Offset of field: burn_source::version"]
[::std::mem::offset_of!(burn_source, version) - 64usize];
["Offset of field: burn_source::read_xt"]
[::std::mem::offset_of!(burn_source, read_xt) - 72usize];
["Offset of field: burn_source::cancel"][::std::mem::offset_of!(burn_source, cancel) - 80usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_drive_info {
pub vendor: [::std::os::raw::c_char; 9usize],
pub product: [::std::os::raw::c_char; 17usize],
pub revision: [::std::os::raw::c_char; 5usize],
pub location: [::std::os::raw::c_char; 17usize],
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
pub buffer_size: ::std::os::raw::c_int,
pub tao_block_types: ::std::os::raw::c_int,
pub sao_block_types: ::std::os::raw::c_int,
pub raw_block_types: ::std::os::raw::c_int,
pub packet_block_types: ::std::os::raw::c_int,
pub drive: *mut burn_drive,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of burn_drive_info"][::std::mem::size_of::<burn_drive_info>() - 80usize];
["Alignment of burn_drive_info"][::std::mem::align_of::<burn_drive_info>() - 8usize];
["Offset of field: burn_drive_info::vendor"]
[::std::mem::offset_of!(burn_drive_info, vendor) - 0usize];
["Offset of field: burn_drive_info::product"]
[::std::mem::offset_of!(burn_drive_info, product) - 9usize];
["Offset of field: burn_drive_info::revision"]
[::std::mem::offset_of!(burn_drive_info, revision) - 26usize];
["Offset of field: burn_drive_info::location"]
[::std::mem::offset_of!(burn_drive_info, location) - 31usize];
["Offset of field: burn_drive_info::buffer_size"]
[::std::mem::offset_of!(burn_drive_info, buffer_size) - 52usize];
["Offset of field: burn_drive_info::tao_block_types"]
[::std::mem::offset_of!(burn_drive_info, tao_block_types) - 56usize];
["Offset of field: burn_drive_info::sao_block_types"]
[::std::mem::offset_of!(burn_drive_info, sao_block_types) - 60usize];
["Offset of field: burn_drive_info::raw_block_types"]
[::std::mem::offset_of!(burn_drive_info, raw_block_types) - 64usize];
["Offset of field: burn_drive_info::packet_block_types"]
[::std::mem::offset_of!(burn_drive_info, packet_block_types) - 68usize];
["Offset of field: burn_drive_info::drive"]
[::std::mem::offset_of!(burn_drive_info, drive) - 72usize];
};
impl burn_drive_info {
#[inline]
pub fn read_dvdram(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_read_dvdram(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn read_dvdram_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
0usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_read_dvdram_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
0usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn read_dvdr(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
}
#[inline]
pub fn set_read_dvdr(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn read_dvdr_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
1usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_read_dvdr_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
1usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn read_dvdrom(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
}
#[inline]
pub fn set_read_dvdrom(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn read_dvdrom_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
2usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_read_dvdrom_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
2usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn read_cdr(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
}
#[inline]
pub fn set_read_cdr(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn read_cdr_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
3usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_read_cdr_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
3usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn read_cdrw(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
}
#[inline]
pub fn set_read_cdrw(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn read_cdrw_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
4usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_read_cdrw_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
4usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn write_dvdram(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
}
#[inline]
pub fn set_write_dvdram(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(5usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn write_dvdram_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
5usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_write_dvdram_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
5usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn write_dvdr(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
}
#[inline]
pub fn set_write_dvdr(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(6usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn write_dvdr_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
6usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_write_dvdr_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
6usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn write_cdr(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
}
#[inline]
pub fn set_write_cdr(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(7usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn write_cdr_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
7usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_write_cdr_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
7usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn write_cdrw(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
}
#[inline]
pub fn set_write_cdrw(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(8usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn write_cdrw_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
8usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_write_cdrw_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
8usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn write_simulate(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
}
#[inline]
pub fn set_write_simulate(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(9usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn write_simulate_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
9usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_write_simulate_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
9usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn c2_errors(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
}
#[inline]
pub fn set_c2_errors(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(10usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn c2_errors_raw(this: *const Self) -> ::std::os::raw::c_uint {
unsafe {
::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
::std::ptr::addr_of!((*this)._bitfield_1),
10usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_c2_errors_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
::std::ptr::addr_of_mut!((*this)._bitfield_1),
10usize,
1u8,
val as u64,
)
}
}
#[expect(clippy::too_many_arguments)]
#[inline]
pub fn new_bitfield_1(
read_dvdram: ::std::os::raw::c_uint,
read_dvdr: ::std::os::raw::c_uint,
read_dvdrom: ::std::os::raw::c_uint,
read_cdr: ::std::os::raw::c_uint,
read_cdrw: ::std::os::raw::c_uint,
write_dvdram: ::std::os::raw::c_uint,
write_dvdr: ::std::os::raw::c_uint,
write_cdr: ::std::os::raw::c_uint,
write_cdrw: ::std::os::raw::c_uint,
write_simulate: ::std::os::raw::c_uint,
c2_errors: ::std::os::raw::c_uint,
) -> __BindgenBitfieldUnit<[u8; 2usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let read_dvdram: u32 = unsafe { ::std::mem::transmute(read_dvdram) };
read_dvdram as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let read_dvdr: u32 = unsafe { ::std::mem::transmute(read_dvdr) };
read_dvdr as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
let read_dvdrom: u32 = unsafe { ::std::mem::transmute(read_dvdrom) };
read_dvdrom as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let read_cdr: u32 = unsafe { ::std::mem::transmute(read_cdr) };
read_cdr as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
let read_cdrw: u32 = unsafe { ::std::mem::transmute(read_cdrw) };
read_cdrw as u64
});
__bindgen_bitfield_unit.set(5usize, 1u8, {
let write_dvdram: u32 = unsafe { ::std::mem::transmute(write_dvdram) };
write_dvdram as u64
});
__bindgen_bitfield_unit.set(6usize, 1u8, {
let write_dvdr: u32 = unsafe { ::std::mem::transmute(write_dvdr) };
write_dvdr as u64
});
__bindgen_bitfield_unit.set(7usize, 1u8, {
let write_cdr: u32 = unsafe { ::std::mem::transmute(write_cdr) };
write_cdr as u64
});
__bindgen_bitfield_unit.set(8usize, 1u8, {
let write_cdrw: u32 = unsafe { ::std::mem::transmute(write_cdrw) };
write_cdrw as u64
});
__bindgen_bitfield_unit.set(9usize, 1u8, {
let write_simulate: u32 = unsafe { ::std::mem::transmute(write_simulate) };
write_simulate as u64
});
__bindgen_bitfield_unit.set(10usize, 1u8, {
let c2_errors: u32 = unsafe { ::std::mem::transmute(c2_errors) };
c2_errors as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_progress {
pub sessions: ::std::os::raw::c_int,
pub session: ::std::os::raw::c_int,
pub tracks: ::std::os::raw::c_int,
pub track: ::std::os::raw::c_int,
pub indices: ::std::os::raw::c_int,
pub index: ::std::os::raw::c_int,
pub start_sector: ::std::os::raw::c_int,
pub sectors: ::std::os::raw::c_int,
pub sector: ::std::os::raw::c_int,
pub buffer_capacity: ::std::os::raw::c_uint,
pub buffer_available: ::std::os::raw::c_uint,
pub buffered_bytes: libc::off_t,
pub buffer_min_fill: ::std::os::raw::c_uint,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of burn_progress"][::std::mem::size_of::<burn_progress>() - 64usize];
["Alignment of burn_progress"][::std::mem::align_of::<burn_progress>() - 8usize];
["Offset of field: burn_progress::sessions"]
[::std::mem::offset_of!(burn_progress, sessions) - 0usize];
["Offset of field: burn_progress::session"]
[::std::mem::offset_of!(burn_progress, session) - 4usize];
["Offset of field: burn_progress::tracks"]
[::std::mem::offset_of!(burn_progress, tracks) - 8usize];
["Offset of field: burn_progress::track"]
[::std::mem::offset_of!(burn_progress, track) - 12usize];
["Offset of field: burn_progress::indices"]
[::std::mem::offset_of!(burn_progress, indices) - 16usize];
["Offset of field: burn_progress::index"]
[::std::mem::offset_of!(burn_progress, index) - 20usize];
["Offset of field: burn_progress::start_sector"]
[::std::mem::offset_of!(burn_progress, start_sector) - 24usize];
["Offset of field: burn_progress::sectors"]
[::std::mem::offset_of!(burn_progress, sectors) - 28usize];
["Offset of field: burn_progress::sector"]
[::std::mem::offset_of!(burn_progress, sector) - 32usize];
["Offset of field: burn_progress::buffer_capacity"]
[::std::mem::offset_of!(burn_progress, buffer_capacity) - 36usize];
["Offset of field: burn_progress::buffer_available"]
[::std::mem::offset_of!(burn_progress, buffer_available) - 40usize];
["Offset of field: burn_progress::buffered_bytes"]
[::std::mem::offset_of!(burn_progress, buffered_bytes) - 48usize];
["Offset of field: burn_progress::buffer_min_fill"]
[::std::mem::offset_of!(burn_progress, buffer_min_fill) - 56usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_speed_descriptor {
pub source: ::std::os::raw::c_int,
pub profile_loaded: ::std::os::raw::c_int,
pub profile_name: [::std::os::raw::c_char; 80usize],
pub end_lba: ::std::os::raw::c_int,
pub write_speed: ::std::os::raw::c_int,
pub read_speed: ::std::os::raw::c_int,
pub wrc: ::std::os::raw::c_int,
pub exact: ::std::os::raw::c_int,
pub mrw: ::std::os::raw::c_int,
pub prev: *mut burn_speed_descriptor,
pub next: *mut burn_speed_descriptor,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of burn_speed_descriptor"][::std::mem::size_of::<burn_speed_descriptor>() - 128usize];
["Alignment of burn_speed_descriptor"]
[::std::mem::align_of::<burn_speed_descriptor>() - 8usize];
["Offset of field: burn_speed_descriptor::source"]
[::std::mem::offset_of!(burn_speed_descriptor, source) - 0usize];
["Offset of field: burn_speed_descriptor::profile_loaded"]
[::std::mem::offset_of!(burn_speed_descriptor, profile_loaded) - 4usize];
["Offset of field: burn_speed_descriptor::profile_name"]
[::std::mem::offset_of!(burn_speed_descriptor, profile_name) - 8usize];
["Offset of field: burn_speed_descriptor::end_lba"]
[::std::mem::offset_of!(burn_speed_descriptor, end_lba) - 88usize];
["Offset of field: burn_speed_descriptor::write_speed"]
[::std::mem::offset_of!(burn_speed_descriptor, write_speed) - 92usize];
["Offset of field: burn_speed_descriptor::read_speed"]
[::std::mem::offset_of!(burn_speed_descriptor, read_speed) - 96usize];
["Offset of field: burn_speed_descriptor::wrc"]
[::std::mem::offset_of!(burn_speed_descriptor, wrc) - 100usize];
["Offset of field: burn_speed_descriptor::exact"]
[::std::mem::offset_of!(burn_speed_descriptor, exact) - 104usize];
["Offset of field: burn_speed_descriptor::mrw"]
[::std::mem::offset_of!(burn_speed_descriptor, mrw) - 108usize];
["Offset of field: burn_speed_descriptor::prev"]
[::std::mem::offset_of!(burn_speed_descriptor, prev) - 112usize];
["Offset of field: burn_speed_descriptor::next"]
[::std::mem::offset_of!(burn_speed_descriptor, next) - 120usize];
};
unsafe extern "C" {
pub fn burn_initialize() -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_finish();
}
unsafe extern "C" {
pub fn burn_abort(
patience: ::std::os::raw::c_int,
pacifier_func: ::std::option::Option<
unsafe extern "C" fn(
handle: *mut ::std::os::raw::c_void,
patience: ::std::os::raw::c_int,
elapsed: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
handle: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_abort_pacifier(
handle: *mut ::std::os::raw::c_void,
patience: ::std::os::raw::c_int,
elapsed: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_set_verbosity(level: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_set_scsi_logging(flag: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_preset_device_open(
exclusive: ::std::os::raw::c_int,
blocking: ::std::os::raw::c_int,
abort_on_busy: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_allow_untested_profiles(yes: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_drive_scan_and_grab(
drive_infos: *mut *mut burn_drive_info,
adr: *mut ::std::os::raw::c_char,
load: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_add_whitelist(
device_address: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_clear_whitelist();
}
unsafe extern "C" {
pub fn burn_drive_scan(
drive_infos: *mut *mut burn_drive_info,
n_drives: *mut ::std::os::raw::c_uint,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_info_forget(
drive_info: *mut burn_drive_info,
force: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_info_free(drive_infos: *mut burn_drive_info);
}
unsafe extern "C" {
pub fn burn_drive_d_get_adr(
drive: *mut burn_drive,
adr: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_adr(
drive_info: *mut burn_drive_info,
adr: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_is_enumerable_adr(adr: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_convert_fs_adr(
path: *mut ::std::os::raw::c_char,
adr: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_convert_scsi_adr(
bus_no: ::std::os::raw::c_int,
host_no: ::std::os::raw::c_int,
channel_no: ::std::os::raw::c_int,
target_no: ::std::os::raw::c_int,
lun_no: ::std::os::raw::c_int,
adr: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_lookup_device_link(
dev_adr: *mut ::std::os::raw::c_char,
link_adr: *mut ::std::os::raw::c_char,
dir_adr: *mut ::std::os::raw::c_char,
templ: *mut *mut ::std::os::raw::c_char,
num_templ: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_obtain_scsi_adr(
path: *mut ::std::os::raw::c_char,
bus_no: *mut ::std::os::raw::c_int,
host_no: *mut ::std::os::raw::c_int,
channel_no: *mut ::std::os::raw::c_int,
target_no: *mut ::std::os::raw::c_int,
lun_no: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_grab(
drive: *mut burn_drive,
load: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_probe_cd_write_modes(
drive_info: *mut burn_drive_info,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_snooze(
d: *mut burn_drive,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_re_assess(
d: *mut burn_drive,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_release(drive: *mut burn_drive, eject: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_drive_leave_locked(
d: *mut burn_drive,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_get_status(drive: *mut burn_drive) -> burn_disc_status;
}
unsafe extern "C" {
pub fn burn_disc_pretend_blank(drive: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_pretend_full(drive: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_pretend_full_uncond(drive: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_serial_no(
d: *mut burn_drive,
sno: *mut *mut ::std::os::raw::c_char,
sno_len: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_media_sno(
d: *mut burn_drive,
sno: *mut *mut ::std::os::raw::c_char,
sno_len: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_read_atip(drive: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_bd_r_pow(drive: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_start_end_lba(
drive: *mut burn_drive,
start_lba: *mut ::std::os::raw::c_int,
end_lba: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_guess_cd_manufacturer(
m_li: ::std::os::raw::c_int,
s_li: ::std::os::raw::c_int,
f_li: ::std::os::raw::c_int,
m_lo: ::std::os::raw::c_int,
s_lo: ::std::os::raw::c_int,
f_lo: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
pub fn burn_disc_get_cd_info(
d: *mut burn_drive,
disc_type: *mut ::std::os::raw::c_char,
disc_id: *mut ::std::os::raw::c_uint,
bar_code: *mut ::std::os::raw::c_char,
app_code: *mut ::std::os::raw::c_int,
valid: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_get_leadin_text(
d: *mut burn_drive,
text_packs: *mut *mut ::std::os::raw::c_uchar,
num_packs: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_get_bd_spare_info(
d: *mut burn_drive,
alloc_blocks: *mut ::std::os::raw::c_int,
free_blocks: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_get_phys_format_info(
d: *mut burn_drive,
disk_category: *mut ::std::os::raw::c_int,
book_name: *mut *mut ::std::os::raw::c_char,
part_version: *mut ::std::os::raw::c_int,
num_layers: *mut ::std::os::raw::c_int,
num_blocks: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_track_lba_nwa(
d: *mut burn_drive,
o: *mut burn_write_opts,
trackno: ::std::os::raw::c_int,
lba: *mut ::std::os::raw::c_int,
nwa: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_next_track_is_damaged(
d: *mut burn_drive,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_close_damaged(
o: *mut burn_write_opts,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_get_msc1(
d: *mut burn_drive,
start_lba: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_available_space(d: *mut burn_drive, o: *mut burn_write_opts) -> libc::off_t;
}
unsafe extern "C" {
pub fn burn_disc_get_profile(
d: *mut burn_drive,
pno: *mut ::std::os::raw::c_int,
name: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_get_media_id(
d: *mut burn_drive,
product_id: *mut *mut ::std::os::raw::c_char,
media_code1: *mut *mut ::std::os::raw::c_char,
media_code2: *mut *mut ::std::os::raw::c_char,
book_type: *mut *mut ::std::os::raw::c_char,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_guess_manufacturer(
profile_no: ::std::os::raw::c_int,
manuf_code: *mut ::std::os::raw::c_char,
media_code: *mut ::std::os::raw::c_char,
flag: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
pub fn burn_disc_erasable(d: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_status(
drive: *mut burn_drive,
p: *mut burn_progress,
) -> burn_drive_status;
}
unsafe extern "C" {
pub fn burn_write_opts_new(drive: *mut burn_drive) -> *mut burn_write_opts;
}
unsafe extern "C" {
pub fn burn_write_opts_get_drive(opts: *mut burn_write_opts) -> *mut burn_drive;
}
unsafe extern "C" {
pub fn burn_write_opts_free(opts: *mut burn_write_opts);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_read_opts {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn burn_read_opts_new(drive: *mut burn_drive) -> *mut burn_read_opts;
}
unsafe extern "C" {
pub fn burn_read_opts_free(opts: *mut burn_read_opts);
}
unsafe extern "C" {
pub fn burn_disc_erase(drive: *mut burn_drive, fast: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_disc_format(drive: *mut burn_drive, size: libc::off_t, flag: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_disc_get_formats(
drive: *mut burn_drive,
status: *mut ::std::os::raw::c_int,
size: *mut libc::off_t,
bl_sas: *mut ::std::os::raw::c_uint,
num_formats: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_get_format_descr(
drive: *mut burn_drive,
index: ::std::os::raw::c_int,
type_: *mut ::std::os::raw::c_int,
size: *mut libc::off_t,
tdp: *mut ::std::os::raw::c_uint,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_read(drive: *mut burn_drive, o: *const burn_read_opts);
}
unsafe extern "C" {
pub fn burn_precheck_write(
o: *mut burn_write_opts,
disc: *mut burn_disc,
reasons: *mut ::std::os::raw::c_char,
silent: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_write(o: *mut burn_write_opts, disc: *mut burn_disc);
}
unsafe extern "C" {
pub fn burn_drive_set_stream_recording(
drive: *mut burn_drive,
recmode: ::std::os::raw::c_int,
start: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_set_immed(
drive: *mut burn_drive,
enable: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_immed(drive: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_cancel(drive: *mut burn_drive);
}
unsafe extern "C" {
pub fn burn_drive_wrote_well(d: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_was_feat21_failure(d: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_msf_to_sectors(
m: ::std::os::raw::c_int,
s: ::std::os::raw::c_int,
f: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_sectors_to_msf(
sectors: ::std::os::raw::c_int,
m: *mut ::std::os::raw::c_int,
s: *mut ::std::os::raw::c_int,
f: *mut ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_msf_to_lba(
m: ::std::os::raw::c_int,
s: ::std::os::raw::c_int,
f: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_lba_to_msf(
lba: ::std::os::raw::c_int,
m: *mut ::std::os::raw::c_int,
s: *mut ::std::os::raw::c_int,
f: *mut ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_disc_create() -> *mut burn_disc;
}
unsafe extern "C" {
pub fn burn_disc_free(d: *mut burn_disc);
}
unsafe extern "C" {
pub fn burn_session_create() -> *mut burn_session;
}
unsafe extern "C" {
pub fn burn_session_free(s: *mut burn_session);
}
unsafe extern "C" {
pub fn burn_disc_add_session(
d: *mut burn_disc,
s: *mut burn_session,
pos: ::std::os::raw::c_uint,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_remove_session(
d: *mut burn_disc,
s: *mut burn_session,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_by_cue_file(
session: *mut burn_session,
path: *mut ::std::os::raw::c_char,
fifo_size: ::std::os::raw::c_int,
fifo: *mut *mut burn_source,
text_packs: *mut *mut ::std::os::raw::c_uchar,
num_packs: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_create() -> *mut burn_track;
}
unsafe extern "C" {
pub fn burn_track_free(t: *mut burn_track);
}
unsafe extern "C" {
pub fn burn_session_add_track(
s: *mut burn_session,
t: *mut burn_track,
pos: ::std::os::raw::c_uint,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_remove_track(
s: *mut burn_session,
t: *mut burn_track,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_set_start_tno(
session: *mut burn_session,
tno: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_get_start_tno(
session: *mut burn_session,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_set_cdtext_par(
s: *mut burn_session,
char_codes: *mut ::std::os::raw::c_int,
copyrights: *mut ::std::os::raw::c_int,
languages: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_get_cdtext_par(
s: *mut burn_session,
char_codes: *mut ::std::os::raw::c_int,
copyrights: *mut ::std::os::raw::c_int,
block_languages: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_set_cdtext(
s: *mut burn_session,
block: ::std::os::raw::c_int,
pack_type: ::std::os::raw::c_int,
pack_type_name: *mut ::std::os::raw::c_char,
payload: *mut ::std::os::raw::c_uchar,
length: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_get_cdtext(
s: *mut burn_session,
block: ::std::os::raw::c_int,
pack_type: ::std::os::raw::c_int,
pack_type_name: *mut ::std::os::raw::c_char,
payload: *mut *mut ::std::os::raw::c_uchar,
length: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_input_sheet_v07t(
session: *mut burn_session,
path: *mut ::std::os::raw::c_char,
block: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_cdtext_from_session(
s: *mut burn_session,
text_packs: *mut *mut ::std::os::raw::c_uchar,
num_packs: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_make_input_sheet_v07t(
text_packs: *mut ::std::os::raw::c_uchar,
num_packs: ::std::os::raw::c_int,
start_tno: ::std::os::raw::c_int,
track_count: ::std::os::raw::c_int,
result: *mut *mut ::std::os::raw::c_char,
char_code: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_dispose_cdtext(
s: *mut burn_session,
block: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_cdtext_from_packfile(
path: *mut ::std::os::raw::c_char,
text_packs: *mut *mut ::std::os::raw::c_uchar,
num_packs: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_define_data(
t: *mut burn_track,
offset: ::std::os::raw::c_int,
tail: ::std::os::raw::c_int,
pad: ::std::os::raw::c_int,
mode: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_track_set_cdtext(
t: *mut burn_track,
block: ::std::os::raw::c_int,
pack_type: ::std::os::raw::c_int,
pack_type_name: *mut ::std::os::raw::c_char,
payload: *mut ::std::os::raw::c_uchar,
length: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_get_cdtext(
t: *mut burn_track,
block: ::std::os::raw::c_int,
pack_type: ::std::os::raw::c_int,
pack_type_name: *mut ::std::os::raw::c_char,
payload: *mut *mut ::std::os::raw::c_uchar,
length: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_dispose_cdtext(
t: *mut burn_track,
block: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_set_cdxa_conv(
t: *mut burn_track,
value: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_set_isrc(
t: *mut burn_track,
country: *mut ::std::os::raw::c_char,
owner: *mut ::std::os::raw::c_char,
year: ::std::os::raw::c_uchar,
serial: ::std::os::raw::c_uint,
);
}
unsafe extern "C" {
pub fn burn_track_set_isrc_string(
t: *mut burn_track,
isrc: *mut ::std::os::raw::c_char,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_clear_isrc(t: *mut burn_track);
}
unsafe extern "C" {
pub fn burn_track_set_index(
t: *mut burn_track,
index_number: ::std::os::raw::c_int,
relative_lba: ::std::os::raw::c_uint,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_clear_indice(
t: *mut burn_track,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_set_pregap_size(
t: *mut burn_track,
size: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_set_postgap_size(
t: *mut burn_track,
size: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_set_byte_swap(
t: *mut burn_track,
swap_source_bytes: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_hide_first_track(s: *mut burn_session, onoff: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_drive_get_disc(d: *mut burn_drive) -> *mut burn_disc;
}
unsafe extern "C" {
pub fn burn_track_set_source(t: *mut burn_track, s: *mut burn_source) -> burn_source_status;
}
unsafe extern "C" {
pub fn burn_track_set_default_size(t: *mut burn_track, size: libc::off_t) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_source_free(s: *mut burn_source);
}
unsafe extern "C" {
pub fn burn_file_source_new(
path: *const ::std::os::raw::c_char,
subpath: *const ::std::os::raw::c_char,
) -> *mut burn_source;
}
unsafe extern "C" {
pub fn burn_os_open_track_src(
path: *mut ::std::os::raw::c_char,
open_flags: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_os_alloc_buffer(
amount: usize,
flag: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
pub fn burn_os_free_buffer(
buffer: *mut ::std::os::raw::c_void,
amount: usize,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_fd_source_new(
datafd: ::std::os::raw::c_int,
subfd: ::std::os::raw::c_int,
size: libc::off_t,
) -> *mut burn_source;
}
unsafe extern "C" {
pub fn burn_offst_source_new(
inp: *mut burn_source,
prev: *mut burn_source,
start: libc::off_t,
size: libc::off_t,
flag: ::std::os::raw::c_int,
) -> *mut burn_source;
}
unsafe extern "C" {
pub fn burn_fifo_source_new(
inp: *mut burn_source,
chunksize: ::std::os::raw::c_int,
chunks: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> *mut burn_source;
}
unsafe extern "C" {
pub fn burn_fifo_inquire_status(
fifo: *mut burn_source,
size: *mut ::std::os::raw::c_int,
free_bytes: *mut ::std::os::raw::c_int,
status_text: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_fifo_get_statistics(
fifo: *mut burn_source,
total_min_fill: *mut ::std::os::raw::c_int,
interval_min_fill: *mut ::std::os::raw::c_int,
put_counter: *mut ::std::os::raw::c_int,
get_counter: *mut ::std::os::raw::c_int,
empty_counter: *mut ::std::os::raw::c_int,
full_counter: *mut ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_fifo_next_interval(
fifo: *mut burn_source,
interval_min_fill: *mut ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_fifo_peek_data(
fifo: *mut burn_source,
buf: *mut ::std::os::raw::c_char,
bufsize: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_fifo_fill(
fifo: *mut burn_source,
fill: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_set_size(t: *mut burn_track, size: libc::off_t) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_get_sectors(arg1: *mut burn_track) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_get_counters(
t: *mut burn_track,
read_bytes: *mut libc::off_t,
written_bytes: *mut libc::off_t,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_set_speed(
d: *mut burn_drive,
read: ::std::os::raw::c_int,
write: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_drive_set_speed_exact(
d: *mut burn_drive,
read: ::std::os::raw::c_int,
write: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_nominal_slowdown(
kb_per_second: ::std::os::raw::c_int,
max_corr: ::std::os::raw::c_int,
prev_time: *mut libc::timeval,
us_corr: *mut ::std::os::raw::c_int,
b_since_prev: libc::off_t,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_set_buffer_waiting(
d: *mut burn_drive,
enable: ::std::os::raw::c_int,
min_usec: ::std::os::raw::c_int,
max_usec: ::std::os::raw::c_int,
timeout_sec: ::std::os::raw::c_int,
min_percent: ::std::os::raw::c_int,
max_percent: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_reset_simulate(
d: *mut burn_drive,
simulate: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_structure_print_disc(d: *mut burn_disc);
}
unsafe extern "C" {
pub fn burn_structure_print_session(s: *mut burn_session);
}
unsafe extern "C" {
pub fn burn_structure_print_track(t: *mut burn_track);
}
unsafe extern "C" {
pub fn burn_write_opts_set_write_type(
opts: *mut burn_write_opts,
write_type: burn_write_types,
block_type: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_write_opts_auto_write_type(
opts: *mut burn_write_opts,
disc: *mut burn_disc,
reasons: *mut ::std::os::raw::c_char,
flag: ::std::os::raw::c_int,
) -> burn_write_types;
}
unsafe extern "C" {
pub fn burn_write_opts_set_toc_entries(
opts: *mut burn_write_opts,
count: ::std::os::raw::c_int,
toc_entries: *mut burn_toc_entry,
);
}
unsafe extern "C" {
pub fn burn_write_opts_set_format(opts: *mut burn_write_opts, format: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_write_opts_set_simulate(
opts: *mut burn_write_opts,
sim: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_write_opts_set_underrun_proof(
opts: *mut burn_write_opts,
underrun_proof: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_write_opts_set_perform_opc(opts: *mut burn_write_opts, opc: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_write_opts_set_mediacatalog(
opts: *mut burn_write_opts,
mediacatalog: *mut ::std::os::raw::c_uchar,
);
}
unsafe extern "C" {
pub fn burn_write_opts_set_has_mediacatalog(
opts: *mut burn_write_opts,
has_mediacatalog: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_write_opts_set_multi(opts: *mut burn_write_opts, multi: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_write_opts_set_fail21h_sev(
opts: *mut burn_write_opts,
severity: *mut ::std::os::raw::c_char,
);
}
unsafe extern "C" {
pub fn burn_write_opts_set_leadin_text(
opts: *mut burn_write_opts,
text_packs: *mut ::std::os::raw::c_uchar,
num_packs: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_write_opts_set_start_byte(opts: *mut burn_write_opts, value: libc::off_t);
}
unsafe extern "C" {
pub fn burn_write_opts_set_fillup(
opts: *mut burn_write_opts,
fill_up_media: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_write_opts_set_force(opts: *mut burn_write_opts, use_force: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_write_opts_set_stream_recording(
opts: *mut burn_write_opts,
value: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_write_opts_set_dvd_obs(opts: *mut burn_write_opts, obs: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_write_opts_set_obs_pad(opts: *mut burn_write_opts, pad: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_write_opts_set_bdr_obs_exempt(
opts: *mut burn_write_opts,
value: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_write_opts_set_stdio_fsync(
opts: *mut burn_write_opts,
rhythm: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_read_opts_set_raw(opts: *mut burn_read_opts, raw_mode: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_read_opts_set_c2errors(opts: *mut burn_read_opts, c2errors: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_read_opts_read_subcodes_audio(
opts: *mut burn_read_opts,
subcodes_audio: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_read_opts_read_subcodes_data(
opts: *mut burn_read_opts,
subcodes_data: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_read_opts_set_hardware_error_recovery(
opts: *mut burn_read_opts,
hardware_error_recovery: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_read_opts_report_recovered_errors(
opts: *mut burn_read_opts,
report_recovered_errors: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_read_opts_transfer_damaged_blocks(
opts: *mut burn_read_opts,
transfer_damaged_blocks: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_read_opts_set_hardware_error_retries(
opts: *mut burn_read_opts,
hardware_error_retries: ::std::os::raw::c_uchar,
);
}
unsafe extern "C" {
pub fn burn_drive_get_all_profiles(
d: *mut burn_drive,
num_profiles: *mut ::std::os::raw::c_int,
profiles: *mut ::std::os::raw::c_int,
is_current: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_obtain_profile_name(
profile_code: ::std::os::raw::c_int,
name: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_feature_codes(
d: *mut burn_drive,
count: *mut ::std::os::raw::c_int,
feature_codes: *mut *mut ::std::os::raw::c_uint,
);
}
unsafe extern "C" {
pub fn burn_drive_get_feature(
d: *mut burn_drive,
feature_code: ::std::os::raw::c_uint,
flags: *mut ::std::os::raw::c_uchar,
additional_length: *mut ::std::os::raw::c_uchar,
feature_data: *mut *mut ::std::os::raw::c_uchar,
feature_text: *mut *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_write_speed(d: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_min_write_speed(d: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_read_speed(d: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_speedlist(
d: *mut burn_drive,
speed_list: *mut *mut burn_speed_descriptor,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_best_speed(
d: *mut burn_drive,
speed_goal: ::std::os::raw::c_int,
best_descr: *mut *mut burn_speed_descriptor,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_free_speedlist(
speed_list: *mut *mut burn_speed_descriptor,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct burn_multi_caps {
pub multi_session: ::std::os::raw::c_int,
pub multi_track: ::std::os::raw::c_int,
pub start_adr: ::std::os::raw::c_int,
pub start_alignment: libc::off_t,
pub start_range_low: libc::off_t,
pub start_range_high: libc::off_t,
pub might_do_tao: ::std::os::raw::c_int,
pub might_do_sao: ::std::os::raw::c_int,
pub might_do_raw: ::std::os::raw::c_int,
pub advised_write_mode: burn_write_types,
pub selected_write_mode: burn_write_types,
pub current_profile: ::std::os::raw::c_int,
pub current_is_cd_profile: ::std::os::raw::c_int,
pub might_simulate: ::std::os::raw::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of burn_multi_caps"][::std::mem::size_of::<burn_multi_caps>() - 72usize];
["Alignment of burn_multi_caps"][::std::mem::align_of::<burn_multi_caps>() - 8usize];
["Offset of field: burn_multi_caps::multi_session"]
[::std::mem::offset_of!(burn_multi_caps, multi_session) - 0usize];
["Offset of field: burn_multi_caps::multi_track"]
[::std::mem::offset_of!(burn_multi_caps, multi_track) - 4usize];
["Offset of field: burn_multi_caps::start_adr"]
[::std::mem::offset_of!(burn_multi_caps, start_adr) - 8usize];
["Offset of field: burn_multi_caps::start_alignment"]
[::std::mem::offset_of!(burn_multi_caps, start_alignment) - 16usize];
["Offset of field: burn_multi_caps::start_range_low"]
[::std::mem::offset_of!(burn_multi_caps, start_range_low) - 24usize];
["Offset of field: burn_multi_caps::start_range_high"]
[::std::mem::offset_of!(burn_multi_caps, start_range_high) - 32usize];
["Offset of field: burn_multi_caps::might_do_tao"]
[::std::mem::offset_of!(burn_multi_caps, might_do_tao) - 40usize];
["Offset of field: burn_multi_caps::might_do_sao"]
[::std::mem::offset_of!(burn_multi_caps, might_do_sao) - 44usize];
["Offset of field: burn_multi_caps::might_do_raw"]
[::std::mem::offset_of!(burn_multi_caps, might_do_raw) - 48usize];
["Offset of field: burn_multi_caps::advised_write_mode"]
[::std::mem::offset_of!(burn_multi_caps, advised_write_mode) - 52usize];
["Offset of field: burn_multi_caps::selected_write_mode"]
[::std::mem::offset_of!(burn_multi_caps, selected_write_mode) - 56usize];
["Offset of field: burn_multi_caps::current_profile"]
[::std::mem::offset_of!(burn_multi_caps, current_profile) - 60usize];
["Offset of field: burn_multi_caps::current_is_cd_profile"]
[::std::mem::offset_of!(burn_multi_caps, current_is_cd_profile) - 64usize];
["Offset of field: burn_multi_caps::might_simulate"]
[::std::mem::offset_of!(burn_multi_caps, might_simulate) - 68usize];
};
unsafe extern "C" {
pub fn burn_disc_get_multi_caps(
d: *mut burn_drive,
wt: burn_write_types,
caps: *mut *mut burn_multi_caps,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_free_multi_caps(caps: *mut *mut burn_multi_caps) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_get_entry(t: *mut burn_track, entry: *mut burn_toc_entry);
}
unsafe extern "C" {
pub fn burn_session_get_leadout_entry(s: *mut burn_session, entry: *mut burn_toc_entry);
}
unsafe extern "C" {
pub fn burn_disc_get_sessions(
d: *mut burn_disc,
num: *mut ::std::os::raw::c_int,
) -> *mut *mut burn_session;
}
unsafe extern "C" {
pub fn burn_disc_get_incomplete_sessions(d: *mut burn_disc) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_disc_get_sectors(d: *mut burn_disc) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_get_tracks(
s: *mut burn_session,
num: *mut ::std::os::raw::c_int,
) -> *mut *mut burn_track;
}
unsafe extern "C" {
pub fn burn_session_get_sectors(s: *mut burn_session) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_track_get_mode(track: *mut burn_track) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_session_get_hidefirst(session: *mut burn_session) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_version(
major: *mut ::std::os::raw::c_int,
minor: *mut ::std::os::raw::c_int,
micro: *mut ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_scsi_transport_id(flag: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
pub fn burn_msgs_set_severities(
queue_severity: *mut ::std::os::raw::c_char,
print_severity: *mut ::std::os::raw::c_char,
print_id: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_msgs_obtain(
minimum_severity: *mut ::std::os::raw::c_char,
error_code: *mut ::std::os::raw::c_int,
msg_text: *mut ::std::os::raw::c_char,
os_errno: *mut ::std::os::raw::c_int,
severity: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_msgs_submit(
error_code: ::std::os::raw::c_int,
msg_text: *mut ::std::os::raw::c_char,
os_errno: ::std::os::raw::c_int,
severity: *mut ::std::os::raw::c_char,
d: *mut burn_drive,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_text_to_sev(
severity_name: *mut ::std::os::raw::c_char,
severity_number: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_sev_to_text(
severity_number: ::std::os::raw::c_int,
severity_name: *mut *mut ::std::os::raw::c_char,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_list_sev_texts(flag: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
pub fn burn_set_messenger(messenger: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
pub type burn_abort_handler_t = ::std::option::Option<
unsafe extern "C" fn(
handle: *mut ::std::os::raw::c_void,
signum: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>;
unsafe extern "C" {
pub fn burn_set_signal_handling(
handle: *mut ::std::os::raw::c_void,
handler: burn_abort_handler_t,
mode: ::std::os::raw::c_int,
);
}
unsafe extern "C" {
pub fn burn_is_aborting(flag: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_random_access_write(
d: *mut burn_drive,
byte_address: libc::off_t,
data: *mut ::std::os::raw::c_char,
data_count: libc::off_t,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_get_read_capacity(
d: *mut burn_drive,
capacity: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_read_data(
d: *mut burn_drive,
byte_address: libc::off_t,
data: *mut ::std::os::raw::c_char,
data_size: libc::off_t,
data_count: *mut libc::off_t,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_read_audio(
d: *mut burn_drive,
sector_no: ::std::os::raw::c_int,
data: *mut ::std::os::raw::c_char,
data_size: libc::off_t,
data_count: *mut libc::off_t,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_extract_audio(
drive: *mut burn_drive,
start_sector: ::std::os::raw::c_int,
sector_count: ::std::os::raw::c_int,
target_path: *mut ::std::os::raw::c_char,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_extract_audio_track(
drive: *mut burn_drive,
track: *mut burn_track,
target_path: *mut ::std::os::raw::c_char,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_drive_get_drive_role(d: *mut burn_drive) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn burn_allow_drive_role_4(allowed: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn burn_drive_equals_adr(
d1: *mut burn_drive,
adr2: *mut ::std::os::raw::c_char,
drive_role2: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libdax_audioxtr {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn libdax_audioxtr_new(
xtr: *mut *mut libdax_audioxtr,
path: *mut ::std::os::raw::c_char,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn libdax_audioxtr_get_id(
xtr: *mut libdax_audioxtr,
fmt: *mut *mut ::std::os::raw::c_char,
fmt_info: *mut *mut ::std::os::raw::c_char,
num_channels: *mut ::std::os::raw::c_int,
sample_rate: *mut ::std::os::raw::c_int,
bits_per_sample: *mut ::std::os::raw::c_int,
msb_first: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn libdax_audioxtr_get_size(
o: *mut libdax_audioxtr,
size: *mut libc::off_t,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn libdax_audioxtr_read(
xtr: *mut libdax_audioxtr,
buffer: *mut ::std::os::raw::c_char,
buffer_size: ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn libdax_audioxtr_detach_fd(
o: *mut libdax_audioxtr,
fd: *mut ::std::os::raw::c_int,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
pub fn libdax_audioxtr_destroy(
xtr: *mut *mut libdax_audioxtr,
flag: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}