diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c120a6..26b0f5f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,7 +71,7 @@ jobs: libopus-dev - run: | - git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/7.1 + git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0 cd ffmpeg mkdir build cd build @@ -84,7 +84,7 @@ jobs: - run: | FFMPEG_INCLUDE_DIR=${HOME}/ffmpeg_build/include \ FFMPEG_PKG_CONFIG_PATH=${HOME}/ffmpeg_build/lib/pkgconfig \ - cargo clippy -- -D warnings + cargo clippy --features ffmpeg8 -- -D warnings rust_clippy_check_windows: runs-on: windows-latest @@ -290,7 +290,7 @@ jobs: # Disable exr,phm to workaround "multiple definition of 'ff_init_half2float_tables'" # Ref: `https://github.com/larksuite/rsmpeg/pull/98#issuecomment-1467511193` - run: | - git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/7.1 + git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0 cd ffmpeg mkdir build cd build @@ -304,7 +304,7 @@ jobs: run: | FFMPEG_INCLUDE_DIR=${HOME}/ffmpeg_build/include \ FFMPEG_PKG_CONFIG_PATH=${HOME}/ffmpeg_build/lib/pkgconfig \ - cargo test --verbose + cargo test --features ffmpeg8 --verbose - name: Run Slice Example run: | @@ -452,7 +452,7 @@ jobs: - name: Build FFmpeg dylib run: | - git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/7.1 + git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0 cd ffmpeg mkdir build cd build @@ -462,7 +462,6 @@ jobs: --enable-small \ --disable-debug \ --disable-programs \ - --disable-postproc \ --disable-doc \ --disable-hwaccels \ --disable-parsers \ @@ -508,8 +507,8 @@ jobs: LD_LIBRARY_PATH: ${{ github.workspace }}/ffmpeg_prebuilt/lib/ run: | cp -r ~/ffmpeg_prebuilt ${{ github.workspace }}/ffmpeg_prebuilt - cargo build --example slice - cargo run --example slice + cargo build --example slice --features ffmpeg8 + cargo run --example slice --features ffmpeg8 build_dynamic_and_test_macos: runs-on: macos-latest @@ -535,7 +534,7 @@ jobs: - name: Build FFmpeg dylib run: | - git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/7.1 + git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0 cd ffmpeg mkdir build cd build @@ -545,7 +544,6 @@ jobs: --enable-small \ --disable-debug \ --disable-programs \ - --disable-postproc \ --disable-doc \ --disable-hwaccels \ --disable-parsers \ @@ -591,9 +589,9 @@ jobs: FFMPEG_DLL_PATH: ${{ github.workspace }}/ffmpeg_prebuilt/lib/libffmpeg.dylib run: | cp -r ~/ffmpeg_prebuilt ${{ github.workspace }}/ffmpeg_prebuilt - cargo build --example slice + cargo build --example slice --features ffmpeg8 cp ${{ github.workspace }}/ffmpeg_prebuilt/lib/libffmpeg.dylib . - cargo run --example slice + cargo run --example slice --features ffmpeg8 build_dynamic_and_test_windows_pre: runs-on: ubuntu-latest @@ -622,7 +620,7 @@ jobs: cd ../.. - name: Build FFmpeg run: | - git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/7.1 + git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0 cd ffmpeg mkdir build cd build @@ -631,7 +629,6 @@ jobs: --enable-small \ --disable-debug \ --disable-programs \ - --disable-postproc \ --disable-doc \ --disable-hwaccels \ --disable-parsers \ @@ -663,6 +660,8 @@ jobs: -lgdi32 \ -lpsapi \ -lole32 \ + -lcrypt32 \ + -lncrypt \ -lstrmiids \ -luuid \ -loleaut32 \ @@ -717,9 +716,9 @@ jobs: LIBCLANG_PATH: ${{ github.workspace }}/clang/lib LLVM_CONFIG_PATH: ${{ github.workspace }}/clang/bin/llvm-config run: | - cargo build --target i686-pc-windows-msvc --example slice + cargo build --target i686-pc-windows-msvc --example slice --features ffmpeg8 copy ${{ github.workspace }}/ffmpeg_prebuilt_cross/lib/libffmpeg.dll . - cargo run --target i686-pc-windows-msvc --example slice + cargo run --target i686-pc-windows-msvc --example slice --features ffmpeg8 # Check if correct documentation can be generated by docs.rs docs_rs_check: diff --git a/Cargo.toml b/Cargo.toml index 00f8d58..5c6fd87 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rusty_ffmpeg" -version = "0.16.5+ffmpeg.7.1" +version = "0.16.6+ffmpeg.8" authors = ["ldm0 "] edition = "2021" description = "A library that provides Rust bindings for FFmpeg" diff --git a/examples/slice/main.rs b/examples/slice/main.rs index 87f7f25..21e8684 100644 --- a/examples/slice/main.rs +++ b/examples/slice/main.rs @@ -176,12 +176,11 @@ fn decode_packet( )); } else { println!( - "Frame {} (type={}, size={} bytes) pts {} key_frame {}", + "Frame {} (type={}, size={} bytes) pts {}", codec_context.frame_num, unsafe { ffi::av_get_picture_type_char(frame.pict_type) }, - frame.pkt_size, + frame.linesize[0] * frame.height, frame.pts, - frame.key_frame, ); let frame_filename = format!( diff --git a/src/binding.rs b/src/binding.rs index ee35ec2..10b2dca 100644 --- a/src/binding.rs +++ b/src/binding.rs @@ -1,4 +1,4 @@ -/* automatically generated by rust-bindgen 0.70.1 */ +/* automatically generated by rust-bindgen 0.71.1 */ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] @@ -16,10 +16,7 @@ where Storage: AsRef<[u8]> + AsMut<[u8]>, { #[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]; + fn extract_bit(byte: u8, index: usize) -> bool { let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { @@ -29,10 +26,21 @@ where byte & mask == mask } #[inline] - pub fn set_bit(&mut self, index: usize, val: bool) { + pub fn get_bit(&self, index: usize) -> bool { debug_assert!(index / 8 < self.storage.as_ref().len()); let byte_index = index / 8; - let byte = &mut self.storage.as_mut()[byte_index]; + 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::()); + let byte_index = index / 8; + let byte = *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize); + 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 { @@ -40,12 +48,27 @@ where }; let mask = 1 << bit_index; if val { - *byte |= mask; + byte | mask } else { - *byte &= !mask; + 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::()); + let byte_index = index / 8; + let byte = + (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize); + *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()); @@ -64,6 +87,24 @@ where 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::()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); + let mut val = 0; + for i in 0..(bit_width as usize) { + if 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()); @@ -79,104 +120,103 @@ where 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::()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); + 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::raw_set_bit(this, index + bit_offset, val_bit_is_set); + } + } } -pub const _STDINT_H: u32 = 1; -pub const _FEATURES_H: u32 = 1; -pub const _DEFAULT_SOURCE: u32 = 1; -pub const __GLIBC_USE_ISOC2X: u32 = 0; -pub const __USE_ISOC11: u32 = 1; -pub const __USE_ISOC99: u32 = 1; -pub const __USE_ISOC95: u32 = 1; -pub const __USE_POSIX_IMPLICITLY: u32 = 1; -pub const _POSIX_SOURCE: u32 = 1; -pub const _POSIX_C_SOURCE: u32 = 200809; -pub const __USE_POSIX: u32 = 1; -pub const __USE_POSIX2: u32 = 1; -pub const __USE_POSIX199309: u32 = 1; -pub const __USE_POSIX199506: u32 = 1; -pub const __USE_XOPEN2K: u32 = 1; -pub const __USE_XOPEN2K8: u32 = 1; -pub const _ATFILE_SOURCE: u32 = 1; +#[derive(PartialEq, Copy, Clone, Hash, Debug, Default)] +#[repr(transparent)] +pub struct __BindgenFloat16(pub u16); pub const __WORDSIZE: u32 = 64; -pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1; -pub const __SYSCALL_WORDSIZE: u32 = 64; -pub const __TIMESIZE: u32 = 64; -pub const __USE_MISC: u32 = 1; -pub const __USE_ATFILE: u32 = 1; -pub const __USE_FORTIFY_LEVEL: u32 = 0; -pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0; -pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0; -pub const __GLIBC_USE_C2X_STRTOL: u32 = 0; -pub const _STDC_PREDEF_H: u32 = 1; -pub const __STDC_IEC_559__: u32 = 1; -pub const __STDC_IEC_60559_BFP__: u32 = 201404; -pub const __STDC_IEC_559_COMPLEX__: u32 = 1; -pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404; -pub const __STDC_ISO_10646__: u32 = 201706; -pub const __GNU_LIBRARY__: u32 = 6; -pub const __GLIBC__: u32 = 2; -pub const __GLIBC_MINOR__: u32 = 39; -pub const _SYS_CDEFS_H: u32 = 1; -pub const __glibc_c99_flexarr_available: u32 = 1; -pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0; -pub const __HAVE_GENERIC_SELECTION: u32 = 1; -pub const __GLIBC_USE_LIB_EXT2: u32 = 0; -pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0; -pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0; -pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0; -pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0; -pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0; -pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0; -pub const _BITS_TYPES_H: u32 = 1; -pub const _BITS_TYPESIZES_H: u32 = 1; -pub const __OFF_T_MATCHES_OFF64_T: u32 = 1; -pub const __INO_T_MATCHES_INO64_T: u32 = 1; -pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1; -pub const __STATFS_MATCHES_STATFS64: u32 = 1; -pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1; -pub const __FD_SETSIZE: u32 = 1024; -pub const _BITS_TIME64_H: u32 = 1; -pub const _BITS_WCHAR_H: u32 = 1; -pub const _BITS_STDINT_INTN_H: u32 = 1; -pub const _BITS_STDINT_UINTN_H: u32 = 1; -pub const _BITS_STDINT_LEAST_H: u32 = 1; -pub const INT8_MIN: i32 = -128; -pub const INT16_MIN: i32 = -32768; -pub const INT32_MIN: i32 = -2147483648; +pub const __has_safe_buffers: u32 = 1; +pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1; +pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1; +pub const __DARWIN_ONLY_VERS_1050: u32 = 1; +pub const __DARWIN_UNIX03: u32 = 1; +pub const __DARWIN_64_BIT_INO_T: u32 = 1; +pub const __DARWIN_VERS_1050: u32 = 1; +pub const __DARWIN_NON_CANCELABLE: u32 = 0; +pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0"; +pub const __DARWIN_C_ANSI: u32 = 4096; +pub const __DARWIN_C_FULL: u32 = 900000; +pub const __DARWIN_C_LEVEL: u32 = 900000; +pub const __STDC_WANT_LIB_EXT1__: u32 = 1; +pub const __DARWIN_NO_LONG_LONG: u32 = 0; +pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1; +pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1; +pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1; +pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1; +pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3; +pub const __has_ptrcheck: u32 = 0; +pub const __has_bounds_safety_attributes: u32 = 0; +pub const USE_CLANG_TYPES: u32 = 0; +pub const __PTHREAD_SIZE__: u32 = 8176; +pub const __PTHREAD_ATTR_SIZE__: u32 = 56; +pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8; +pub const __PTHREAD_MUTEX_SIZE__: u32 = 56; +pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8; +pub const __PTHREAD_COND_SIZE__: u32 = 40; +pub const __PTHREAD_ONCE_SIZE__: u32 = 8; +pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192; +pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16; pub const INT8_MAX: u32 = 127; pub const INT16_MAX: u32 = 32767; pub const INT32_MAX: u32 = 2147483647; +pub const INT64_MAX: u64 = 9223372036854775807; +pub const INT8_MIN: i32 = -128; +pub const INT16_MIN: i32 = -32768; +pub const INT32_MIN: i32 = -2147483648; +pub const INT64_MIN: i64 = -9223372036854775808; pub const UINT8_MAX: u32 = 255; pub const UINT16_MAX: u32 = 65535; pub const UINT32_MAX: u32 = 4294967295; +pub const UINT64_MAX: i32 = -1; pub const INT_LEAST8_MIN: i32 = -128; pub const INT_LEAST16_MIN: i32 = -32768; pub const INT_LEAST32_MIN: i32 = -2147483648; +pub const INT_LEAST64_MIN: i64 = -9223372036854775808; pub const INT_LEAST8_MAX: u32 = 127; pub const INT_LEAST16_MAX: u32 = 32767; pub const INT_LEAST32_MAX: u32 = 2147483647; +pub const INT_LEAST64_MAX: u64 = 9223372036854775807; pub const UINT_LEAST8_MAX: u32 = 255; pub const UINT_LEAST16_MAX: u32 = 65535; pub const UINT_LEAST32_MAX: u32 = 4294967295; +pub const UINT_LEAST64_MAX: i32 = -1; pub const INT_FAST8_MIN: i32 = -128; -pub const INT_FAST16_MIN: i64 = -9223372036854775808; -pub const INT_FAST32_MIN: i64 = -9223372036854775808; +pub const INT_FAST16_MIN: i32 = -32768; +pub const INT_FAST32_MIN: i32 = -2147483648; +pub const INT_FAST64_MIN: i64 = -9223372036854775808; pub const INT_FAST8_MAX: u32 = 127; -pub const INT_FAST16_MAX: u64 = 9223372036854775807; -pub const INT_FAST32_MAX: u64 = 9223372036854775807; +pub const INT_FAST16_MAX: u32 = 32767; +pub const INT_FAST32_MAX: u32 = 2147483647; +pub const INT_FAST64_MAX: u64 = 9223372036854775807; pub const UINT_FAST8_MAX: u32 = 255; -pub const UINT_FAST16_MAX: i32 = -1; -pub const UINT_FAST32_MAX: i32 = -1; -pub const INTPTR_MIN: i64 = -9223372036854775808; +pub const UINT_FAST16_MAX: u32 = 65535; +pub const UINT_FAST32_MAX: u32 = 4294967295; +pub const UINT_FAST64_MAX: i32 = -1; pub const INTPTR_MAX: u64 = 9223372036854775807; +pub const INTPTR_MIN: i64 = -9223372036854775808; pub const UINTPTR_MAX: i32 = -1; -pub const PTRDIFF_MIN: i64 = -9223372036854775808; -pub const PTRDIFF_MAX: u64 = 9223372036854775807; +pub const SIZE_MAX: i32 = -1; +pub const RSIZE_MAX: i32 = -1; +pub const WINT_MIN: i32 = -2147483648; +pub const WINT_MAX: u32 = 2147483647; pub const SIG_ATOMIC_MIN: i32 = -2147483648; pub const SIG_ATOMIC_MAX: u32 = 2147483647; -pub const SIZE_MAX: i32 = -1; -pub const WINT_MIN: u32 = 0; -pub const WINT_MAX: u32 = 4294967295; pub const AV_AAC_ADTS_HEADER_SIZE: u32 = 7; pub const FF_LAMBDA_SHIFT: u32 = 7; pub const FF_LAMBDA_SCALE: u32 = 128; @@ -184,8 +224,6 @@ pub const FF_QP2LAMBDA: u32 = 118; pub const FF_LAMBDA_MAX: u32 = 32767; pub const FF_QUALITY_SCALE: u32 = 128; pub const AV_TIME_BASE: u32 = 1000000; -pub const _ERRNO_H: u32 = 1; -pub const _BITS_ERRNO_H: u32 = 1; pub const EPERM: u32 = 1; pub const ENOENT: u32 = 2; pub const ESRCH: u32 = 3; @@ -196,7 +234,7 @@ pub const E2BIG: u32 = 7; pub const ENOEXEC: u32 = 8; pub const EBADF: u32 = 9; pub const ECHILD: u32 = 10; -pub const EAGAIN: u32 = 11; +pub const EDEADLK: u32 = 11; pub const ENOMEM: u32 = 12; pub const EACCES: u32 = 13; pub const EFAULT: u32 = 14; @@ -220,370 +258,786 @@ pub const EMLINK: u32 = 31; pub const EPIPE: u32 = 32; pub const EDOM: u32 = 33; pub const ERANGE: u32 = 34; -pub const EDEADLK: u32 = 35; -pub const ENAMETOOLONG: u32 = 36; -pub const ENOLCK: u32 = 37; -pub const ENOSYS: u32 = 38; -pub const ENOTEMPTY: u32 = 39; -pub const ELOOP: u32 = 40; -pub const EWOULDBLOCK: u32 = 11; -pub const ENOMSG: u32 = 42; -pub const EIDRM: u32 = 43; -pub const ECHRNG: u32 = 44; -pub const EL2NSYNC: u32 = 45; -pub const EL3HLT: u32 = 46; -pub const EL3RST: u32 = 47; -pub const ELNRNG: u32 = 48; -pub const EUNATCH: u32 = 49; -pub const ENOCSI: u32 = 50; -pub const EL2HLT: u32 = 51; -pub const EBADE: u32 = 52; -pub const EBADR: u32 = 53; -pub const EXFULL: u32 = 54; -pub const ENOANO: u32 = 55; -pub const EBADRQC: u32 = 56; -pub const EBADSLT: u32 = 57; -pub const EDEADLOCK: u32 = 35; -pub const EBFONT: u32 = 59; -pub const ENOSTR: u32 = 60; -pub const ENODATA: u32 = 61; -pub const ETIME: u32 = 62; -pub const ENOSR: u32 = 63; -pub const ENONET: u32 = 64; -pub const ENOPKG: u32 = 65; -pub const EREMOTE: u32 = 66; -pub const ENOLINK: u32 = 67; -pub const EADV: u32 = 68; -pub const ESRMNT: u32 = 69; -pub const ECOMM: u32 = 70; -pub const EPROTO: u32 = 71; -pub const EMULTIHOP: u32 = 72; -pub const EDOTDOT: u32 = 73; -pub const EBADMSG: u32 = 74; -pub const EOVERFLOW: u32 = 75; -pub const ENOTUNIQ: u32 = 76; -pub const EBADFD: u32 = 77; -pub const EREMCHG: u32 = 78; -pub const ELIBACC: u32 = 79; -pub const ELIBBAD: u32 = 80; -pub const ELIBSCN: u32 = 81; -pub const ELIBMAX: u32 = 82; -pub const ELIBEXEC: u32 = 83; -pub const EILSEQ: u32 = 84; -pub const ERESTART: u32 = 85; -pub const ESTRPIPE: u32 = 86; -pub const EUSERS: u32 = 87; -pub const ENOTSOCK: u32 = 88; -pub const EDESTADDRREQ: u32 = 89; -pub const EMSGSIZE: u32 = 90; -pub const EPROTOTYPE: u32 = 91; -pub const ENOPROTOOPT: u32 = 92; -pub const EPROTONOSUPPORT: u32 = 93; -pub const ESOCKTNOSUPPORT: u32 = 94; -pub const EOPNOTSUPP: u32 = 95; -pub const EPFNOSUPPORT: u32 = 96; -pub const EAFNOSUPPORT: u32 = 97; -pub const EADDRINUSE: u32 = 98; -pub const EADDRNOTAVAIL: u32 = 99; -pub const ENETDOWN: u32 = 100; -pub const ENETUNREACH: u32 = 101; -pub const ENETRESET: u32 = 102; -pub const ECONNABORTED: u32 = 103; -pub const ECONNRESET: u32 = 104; -pub const ENOBUFS: u32 = 105; -pub const EISCONN: u32 = 106; -pub const ENOTCONN: u32 = 107; -pub const ESHUTDOWN: u32 = 108; -pub const ETOOMANYREFS: u32 = 109; -pub const ETIMEDOUT: u32 = 110; -pub const ECONNREFUSED: u32 = 111; -pub const EHOSTDOWN: u32 = 112; -pub const EHOSTUNREACH: u32 = 113; -pub const EALREADY: u32 = 114; -pub const EINPROGRESS: u32 = 115; -pub const ESTALE: u32 = 116; -pub const EUCLEAN: u32 = 117; -pub const ENOTNAM: u32 = 118; -pub const ENAVAIL: u32 = 119; -pub const EISNAM: u32 = 120; -pub const EREMOTEIO: u32 = 121; -pub const EDQUOT: u32 = 122; -pub const ENOMEDIUM: u32 = 123; -pub const EMEDIUMTYPE: u32 = 124; -pub const ECANCELED: u32 = 125; -pub const ENOKEY: u32 = 126; -pub const EKEYEXPIRED: u32 = 127; -pub const EKEYREVOKED: u32 = 128; -pub const EKEYREJECTED: u32 = 129; -pub const EOWNERDEAD: u32 = 130; -pub const ENOTRECOVERABLE: u32 = 131; -pub const ERFKILL: u32 = 132; -pub const EHWPOISON: u32 = 133; -pub const ENOTSUP: u32 = 95; -pub const _INTTYPES_H: u32 = 1; -pub const ____gwchar_t_defined: u32 = 1; -pub const __PRI64_PREFIX: &[u8; 2] = b"l\0"; -pub const __PRIPTR_PREFIX: &[u8; 2] = b"l\0"; -pub const PRId8: &[u8; 2] = b"d\0"; -pub const PRId16: &[u8; 2] = b"d\0"; +pub const EAGAIN: u32 = 35; +pub const EWOULDBLOCK: u32 = 35; +pub const EINPROGRESS: u32 = 36; +pub const EALREADY: u32 = 37; +pub const ENOTSOCK: u32 = 38; +pub const EDESTADDRREQ: u32 = 39; +pub const EMSGSIZE: u32 = 40; +pub const EPROTOTYPE: u32 = 41; +pub const ENOPROTOOPT: u32 = 42; +pub const EPROTONOSUPPORT: u32 = 43; +pub const ESOCKTNOSUPPORT: u32 = 44; +pub const ENOTSUP: u32 = 45; +pub const EPFNOSUPPORT: u32 = 46; +pub const EAFNOSUPPORT: u32 = 47; +pub const EADDRINUSE: u32 = 48; +pub const EADDRNOTAVAIL: u32 = 49; +pub const ENETDOWN: u32 = 50; +pub const ENETUNREACH: u32 = 51; +pub const ENETRESET: u32 = 52; +pub const ECONNABORTED: u32 = 53; +pub const ECONNRESET: u32 = 54; +pub const ENOBUFS: u32 = 55; +pub const EISCONN: u32 = 56; +pub const ENOTCONN: u32 = 57; +pub const ESHUTDOWN: u32 = 58; +pub const ETOOMANYREFS: u32 = 59; +pub const ETIMEDOUT: u32 = 60; +pub const ECONNREFUSED: u32 = 61; +pub const ELOOP: u32 = 62; +pub const ENAMETOOLONG: u32 = 63; +pub const EHOSTDOWN: u32 = 64; +pub const EHOSTUNREACH: u32 = 65; +pub const ENOTEMPTY: u32 = 66; +pub const EPROCLIM: u32 = 67; +pub const EUSERS: u32 = 68; +pub const EDQUOT: u32 = 69; +pub const ESTALE: u32 = 70; +pub const EREMOTE: u32 = 71; +pub const EBADRPC: u32 = 72; +pub const ERPCMISMATCH: u32 = 73; +pub const EPROGUNAVAIL: u32 = 74; +pub const EPROGMISMATCH: u32 = 75; +pub const EPROCUNAVAIL: u32 = 76; +pub const ENOLCK: u32 = 77; +pub const ENOSYS: u32 = 78; +pub const EFTYPE: u32 = 79; +pub const EAUTH: u32 = 80; +pub const ENEEDAUTH: u32 = 81; +pub const EPWROFF: u32 = 82; +pub const EDEVERR: u32 = 83; +pub const EOVERFLOW: u32 = 84; +pub const EBADEXEC: u32 = 85; +pub const EBADARCH: u32 = 86; +pub const ESHLIBVERS: u32 = 87; +pub const EBADMACHO: u32 = 88; +pub const ECANCELED: u32 = 89; +pub const EIDRM: u32 = 90; +pub const ENOMSG: u32 = 91; +pub const EILSEQ: u32 = 92; +pub const ENOATTR: u32 = 93; +pub const EBADMSG: u32 = 94; +pub const EMULTIHOP: u32 = 95; +pub const ENODATA: u32 = 96; +pub const ENOLINK: u32 = 97; +pub const ENOSR: u32 = 98; +pub const ENOSTR: u32 = 99; +pub const EPROTO: u32 = 100; +pub const ETIME: u32 = 101; +pub const EOPNOTSUPP: u32 = 102; +pub const ENOPOLICY: u32 = 103; +pub const ENOTRECOVERABLE: u32 = 104; +pub const EOWNERDEAD: u32 = 105; +pub const EQFULL: u32 = 106; +pub const ELAST: u32 = 106; +pub const __PRI_8_LENGTH_MODIFIER__: &[u8; 3] = b"hh\0"; +pub const __PRI_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0"; +pub const __SCN_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0"; +pub const __PRI_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0"; +pub const __SCN_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0"; +pub const PRId8: &[u8; 4] = b"hhd\0"; +pub const PRIi8: &[u8; 4] = b"hhi\0"; +pub const PRIo8: &[u8; 4] = b"hho\0"; +pub const PRIu8: &[u8; 4] = b"hhu\0"; +pub const PRIx8: &[u8; 4] = b"hhx\0"; +pub const PRIX8: &[u8; 4] = b"hhX\0"; +pub const PRId16: &[u8; 3] = b"hd\0"; +pub const PRIi16: &[u8; 3] = b"hi\0"; +pub const PRIo16: &[u8; 3] = b"ho\0"; +pub const PRIu16: &[u8; 3] = b"hu\0"; +pub const PRIx16: &[u8; 3] = b"hx\0"; +pub const PRIX16: &[u8; 3] = b"hX\0"; pub const PRId32: &[u8; 2] = b"d\0"; -pub const PRId64: &[u8; 3] = b"ld\0"; -pub const PRIdLEAST8: &[u8; 2] = b"d\0"; -pub const PRIdLEAST16: &[u8; 2] = b"d\0"; -pub const PRIdLEAST32: &[u8; 2] = b"d\0"; -pub const PRIdLEAST64: &[u8; 3] = b"ld\0"; -pub const PRIdFAST8: &[u8; 2] = b"d\0"; -pub const PRIdFAST16: &[u8; 3] = b"ld\0"; -pub const PRIdFAST32: &[u8; 3] = b"ld\0"; -pub const PRIdFAST64: &[u8; 3] = b"ld\0"; -pub const PRIi8: &[u8; 2] = b"i\0"; -pub const PRIi16: &[u8; 2] = b"i\0"; pub const PRIi32: &[u8; 2] = b"i\0"; -pub const PRIi64: &[u8; 3] = b"li\0"; -pub const PRIiLEAST8: &[u8; 2] = b"i\0"; -pub const PRIiLEAST16: &[u8; 2] = b"i\0"; -pub const PRIiLEAST32: &[u8; 2] = b"i\0"; -pub const PRIiLEAST64: &[u8; 3] = b"li\0"; -pub const PRIiFAST8: &[u8; 2] = b"i\0"; -pub const PRIiFAST16: &[u8; 3] = b"li\0"; -pub const PRIiFAST32: &[u8; 3] = b"li\0"; -pub const PRIiFAST64: &[u8; 3] = b"li\0"; -pub const PRIo8: &[u8; 2] = b"o\0"; -pub const PRIo16: &[u8; 2] = b"o\0"; pub const PRIo32: &[u8; 2] = b"o\0"; -pub const PRIo64: &[u8; 3] = b"lo\0"; -pub const PRIoLEAST8: &[u8; 2] = b"o\0"; -pub const PRIoLEAST16: &[u8; 2] = b"o\0"; -pub const PRIoLEAST32: &[u8; 2] = b"o\0"; -pub const PRIoLEAST64: &[u8; 3] = b"lo\0"; -pub const PRIoFAST8: &[u8; 2] = b"o\0"; -pub const PRIoFAST16: &[u8; 3] = b"lo\0"; -pub const PRIoFAST32: &[u8; 3] = b"lo\0"; -pub const PRIoFAST64: &[u8; 3] = b"lo\0"; -pub const PRIu8: &[u8; 2] = b"u\0"; -pub const PRIu16: &[u8; 2] = b"u\0"; pub const PRIu32: &[u8; 2] = b"u\0"; -pub const PRIu64: &[u8; 3] = b"lu\0"; -pub const PRIuLEAST8: &[u8; 2] = b"u\0"; -pub const PRIuLEAST16: &[u8; 2] = b"u\0"; -pub const PRIuLEAST32: &[u8; 2] = b"u\0"; -pub const PRIuLEAST64: &[u8; 3] = b"lu\0"; -pub const PRIuFAST8: &[u8; 2] = b"u\0"; -pub const PRIuFAST16: &[u8; 3] = b"lu\0"; -pub const PRIuFAST32: &[u8; 3] = b"lu\0"; -pub const PRIuFAST64: &[u8; 3] = b"lu\0"; -pub const PRIx8: &[u8; 2] = b"x\0"; -pub const PRIx16: &[u8; 2] = b"x\0"; pub const PRIx32: &[u8; 2] = b"x\0"; -pub const PRIx64: &[u8; 3] = b"lx\0"; -pub const PRIxLEAST8: &[u8; 2] = b"x\0"; -pub const PRIxLEAST16: &[u8; 2] = b"x\0"; -pub const PRIxLEAST32: &[u8; 2] = b"x\0"; -pub const PRIxLEAST64: &[u8; 3] = b"lx\0"; -pub const PRIxFAST8: &[u8; 2] = b"x\0"; -pub const PRIxFAST16: &[u8; 3] = b"lx\0"; -pub const PRIxFAST32: &[u8; 3] = b"lx\0"; -pub const PRIxFAST64: &[u8; 3] = b"lx\0"; -pub const PRIX8: &[u8; 2] = b"X\0"; -pub const PRIX16: &[u8; 2] = b"X\0"; pub const PRIX32: &[u8; 2] = b"X\0"; -pub const PRIX64: &[u8; 3] = b"lX\0"; -pub const PRIXLEAST8: &[u8; 2] = b"X\0"; -pub const PRIXLEAST16: &[u8; 2] = b"X\0"; +pub const PRId64: &[u8; 4] = b"lld\0"; +pub const PRIi64: &[u8; 4] = b"lli\0"; +pub const PRIo64: &[u8; 4] = b"llo\0"; +pub const PRIu64: &[u8; 4] = b"llu\0"; +pub const PRIx64: &[u8; 4] = b"llx\0"; +pub const PRIX64: &[u8; 4] = b"llX\0"; +pub const PRIdLEAST8: &[u8; 4] = b"hhd\0"; +pub const PRIiLEAST8: &[u8; 4] = b"hhi\0"; +pub const PRIoLEAST8: &[u8; 4] = b"hho\0"; +pub const PRIuLEAST8: &[u8; 4] = b"hhu\0"; +pub const PRIxLEAST8: &[u8; 4] = b"hhx\0"; +pub const PRIXLEAST8: &[u8; 4] = b"hhX\0"; +pub const PRIdLEAST16: &[u8; 3] = b"hd\0"; +pub const PRIiLEAST16: &[u8; 3] = b"hi\0"; +pub const PRIoLEAST16: &[u8; 3] = b"ho\0"; +pub const PRIuLEAST16: &[u8; 3] = b"hu\0"; +pub const PRIxLEAST16: &[u8; 3] = b"hx\0"; +pub const PRIXLEAST16: &[u8; 3] = b"hX\0"; +pub const PRIdLEAST32: &[u8; 2] = b"d\0"; +pub const PRIiLEAST32: &[u8; 2] = b"i\0"; +pub const PRIoLEAST32: &[u8; 2] = b"o\0"; +pub const PRIuLEAST32: &[u8; 2] = b"u\0"; +pub const PRIxLEAST32: &[u8; 2] = b"x\0"; pub const PRIXLEAST32: &[u8; 2] = b"X\0"; -pub const PRIXLEAST64: &[u8; 3] = b"lX\0"; -pub const PRIXFAST8: &[u8; 2] = b"X\0"; -pub const PRIXFAST16: &[u8; 3] = b"lX\0"; -pub const PRIXFAST32: &[u8; 3] = b"lX\0"; -pub const PRIXFAST64: &[u8; 3] = b"lX\0"; -pub const PRIdMAX: &[u8; 3] = b"ld\0"; -pub const PRIiMAX: &[u8; 3] = b"li\0"; -pub const PRIoMAX: &[u8; 3] = b"lo\0"; -pub const PRIuMAX: &[u8; 3] = b"lu\0"; -pub const PRIxMAX: &[u8; 3] = b"lx\0"; -pub const PRIXMAX: &[u8; 3] = b"lX\0"; +pub const PRIdLEAST64: &[u8; 4] = b"lld\0"; +pub const PRIiLEAST64: &[u8; 4] = b"lli\0"; +pub const PRIoLEAST64: &[u8; 4] = b"llo\0"; +pub const PRIuLEAST64: &[u8; 4] = b"llu\0"; +pub const PRIxLEAST64: &[u8; 4] = b"llx\0"; +pub const PRIXLEAST64: &[u8; 4] = b"llX\0"; +pub const PRIdFAST8: &[u8; 4] = b"hhd\0"; +pub const PRIiFAST8: &[u8; 4] = b"hhi\0"; +pub const PRIoFAST8: &[u8; 4] = b"hho\0"; +pub const PRIuFAST8: &[u8; 4] = b"hhu\0"; +pub const PRIxFAST8: &[u8; 4] = b"hhx\0"; +pub const PRIXFAST8: &[u8; 4] = b"hhX\0"; +pub const PRIdFAST16: &[u8; 3] = b"hd\0"; +pub const PRIiFAST16: &[u8; 3] = b"hi\0"; +pub const PRIoFAST16: &[u8; 3] = b"ho\0"; +pub const PRIuFAST16: &[u8; 3] = b"hu\0"; +pub const PRIxFAST16: &[u8; 3] = b"hx\0"; +pub const PRIXFAST16: &[u8; 3] = b"hX\0"; +pub const PRIdFAST32: &[u8; 2] = b"d\0"; +pub const PRIiFAST32: &[u8; 2] = b"i\0"; +pub const PRIoFAST32: &[u8; 2] = b"o\0"; +pub const PRIuFAST32: &[u8; 2] = b"u\0"; +pub const PRIxFAST32: &[u8; 2] = b"x\0"; +pub const PRIXFAST32: &[u8; 2] = b"X\0"; +pub const PRIdFAST64: &[u8; 4] = b"lld\0"; +pub const PRIiFAST64: &[u8; 4] = b"lli\0"; +pub const PRIoFAST64: &[u8; 4] = b"llo\0"; +pub const PRIuFAST64: &[u8; 4] = b"llu\0"; +pub const PRIxFAST64: &[u8; 4] = b"llx\0"; +pub const PRIXFAST64: &[u8; 4] = b"llX\0"; pub const PRIdPTR: &[u8; 3] = b"ld\0"; pub const PRIiPTR: &[u8; 3] = b"li\0"; pub const PRIoPTR: &[u8; 3] = b"lo\0"; pub const PRIuPTR: &[u8; 3] = b"lu\0"; pub const PRIxPTR: &[u8; 3] = b"lx\0"; pub const PRIXPTR: &[u8; 3] = b"lX\0"; +pub const PRIdMAX: &[u8; 3] = b"jd\0"; +pub const PRIiMAX: &[u8; 3] = b"ji\0"; +pub const PRIoMAX: &[u8; 3] = b"jo\0"; +pub const PRIuMAX: &[u8; 3] = b"ju\0"; +pub const PRIxMAX: &[u8; 3] = b"jx\0"; +pub const PRIXMAX: &[u8; 3] = b"jX\0"; pub const SCNd8: &[u8; 4] = b"hhd\0"; -pub const SCNd16: &[u8; 3] = b"hd\0"; -pub const SCNd32: &[u8; 2] = b"d\0"; -pub const SCNd64: &[u8; 3] = b"ld\0"; -pub const SCNdLEAST8: &[u8; 4] = b"hhd\0"; -pub const SCNdLEAST16: &[u8; 3] = b"hd\0"; -pub const SCNdLEAST32: &[u8; 2] = b"d\0"; -pub const SCNdLEAST64: &[u8; 3] = b"ld\0"; -pub const SCNdFAST8: &[u8; 4] = b"hhd\0"; -pub const SCNdFAST16: &[u8; 3] = b"ld\0"; -pub const SCNdFAST32: &[u8; 3] = b"ld\0"; -pub const SCNdFAST64: &[u8; 3] = b"ld\0"; pub const SCNi8: &[u8; 4] = b"hhi\0"; -pub const SCNi16: &[u8; 3] = b"hi\0"; -pub const SCNi32: &[u8; 2] = b"i\0"; -pub const SCNi64: &[u8; 3] = b"li\0"; -pub const SCNiLEAST8: &[u8; 4] = b"hhi\0"; -pub const SCNiLEAST16: &[u8; 3] = b"hi\0"; -pub const SCNiLEAST32: &[u8; 2] = b"i\0"; -pub const SCNiLEAST64: &[u8; 3] = b"li\0"; -pub const SCNiFAST8: &[u8; 4] = b"hhi\0"; -pub const SCNiFAST16: &[u8; 3] = b"li\0"; -pub const SCNiFAST32: &[u8; 3] = b"li\0"; -pub const SCNiFAST64: &[u8; 3] = b"li\0"; -pub const SCNu8: &[u8; 4] = b"hhu\0"; -pub const SCNu16: &[u8; 3] = b"hu\0"; -pub const SCNu32: &[u8; 2] = b"u\0"; -pub const SCNu64: &[u8; 3] = b"lu\0"; -pub const SCNuLEAST8: &[u8; 4] = b"hhu\0"; -pub const SCNuLEAST16: &[u8; 3] = b"hu\0"; -pub const SCNuLEAST32: &[u8; 2] = b"u\0"; -pub const SCNuLEAST64: &[u8; 3] = b"lu\0"; -pub const SCNuFAST8: &[u8; 4] = b"hhu\0"; -pub const SCNuFAST16: &[u8; 3] = b"lu\0"; -pub const SCNuFAST32: &[u8; 3] = b"lu\0"; -pub const SCNuFAST64: &[u8; 3] = b"lu\0"; pub const SCNo8: &[u8; 4] = b"hho\0"; -pub const SCNo16: &[u8; 3] = b"ho\0"; -pub const SCNo32: &[u8; 2] = b"o\0"; -pub const SCNo64: &[u8; 3] = b"lo\0"; -pub const SCNoLEAST8: &[u8; 4] = b"hho\0"; -pub const SCNoLEAST16: &[u8; 3] = b"ho\0"; -pub const SCNoLEAST32: &[u8; 2] = b"o\0"; -pub const SCNoLEAST64: &[u8; 3] = b"lo\0"; -pub const SCNoFAST8: &[u8; 4] = b"hho\0"; -pub const SCNoFAST16: &[u8; 3] = b"lo\0"; -pub const SCNoFAST32: &[u8; 3] = b"lo\0"; -pub const SCNoFAST64: &[u8; 3] = b"lo\0"; +pub const SCNu8: &[u8; 4] = b"hhu\0"; pub const SCNx8: &[u8; 4] = b"hhx\0"; +pub const SCNd16: &[u8; 3] = b"hd\0"; +pub const SCNi16: &[u8; 3] = b"hi\0"; +pub const SCNo16: &[u8; 3] = b"ho\0"; +pub const SCNu16: &[u8; 3] = b"hu\0"; pub const SCNx16: &[u8; 3] = b"hx\0"; +pub const SCNd32: &[u8; 2] = b"d\0"; +pub const SCNi32: &[u8; 2] = b"i\0"; +pub const SCNo32: &[u8; 2] = b"o\0"; +pub const SCNu32: &[u8; 2] = b"u\0"; pub const SCNx32: &[u8; 2] = b"x\0"; -pub const SCNx64: &[u8; 3] = b"lx\0"; +pub const SCNd64: &[u8; 4] = b"lld\0"; +pub const SCNi64: &[u8; 4] = b"lli\0"; +pub const SCNo64: &[u8; 4] = b"llo\0"; +pub const SCNu64: &[u8; 4] = b"llu\0"; +pub const SCNx64: &[u8; 4] = b"llx\0"; +pub const SCNdLEAST8: &[u8; 4] = b"hhd\0"; +pub const SCNiLEAST8: &[u8; 4] = b"hhi\0"; +pub const SCNoLEAST8: &[u8; 4] = b"hho\0"; +pub const SCNuLEAST8: &[u8; 4] = b"hhu\0"; pub const SCNxLEAST8: &[u8; 4] = b"hhx\0"; +pub const SCNdLEAST16: &[u8; 3] = b"hd\0"; +pub const SCNiLEAST16: &[u8; 3] = b"hi\0"; +pub const SCNoLEAST16: &[u8; 3] = b"ho\0"; +pub const SCNuLEAST16: &[u8; 3] = b"hu\0"; pub const SCNxLEAST16: &[u8; 3] = b"hx\0"; +pub const SCNdLEAST32: &[u8; 2] = b"d\0"; +pub const SCNiLEAST32: &[u8; 2] = b"i\0"; +pub const SCNoLEAST32: &[u8; 2] = b"o\0"; +pub const SCNuLEAST32: &[u8; 2] = b"u\0"; pub const SCNxLEAST32: &[u8; 2] = b"x\0"; -pub const SCNxLEAST64: &[u8; 3] = b"lx\0"; +pub const SCNdLEAST64: &[u8; 4] = b"lld\0"; +pub const SCNiLEAST64: &[u8; 4] = b"lli\0"; +pub const SCNoLEAST64: &[u8; 4] = b"llo\0"; +pub const SCNuLEAST64: &[u8; 4] = b"llu\0"; +pub const SCNxLEAST64: &[u8; 4] = b"llx\0"; +pub const SCNdFAST8: &[u8; 4] = b"hhd\0"; +pub const SCNiFAST8: &[u8; 4] = b"hhi\0"; +pub const SCNoFAST8: &[u8; 4] = b"hho\0"; +pub const SCNuFAST8: &[u8; 4] = b"hhu\0"; pub const SCNxFAST8: &[u8; 4] = b"hhx\0"; -pub const SCNxFAST16: &[u8; 3] = b"lx\0"; -pub const SCNxFAST32: &[u8; 3] = b"lx\0"; -pub const SCNxFAST64: &[u8; 3] = b"lx\0"; -pub const SCNdMAX: &[u8; 3] = b"ld\0"; -pub const SCNiMAX: &[u8; 3] = b"li\0"; -pub const SCNoMAX: &[u8; 3] = b"lo\0"; -pub const SCNuMAX: &[u8; 3] = b"lu\0"; -pub const SCNxMAX: &[u8; 3] = b"lx\0"; +pub const SCNdFAST16: &[u8; 3] = b"hd\0"; +pub const SCNiFAST16: &[u8; 3] = b"hi\0"; +pub const SCNoFAST16: &[u8; 3] = b"ho\0"; +pub const SCNuFAST16: &[u8; 3] = b"hu\0"; +pub const SCNxFAST16: &[u8; 3] = b"hx\0"; +pub const SCNdFAST32: &[u8; 2] = b"d\0"; +pub const SCNiFAST32: &[u8; 2] = b"i\0"; +pub const SCNoFAST32: &[u8; 2] = b"o\0"; +pub const SCNuFAST32: &[u8; 2] = b"u\0"; +pub const SCNxFAST32: &[u8; 2] = b"x\0"; +pub const SCNdFAST64: &[u8; 4] = b"lld\0"; +pub const SCNiFAST64: &[u8; 4] = b"lli\0"; +pub const SCNoFAST64: &[u8; 4] = b"llo\0"; +pub const SCNuFAST64: &[u8; 4] = b"llu\0"; +pub const SCNxFAST64: &[u8; 4] = b"llx\0"; pub const SCNdPTR: &[u8; 3] = b"ld\0"; pub const SCNiPTR: &[u8; 3] = b"li\0"; pub const SCNoPTR: &[u8; 3] = b"lo\0"; pub const SCNuPTR: &[u8; 3] = b"lu\0"; pub const SCNxPTR: &[u8; 3] = b"lx\0"; -pub const _LIBC_LIMITS_H_: u32 = 1; -pub const MB_LEN_MAX: u32 = 16; -pub const _BITS_POSIX1_LIM_H: u32 = 1; -pub const _POSIX_AIO_LISTIO_MAX: u32 = 2; -pub const _POSIX_AIO_MAX: u32 = 1; +pub const SCNdMAX: &[u8; 3] = b"jd\0"; +pub const SCNiMAX: &[u8; 3] = b"ji\0"; +pub const SCNoMAX: &[u8; 3] = b"jo\0"; +pub const SCNuMAX: &[u8; 3] = b"ju\0"; +pub const SCNxMAX: &[u8; 3] = b"jx\0"; +pub const __API_TO_BE_DEPRECATED: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_VISIONOS: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION: u32 = 100000; +pub const __API_TO_BE_DEPRECATED_KERNELKIT: u32 = 100000; +pub const __MAC_10_0: u32 = 1000; +pub const __MAC_10_1: u32 = 1010; +pub const __MAC_10_2: u32 = 1020; +pub const __MAC_10_3: u32 = 1030; +pub const __MAC_10_4: u32 = 1040; +pub const __MAC_10_5: u32 = 1050; +pub const __MAC_10_6: u32 = 1060; +pub const __MAC_10_7: u32 = 1070; +pub const __MAC_10_8: u32 = 1080; +pub const __MAC_10_9: u32 = 1090; +pub const __MAC_10_10: u32 = 101000; +pub const __MAC_10_10_2: u32 = 101002; +pub const __MAC_10_10_3: u32 = 101003; +pub const __MAC_10_11: u32 = 101100; +pub const __MAC_10_11_2: u32 = 101102; +pub const __MAC_10_11_3: u32 = 101103; +pub const __MAC_10_11_4: u32 = 101104; +pub const __MAC_10_12: u32 = 101200; +pub const __MAC_10_12_1: u32 = 101201; +pub const __MAC_10_12_2: u32 = 101202; +pub const __MAC_10_12_4: u32 = 101204; +pub const __MAC_10_13: u32 = 101300; +pub const __MAC_10_13_1: u32 = 101301; +pub const __MAC_10_13_2: u32 = 101302; +pub const __MAC_10_13_4: u32 = 101304; +pub const __MAC_10_14: u32 = 101400; +pub const __MAC_10_14_1: u32 = 101401; +pub const __MAC_10_14_4: u32 = 101404; +pub const __MAC_10_14_5: u32 = 101405; +pub const __MAC_10_14_6: u32 = 101406; +pub const __MAC_10_15: u32 = 101500; +pub const __MAC_10_15_1: u32 = 101501; +pub const __MAC_10_15_4: u32 = 101504; +pub const __MAC_10_16: u32 = 101600; +pub const __MAC_11_0: u32 = 110000; +pub const __MAC_11_1: u32 = 110100; +pub const __MAC_11_3: u32 = 110300; +pub const __MAC_11_4: u32 = 110400; +pub const __MAC_11_5: u32 = 110500; +pub const __MAC_11_6: u32 = 110600; +pub const __MAC_12_0: u32 = 120000; +pub const __MAC_12_1: u32 = 120100; +pub const __MAC_12_2: u32 = 120200; +pub const __MAC_12_3: u32 = 120300; +pub const __MAC_12_4: u32 = 120400; +pub const __MAC_12_5: u32 = 120500; +pub const __MAC_12_6: u32 = 120600; +pub const __MAC_12_7: u32 = 120700; +pub const __MAC_13_0: u32 = 130000; +pub const __MAC_13_1: u32 = 130100; +pub const __MAC_13_2: u32 = 130200; +pub const __MAC_13_3: u32 = 130300; +pub const __MAC_13_4: u32 = 130400; +pub const __MAC_13_5: u32 = 130500; +pub const __MAC_13_6: u32 = 130600; +pub const __MAC_13_7: u32 = 130700; +pub const __MAC_14_0: u32 = 140000; +pub const __MAC_14_1: u32 = 140100; +pub const __MAC_14_2: u32 = 140200; +pub const __MAC_14_3: u32 = 140300; +pub const __MAC_14_4: u32 = 140400; +pub const __MAC_14_5: u32 = 140500; +pub const __MAC_14_6: u32 = 140600; +pub const __MAC_14_7: u32 = 140700; +pub const __MAC_15_0: u32 = 150000; +pub const __MAC_15_1: u32 = 150100; +pub const __MAC_15_2: u32 = 150200; +pub const __MAC_15_3: u32 = 150300; +pub const __MAC_15_4: u32 = 150400; +pub const __MAC_15_5: u32 = 150500; +pub const __IPHONE_2_0: u32 = 20000; +pub const __IPHONE_2_1: u32 = 20100; +pub const __IPHONE_2_2: u32 = 20200; +pub const __IPHONE_3_0: u32 = 30000; +pub const __IPHONE_3_1: u32 = 30100; +pub const __IPHONE_3_2: u32 = 30200; +pub const __IPHONE_4_0: u32 = 40000; +pub const __IPHONE_4_1: u32 = 40100; +pub const __IPHONE_4_2: u32 = 40200; +pub const __IPHONE_4_3: u32 = 40300; +pub const __IPHONE_5_0: u32 = 50000; +pub const __IPHONE_5_1: u32 = 50100; +pub const __IPHONE_6_0: u32 = 60000; +pub const __IPHONE_6_1: u32 = 60100; +pub const __IPHONE_7_0: u32 = 70000; +pub const __IPHONE_7_1: u32 = 70100; +pub const __IPHONE_8_0: u32 = 80000; +pub const __IPHONE_8_1: u32 = 80100; +pub const __IPHONE_8_2: u32 = 80200; +pub const __IPHONE_8_3: u32 = 80300; +pub const __IPHONE_8_4: u32 = 80400; +pub const __IPHONE_9_0: u32 = 90000; +pub const __IPHONE_9_1: u32 = 90100; +pub const __IPHONE_9_2: u32 = 90200; +pub const __IPHONE_9_3: u32 = 90300; +pub const __IPHONE_10_0: u32 = 100000; +pub const __IPHONE_10_1: u32 = 100100; +pub const __IPHONE_10_2: u32 = 100200; +pub const __IPHONE_10_3: u32 = 100300; +pub const __IPHONE_11_0: u32 = 110000; +pub const __IPHONE_11_1: u32 = 110100; +pub const __IPHONE_11_2: u32 = 110200; +pub const __IPHONE_11_3: u32 = 110300; +pub const __IPHONE_11_4: u32 = 110400; +pub const __IPHONE_12_0: u32 = 120000; +pub const __IPHONE_12_1: u32 = 120100; +pub const __IPHONE_12_2: u32 = 120200; +pub const __IPHONE_12_3: u32 = 120300; +pub const __IPHONE_12_4: u32 = 120400; +pub const __IPHONE_13_0: u32 = 130000; +pub const __IPHONE_13_1: u32 = 130100; +pub const __IPHONE_13_2: u32 = 130200; +pub const __IPHONE_13_3: u32 = 130300; +pub const __IPHONE_13_4: u32 = 130400; +pub const __IPHONE_13_5: u32 = 130500; +pub const __IPHONE_13_6: u32 = 130600; +pub const __IPHONE_13_7: u32 = 130700; +pub const __IPHONE_14_0: u32 = 140000; +pub const __IPHONE_14_1: u32 = 140100; +pub const __IPHONE_14_2: u32 = 140200; +pub const __IPHONE_14_3: u32 = 140300; +pub const __IPHONE_14_5: u32 = 140500; +pub const __IPHONE_14_4: u32 = 140400; +pub const __IPHONE_14_6: u32 = 140600; +pub const __IPHONE_14_7: u32 = 140700; +pub const __IPHONE_14_8: u32 = 140800; +pub const __IPHONE_15_0: u32 = 150000; +pub const __IPHONE_15_1: u32 = 150100; +pub const __IPHONE_15_2: u32 = 150200; +pub const __IPHONE_15_3: u32 = 150300; +pub const __IPHONE_15_4: u32 = 150400; +pub const __IPHONE_15_5: u32 = 150500; +pub const __IPHONE_15_6: u32 = 150600; +pub const __IPHONE_15_7: u32 = 150700; +pub const __IPHONE_15_8: u32 = 150800; +pub const __IPHONE_16_0: u32 = 160000; +pub const __IPHONE_16_1: u32 = 160100; +pub const __IPHONE_16_2: u32 = 160200; +pub const __IPHONE_16_3: u32 = 160300; +pub const __IPHONE_16_4: u32 = 160400; +pub const __IPHONE_16_5: u32 = 160500; +pub const __IPHONE_16_6: u32 = 160600; +pub const __IPHONE_16_7: u32 = 160700; +pub const __IPHONE_17_0: u32 = 170000; +pub const __IPHONE_17_1: u32 = 170100; +pub const __IPHONE_17_2: u32 = 170200; +pub const __IPHONE_17_3: u32 = 170300; +pub const __IPHONE_17_4: u32 = 170400; +pub const __IPHONE_17_5: u32 = 170500; +pub const __IPHONE_17_6: u32 = 170600; +pub const __IPHONE_17_7: u32 = 170700; +pub const __IPHONE_18_0: u32 = 180000; +pub const __IPHONE_18_1: u32 = 180100; +pub const __IPHONE_18_2: u32 = 180200; +pub const __IPHONE_18_3: u32 = 180300; +pub const __IPHONE_18_4: u32 = 180400; +pub const __IPHONE_18_5: u32 = 180500; +pub const __WATCHOS_1_0: u32 = 10000; +pub const __WATCHOS_2_0: u32 = 20000; +pub const __WATCHOS_2_1: u32 = 20100; +pub const __WATCHOS_2_2: u32 = 20200; +pub const __WATCHOS_3_0: u32 = 30000; +pub const __WATCHOS_3_1: u32 = 30100; +pub const __WATCHOS_3_1_1: u32 = 30101; +pub const __WATCHOS_3_2: u32 = 30200; +pub const __WATCHOS_4_0: u32 = 40000; +pub const __WATCHOS_4_1: u32 = 40100; +pub const __WATCHOS_4_2: u32 = 40200; +pub const __WATCHOS_4_3: u32 = 40300; +pub const __WATCHOS_5_0: u32 = 50000; +pub const __WATCHOS_5_1: u32 = 50100; +pub const __WATCHOS_5_2: u32 = 50200; +pub const __WATCHOS_5_3: u32 = 50300; +pub const __WATCHOS_6_0: u32 = 60000; +pub const __WATCHOS_6_1: u32 = 60100; +pub const __WATCHOS_6_2: u32 = 60200; +pub const __WATCHOS_7_0: u32 = 70000; +pub const __WATCHOS_7_1: u32 = 70100; +pub const __WATCHOS_7_2: u32 = 70200; +pub const __WATCHOS_7_3: u32 = 70300; +pub const __WATCHOS_7_4: u32 = 70400; +pub const __WATCHOS_7_5: u32 = 70500; +pub const __WATCHOS_7_6: u32 = 70600; +pub const __WATCHOS_8_0: u32 = 80000; +pub const __WATCHOS_8_1: u32 = 80100; +pub const __WATCHOS_8_3: u32 = 80300; +pub const __WATCHOS_8_4: u32 = 80400; +pub const __WATCHOS_8_5: u32 = 80500; +pub const __WATCHOS_8_6: u32 = 80600; +pub const __WATCHOS_8_7: u32 = 80700; +pub const __WATCHOS_8_8: u32 = 80800; +pub const __WATCHOS_9_0: u32 = 90000; +pub const __WATCHOS_9_1: u32 = 90100; +pub const __WATCHOS_9_2: u32 = 90200; +pub const __WATCHOS_9_3: u32 = 90300; +pub const __WATCHOS_9_4: u32 = 90400; +pub const __WATCHOS_9_5: u32 = 90500; +pub const __WATCHOS_9_6: u32 = 90600; +pub const __WATCHOS_10_0: u32 = 100000; +pub const __WATCHOS_10_1: u32 = 100100; +pub const __WATCHOS_10_2: u32 = 100200; +pub const __WATCHOS_10_3: u32 = 100300; +pub const __WATCHOS_10_4: u32 = 100400; +pub const __WATCHOS_10_5: u32 = 100500; +pub const __WATCHOS_10_6: u32 = 100600; +pub const __WATCHOS_10_7: u32 = 100700; +pub const __WATCHOS_11_0: u32 = 110000; +pub const __WATCHOS_11_1: u32 = 110100; +pub const __WATCHOS_11_2: u32 = 110200; +pub const __WATCHOS_11_3: u32 = 110300; +pub const __WATCHOS_11_4: u32 = 110400; +pub const __WATCHOS_11_5: u32 = 110500; +pub const __TVOS_9_0: u32 = 90000; +pub const __TVOS_9_1: u32 = 90100; +pub const __TVOS_9_2: u32 = 90200; +pub const __TVOS_10_0: u32 = 100000; +pub const __TVOS_10_0_1: u32 = 100001; +pub const __TVOS_10_1: u32 = 100100; +pub const __TVOS_10_2: u32 = 100200; +pub const __TVOS_11_0: u32 = 110000; +pub const __TVOS_11_1: u32 = 110100; +pub const __TVOS_11_2: u32 = 110200; +pub const __TVOS_11_3: u32 = 110300; +pub const __TVOS_11_4: u32 = 110400; +pub const __TVOS_12_0: u32 = 120000; +pub const __TVOS_12_1: u32 = 120100; +pub const __TVOS_12_2: u32 = 120200; +pub const __TVOS_12_3: u32 = 120300; +pub const __TVOS_12_4: u32 = 120400; +pub const __TVOS_13_0: u32 = 130000; +pub const __TVOS_13_2: u32 = 130200; +pub const __TVOS_13_3: u32 = 130300; +pub const __TVOS_13_4: u32 = 130400; +pub const __TVOS_14_0: u32 = 140000; +pub const __TVOS_14_1: u32 = 140100; +pub const __TVOS_14_2: u32 = 140200; +pub const __TVOS_14_3: u32 = 140300; +pub const __TVOS_14_5: u32 = 140500; +pub const __TVOS_14_6: u32 = 140600; +pub const __TVOS_14_7: u32 = 140700; +pub const __TVOS_15_0: u32 = 150000; +pub const __TVOS_15_1: u32 = 150100; +pub const __TVOS_15_2: u32 = 150200; +pub const __TVOS_15_3: u32 = 150300; +pub const __TVOS_15_4: u32 = 150400; +pub const __TVOS_15_5: u32 = 150500; +pub const __TVOS_15_6: u32 = 150600; +pub const __TVOS_16_0: u32 = 160000; +pub const __TVOS_16_1: u32 = 160100; +pub const __TVOS_16_2: u32 = 160200; +pub const __TVOS_16_3: u32 = 160300; +pub const __TVOS_16_4: u32 = 160400; +pub const __TVOS_16_5: u32 = 160500; +pub const __TVOS_16_6: u32 = 160600; +pub const __TVOS_17_0: u32 = 170000; +pub const __TVOS_17_1: u32 = 170100; +pub const __TVOS_17_2: u32 = 170200; +pub const __TVOS_17_3: u32 = 170300; +pub const __TVOS_17_4: u32 = 170400; +pub const __TVOS_17_5: u32 = 170500; +pub const __TVOS_17_6: u32 = 170600; +pub const __TVOS_18_0: u32 = 180000; +pub const __TVOS_18_1: u32 = 180100; +pub const __TVOS_18_2: u32 = 180200; +pub const __TVOS_18_3: u32 = 180300; +pub const __TVOS_18_4: u32 = 180400; +pub const __TVOS_18_5: u32 = 180500; +pub const __BRIDGEOS_2_0: u32 = 20000; +pub const __BRIDGEOS_3_0: u32 = 30000; +pub const __BRIDGEOS_3_1: u32 = 30100; +pub const __BRIDGEOS_3_4: u32 = 30400; +pub const __BRIDGEOS_4_0: u32 = 40000; +pub const __BRIDGEOS_4_1: u32 = 40100; +pub const __BRIDGEOS_5_0: u32 = 50000; +pub const __BRIDGEOS_5_1: u32 = 50100; +pub const __BRIDGEOS_5_3: u32 = 50300; +pub const __BRIDGEOS_6_0: u32 = 60000; +pub const __BRIDGEOS_6_2: u32 = 60200; +pub const __BRIDGEOS_6_4: u32 = 60400; +pub const __BRIDGEOS_6_5: u32 = 60500; +pub const __BRIDGEOS_6_6: u32 = 60600; +pub const __BRIDGEOS_7_0: u32 = 70000; +pub const __BRIDGEOS_7_1: u32 = 70100; +pub const __BRIDGEOS_7_2: u32 = 70200; +pub const __BRIDGEOS_7_3: u32 = 70300; +pub const __BRIDGEOS_7_4: u32 = 70400; +pub const __BRIDGEOS_7_6: u32 = 70600; +pub const __BRIDGEOS_8_0: u32 = 80000; +pub const __BRIDGEOS_8_1: u32 = 80100; +pub const __BRIDGEOS_8_2: u32 = 80200; +pub const __BRIDGEOS_8_3: u32 = 80300; +pub const __BRIDGEOS_8_4: u32 = 80400; +pub const __BRIDGEOS_8_5: u32 = 80500; +pub const __BRIDGEOS_8_6: u32 = 80600; +pub const __BRIDGEOS_9_0: u32 = 90000; +pub const __BRIDGEOS_9_1: u32 = 90100; +pub const __BRIDGEOS_9_2: u32 = 90200; +pub const __BRIDGEOS_9_3: u32 = 90300; +pub const __BRIDGEOS_9_4: u32 = 90400; +pub const __BRIDGEOS_9_5: u32 = 90500; +pub const __DRIVERKIT_19_0: u32 = 190000; +pub const __DRIVERKIT_20_0: u32 = 200000; +pub const __DRIVERKIT_21_0: u32 = 210000; +pub const __DRIVERKIT_22_0: u32 = 220000; +pub const __DRIVERKIT_22_4: u32 = 220400; +pub const __DRIVERKIT_22_5: u32 = 220500; +pub const __DRIVERKIT_22_6: u32 = 220600; +pub const __DRIVERKIT_23_0: u32 = 230000; +pub const __DRIVERKIT_23_1: u32 = 230100; +pub const __DRIVERKIT_23_2: u32 = 230200; +pub const __DRIVERKIT_23_3: u32 = 230300; +pub const __DRIVERKIT_23_4: u32 = 230400; +pub const __DRIVERKIT_23_5: u32 = 230500; +pub const __DRIVERKIT_23_6: u32 = 230600; +pub const __DRIVERKIT_24_0: u32 = 240000; +pub const __DRIVERKIT_24_1: u32 = 240100; +pub const __DRIVERKIT_24_2: u32 = 240200; +pub const __DRIVERKIT_24_3: u32 = 240300; +pub const __DRIVERKIT_24_4: u32 = 240400; +pub const __DRIVERKIT_24_5: u32 = 240500; +pub const __VISIONOS_1_0: u32 = 10000; +pub const __VISIONOS_1_1: u32 = 10100; +pub const __VISIONOS_1_2: u32 = 10200; +pub const __VISIONOS_1_3: u32 = 10300; +pub const __VISIONOS_2_0: u32 = 20000; +pub const __VISIONOS_2_1: u32 = 20100; +pub const __VISIONOS_2_2: u32 = 20200; +pub const __VISIONOS_2_3: u32 = 20300; +pub const __VISIONOS_2_4: u32 = 20400; +pub const __VISIONOS_2_5: u32 = 20500; +pub const MAC_OS_X_VERSION_10_0: u32 = 1000; +pub const MAC_OS_X_VERSION_10_1: u32 = 1010; +pub const MAC_OS_X_VERSION_10_2: u32 = 1020; +pub const MAC_OS_X_VERSION_10_3: u32 = 1030; +pub const MAC_OS_X_VERSION_10_4: u32 = 1040; +pub const MAC_OS_X_VERSION_10_5: u32 = 1050; +pub const MAC_OS_X_VERSION_10_6: u32 = 1060; +pub const MAC_OS_X_VERSION_10_7: u32 = 1070; +pub const MAC_OS_X_VERSION_10_8: u32 = 1080; +pub const MAC_OS_X_VERSION_10_9: u32 = 1090; +pub const MAC_OS_X_VERSION_10_10: u32 = 101000; +pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002; +pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003; +pub const MAC_OS_X_VERSION_10_11: u32 = 101100; +pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102; +pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103; +pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104; +pub const MAC_OS_X_VERSION_10_12: u32 = 101200; +pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201; +pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202; +pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204; +pub const MAC_OS_X_VERSION_10_13: u32 = 101300; +pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301; +pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302; +pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304; +pub const MAC_OS_X_VERSION_10_14: u32 = 101400; +pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401; +pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404; +pub const MAC_OS_X_VERSION_10_14_5: u32 = 101405; +pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406; +pub const MAC_OS_X_VERSION_10_15: u32 = 101500; +pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501; +pub const MAC_OS_X_VERSION_10_15_4: u32 = 101504; +pub const MAC_OS_X_VERSION_10_16: u32 = 101600; +pub const MAC_OS_VERSION_11_0: u32 = 110000; +pub const MAC_OS_VERSION_11_1: u32 = 110100; +pub const MAC_OS_VERSION_11_3: u32 = 110300; +pub const MAC_OS_VERSION_11_4: u32 = 110400; +pub const MAC_OS_VERSION_11_5: u32 = 110500; +pub const MAC_OS_VERSION_11_6: u32 = 110600; +pub const MAC_OS_VERSION_12_0: u32 = 120000; +pub const MAC_OS_VERSION_12_1: u32 = 120100; +pub const MAC_OS_VERSION_12_2: u32 = 120200; +pub const MAC_OS_VERSION_12_3: u32 = 120300; +pub const MAC_OS_VERSION_12_4: u32 = 120400; +pub const MAC_OS_VERSION_12_5: u32 = 120500; +pub const MAC_OS_VERSION_12_6: u32 = 120600; +pub const MAC_OS_VERSION_12_7: u32 = 120700; +pub const MAC_OS_VERSION_13_0: u32 = 130000; +pub const MAC_OS_VERSION_13_1: u32 = 130100; +pub const MAC_OS_VERSION_13_2: u32 = 130200; +pub const MAC_OS_VERSION_13_3: u32 = 130300; +pub const MAC_OS_VERSION_13_4: u32 = 130400; +pub const MAC_OS_VERSION_13_5: u32 = 130500; +pub const MAC_OS_VERSION_13_6: u32 = 130600; +pub const MAC_OS_VERSION_13_7: u32 = 130700; +pub const MAC_OS_VERSION_14_0: u32 = 140000; +pub const MAC_OS_VERSION_14_1: u32 = 140100; +pub const MAC_OS_VERSION_14_2: u32 = 140200; +pub const MAC_OS_VERSION_14_3: u32 = 140300; +pub const MAC_OS_VERSION_14_4: u32 = 140400; +pub const MAC_OS_VERSION_14_5: u32 = 140500; +pub const MAC_OS_VERSION_14_6: u32 = 140600; +pub const MAC_OS_VERSION_14_7: u32 = 140700; +pub const MAC_OS_VERSION_15_0: u32 = 150000; +pub const MAC_OS_VERSION_15_1: u32 = 150100; +pub const MAC_OS_VERSION_15_2: u32 = 150200; +pub const MAC_OS_VERSION_15_3: u32 = 150300; +pub const MAC_OS_VERSION_15_4: u32 = 150400; +pub const MAC_OS_VERSION_15_5: u32 = 150500; +pub const __AVAILABILITY_VERSIONS_VERSION_HASH: u32 = 93585900; +pub const __AVAILABILITY_VERSIONS_VERSION_STRING: &[u8; 6] = b"Local\0"; +pub const __AVAILABILITY_FILE: &[u8; 23] = b"AvailabilityVersions.h\0"; +pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 150500; +pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1; +pub const __DARWIN_WCHAR_MIN: i32 = -2147483648; +pub const _FORTIFY_SOURCE: u32 = 2; +pub const USE_CLANG_STDDEF: u32 = 0; +pub const __DARWIN_CLK_TCK: u32 = 100; +pub const USE_CLANG_LIMITS: u32 = 0; +pub const MB_LEN_MAX: u32 = 6; +pub const CLK_TCK: u32 = 100; +pub const CHAR_BIT: u32 = 8; +pub const SCHAR_MAX: u32 = 127; +pub const SCHAR_MIN: i32 = -128; +pub const UCHAR_MAX: u32 = 255; +pub const CHAR_MAX: u32 = 127; +pub const CHAR_MIN: i32 = -128; +pub const USHRT_MAX: u32 = 65535; +pub const SHRT_MAX: u32 = 32767; +pub const SHRT_MIN: i32 = -32768; +pub const UINT_MAX: u32 = 4294967295; +pub const INT_MAX: u32 = 2147483647; +pub const INT_MIN: i32 = -2147483648; +pub const ULONG_MAX: i32 = -1; +pub const LONG_MAX: u64 = 9223372036854775807; +pub const LONG_MIN: i64 = -9223372036854775808; +pub const ULLONG_MAX: i32 = -1; +pub const LLONG_MAX: u64 = 9223372036854775807; +pub const LLONG_MIN: i64 = -9223372036854775808; +pub const LONG_BIT: u32 = 64; +pub const SSIZE_MAX: u64 = 9223372036854775807; +pub const WORD_BIT: u32 = 32; +pub const SIZE_T_MAX: i32 = -1; +pub const UQUAD_MAX: i32 = -1; +pub const QUAD_MAX: u64 = 9223372036854775807; +pub const QUAD_MIN: i64 = -9223372036854775808; +pub const ARG_MAX: u32 = 1048576; +pub const CHILD_MAX: u32 = 266; +pub const GID_MAX: u32 = 2147483647; +pub const LINK_MAX: u32 = 32767; +pub const MAX_CANON: u32 = 1024; +pub const MAX_INPUT: u32 = 1024; +pub const NAME_MAX: u32 = 255; +pub const NGROUPS_MAX: u32 = 16; +pub const UID_MAX: u32 = 2147483647; +pub const OPEN_MAX: u32 = 10240; +pub const PATH_MAX: u32 = 1024; +pub const PIPE_BUF: u32 = 512; +pub const BC_BASE_MAX: u32 = 99; +pub const BC_DIM_MAX: u32 = 2048; +pub const BC_SCALE_MAX: u32 = 99; +pub const BC_STRING_MAX: u32 = 1000; +pub const CHARCLASS_NAME_MAX: u32 = 14; +pub const COLL_WEIGHTS_MAX: u32 = 2; +pub const EQUIV_CLASS_MAX: u32 = 2; +pub const EXPR_NEST_MAX: u32 = 32; +pub const LINE_MAX: u32 = 2048; +pub const RE_DUP_MAX: u32 = 255; +pub const NZERO: u32 = 20; pub const _POSIX_ARG_MAX: u32 = 4096; pub const _POSIX_CHILD_MAX: u32 = 25; -pub const _POSIX_DELAYTIMER_MAX: u32 = 32; -pub const _POSIX_HOST_NAME_MAX: u32 = 255; pub const _POSIX_LINK_MAX: u32 = 8; -pub const _POSIX_LOGIN_NAME_MAX: u32 = 9; pub const _POSIX_MAX_CANON: u32 = 255; pub const _POSIX_MAX_INPUT: u32 = 255; -pub const _POSIX_MQ_OPEN_MAX: u32 = 8; -pub const _POSIX_MQ_PRIO_MAX: u32 = 32; pub const _POSIX_NAME_MAX: u32 = 14; pub const _POSIX_NGROUPS_MAX: u32 = 8; pub const _POSIX_OPEN_MAX: u32 = 20; pub const _POSIX_PATH_MAX: u32 = 256; pub const _POSIX_PIPE_BUF: u32 = 512; -pub const _POSIX_RE_DUP_MAX: u32 = 255; -pub const _POSIX_RTSIG_MAX: u32 = 8; -pub const _POSIX_SEM_NSEMS_MAX: u32 = 256; -pub const _POSIX_SEM_VALUE_MAX: u32 = 32767; -pub const _POSIX_SIGQUEUE_MAX: u32 = 32; pub const _POSIX_SSIZE_MAX: u32 = 32767; pub const _POSIX_STREAM_MAX: u32 = 8; -pub const _POSIX_SYMLINK_MAX: u32 = 255; -pub const _POSIX_SYMLOOP_MAX: u32 = 8; -pub const _POSIX_TIMER_MAX: u32 = 32; -pub const _POSIX_TTY_NAME_MAX: u32 = 9; pub const _POSIX_TZNAME_MAX: u32 = 6; -pub const _POSIX_CLOCKRES_MIN: u32 = 20000000; -pub const NR_OPEN: u32 = 1024; -pub const NGROUPS_MAX: u32 = 65536; -pub const ARG_MAX: u32 = 131072; -pub const LINK_MAX: u32 = 127; -pub const MAX_CANON: u32 = 255; -pub const MAX_INPUT: u32 = 255; -pub const NAME_MAX: u32 = 255; -pub const PATH_MAX: u32 = 4096; -pub const PIPE_BUF: u32 = 4096; -pub const XATTR_NAME_MAX: u32 = 255; -pub const XATTR_SIZE_MAX: u32 = 65536; -pub const XATTR_LIST_MAX: u32 = 65536; -pub const RTSIG_MAX: u32 = 32; -pub const _POSIX_THREAD_KEYS_MAX: u32 = 128; -pub const PTHREAD_KEYS_MAX: u32 = 1024; -pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4; -pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4; -pub const _POSIX_THREAD_THREADS_MAX: u32 = 64; -pub const AIO_PRIO_DELTA_MAX: u32 = 20; -pub const PTHREAD_STACK_MIN: u32 = 16384; -pub const DELAYTIMER_MAX: u32 = 2147483647; -pub const TTY_NAME_MAX: u32 = 32; -pub const LOGIN_NAME_MAX: u32 = 256; -pub const HOST_NAME_MAX: u32 = 64; -pub const MQ_PRIO_MAX: u32 = 32768; -pub const SEM_VALUE_MAX: u32 = 2147483647; -pub const _BITS_POSIX2_LIM_H: u32 = 1; pub const _POSIX2_BC_BASE_MAX: u32 = 99; pub const _POSIX2_BC_DIM_MAX: u32 = 2048; pub const _POSIX2_BC_SCALE_MAX: u32 = 99; pub const _POSIX2_BC_STRING_MAX: u32 = 1000; -pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2; +pub const _POSIX2_EQUIV_CLASS_MAX: u32 = 2; pub const _POSIX2_EXPR_NEST_MAX: u32 = 32; pub const _POSIX2_LINE_MAX: u32 = 2048; pub const _POSIX2_RE_DUP_MAX: u32 = 255; +pub const _POSIX_AIO_LISTIO_MAX: u32 = 2; +pub const _POSIX_AIO_MAX: u32 = 1; +pub const _POSIX_DELAYTIMER_MAX: u32 = 32; +pub const _POSIX_MQ_OPEN_MAX: u32 = 8; +pub const _POSIX_MQ_PRIO_MAX: u32 = 32; +pub const _POSIX_RTSIG_MAX: u32 = 8; +pub const _POSIX_SEM_NSEMS_MAX: u32 = 256; +pub const _POSIX_SEM_VALUE_MAX: u32 = 32767; +pub const _POSIX_SIGQUEUE_MAX: u32 = 32; +pub const _POSIX_TIMER_MAX: u32 = 32; +pub const _POSIX_CLOCKRES_MIN: u32 = 20000000; +pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4; +pub const _POSIX_THREAD_KEYS_MAX: u32 = 128; +pub const _POSIX_THREAD_THREADS_MAX: u32 = 64; +pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4; +pub const PTHREAD_KEYS_MAX: u32 = 512; +pub const PTHREAD_STACK_MIN: u32 = 16384; +pub const _POSIX_HOST_NAME_MAX: u32 = 255; +pub const _POSIX_LOGIN_NAME_MAX: u32 = 9; +pub const _POSIX_SS_REPL_MAX: u32 = 4; +pub const _POSIX_SYMLINK_MAX: u32 = 255; +pub const _POSIX_SYMLOOP_MAX: u32 = 8; +pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30; +pub const _POSIX_TRACE_NAME_MAX: u32 = 8; +pub const _POSIX_TRACE_SYS_MAX: u32 = 8; +pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32; +pub const _POSIX_TTY_NAME_MAX: u32 = 9; pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14; -pub const BC_BASE_MAX: u32 = 99; -pub const BC_DIM_MAX: u32 = 2048; -pub const BC_SCALE_MAX: u32 = 99; -pub const BC_STRING_MAX: u32 = 1000; -pub const COLL_WEIGHTS_MAX: u32 = 255; -pub const EXPR_NEST_MAX: u32 = 32; -pub const LINE_MAX: u32 = 2048; -pub const CHARCLASS_NAME_MAX: u32 = 2048; -pub const RE_DUP_MAX: u32 = 32767; -pub const _MATH_H: u32 = 1; -pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1; -pub const __HAVE_FLOAT128: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT128: u32 = 0; -pub const __HAVE_FLOAT64X: u32 = 1; -pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1; -pub const __HAVE_FLOAT16: u32 = 0; -pub const __HAVE_FLOAT32: u32 = 1; -pub const __HAVE_FLOAT64: u32 = 1; -pub const __HAVE_FLOAT32X: u32 = 1; -pub const __HAVE_FLOAT128X: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT16: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT32: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT64: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0; -pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0; -pub const __FP_LOGB0_IS_MIN: u32 = 1; -pub const __FP_LOGBNAN_IS_MIN: u32 = 1; +pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2; +pub const _POSIX_RE_DUP_MAX: u32 = 255; +pub const OFF_MIN: i64 = -9223372036854775808; +pub const OFF_MAX: u64 = 9223372036854775807; +pub const PASS_MAX: u32 = 128; +pub const NL_ARGMAX: u32 = 9; +pub const NL_LANGMAX: u32 = 14; +pub const NL_MSGMAX: u32 = 32767; +pub const NL_NMAX: u32 = 1; +pub const NL_SETMAX: u32 = 255; +pub const NL_TEXTMAX: u32 = 2048; +pub const _XOPEN_IOV_MAX: u32 = 16; +pub const IOV_MAX: u32 = 1024; +pub const _XOPEN_NAME_MAX: u32 = 255; +pub const _XOPEN_PATH_MAX: u32 = 1024; +pub const FP_SUPERNORMAL: u32 = 6; +pub const FP_FAST_FMA: u32 = 1; +pub const FP_FAST_FMAF: u32 = 1; +pub const FP_FAST_FMAL: u32 = 1; pub const FP_ILOGB0: i32 = -2147483648; pub const FP_ILOGBNAN: i32 = -2147483648; -pub const __MATH_DECLARING_DOUBLE: u32 = 1; -pub const __MATH_DECLARING_FLOATN: u32 = 0; -pub const __MATH_DECLARE_LDOUBLE: u32 = 1; pub const MATH_ERRNO: u32 = 1; pub const MATH_ERREXCEPT: u32 = 2; -pub const math_errhandling: u32 = 3; pub const M_E: f64 = 2.718281828459045; pub const M_LOG2E: f64 = 1.4426950408889634; pub const M_LOG10E: f64 = 0.4342944819032518; @@ -597,102 +1051,276 @@ pub const M_2_PI: f64 = 0.6366197723675814; pub const M_2_SQRTPI: f64 = 1.1283791670955126; pub const M_SQRT2: f64 = 1.4142135623730951; pub const M_SQRT1_2: f64 = 0.7071067811865476; -pub const _STDIO_H: u32 = 1; -pub const _____fpos_t_defined: u32 = 1; -pub const ____mbstate_t_defined: u32 = 1; -pub const _____fpos64_t_defined: u32 = 1; -pub const ____FILE_defined: u32 = 1; -pub const __FILE_defined: u32 = 1; -pub const __struct_FILE_defined: u32 = 1; -pub const _IO_EOF_SEEN: u32 = 16; -pub const _IO_ERR_SEEN: u32 = 32; -pub const _IO_USER_LOCK: u32 = 32768; -pub const __cookie_io_functions_t_defined: u32 = 1; +pub const DOMAIN: u32 = 1; +pub const SING: u32 = 2; +pub const OVERFLOW: u32 = 3; +pub const UNDERFLOW: u32 = 4; +pub const TLOSS: u32 = 5; +pub const PLOSS: u32 = 6; +pub const USE_CLANG_STDARG: u32 = 0; +pub const RENAME_SECLUDE: u32 = 1; +pub const RENAME_SWAP: u32 = 2; +pub const RENAME_EXCL: u32 = 4; +pub const RENAME_RESERVED1: u32 = 8; +pub const RENAME_NOFOLLOW_ANY: u32 = 16; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const SEEK_HOLE: u32 = 3; +pub const SEEK_DATA: u32 = 4; +pub const __SLBF: u32 = 1; +pub const __SNBF: u32 = 2; +pub const __SRD: u32 = 4; +pub const __SWR: u32 = 8; +pub const __SRW: u32 = 16; +pub const __SEOF: u32 = 32; +pub const __SERR: u32 = 64; +pub const __SMBF: u32 = 128; +pub const __SAPP: u32 = 256; +pub const __SSTR: u32 = 512; +pub const __SOPT: u32 = 1024; +pub const __SNPT: u32 = 2048; +pub const __SOFF: u32 = 4096; +pub const __SMOD: u32 = 8192; +pub const __SALC: u32 = 16384; +pub const __SIGN: u32 = 32768; pub const _IOFBF: u32 = 0; pub const _IOLBF: u32 = 1; pub const _IONBF: u32 = 2; -pub const BUFSIZ: u32 = 8192; +pub const BUFSIZ: u32 = 1024; pub const EOF: i32 = -1; -pub const SEEK_SET: u32 = 0; -pub const SEEK_CUR: u32 = 1; -pub const SEEK_END: u32 = 2; -pub const P_tmpdir: &[u8; 5] = b"/tmp\0"; -pub const L_tmpnam: u32 = 20; -pub const TMP_MAX: u32 = 238328; -pub const _BITS_STDIO_LIM_H: u32 = 1; -pub const FILENAME_MAX: u32 = 4096; -pub const L_ctermid: u32 = 9; -pub const FOPEN_MAX: u32 = 16; -pub const _STDLIB_H: u32 = 1; +pub const FOPEN_MAX: u32 = 20; +pub const FILENAME_MAX: u32 = 1024; +pub const P_tmpdir: &[u8; 10] = b"/var/tmp/\0"; +pub const L_tmpnam: u32 = 1024; +pub const TMP_MAX: u32 = 308915776; +pub const L_ctermid: u32 = 1024; +pub const _USE_FORTIFY_LEVEL: u32 = 2; +pub const __DARWIN_NSIG: u32 = 32; +pub const NSIG: u32 = 32; +pub const _ARM_SIGNAL_: u32 = 1; +pub const SIGHUP: u32 = 1; +pub const SIGINT: u32 = 2; +pub const SIGQUIT: u32 = 3; +pub const SIGILL: u32 = 4; +pub const SIGTRAP: u32 = 5; +pub const SIGABRT: u32 = 6; +pub const SIGIOT: u32 = 6; +pub const SIGEMT: u32 = 7; +pub const SIGFPE: u32 = 8; +pub const SIGKILL: u32 = 9; +pub const SIGBUS: u32 = 10; +pub const SIGSEGV: u32 = 11; +pub const SIGSYS: u32 = 12; +pub const SIGPIPE: u32 = 13; +pub const SIGALRM: u32 = 14; +pub const SIGTERM: u32 = 15; +pub const SIGURG: u32 = 16; +pub const SIGSTOP: u32 = 17; +pub const SIGTSTP: u32 = 18; +pub const SIGCONT: u32 = 19; +pub const SIGCHLD: u32 = 20; +pub const SIGTTIN: u32 = 21; +pub const SIGTTOU: u32 = 22; +pub const SIGIO: u32 = 23; +pub const SIGXCPU: u32 = 24; +pub const SIGXFSZ: u32 = 25; +pub const SIGVTALRM: u32 = 26; +pub const SIGPROF: u32 = 27; +pub const SIGWINCH: u32 = 28; +pub const SIGINFO: u32 = 29; +pub const SIGUSR1: u32 = 30; +pub const SIGUSR2: u32 = 31; +pub const __DARWIN_OPAQUE_ARM_THREAD_STATE64: u32 = 0; +pub const SIGEV_NONE: u32 = 0; +pub const SIGEV_SIGNAL: u32 = 1; +pub const SIGEV_THREAD: u32 = 3; +pub const ILL_NOOP: u32 = 0; +pub const ILL_ILLOPC: u32 = 1; +pub const ILL_ILLTRP: u32 = 2; +pub const ILL_PRVOPC: u32 = 3; +pub const ILL_ILLOPN: u32 = 4; +pub const ILL_ILLADR: u32 = 5; +pub const ILL_PRVREG: u32 = 6; +pub const ILL_COPROC: u32 = 7; +pub const ILL_BADSTK: u32 = 8; +pub const FPE_NOOP: u32 = 0; +pub const FPE_FLTDIV: u32 = 1; +pub const FPE_FLTOVF: u32 = 2; +pub const FPE_FLTUND: u32 = 3; +pub const FPE_FLTRES: u32 = 4; +pub const FPE_FLTINV: u32 = 5; +pub const FPE_FLTSUB: u32 = 6; +pub const FPE_INTDIV: u32 = 7; +pub const FPE_INTOVF: u32 = 8; +pub const SEGV_NOOP: u32 = 0; +pub const SEGV_MAPERR: u32 = 1; +pub const SEGV_ACCERR: u32 = 2; +pub const BUS_NOOP: u32 = 0; +pub const BUS_ADRALN: u32 = 1; +pub const BUS_ADRERR: u32 = 2; +pub const BUS_OBJERR: u32 = 3; +pub const TRAP_BRKPT: u32 = 1; +pub const TRAP_TRACE: u32 = 2; +pub const CLD_NOOP: u32 = 0; +pub const CLD_EXITED: u32 = 1; +pub const CLD_KILLED: u32 = 2; +pub const CLD_DUMPED: u32 = 3; +pub const CLD_TRAPPED: u32 = 4; +pub const CLD_STOPPED: u32 = 5; +pub const CLD_CONTINUED: u32 = 6; +pub const POLL_IN: u32 = 1; +pub const POLL_OUT: u32 = 2; +pub const POLL_MSG: u32 = 3; +pub const POLL_ERR: u32 = 4; +pub const POLL_PRI: u32 = 5; +pub const POLL_HUP: u32 = 6; +pub const SA_ONSTACK: u32 = 1; +pub const SA_RESTART: u32 = 2; +pub const SA_RESETHAND: u32 = 4; +pub const SA_NOCLDSTOP: u32 = 8; +pub const SA_NODEFER: u32 = 16; +pub const SA_NOCLDWAIT: u32 = 32; +pub const SA_SIGINFO: u32 = 64; +pub const SA_USERTRAMP: u32 = 256; +pub const SA_64REGSET: u32 = 512; +pub const SA_USERSPACE_MASK: u32 = 127; +pub const SIG_BLOCK: u32 = 1; +pub const SIG_UNBLOCK: u32 = 2; +pub const SIG_SETMASK: u32 = 3; +pub const SI_USER: u32 = 65537; +pub const SI_QUEUE: u32 = 65538; +pub const SI_TIMER: u32 = 65539; +pub const SI_ASYNCIO: u32 = 65540; +pub const SI_MESGQ: u32 = 65541; +pub const SS_ONSTACK: u32 = 1; +pub const SS_DISABLE: u32 = 4; +pub const MINSIGSTKSZ: u32 = 32768; +pub const SIGSTKSZ: u32 = 131072; +pub const SV_ONSTACK: u32 = 1; +pub const SV_INTERRUPT: u32 = 2; +pub const SV_RESETHAND: u32 = 4; +pub const SV_NODEFER: u32 = 16; +pub const SV_NOCLDSTOP: u32 = 8; +pub const SV_SIGINFO: u32 = 64; +pub const PRIO_PROCESS: u32 = 0; +pub const PRIO_PGRP: u32 = 1; +pub const PRIO_USER: u32 = 2; +pub const PRIO_DARWIN_THREAD: u32 = 3; +pub const PRIO_DARWIN_PROCESS: u32 = 4; +pub const PRIO_MIN: i32 = -20; +pub const PRIO_MAX: u32 = 20; +pub const PRIO_DARWIN_BG: u32 = 4096; +pub const PRIO_DARWIN_NONUI: u32 = 4097; +pub const RUSAGE_SELF: u32 = 0; +pub const RUSAGE_CHILDREN: i32 = -1; +pub const RUSAGE_INFO_V0: u32 = 0; +pub const RUSAGE_INFO_V1: u32 = 1; +pub const RUSAGE_INFO_V2: u32 = 2; +pub const RUSAGE_INFO_V3: u32 = 3; +pub const RUSAGE_INFO_V4: u32 = 4; +pub const RUSAGE_INFO_V5: u32 = 5; +pub const RUSAGE_INFO_V6: u32 = 6; +pub const RUSAGE_INFO_CURRENT: u32 = 6; +pub const RU_PROC_RUNS_RESLIDE: u32 = 1; +pub const RLIMIT_CPU: u32 = 0; +pub const RLIMIT_FSIZE: u32 = 1; +pub const RLIMIT_DATA: u32 = 2; +pub const RLIMIT_STACK: u32 = 3; +pub const RLIMIT_CORE: u32 = 4; +pub const RLIMIT_AS: u32 = 5; +pub const RLIMIT_RSS: u32 = 5; +pub const RLIMIT_MEMLOCK: u32 = 6; +pub const RLIMIT_NPROC: u32 = 7; +pub const RLIMIT_NOFILE: u32 = 8; +pub const RLIM_NLIMITS: u32 = 9; +pub const _RLIMIT_POSIX_FLAG: u32 = 4096; +pub const RLIMIT_WAKEUPS_MONITOR: u32 = 1; +pub const RLIMIT_CPU_USAGE_MONITOR: u32 = 2; +pub const RLIMIT_THREAD_CPULIMITS: u32 = 3; +pub const RLIMIT_FOOTPRINT_INTERVAL: u32 = 4; +pub const WAKEMON_ENABLE: u32 = 1; +pub const WAKEMON_DISABLE: u32 = 2; +pub const WAKEMON_GET_PARAMS: u32 = 4; +pub const WAKEMON_SET_DEFAULTS: u32 = 8; +pub const WAKEMON_MAKE_FATAL: u32 = 16; +pub const CPUMON_MAKE_FATAL: u32 = 4096; +pub const FOOTPRINT_INTERVAL_RESET: u32 = 1; +pub const IOPOL_TYPE_DISK: u32 = 0; +pub const IOPOL_TYPE_VFS_ATIME_UPDATES: u32 = 2; +pub const IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES: u32 = 3; +pub const IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME: u32 = 4; +pub const IOPOL_TYPE_VFS_TRIGGER_RESOLVE: u32 = 5; +pub const IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION: u32 = 6; +pub const IOPOL_TYPE_VFS_IGNORE_PERMISSIONS: u32 = 7; +pub const IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE: u32 = 8; +pub const IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES: u32 = 9; +pub const IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY: u32 = 10; +pub const IOPOL_SCOPE_PROCESS: u32 = 0; +pub const IOPOL_SCOPE_THREAD: u32 = 1; +pub const IOPOL_SCOPE_DARWIN_BG: u32 = 2; +pub const IOPOL_DEFAULT: u32 = 0; +pub const IOPOL_IMPORTANT: u32 = 1; +pub const IOPOL_PASSIVE: u32 = 2; +pub const IOPOL_THROTTLE: u32 = 3; +pub const IOPOL_UTILITY: u32 = 4; +pub const IOPOL_STANDARD: u32 = 5; +pub const IOPOL_APPLICATION: u32 = 5; +pub const IOPOL_NORMAL: u32 = 1; +pub const IOPOL_ATIME_UPDATES_DEFAULT: u32 = 0; +pub const IOPOL_ATIME_UPDATES_OFF: u32 = 1; +pub const IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT: u32 = 0; +pub const IOPOL_MATERIALIZE_DATALESS_FILES_OFF: u32 = 1; +pub const IOPOL_MATERIALIZE_DATALESS_FILES_ON: u32 = 2; +pub const IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT: u32 = 0; +pub const IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME: u32 = 1; +pub const IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT: u32 = 0; +pub const IOPOL_VFS_TRIGGER_RESOLVE_OFF: u32 = 1; +pub const IOPOL_VFS_CONTENT_PROTECTION_DEFAULT: u32 = 0; +pub const IOPOL_VFS_CONTENT_PROTECTION_IGNORE: u32 = 1; +pub const IOPOL_VFS_IGNORE_PERMISSIONS_OFF: u32 = 0; +pub const IOPOL_VFS_IGNORE_PERMISSIONS_ON: u32 = 1; +pub const IOPOL_VFS_SKIP_MTIME_UPDATE_OFF: u32 = 0; +pub const IOPOL_VFS_SKIP_MTIME_UPDATE_ON: u32 = 1; +pub const IOPOL_VFS_SKIP_MTIME_UPDATE_IGNORE: u32 = 2; +pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF: u32 = 0; +pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON: u32 = 1; +pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT: u32 = 0; +pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON: u32 = 1; +pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT: u32 = 0; +pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON: u32 = 1; pub const WNOHANG: u32 = 1; pub const WUNTRACED: u32 = 2; -pub const WSTOPPED: u32 = 2; +pub const WCOREFLAG: u32 = 128; +pub const _WSTOPPED: u32 = 127; pub const WEXITED: u32 = 4; -pub const WCONTINUED: u32 = 8; -pub const WNOWAIT: u32 = 16777216; -pub const __WNOTHREAD: u32 = 536870912; -pub const __WALL: u32 = 1073741824; -pub const __WCLONE: u32 = 2147483648; -pub const __W_CONTINUED: u32 = 65535; -pub const __WCOREFLAG: u32 = 128; -pub const __ldiv_t_defined: u32 = 1; -pub const __lldiv_t_defined: u32 = 1; -pub const RAND_MAX: u32 = 2147483647; -pub const EXIT_FAILURE: u32 = 1; -pub const EXIT_SUCCESS: u32 = 0; -pub const _SYS_TYPES_H: u32 = 1; -pub const __clock_t_defined: u32 = 1; -pub const __clockid_t_defined: u32 = 1; -pub const __time_t_defined: u32 = 1; -pub const __timer_t_defined: u32 = 1; -pub const __BIT_TYPES_DEFINED__: u32 = 1; -pub const _ENDIAN_H: u32 = 1; -pub const _BITS_ENDIAN_H: u32 = 1; -pub const __LITTLE_ENDIAN: u32 = 1234; -pub const __BIG_ENDIAN: u32 = 4321; -pub const __PDP_ENDIAN: u32 = 3412; -pub const _BITS_ENDIANNESS_H: u32 = 1; -pub const __BYTE_ORDER: u32 = 1234; -pub const __FLOAT_WORD_ORDER: u32 = 1234; +pub const WSTOPPED: u32 = 8; +pub const WCONTINUED: u32 = 16; +pub const WNOWAIT: u32 = 32; +pub const WAIT_ANY: i32 = -1; +pub const WAIT_MYPGRP: u32 = 0; +pub const _QUAD_HIGHWORD: u32 = 1; +pub const _QUAD_LOWWORD: u32 = 0; +pub const __DARWIN_LITTLE_ENDIAN: u32 = 1234; +pub const __DARWIN_BIG_ENDIAN: u32 = 4321; +pub const __DARWIN_PDP_ENDIAN: u32 = 3412; pub const LITTLE_ENDIAN: u32 = 1234; pub const BIG_ENDIAN: u32 = 4321; pub const PDP_ENDIAN: u32 = 3412; +pub const __DARWIN_BYTE_ORDER: u32 = 1234; pub const BYTE_ORDER: u32 = 1234; -pub const _BITS_BYTESWAP_H: u32 = 1; -pub const _BITS_UINTN_IDENTITY_H: u32 = 1; -pub const _SYS_SELECT_H: u32 = 1; -pub const __sigset_t_defined: u32 = 1; -pub const __timeval_defined: u32 = 1; -pub const _STRUCT_TIMESPEC: u32 = 1; -pub const FD_SETSIZE: u32 = 1024; -pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1; -pub const _THREAD_SHARED_TYPES_H: u32 = 1; -pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1; -pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40; -pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56; -pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56; -pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32; -pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4; -pub const __SIZEOF_PTHREAD_COND_T: u32 = 48; -pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4; -pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8; -pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4; -pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1; -pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1; -pub const __have_pthread_attr_t: u32 = 1; -pub const _ALLOCA_H: u32 = 1; -pub const _STRING_H: u32 = 1; -pub const _BITS_TYPES_LOCALE_T_H: u32 = 1; -pub const _BITS_TYPES___LOCALE_T_H: u32 = 1; -pub const _STRINGS_H: u32 = 1; +pub const EXIT_FAILURE: u32 = 1; +pub const EXIT_SUCCESS: u32 = 0; +pub const RAND_MAX: u32 = 2147483647; +pub const __HAS_FIXED_CHK_PROTOTYPES: u32 = 1; pub const AV_HAVE_BIGENDIAN: u32 = 0; pub const AV_HAVE_FAST_UNALIGNED: u32 = 1; pub const AVERROR_EXPERIMENTAL: i32 = -733130664; pub const AVERROR_INPUT_CHANGED: i32 = -1668179713; pub const AVERROR_OUTPUT_CHANGED: i32 = -1668179714; pub const AV_ERROR_MAX_STRING_SIZE: u32 = 64; -pub const LIBAVUTIL_VERSION_MAJOR: u32 = 59; -pub const LIBAVUTIL_VERSION_MINOR: u32 = 39; +pub const LIBAVUTIL_VERSION_MAJOR: u32 = 60; +pub const LIBAVUTIL_VERSION_MINOR: u32 = 8; pub const LIBAVUTIL_VERSION_MICRO: u32 = 100; pub const M_Ef: f64 = 2.718281828459045; pub const M_LN2f: f64 = 0.6931471805599453; @@ -721,6 +1349,8 @@ pub const AV_LOG_TRACE: u32 = 56; pub const AV_LOG_MAX_OFFSET: u32 = 64; pub const AV_LOG_SKIP_REPEATED: u32 = 1; pub const AV_LOG_PRINT_LEVEL: u32 = 2; +pub const AV_LOG_PRINT_TIME: u32 = 4; +pub const AV_LOG_PRINT_DATETIME: u32 = 8; pub const AVPALETTE_SIZE: u32 = 1024; pub const AVPALETTE_COUNT: u32 = 256; pub const AV_VIDEO_MAX_PLANES: u32 = 4; @@ -735,24 +1365,26 @@ pub const AV_DICT_DONT_STRDUP_VAL: u32 = 8; pub const AV_DICT_DONT_OVERWRITE: u32 = 16; pub const AV_DICT_APPEND: u32 = 32; pub const AV_DICT_MULTIKEY: u32 = 64; +pub const AV_DICT_DEDUP: u32 = 128; pub const AV_NUM_DATA_POINTERS: u32 = 8; pub const AV_FRAME_FLAG_CORRUPT: u32 = 1; pub const AV_FRAME_FLAG_KEY: u32 = 2; pub const AV_FRAME_FLAG_DISCARD: u32 = 4; pub const AV_FRAME_FLAG_INTERLACED: u32 = 8; pub const AV_FRAME_FLAG_TOP_FIELD_FIRST: u32 = 16; +pub const AV_FRAME_FLAG_LOSSLESS: u32 = 32; pub const FF_DECODE_ERROR_INVALID_BITSTREAM: u32 = 1; pub const FF_DECODE_ERROR_MISSING_REFERENCE: u32 = 2; pub const FF_DECODE_ERROR_CONCEALMENT_ACTIVE: u32 = 4; pub const FF_DECODE_ERROR_DECODE_SLICES: u32 = 8; pub const AV_FRAME_SIDE_DATA_FLAG_UNIQUE: u32 = 1; pub const AV_FRAME_SIDE_DATA_FLAG_REPLACE: u32 = 2; -pub const LIBAVCODEC_VERSION_MAJOR: u32 = 61; +pub const AV_FRAME_SIDE_DATA_FLAG_NEW_REF: u32 = 4; +pub const LIBAVCODEC_VERSION_MAJOR: u32 = 62; pub const AV_CODEC_CAP_DRAW_HORIZ_BAND: u32 = 1; pub const AV_CODEC_CAP_DR1: u32 = 2; pub const AV_CODEC_CAP_DELAY: u32 = 32; pub const AV_CODEC_CAP_SMALL_LAST_FRAME: u32 = 64; -pub const AV_CODEC_CAP_SUBFRAMES: u32 = 256; pub const AV_CODEC_CAP_EXPERIMENTAL: u32 = 512; pub const AV_CODEC_CAP_CHANNEL_CONF: u32 = 1024; pub const AV_CODEC_CAP_FRAME_THREADS: u32 = 4096; @@ -884,19 +1516,28 @@ pub const AV_PROFILE_PRORES_STANDARD: u32 = 2; pub const AV_PROFILE_PRORES_HQ: u32 = 3; pub const AV_PROFILE_PRORES_4444: u32 = 4; pub const AV_PROFILE_PRORES_XQ: u32 = 5; +pub const AV_PROFILE_PRORES_RAW: u32 = 0; +pub const AV_PROFILE_PRORES_RAW_HQ: u32 = 1; pub const AV_PROFILE_ARIB_PROFILE_A: u32 = 0; pub const AV_PROFILE_ARIB_PROFILE_C: u32 = 1; pub const AV_PROFILE_KLVA_SYNC: u32 = 0; pub const AV_PROFILE_KLVA_ASYNC: u32 = 1; pub const AV_PROFILE_EVC_BASELINE: u32 = 0; pub const AV_PROFILE_EVC_MAIN: u32 = 1; +pub const AV_PROFILE_APV_422_10: u32 = 33; +pub const AV_PROFILE_APV_422_12: u32 = 44; +pub const AV_PROFILE_APV_444_10: u32 = 55; +pub const AV_PROFILE_APV_444_12: u32 = 66; +pub const AV_PROFILE_APV_4444_10: u32 = 77; +pub const AV_PROFILE_APV_4444_12: u32 = 88; +pub const AV_PROFILE_APV_400_10: u32 = 99; pub const AV_LEVEL_UNKNOWN: i32 = -99; pub const AV_PKT_FLAG_KEY: u32 = 1; pub const AV_PKT_FLAG_CORRUPT: u32 = 2; pub const AV_PKT_FLAG_DISCARD: u32 = 4; pub const AV_PKT_FLAG_TRUSTED: u32 = 8; pub const AV_PKT_FLAG_DISPOSABLE: u32 = 16; -pub const LIBAVCODEC_VERSION_MINOR: u32 = 19; +pub const LIBAVCODEC_VERSION_MINOR: u32 = 11; pub const LIBAVCODEC_VERSION_MICRO: u32 = 100; pub const AV_CODEC_PROP_INTRA_ONLY: u32 = 1; pub const AV_CODEC_PROP_LOSSY: u32 = 2; @@ -905,13 +1546,11 @@ pub const AV_CODEC_PROP_REORDER: u32 = 8; pub const AV_CODEC_PROP_FIELDS: u32 = 16; pub const AV_CODEC_PROP_BITMAP_SUB: u32 = 65536; pub const AV_CODEC_PROP_TEXT_SUB: u32 = 131072; -pub const AV_INPUT_BUFFER_MIN_SIZE: u32 = 16384; pub const AV_CODEC_FLAG_UNALIGNED: u32 = 1; pub const AV_CODEC_FLAG_QSCALE: u32 = 2; pub const AV_CODEC_FLAG_4MV: u32 = 4; pub const AV_CODEC_FLAG_OUTPUT_CORRUPT: u32 = 8; pub const AV_CODEC_FLAG_QPEL: u32 = 16; -pub const AV_CODEC_FLAG_DROPCHANGED: u32 = 32; pub const AV_CODEC_FLAG_RECON_FRAME: u32 = 64; pub const AV_CODEC_FLAG_COPY_OPAQUE: u32 = 128; pub const AV_CODEC_FLAG_FRAME_DURATION: u32 = 256; @@ -1023,115 +1662,6 @@ pub const FF_IDCT_SIMPLENEON: u32 = 22; pub const FF_IDCT_SIMPLEAUTO: u32 = 128; pub const FF_THREAD_FRAME: u32 = 1; pub const FF_THREAD_SLICE: u32 = 2; -pub const FF_PROFILE_UNKNOWN: i32 = -99; -pub const FF_PROFILE_RESERVED: i32 = -100; -pub const FF_PROFILE_AAC_MAIN: u32 = 0; -pub const FF_PROFILE_AAC_LOW: u32 = 1; -pub const FF_PROFILE_AAC_SSR: u32 = 2; -pub const FF_PROFILE_AAC_LTP: u32 = 3; -pub const FF_PROFILE_AAC_HE: u32 = 4; -pub const FF_PROFILE_AAC_HE_V2: u32 = 28; -pub const FF_PROFILE_AAC_LD: u32 = 22; -pub const FF_PROFILE_AAC_ELD: u32 = 38; -pub const FF_PROFILE_MPEG2_AAC_LOW: u32 = 128; -pub const FF_PROFILE_MPEG2_AAC_HE: u32 = 131; -pub const FF_PROFILE_DNXHD: u32 = 0; -pub const FF_PROFILE_DNXHR_LB: u32 = 1; -pub const FF_PROFILE_DNXHR_SQ: u32 = 2; -pub const FF_PROFILE_DNXHR_HQ: u32 = 3; -pub const FF_PROFILE_DNXHR_HQX: u32 = 4; -pub const FF_PROFILE_DNXHR_444: u32 = 5; -pub const FF_PROFILE_DTS: u32 = 20; -pub const FF_PROFILE_DTS_ES: u32 = 30; -pub const FF_PROFILE_DTS_96_24: u32 = 40; -pub const FF_PROFILE_DTS_HD_HRA: u32 = 50; -pub const FF_PROFILE_DTS_HD_MA: u32 = 60; -pub const FF_PROFILE_DTS_EXPRESS: u32 = 70; -pub const FF_PROFILE_DTS_HD_MA_X: u32 = 61; -pub const FF_PROFILE_DTS_HD_MA_X_IMAX: u32 = 62; -pub const FF_PROFILE_EAC3_DDP_ATMOS: u32 = 30; -pub const FF_PROFILE_TRUEHD_ATMOS: u32 = 30; -pub const FF_PROFILE_MPEG2_422: u32 = 0; -pub const FF_PROFILE_MPEG2_HIGH: u32 = 1; -pub const FF_PROFILE_MPEG2_SS: u32 = 2; -pub const FF_PROFILE_MPEG2_SNR_SCALABLE: u32 = 3; -pub const FF_PROFILE_MPEG2_MAIN: u32 = 4; -pub const FF_PROFILE_MPEG2_SIMPLE: u32 = 5; -pub const FF_PROFILE_H264_CONSTRAINED: u32 = 512; -pub const FF_PROFILE_H264_INTRA: u32 = 2048; -pub const FF_PROFILE_H264_BASELINE: u32 = 66; -pub const FF_PROFILE_H264_CONSTRAINED_BASELINE: u32 = 578; -pub const FF_PROFILE_H264_MAIN: u32 = 77; -pub const FF_PROFILE_H264_EXTENDED: u32 = 88; -pub const FF_PROFILE_H264_HIGH: u32 = 100; -pub const FF_PROFILE_H264_HIGH_10: u32 = 110; -pub const FF_PROFILE_H264_HIGH_10_INTRA: u32 = 2158; -pub const FF_PROFILE_H264_MULTIVIEW_HIGH: u32 = 118; -pub const FF_PROFILE_H264_HIGH_422: u32 = 122; -pub const FF_PROFILE_H264_HIGH_422_INTRA: u32 = 2170; -pub const FF_PROFILE_H264_STEREO_HIGH: u32 = 128; -pub const FF_PROFILE_H264_HIGH_444: u32 = 144; -pub const FF_PROFILE_H264_HIGH_444_PREDICTIVE: u32 = 244; -pub const FF_PROFILE_H264_HIGH_444_INTRA: u32 = 2292; -pub const FF_PROFILE_H264_CAVLC_444: u32 = 44; -pub const FF_PROFILE_VC1_SIMPLE: u32 = 0; -pub const FF_PROFILE_VC1_MAIN: u32 = 1; -pub const FF_PROFILE_VC1_COMPLEX: u32 = 2; -pub const FF_PROFILE_VC1_ADVANCED: u32 = 3; -pub const FF_PROFILE_MPEG4_SIMPLE: u32 = 0; -pub const FF_PROFILE_MPEG4_SIMPLE_SCALABLE: u32 = 1; -pub const FF_PROFILE_MPEG4_CORE: u32 = 2; -pub const FF_PROFILE_MPEG4_MAIN: u32 = 3; -pub const FF_PROFILE_MPEG4_N_BIT: u32 = 4; -pub const FF_PROFILE_MPEG4_SCALABLE_TEXTURE: u32 = 5; -pub const FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION: u32 = 6; -pub const FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE: u32 = 7; -pub const FF_PROFILE_MPEG4_HYBRID: u32 = 8; -pub const FF_PROFILE_MPEG4_ADVANCED_REAL_TIME: u32 = 9; -pub const FF_PROFILE_MPEG4_CORE_SCALABLE: u32 = 10; -pub const FF_PROFILE_MPEG4_ADVANCED_CODING: u32 = 11; -pub const FF_PROFILE_MPEG4_ADVANCED_CORE: u32 = 12; -pub const FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE: u32 = 13; -pub const FF_PROFILE_MPEG4_SIMPLE_STUDIO: u32 = 14; -pub const FF_PROFILE_MPEG4_ADVANCED_SIMPLE: u32 = 15; -pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0: u32 = 1; -pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1: u32 = 2; -pub const FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION: u32 = 32768; -pub const FF_PROFILE_JPEG2000_DCINEMA_2K: u32 = 3; -pub const FF_PROFILE_JPEG2000_DCINEMA_4K: u32 = 4; -pub const FF_PROFILE_VP9_0: u32 = 0; -pub const FF_PROFILE_VP9_1: u32 = 1; -pub const FF_PROFILE_VP9_2: u32 = 2; -pub const FF_PROFILE_VP9_3: u32 = 3; -pub const FF_PROFILE_HEVC_MAIN: u32 = 1; -pub const FF_PROFILE_HEVC_MAIN_10: u32 = 2; -pub const FF_PROFILE_HEVC_MAIN_STILL_PICTURE: u32 = 3; -pub const FF_PROFILE_HEVC_REXT: u32 = 4; -pub const FF_PROFILE_HEVC_SCC: u32 = 9; -pub const FF_PROFILE_VVC_MAIN_10: u32 = 1; -pub const FF_PROFILE_VVC_MAIN_10_444: u32 = 33; -pub const FF_PROFILE_AV1_MAIN: u32 = 0; -pub const FF_PROFILE_AV1_HIGH: u32 = 1; -pub const FF_PROFILE_AV1_PROFESSIONAL: u32 = 2; -pub const FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT: u32 = 192; -pub const FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT: u32 = 193; -pub const FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT: u32 = 194; -pub const FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS: u32 = 195; -pub const FF_PROFILE_MJPEG_JPEG_LS: u32 = 247; -pub const FF_PROFILE_SBC_MSBC: u32 = 1; -pub const FF_PROFILE_PRORES_PROXY: u32 = 0; -pub const FF_PROFILE_PRORES_LT: u32 = 1; -pub const FF_PROFILE_PRORES_STANDARD: u32 = 2; -pub const FF_PROFILE_PRORES_HQ: u32 = 3; -pub const FF_PROFILE_PRORES_4444: u32 = 4; -pub const FF_PROFILE_PRORES_XQ: u32 = 5; -pub const FF_PROFILE_ARIB_PROFILE_A: u32 = 0; -pub const FF_PROFILE_ARIB_PROFILE_C: u32 = 1; -pub const FF_PROFILE_KLVA_SYNC: u32 = 0; -pub const FF_PROFILE_KLVA_ASYNC: u32 = 1; -pub const FF_PROFILE_EVC_BASELINE: u32 = 0; -pub const FF_PROFILE_EVC_MAIN: u32 = 1; -pub const FF_LEVEL_UNKNOWN: i32 = -99; pub const FF_CODEC_PROPERTY_LOSSLESS: u32 = 1; pub const FF_CODEC_PROPERTY_CLOSED_CAPTIONS: u32 = 2; pub const FF_CODEC_PROPERTY_FILM_GRAIN: u32 = 4; @@ -1175,10 +1705,10 @@ pub const DV_PROFILE_BYTES: u32 = 480; pub const VORBIS_FLAG_HEADER: u32 = 1; pub const VORBIS_FLAG_COMMENT: u32 = 2; pub const VORBIS_FLAG_SETUP: u32 = 4; -pub const LIBAVDEVICE_VERSION_MAJOR: u32 = 61; -pub const LIBAVDEVICE_VERSION_MINOR: u32 = 3; +pub const LIBAVDEVICE_VERSION_MAJOR: u32 = 62; +pub const LIBAVDEVICE_VERSION_MINOR: u32 = 1; pub const LIBAVDEVICE_VERSION_MICRO: u32 = 100; -pub const LIBAVFORMAT_VERSION_MAJOR: u32 = 61; +pub const LIBAVFORMAT_VERSION_MAJOR: u32 = 62; pub const FF_API_R_FRAME_RATE: u32 = 1; pub const AVIO_SEEKABLE_NORMAL: u32 = 1; pub const AVIO_SEEKABLE_TIME: u32 = 2; @@ -1189,10 +1719,10 @@ pub const AVIO_FLAG_WRITE: u32 = 2; pub const AVIO_FLAG_READ_WRITE: u32 = 3; pub const AVIO_FLAG_NONBLOCK: u32 = 8; pub const AVIO_FLAG_DIRECT: u32 = 32768; -pub const LIBAVFORMAT_VERSION_MINOR: u32 = 7; +pub const LIBAVFORMAT_VERSION_MINOR: u32 = 3; pub const LIBAVFORMAT_VERSION_MICRO: u32 = 100; pub const AVPROBE_SCORE_EXTENSION: u32 = 50; -pub const AVPROBE_SCORE_MIME: u32 = 75; +pub const AVPROBE_SCORE_MIME_BONUS: u32 = 30; pub const AVPROBE_SCORE_MAX: u32 = 100; pub const AVPROBE_PADDING_SIZE: u32 = 32; pub const AVFMT_NOFILE: u32 = 1; @@ -1209,7 +1739,6 @@ pub const AVFMT_NOSTREAMS: u32 = 4096; pub const AVFMT_NOBINSEARCH: u32 = 8192; pub const AVFMT_NOGENSEARCH: u32 = 16384; pub const AVFMT_NO_BYTE_SEEK: u32 = 32768; -pub const AVFMT_ALLOW_FLUSH: u32 = 65536; pub const AVFMT_TS_NONSTRICT: u32 = 131072; pub const AVFMT_TS_NEGATIVE: u32 = 262144; pub const AVFMT_SEEK_TO_PTS: u32 = 67108864; @@ -1255,7 +1784,6 @@ pub const AVFMT_FLAG_FLUSH_PACKETS: u32 = 512; pub const AVFMT_FLAG_BITEXACT: u32 = 1024; pub const AVFMT_FLAG_SORT_DTS: u32 = 65536; pub const AVFMT_FLAG_FAST_SEEK: u32 = 524288; -pub const AVFMT_FLAG_SHORTEST: u32 = 1048576; pub const AVFMT_FLAG_AUTO_BSF: u32 = 2097152; pub const FF_FDEBUG_TS: u32 = 1; pub const AVFMT_EVENT_FLAG_METADATA_UPDATED: u32 = 1; @@ -1270,7 +1798,7 @@ pub const AVSEEK_FLAG_FRAME: u32 = 8; pub const AVSTREAM_INIT_IN_WRITE_HEADER: u32 = 0; pub const AVSTREAM_INIT_IN_INIT_OUTPUT: u32 = 1; pub const AV_FRAME_FILENAME_FLAGS_MULTIPLE: u32 = 1; -pub const LIBAVFILTER_VERSION_MAJOR: u32 = 10; +pub const LIBAVFILTER_VERSION_MAJOR: u32 = 11; pub const LIBAVFILTER_VERSION_MINOR: u32 = 4; pub const LIBAVFILTER_VERSION_MICRO: u32 = 100; pub const AVFILTER_FLAG_DYNAMIC_INPUTS: u32 = 1; @@ -1342,6 +1870,8 @@ pub const AV_CPU_FLAG_ARMV8: u32 = 64; pub const AV_CPU_FLAG_VFP_VM: u32 = 128; pub const AV_CPU_FLAG_DOTPROD: u32 = 256; pub const AV_CPU_FLAG_I8MM: u32 = 512; +pub const AV_CPU_FLAG_SVE: u32 = 1024; +pub const AV_CPU_FLAG_SVE2: u32 = 2048; pub const AV_CPU_FLAG_SETEND: u32 = 65536; pub const AV_CPU_FLAG_MMI: u32 = 1; pub const AV_CPU_FLAG_MSA: u32 = 2; @@ -1359,11 +1889,12 @@ pub const AV_CPU_FLAG_RVB_ADDR: u32 = 256; pub const AV_CPU_FLAG_RV_ZVBB: u32 = 512; pub const AV_CPU_FLAG_RV_MISALIGNED: u32 = 1024; pub const AV_CPU_FLAG_RVB: u32 = 2048; +pub const AV_CPU_FLAG_SIMD128: u32 = 1; pub const AV_DETECTION_BBOX_LABEL_NAME_MAX_SIZE: u32 = 64; pub const AV_NUM_DETECTION_BBOX_CLASSIFY: u32 = 4; pub const AV_DOVI_MAX_PIECES: u32 = 8; pub const AV_DOVI_MAX_EXT_BLOCKS: u32 = 32; -pub const FFMPEG_VERSION: &[u8; 4] = b"7.1\0"; +pub const FFMPEG_VERSION: &[u8; 8] = b"140fd65\0"; pub const AV_FIFO_FLAG_AUTO_GROW: u32 = 1; pub const AV_HASH_MAX_SIZE: u32 = 64; pub const AV_HDR_PLUS_MAX_PAYLOAD_SIZE: u32 = 907; @@ -1391,22 +1922,6 @@ pub const AV_LZO_INVALID_BACKPTR: u32 = 4; pub const AV_LZO_ERROR: u32 = 8; pub const AV_LZO_INPUT_PADDING: u32 = 8; pub const AV_LZO_OUTPUT_PADDING: u32 = 12; -pub const _TIME_H: u32 = 1; -pub const _BITS_TIME_H: u32 = 1; -pub const CLOCK_REALTIME: u32 = 0; -pub const CLOCK_MONOTONIC: u32 = 1; -pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2; -pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3; -pub const CLOCK_MONOTONIC_RAW: u32 = 4; -pub const CLOCK_REALTIME_COARSE: u32 = 5; -pub const CLOCK_MONOTONIC_COARSE: u32 = 6; -pub const CLOCK_BOOTTIME: u32 = 7; -pub const CLOCK_REALTIME_ALARM: u32 = 8; -pub const CLOCK_BOOTTIME_ALARM: u32 = 9; -pub const CLOCK_TAI: u32 = 11; -pub const TIMER_ABSTIME: u32 = 1; -pub const __struct_tm_defined: u32 = 1; -pub const __itimerspec_defined: u32 = 1; pub const TIME_UTC: u32 = 1; pub const AV_STEREO3D_FLAG_INVERT: u32 = 1; pub const AV_TIMECODE_STR_SIZE: u32 = 23; @@ -1414,34 +1929,16 @@ pub const AV_TS_MAX_STRING_SIZE: u32 = 32; pub const AV_PRI_UUID : & [u8 ; 101] = b"%02hhx%02hhx%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx\0" ; pub const AV_PRI_URN_UUID : & [u8 ; 110] = b"urn:uuid:%02hhx%02hhx%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx\0" ; pub const AV_UUID_LEN: u32 = 16; -pub const LIBSWRESAMPLE_VERSION_MAJOR: u32 = 5; -pub const LIBSWRESAMPLE_VERSION_MINOR: u32 = 3; +pub const LIBSWRESAMPLE_VERSION_MAJOR: u32 = 6; +pub const LIBSWRESAMPLE_VERSION_MINOR: u32 = 1; pub const LIBSWRESAMPLE_VERSION_MICRO: u32 = 100; pub const SWR_FLAG_RESAMPLE: u32 = 1; -pub const LIBSWSCALE_VERSION_MAJOR: u32 = 8; -pub const LIBSWSCALE_VERSION_MINOR: u32 = 3; +pub const LIBSWSCALE_VERSION_MAJOR: u32 = 9; +pub const LIBSWSCALE_VERSION_MINOR: u32 = 1; pub const LIBSWSCALE_VERSION_MICRO: u32 = 100; -pub const SWS_FAST_BILINEAR: u32 = 1; -pub const SWS_BILINEAR: u32 = 2; -pub const SWS_BICUBIC: u32 = 4; -pub const SWS_X: u32 = 8; -pub const SWS_POINT: u32 = 16; -pub const SWS_AREA: u32 = 32; -pub const SWS_BICUBLIN: u32 = 64; -pub const SWS_GAUSS: u32 = 128; -pub const SWS_SINC: u32 = 256; -pub const SWS_LANCZOS: u32 = 512; -pub const SWS_SPLINE: u32 = 1024; pub const SWS_SRC_V_CHR_DROP_MASK: u32 = 196608; pub const SWS_SRC_V_CHR_DROP_SHIFT: u32 = 16; pub const SWS_PARAM_DEFAULT: u32 = 123456; -pub const SWS_PRINT_INFO: u32 = 4096; -pub const SWS_FULL_CHR_H_INT: u32 = 8192; -pub const SWS_FULL_CHR_H_INP: u32 = 16384; -pub const SWS_DIRECT_BGR: u32 = 32768; -pub const SWS_ACCURATE_RND: u32 = 262144; -pub const SWS_BITEXACT: u32 = 524288; -pub const SWS_ERROR_DIFFUSION: u32 = 8388608; pub const SWS_MAX_REDUCE_CUTOFF: f64 = 0.002; pub const SWS_CS_ITU709: u32 = 1; pub const SWS_CS_FCC: u32 = 4; @@ -1452,166 +1949,467 @@ pub const SWS_CS_SMPTE240M: u32 = 7; pub const SWS_CS_DEFAULT: u32 = 5; pub const SWS_CS_BT2020: u32 = 9; pub type wchar_t = ::std::os::raw::c_int; +pub type max_align_t = f64; +pub type int_least8_t = i8; +pub type int_least16_t = i16; +pub type int_least32_t = i32; +pub type int_least64_t = i64; +pub type uint_least8_t = u8; +pub type uint_least16_t = u16; +pub type uint_least32_t = u32; +pub type uint_least64_t = u64; +pub type int_fast8_t = i8; +pub type int_fast16_t = i16; +pub type int_fast32_t = i32; +pub type int_fast64_t = i64; +pub type uint_fast8_t = u8; +pub type uint_fast16_t = u16; +pub type uint_fast32_t = u32; +pub type uint_fast64_t = u64; +pub type __int8_t = ::std::os::raw::c_schar; +pub type __uint8_t = ::std::os::raw::c_uchar; +pub type __int16_t = ::std::os::raw::c_short; +pub type __uint16_t = ::std::os::raw::c_ushort; +pub type __int32_t = ::std::os::raw::c_int; +pub type __uint32_t = ::std::os::raw::c_uint; +pub type __int64_t = ::std::os::raw::c_longlong; +pub type __uint64_t = ::std::os::raw::c_ulonglong; +pub type __darwin_intptr_t = ::std::os::raw::c_long; +pub type __darwin_natural_t = ::std::os::raw::c_uint; +pub type __darwin_ct_rune_t = ::std::os::raw::c_int; #[repr(C)] -#[repr(align(16))] -#[derive(Debug, Copy, Clone)] -pub struct max_align_t { - pub __clang_max_align_nonce1: ::std::os::raw::c_longlong, - pub __bindgen_padding_0: u64, - pub __clang_max_align_nonce2: u128, +#[derive(Copy, Clone)] +pub union __mbstate_t { + pub __mbstate8: [::std::os::raw::c_char; 128usize], + pub _mbstateL: ::std::os::raw::c_longlong, } #[test] -fn bindgen_test_layout_max_align_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___mbstate_t() { + const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 32usize, - "Size of max_align_t" + ::std::mem::size_of::<__mbstate_t>(), + 128usize, + "Size of __mbstate_t" ); assert_eq!( - ::std::mem::align_of::(), - 16usize, - "Alignment of max_align_t" + ::std::mem::align_of::<__mbstate_t>(), + 8usize, + "Alignment of __mbstate_t" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize }, 0usize, - "Offset of field: max_align_t::__clang_max_align_nonce1" + "Offset of field: __mbstate_t::__mbstate8" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - ptr as usize }, - 16usize, - "Offset of field: max_align_t::__clang_max_align_nonce2" + unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize }, + 0usize, + "Offset of field: __mbstate_t::_mbstateL" ); } -pub type __u_char = ::std::os::raw::c_uchar; -pub type __u_short = ::std::os::raw::c_ushort; -pub type __u_int = ::std::os::raw::c_uint; -pub type __u_long = ::std::os::raw::c_ulong; -pub type __int8_t = ::std::os::raw::c_schar; -pub type __uint8_t = ::std::os::raw::c_uchar; -pub type __int16_t = ::std::os::raw::c_short; -pub type __uint16_t = ::std::os::raw::c_ushort; -pub type __int32_t = ::std::os::raw::c_int; -pub type __uint32_t = ::std::os::raw::c_uint; -pub type __int64_t = ::std::os::raw::c_long; -pub type __uint64_t = ::std::os::raw::c_ulong; -pub type __int_least8_t = __int8_t; -pub type __uint_least8_t = __uint8_t; -pub type __int_least16_t = __int16_t; -pub type __uint_least16_t = __uint16_t; -pub type __int_least32_t = __int32_t; -pub type __uint_least32_t = __uint32_t; -pub type __int_least64_t = __int64_t; -pub type __uint_least64_t = __uint64_t; -pub type __quad_t = ::std::os::raw::c_long; -pub type __u_quad_t = ::std::os::raw::c_ulong; -pub type __intmax_t = ::std::os::raw::c_long; -pub type __uintmax_t = ::std::os::raw::c_ulong; -pub type __dev_t = ::std::os::raw::c_ulong; -pub type __uid_t = ::std::os::raw::c_uint; -pub type __gid_t = ::std::os::raw::c_uint; -pub type __ino_t = ::std::os::raw::c_ulong; -pub type __ino64_t = ::std::os::raw::c_ulong; -pub type __mode_t = ::std::os::raw::c_uint; -pub type __nlink_t = ::std::os::raw::c_ulong; -pub type __off_t = ::std::os::raw::c_long; -pub type __off64_t = ::std::os::raw::c_long; -pub type __pid_t = ::std::os::raw::c_int; +impl ::std::fmt::Debug for __mbstate_t { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + write!(f, "__mbstate_t {{ union }}") + } +} +pub type __darwin_mbstate_t = __mbstate_t; +pub type __darwin_ptrdiff_t = ::std::os::raw::c_long; +pub type __darwin_size_t = ::std::os::raw::c_ulong; +pub type __darwin_va_list = __builtin_va_list; +pub type __darwin_wchar_t = ::std::os::raw::c_int; +pub type __darwin_rune_t = __darwin_wchar_t; +pub type __darwin_wint_t = ::std::os::raw::c_int; +pub type __darwin_clock_t = ::std::os::raw::c_ulong; +pub type __darwin_socklen_t = __uint32_t; +pub type __darwin_ssize_t = ::std::os::raw::c_long; +pub type __darwin_time_t = ::std::os::raw::c_long; +pub type __darwin_blkcnt_t = __int64_t; +pub type __darwin_blksize_t = __int32_t; +pub type __darwin_dev_t = __int32_t; +pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint; +pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint; +pub type __darwin_gid_t = __uint32_t; +pub type __darwin_id_t = __uint32_t; +pub type __darwin_ino64_t = __uint64_t; +pub type __darwin_ino_t = __darwin_ino64_t; +pub type __darwin_mach_port_name_t = __darwin_natural_t; +pub type __darwin_mach_port_t = __darwin_mach_port_name_t; +pub type __darwin_mode_t = __uint16_t; +pub type __darwin_off_t = __int64_t; +pub type __darwin_pid_t = __int32_t; +pub type __darwin_sigset_t = __uint32_t; +pub type __darwin_suseconds_t = __int32_t; +pub type __darwin_uid_t = __uint32_t; +pub type __darwin_useconds_t = __uint32_t; +pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize]; +pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize]; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct __fsid_t { - pub __val: [::std::os::raw::c_int; 2usize], +pub struct __darwin_pthread_handler_rec { + pub __routine: ::std::option::Option, + pub __arg: *mut ::std::os::raw::c_void, + pub __next: *mut __darwin_pthread_handler_rec, } #[test] -fn bindgen_test_layout___fsid_t() { - const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___darwin_pthread_handler_rec() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_pthread_handler_rec> = + ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__fsid_t>(), - 8usize, - "Size of __fsid_t" + ::std::mem::size_of::<__darwin_pthread_handler_rec>(), + 24usize, + "Size of __darwin_pthread_handler_rec" ); assert_eq!( - ::std::mem::align_of::<__fsid_t>(), - 4usize, - "Alignment of __fsid_t" + ::std::mem::align_of::<__darwin_pthread_handler_rec>(), + 8usize, + "Alignment of __darwin_pthread_handler_rec" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize }, 0usize, - "Offset of field: __fsid_t::__val" - ); -} -pub type __clock_t = ::std::os::raw::c_long; -pub type __rlim_t = ::std::os::raw::c_ulong; -pub type __rlim64_t = ::std::os::raw::c_ulong; -pub type __id_t = ::std::os::raw::c_uint; -pub type __time_t = ::std::os::raw::c_long; -pub type __useconds_t = ::std::os::raw::c_uint; -pub type __suseconds_t = ::std::os::raw::c_long; -pub type __suseconds64_t = ::std::os::raw::c_long; -pub type __daddr_t = ::std::os::raw::c_int; -pub type __key_t = ::std::os::raw::c_int; -pub type __clockid_t = ::std::os::raw::c_int; -pub type __timer_t = *mut ::std::os::raw::c_void; -pub type __blksize_t = ::std::os::raw::c_long; -pub type __blkcnt_t = ::std::os::raw::c_long; -pub type __blkcnt64_t = ::std::os::raw::c_long; -pub type __fsblkcnt_t = ::std::os::raw::c_ulong; -pub type __fsblkcnt64_t = ::std::os::raw::c_ulong; -pub type __fsfilcnt_t = ::std::os::raw::c_ulong; -pub type __fsfilcnt64_t = ::std::os::raw::c_ulong; -pub type __fsword_t = ::std::os::raw::c_long; -pub type __ssize_t = ::std::os::raw::c_long; -pub type __syscall_slong_t = ::std::os::raw::c_long; -pub type __syscall_ulong_t = ::std::os::raw::c_ulong; -pub type __loff_t = __off64_t; -pub type __caddr_t = *mut ::std::os::raw::c_char; -pub type __intptr_t = ::std::os::raw::c_long; -pub type __socklen_t = ::std::os::raw::c_uint; -pub type __sig_atomic_t = ::std::os::raw::c_int; -pub type int_least8_t = __int_least8_t; -pub type int_least16_t = __int_least16_t; -pub type int_least32_t = __int_least32_t; -pub type int_least64_t = __int_least64_t; -pub type uint_least8_t = __uint_least8_t; -pub type uint_least16_t = __uint_least16_t; -pub type uint_least32_t = __uint_least32_t; -pub type uint_least64_t = __uint_least64_t; -pub type int_fast8_t = ::std::os::raw::c_schar; -pub type int_fast16_t = ::std::os::raw::c_long; -pub type int_fast32_t = ::std::os::raw::c_long; -pub type int_fast64_t = ::std::os::raw::c_long; -pub type uint_fast8_t = ::std::os::raw::c_uchar; -pub type uint_fast16_t = ::std::os::raw::c_ulong; -pub type uint_fast32_t = ::std::os::raw::c_ulong; -pub type uint_fast64_t = ::std::os::raw::c_ulong; -pub type intmax_t = __intmax_t; -pub type uintmax_t = __uintmax_t; -extern "C" { - #[doc = " Extract the bitstream ID and the frame size from AC-3 data."] - pub fn av_ac3_parse_header( - buf: *const u8, - size: usize, - bitstream_id: *mut u8, - frame_size: *mut u16, - ) -> ::std::os::raw::c_int; + "Offset of field: __darwin_pthread_handler_rec::__routine" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize }, + 8usize, + "Offset of field: __darwin_pthread_handler_rec::__arg" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize }, + 16usize, + "Offset of field: __darwin_pthread_handler_rec::__next" + ); } -extern "C" { - #[doc = " Extract the number of samples and frames from AAC data.\n @param[in] buf pointer to AAC data buffer\n @param[out] samples Pointer to where number of samples is written\n @param[out] frames Pointer to where number of frames is written\n @return Returns 0 on success, error code on failure."] - pub fn av_adts_header_parse( - buf: *const u8, - samples: *mut u32, - frames: *mut u8, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_attr_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 56usize], } -pub const AV_SAMPLE_FMT_NONE: AVSampleFormat = -1; -#[doc = "< unsigned 8 bits"] -pub const AV_SAMPLE_FMT_U8: AVSampleFormat = 0; -#[doc = "< signed 16 bits"] -pub const AV_SAMPLE_FMT_S16: AVSampleFormat = 1; +#[test] +fn bindgen_test_layout__opaque_pthread_attr_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_attr_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_attr_t>(), + 64usize, + "Size of _opaque_pthread_attr_t" + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_attr_t>(), + 8usize, + "Alignment of _opaque_pthread_attr_t" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + 0usize, + "Offset of field: _opaque_pthread_attr_t::__sig" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + 8usize, + "Offset of field: _opaque_pthread_attr_t::__opaque" + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_cond_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 40usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_cond_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_cond_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_cond_t>(), + 48usize, + "Size of _opaque_pthread_cond_t" + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_cond_t>(), + 8usize, + "Alignment of _opaque_pthread_cond_t" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + 0usize, + "Offset of field: _opaque_pthread_cond_t::__sig" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + 8usize, + "Offset of field: _opaque_pthread_cond_t::__opaque" + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_condattr_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 8usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_condattr_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_condattr_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_condattr_t>(), + 16usize, + "Size of _opaque_pthread_condattr_t" + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_condattr_t>(), + 8usize, + "Alignment of _opaque_pthread_condattr_t" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + 0usize, + "Offset of field: _opaque_pthread_condattr_t::__sig" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + 8usize, + "Offset of field: _opaque_pthread_condattr_t::__opaque" + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_mutex_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 56usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_mutex_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutex_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_mutex_t>(), + 64usize, + "Size of _opaque_pthread_mutex_t" + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_mutex_t>(), + 8usize, + "Alignment of _opaque_pthread_mutex_t" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + 0usize, + "Offset of field: _opaque_pthread_mutex_t::__sig" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + 8usize, + "Offset of field: _opaque_pthread_mutex_t::__opaque" + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_mutexattr_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 8usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_mutexattr_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutexattr_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(), + 16usize, + "Size of _opaque_pthread_mutexattr_t" + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(), + 8usize, + "Alignment of _opaque_pthread_mutexattr_t" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + 0usize, + "Offset of field: _opaque_pthread_mutexattr_t::__sig" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + 8usize, + "Offset of field: _opaque_pthread_mutexattr_t::__opaque" + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_once_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 8usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_once_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_once_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_once_t>(), + 16usize, + "Size of _opaque_pthread_once_t" + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_once_t>(), + 8usize, + "Alignment of _opaque_pthread_once_t" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + 0usize, + "Offset of field: _opaque_pthread_once_t::__sig" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + 8usize, + "Offset of field: _opaque_pthread_once_t::__opaque" + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_rwlock_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 192usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_rwlock_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlock_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_rwlock_t>(), + 200usize, + "Size of _opaque_pthread_rwlock_t" + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_rwlock_t>(), + 8usize, + "Alignment of _opaque_pthread_rwlock_t" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + 0usize, + "Offset of field: _opaque_pthread_rwlock_t::__sig" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + 8usize, + "Offset of field: _opaque_pthread_rwlock_t::__opaque" + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_rwlockattr_t { + pub __sig: ::std::os::raw::c_long, + pub __opaque: [::std::os::raw::c_char; 16usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_rwlockattr_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(), + 24usize, + "Size of _opaque_pthread_rwlockattr_t" + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(), + 8usize, + "Alignment of _opaque_pthread_rwlockattr_t" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + 0usize, + "Offset of field: _opaque_pthread_rwlockattr_t::__sig" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + 8usize, + "Offset of field: _opaque_pthread_rwlockattr_t::__opaque" + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _opaque_pthread_t { + pub __sig: ::std::os::raw::c_long, + pub __cleanup_stack: *mut __darwin_pthread_handler_rec, + pub __opaque: [::std::os::raw::c_char; 8176usize], +} +#[test] +fn bindgen_test_layout__opaque_pthread_t() { + const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_t> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_opaque_pthread_t>(), + 8192usize, + "Size of _opaque_pthread_t" + ); + assert_eq!( + ::std::mem::align_of::<_opaque_pthread_t>(), + 8usize, + "Alignment of _opaque_pthread_t" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + 0usize, + "Offset of field: _opaque_pthread_t::__sig" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize }, + 8usize, + "Offset of field: _opaque_pthread_t::__cleanup_stack" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + 16usize, + "Offset of field: _opaque_pthread_t::__opaque" + ); +} +pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t; +pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t; +pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t; +pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong; +pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t; +pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t; +pub type __darwin_pthread_once_t = _opaque_pthread_once_t; +pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t; +pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t; +pub type __darwin_pthread_t = *mut _opaque_pthread_t; +pub type intmax_t = ::std::os::raw::c_long; +pub type uintmax_t = ::std::os::raw::c_ulong; +extern "C" { + #[doc = " Extract the bitstream ID and the frame size from AC-3 data."] + pub fn av_ac3_parse_header( + buf: *const u8, + size: usize, + bitstream_id: *mut u8, + frame_size: *mut u16, + ) -> ::std::os::raw::c_int; +} +pub type rsize_t = ::std::os::raw::c_ulong; +extern "C" { + #[doc = " Extract the number of samples and frames from AAC data.\n @param[in] buf pointer to AAC data buffer\n @param[out] samples Pointer to where number of samples is written\n @param[out] frames Pointer to where number of frames is written\n @return Returns 0 on success, error code on failure."] + pub fn av_adts_header_parse( + buf: *const u8, + samples: *mut u32, + frames: *mut u8, + ) -> ::std::os::raw::c_int; +} +pub const AV_SAMPLE_FMT_NONE: AVSampleFormat = -1; +#[doc = "< unsigned 8 bits"] +pub const AV_SAMPLE_FMT_U8: AVSampleFormat = 0; +#[doc = "< signed 16 bits"] +pub const AV_SAMPLE_FMT_S16: AVSampleFormat = 1; #[doc = "< signed 32 bits"] pub const AV_SAMPLE_FMT_S32: AVSampleFormat = 2; #[doc = "< float"] @@ -1795,15 +2593,21 @@ extern "C" { #[doc = " Return a single letter to describe the given picture type\n pict_type.\n\n @param[in] pict_type the picture type @return a single character\n representing the picture type, '?' if pict_type is unknown"] pub fn av_get_picture_type_char(pict_type: AVPictureType) -> ::std::os::raw::c_char; } +pub type errno_t = ::std::os::raw::c_int; +extern "C" { + pub fn __error() -> *mut ::std::os::raw::c_int; +} +pub type __darwin_nl_item = ::std::os::raw::c_int; +pub type __darwin_wctrans_t = ::std::os::raw::c_int; +pub type __darwin_wctype_t = __uint32_t; extern "C" { - pub fn __errno_location() -> *mut ::std::os::raw::c_int; + pub fn imaxabs(j: intmax_t) -> intmax_t; } -pub type __gwchar_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct imaxdiv_t { - pub quot: ::std::os::raw::c_long, - pub rem: ::std::os::raw::c_long, + pub quot: intmax_t, + pub rem: intmax_t, } #[test] fn bindgen_test_layout_imaxdiv_t() { @@ -1830,9 +2634,6 @@ fn bindgen_test_layout_imaxdiv_t() { "Offset of field: imaxdiv_t::rem" ); } -extern "C" { - pub fn imaxabs(__n: intmax_t) -> intmax_t; -} extern "C" { pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t; } @@ -1852,4247 +2653,5788 @@ extern "C" { } extern "C" { pub fn wcstoimax( - __nptr: *const __gwchar_t, - __endptr: *mut *mut __gwchar_t, + __nptr: *const wchar_t, + __endptr: *mut *mut wchar_t, __base: ::std::os::raw::c_int, ) -> intmax_t; } extern "C" { pub fn wcstoumax( - __nptr: *const __gwchar_t, - __endptr: *mut *mut __gwchar_t, + __nptr: *const wchar_t, + __endptr: *mut *mut wchar_t, __base: ::std::os::raw::c_int, ) -> uintmax_t; } -pub type _Float32 = f32; -pub type _Float64 = f64; -pub type _Float32x = f64; -pub type _Float64x = u128; pub type float_t = f32; pub type double_t = f64; extern "C" { - pub fn __fpclassify(__value: f64) -> ::std::os::raw::c_int; + pub fn __math_errhandling() -> ::std::os::raw::c_int; } extern "C" { - pub fn __signbit(__value: f64) -> ::std::os::raw::c_int; + pub fn __fpclassifyf(arg1: f32) -> ::std::os::raw::c_int; } extern "C" { - pub fn __isinf(__value: f64) -> ::std::os::raw::c_int; + pub fn __fpclassifyd(arg1: f64) -> ::std::os::raw::c_int; } extern "C" { - pub fn __finite(__value: f64) -> ::std::os::raw::c_int; + pub fn __fpclassifyl(arg1: f64) -> ::std::os::raw::c_int; } extern "C" { - pub fn __isnan(__value: f64) -> ::std::os::raw::c_int; + pub fn acosf(arg1: f32) -> f32; } extern "C" { - pub fn __iseqsig(__x: f64, __y: f64) -> ::std::os::raw::c_int; + pub fn acos(arg1: f64) -> f64; } extern "C" { - pub fn __issignaling(__value: f64) -> ::std::os::raw::c_int; + pub fn acosl(arg1: f64) -> f64; } extern "C" { - pub fn acos(__x: f64) -> f64; + pub fn asinf(arg1: f32) -> f32; } extern "C" { - pub fn __acos(__x: f64) -> f64; + pub fn asin(arg1: f64) -> f64; } extern "C" { - pub fn asin(__x: f64) -> f64; + pub fn asinl(arg1: f64) -> f64; } extern "C" { - pub fn __asin(__x: f64) -> f64; + pub fn atanf(arg1: f32) -> f32; } extern "C" { - pub fn atan(__x: f64) -> f64; + pub fn atan(arg1: f64) -> f64; } extern "C" { - pub fn __atan(__x: f64) -> f64; + pub fn atanl(arg1: f64) -> f64; } extern "C" { - pub fn atan2(__y: f64, __x: f64) -> f64; + pub fn atan2f(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn __atan2(__y: f64, __x: f64) -> f64; + pub fn atan2(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn cos(__x: f64) -> f64; + pub fn atan2l(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __cos(__x: f64) -> f64; + pub fn cosf(arg1: f32) -> f32; } extern "C" { - pub fn sin(__x: f64) -> f64; + pub fn cos(arg1: f64) -> f64; } extern "C" { - pub fn __sin(__x: f64) -> f64; + pub fn cosl(arg1: f64) -> f64; } extern "C" { - pub fn tan(__x: f64) -> f64; + pub fn sinf(arg1: f32) -> f32; } extern "C" { - pub fn __tan(__x: f64) -> f64; + pub fn sin(arg1: f64) -> f64; } extern "C" { - pub fn cosh(__x: f64) -> f64; + pub fn sinl(arg1: f64) -> f64; } extern "C" { - pub fn __cosh(__x: f64) -> f64; + pub fn tanf(arg1: f32) -> f32; } extern "C" { - pub fn sinh(__x: f64) -> f64; + pub fn tan(arg1: f64) -> f64; } extern "C" { - pub fn __sinh(__x: f64) -> f64; + pub fn tanl(arg1: f64) -> f64; } extern "C" { - pub fn tanh(__x: f64) -> f64; + pub fn acoshf(arg1: f32) -> f32; } extern "C" { - pub fn __tanh(__x: f64) -> f64; + pub fn acosh(arg1: f64) -> f64; } extern "C" { - pub fn acosh(__x: f64) -> f64; + pub fn acoshl(arg1: f64) -> f64; } extern "C" { - pub fn __acosh(__x: f64) -> f64; + pub fn asinhf(arg1: f32) -> f32; } extern "C" { - pub fn asinh(__x: f64) -> f64; + pub fn asinh(arg1: f64) -> f64; } extern "C" { - pub fn __asinh(__x: f64) -> f64; + pub fn asinhl(arg1: f64) -> f64; } extern "C" { - pub fn atanh(__x: f64) -> f64; + pub fn atanhf(arg1: f32) -> f32; } extern "C" { - pub fn __atanh(__x: f64) -> f64; + pub fn atanh(arg1: f64) -> f64; } extern "C" { - pub fn exp(__x: f64) -> f64; + pub fn atanhl(arg1: f64) -> f64; } extern "C" { - pub fn __exp(__x: f64) -> f64; + pub fn coshf(arg1: f32) -> f32; } extern "C" { - pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64; + pub fn cosh(arg1: f64) -> f64; } extern "C" { - pub fn __frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64; + pub fn coshl(arg1: f64) -> f64; } extern "C" { - pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64; + pub fn sinhf(arg1: f32) -> f32; } extern "C" { - pub fn __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64; + pub fn sinh(arg1: f64) -> f64; } extern "C" { - pub fn log(__x: f64) -> f64; + pub fn sinhl(arg1: f64) -> f64; } extern "C" { - pub fn __log(__x: f64) -> f64; + pub fn tanhf(arg1: f32) -> f32; } extern "C" { - pub fn log10(__x: f64) -> f64; + pub fn tanh(arg1: f64) -> f64; } extern "C" { - pub fn __log10(__x: f64) -> f64; + pub fn tanhl(arg1: f64) -> f64; } extern "C" { - pub fn modf(__x: f64, __iptr: *mut f64) -> f64; + pub fn expf(arg1: f32) -> f32; } extern "C" { - pub fn __modf(__x: f64, __iptr: *mut f64) -> f64; + pub fn exp(arg1: f64) -> f64; } extern "C" { - pub fn expm1(__x: f64) -> f64; + pub fn expl(arg1: f64) -> f64; } extern "C" { - pub fn __expm1(__x: f64) -> f64; + pub fn exp2f(arg1: f32) -> f32; } extern "C" { - pub fn log1p(__x: f64) -> f64; + pub fn exp2(arg1: f64) -> f64; } extern "C" { - pub fn __log1p(__x: f64) -> f64; + pub fn exp2l(arg1: f64) -> f64; } extern "C" { - pub fn logb(__x: f64) -> f64; + pub fn expm1f(arg1: f32) -> f32; } extern "C" { - pub fn __logb(__x: f64) -> f64; + pub fn expm1(arg1: f64) -> f64; } extern "C" { - pub fn exp2(__x: f64) -> f64; + pub fn expm1l(arg1: f64) -> f64; } extern "C" { - pub fn __exp2(__x: f64) -> f64; + pub fn logf(arg1: f32) -> f32; } extern "C" { - pub fn log2(__x: f64) -> f64; + pub fn log(arg1: f64) -> f64; } extern "C" { - pub fn __log2(__x: f64) -> f64; + pub fn logl(arg1: f64) -> f64; } extern "C" { - pub fn pow(__x: f64, __y: f64) -> f64; + pub fn log10f(arg1: f32) -> f32; } extern "C" { - pub fn __pow(__x: f64, __y: f64) -> f64; + pub fn log10(arg1: f64) -> f64; } extern "C" { - pub fn sqrt(__x: f64) -> f64; + pub fn log10l(arg1: f64) -> f64; } extern "C" { - pub fn __sqrt(__x: f64) -> f64; + pub fn log2f(arg1: f32) -> f32; } extern "C" { - pub fn hypot(__x: f64, __y: f64) -> f64; + pub fn log2(arg1: f64) -> f64; } extern "C" { - pub fn __hypot(__x: f64, __y: f64) -> f64; + pub fn log2l(arg1: f64) -> f64; } extern "C" { - pub fn cbrt(__x: f64) -> f64; + pub fn log1pf(arg1: f32) -> f32; } extern "C" { - pub fn __cbrt(__x: f64) -> f64; + pub fn log1p(arg1: f64) -> f64; } extern "C" { - pub fn ceil(__x: f64) -> f64; + pub fn log1pl(arg1: f64) -> f64; } extern "C" { - pub fn __ceil(__x: f64) -> f64; + pub fn logbf(arg1: f32) -> f32; } extern "C" { - pub fn fabs(__x: f64) -> f64; + pub fn logb(arg1: f64) -> f64; } extern "C" { - pub fn __fabs(__x: f64) -> f64; + pub fn logbl(arg1: f64) -> f64; } extern "C" { - pub fn floor(__x: f64) -> f64; + pub fn modff(arg1: f32, arg2: *mut f32) -> f32; } extern "C" { - pub fn __floor(__x: f64) -> f64; + pub fn modf(arg1: f64, arg2: *mut f64) -> f64; } extern "C" { - pub fn fmod(__x: f64, __y: f64) -> f64; + pub fn modfl(arg1: f64, arg2: *mut f64) -> f64; } extern "C" { - pub fn __fmod(__x: f64, __y: f64) -> f64; + pub fn ldexpf(arg1: f32, arg2: ::std::os::raw::c_int) -> f32; } extern "C" { - pub fn isinf(__value: f64) -> ::std::os::raw::c_int; + pub fn ldexp(arg1: f64, arg2: ::std::os::raw::c_int) -> f64; } extern "C" { - pub fn finite(__value: f64) -> ::std::os::raw::c_int; + pub fn ldexpl(arg1: f64, arg2: ::std::os::raw::c_int) -> f64; } extern "C" { - pub fn drem(__x: f64, __y: f64) -> f64; + pub fn frexpf(arg1: f32, arg2: *mut ::std::os::raw::c_int) -> f32; } extern "C" { - pub fn __drem(__x: f64, __y: f64) -> f64; + pub fn frexp(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64; } extern "C" { - pub fn significand(__x: f64) -> f64; + pub fn frexpl(arg1: f64, arg2: *mut ::std::os::raw::c_int) -> f64; } extern "C" { - pub fn __significand(__x: f64) -> f64; + pub fn ilogbf(arg1: f32) -> ::std::os::raw::c_int; } extern "C" { - pub fn copysign(__x: f64, __y: f64) -> f64; + pub fn ilogb(arg1: f64) -> ::std::os::raw::c_int; } extern "C" { - pub fn __copysign(__x: f64, __y: f64) -> f64; + pub fn ilogbl(arg1: f64) -> ::std::os::raw::c_int; } extern "C" { - pub fn nan(__tagb: *const ::std::os::raw::c_char) -> f64; + pub fn scalbnf(arg1: f32, arg2: ::std::os::raw::c_int) -> f32; } extern "C" { - pub fn __nan(__tagb: *const ::std::os::raw::c_char) -> f64; + pub fn scalbn(arg1: f64, arg2: ::std::os::raw::c_int) -> f64; } extern "C" { - pub fn isnan(__value: f64) -> ::std::os::raw::c_int; + pub fn scalbnl(arg1: f64, arg2: ::std::os::raw::c_int) -> f64; } extern "C" { - pub fn j0(arg1: f64) -> f64; + pub fn scalblnf(arg1: f32, arg2: ::std::os::raw::c_long) -> f32; } extern "C" { - pub fn __j0(arg1: f64) -> f64; + pub fn scalbln(arg1: f64, arg2: ::std::os::raw::c_long) -> f64; } extern "C" { - pub fn j1(arg1: f64) -> f64; + pub fn scalblnl(arg1: f64, arg2: ::std::os::raw::c_long) -> f64; } extern "C" { - pub fn __j1(arg1: f64) -> f64; + pub fn fabsf(arg1: f32) -> f32; } extern "C" { - pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; + pub fn fabs(arg1: f64) -> f64; } extern "C" { - pub fn __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; + pub fn fabsl(arg1: f64) -> f64; } extern "C" { - pub fn y0(arg1: f64) -> f64; + pub fn cbrtf(arg1: f32) -> f32; } extern "C" { - pub fn __y0(arg1: f64) -> f64; + pub fn cbrt(arg1: f64) -> f64; } extern "C" { - pub fn y1(arg1: f64) -> f64; + pub fn cbrtl(arg1: f64) -> f64; } extern "C" { - pub fn __y1(arg1: f64) -> f64; + pub fn hypotf(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; + pub fn hypot(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; + pub fn hypotl(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn erf(arg1: f64) -> f64; + pub fn powf(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn __erf(arg1: f64) -> f64; + pub fn pow(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn erfc(arg1: f64) -> f64; + pub fn powl(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __erfc(arg1: f64) -> f64; + pub fn sqrtf(arg1: f32) -> f32; } extern "C" { - pub fn lgamma(arg1: f64) -> f64; + pub fn sqrt(arg1: f64) -> f64; } extern "C" { - pub fn __lgamma(arg1: f64) -> f64; + pub fn sqrtl(arg1: f64) -> f64; } extern "C" { - pub fn tgamma(arg1: f64) -> f64; + pub fn erff(arg1: f32) -> f32; } extern "C" { - pub fn __tgamma(arg1: f64) -> f64; + pub fn erf(arg1: f64) -> f64; } extern "C" { - pub fn gamma(arg1: f64) -> f64; + pub fn erfl(arg1: f64) -> f64; } extern "C" { - pub fn __gamma(arg1: f64) -> f64; + pub fn erfcf(arg1: f32) -> f32; } extern "C" { - pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64; + pub fn erfc(arg1: f64) -> f64; } extern "C" { - pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64; + pub fn erfcl(arg1: f64) -> f64; } extern "C" { - pub fn rint(__x: f64) -> f64; + pub fn lgammaf(arg1: f32) -> f32; } extern "C" { - pub fn __rint(__x: f64) -> f64; + pub fn lgamma(arg1: f64) -> f64; } extern "C" { - pub fn nextafter(__x: f64, __y: f64) -> f64; + pub fn lgammal(arg1: f64) -> f64; } extern "C" { - pub fn __nextafter(__x: f64, __y: f64) -> f64; + pub fn tgammaf(arg1: f32) -> f32; } extern "C" { - pub fn nexttoward(__x: f64, __y: u128) -> f64; + pub fn tgamma(arg1: f64) -> f64; } extern "C" { - pub fn __nexttoward(__x: f64, __y: u128) -> f64; + pub fn tgammal(arg1: f64) -> f64; } extern "C" { - pub fn remainder(__x: f64, __y: f64) -> f64; + pub fn ceilf(arg1: f32) -> f32; } extern "C" { - pub fn __remainder(__x: f64, __y: f64) -> f64; + pub fn ceil(arg1: f64) -> f64; } extern "C" { - pub fn scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64; + pub fn ceill(arg1: f64) -> f64; } extern "C" { - pub fn __scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64; + pub fn floorf(arg1: f32) -> f32; } extern "C" { - pub fn ilogb(__x: f64) -> ::std::os::raw::c_int; + pub fn floor(arg1: f64) -> f64; } extern "C" { - pub fn __ilogb(__x: f64) -> ::std::os::raw::c_int; + pub fn floorl(arg1: f64) -> f64; } extern "C" { - pub fn scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64; + pub fn nearbyintf(arg1: f32) -> f32; } extern "C" { - pub fn __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64; + pub fn nearbyint(arg1: f64) -> f64; } extern "C" { - pub fn nearbyint(__x: f64) -> f64; + pub fn nearbyintl(arg1: f64) -> f64; } extern "C" { - pub fn __nearbyint(__x: f64) -> f64; + pub fn rintf(arg1: f32) -> f32; } extern "C" { - pub fn round(__x: f64) -> f64; + pub fn rint(arg1: f64) -> f64; } extern "C" { - pub fn __round(__x: f64) -> f64; + pub fn rintl(arg1: f64) -> f64; } extern "C" { - pub fn trunc(__x: f64) -> f64; + pub fn lrintf(arg1: f32) -> ::std::os::raw::c_long; } extern "C" { - pub fn __trunc(__x: f64) -> f64; + pub fn lrint(arg1: f64) -> ::std::os::raw::c_long; } extern "C" { - pub fn remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64; + pub fn lrintl(arg1: f64) -> ::std::os::raw::c_long; } extern "C" { - pub fn __remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64; + pub fn roundf(arg1: f32) -> f32; } extern "C" { - pub fn lrint(__x: f64) -> ::std::os::raw::c_long; + pub fn round(arg1: f64) -> f64; } extern "C" { - pub fn __lrint(__x: f64) -> ::std::os::raw::c_long; + pub fn roundl(arg1: f64) -> f64; } extern "C" { - pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong; + pub fn lroundf(arg1: f32) -> ::std::os::raw::c_long; } extern "C" { - pub fn __llrint(__x: f64) -> ::std::os::raw::c_longlong; + pub fn lround(arg1: f64) -> ::std::os::raw::c_long; } extern "C" { - pub fn lround(__x: f64) -> ::std::os::raw::c_long; + pub fn lroundl(arg1: f64) -> ::std::os::raw::c_long; } extern "C" { - pub fn __lround(__x: f64) -> ::std::os::raw::c_long; + pub fn llrintf(arg1: f32) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn llround(__x: f64) -> ::std::os::raw::c_longlong; + pub fn llrint(arg1: f64) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn __llround(__x: f64) -> ::std::os::raw::c_longlong; + pub fn llrintl(arg1: f64) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn fdim(__x: f64, __y: f64) -> f64; + pub fn llroundf(arg1: f32) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn __fdim(__x: f64, __y: f64) -> f64; + pub fn llround(arg1: f64) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn fmax(__x: f64, __y: f64) -> f64; + pub fn llroundl(arg1: f64) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn __fmax(__x: f64, __y: f64) -> f64; + pub fn truncf(arg1: f32) -> f32; } extern "C" { - pub fn fmin(__x: f64, __y: f64) -> f64; + pub fn trunc(arg1: f64) -> f64; } extern "C" { - pub fn __fmin(__x: f64, __y: f64) -> f64; + pub fn truncl(arg1: f64) -> f64; } extern "C" { - pub fn fma(__x: f64, __y: f64, __z: f64) -> f64; + pub fn fmodf(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn __fma(__x: f64, __y: f64, __z: f64) -> f64; + pub fn fmod(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn scalb(__x: f64, __n: f64) -> f64; + pub fn fmodl(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __scalb(__x: f64, __n: f64) -> f64; + pub fn remainderf(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int; + pub fn remainder(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int; + pub fn remainderl(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __isinff(__value: f32) -> ::std::os::raw::c_int; + pub fn remquof(arg1: f32, arg2: f32, arg3: *mut ::std::os::raw::c_int) -> f32; } extern "C" { - pub fn __finitef(__value: f32) -> ::std::os::raw::c_int; + pub fn remquo(arg1: f64, arg2: f64, arg3: *mut ::std::os::raw::c_int) -> f64; } extern "C" { - pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int; + pub fn remquol(arg1: f64, arg2: f64, arg3: *mut ::std::os::raw::c_int) -> f64; } extern "C" { - pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int; + pub fn copysignf(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int; + pub fn copysign(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn acosf(__x: f32) -> f32; + pub fn copysignl(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __acosf(__x: f32) -> f32; + pub fn nanf(arg1: *const ::std::os::raw::c_char) -> f32; } extern "C" { - pub fn asinf(__x: f32) -> f32; + pub fn nan(arg1: *const ::std::os::raw::c_char) -> f64; } extern "C" { - pub fn __asinf(__x: f32) -> f32; + pub fn nanl(arg1: *const ::std::os::raw::c_char) -> f64; } extern "C" { - pub fn atanf(__x: f32) -> f32; + pub fn nextafterf(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn __atanf(__x: f32) -> f32; + pub fn nextafter(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn atan2f(__y: f32, __x: f32) -> f32; + pub fn nextafterl(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __atan2f(__y: f32, __x: f32) -> f32; + pub fn nexttoward(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn cosf(__x: f32) -> f32; + pub fn nexttowardf(arg1: f32, arg2: f64) -> f32; } extern "C" { - pub fn __cosf(__x: f32) -> f32; + pub fn nexttowardl(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn sinf(__x: f32) -> f32; + pub fn fdimf(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn __sinf(__x: f32) -> f32; + pub fn fdim(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn tanf(__x: f32) -> f32; + pub fn fdiml(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __tanf(__x: f32) -> f32; + pub fn fmaxf(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn coshf(__x: f32) -> f32; + pub fn fmax(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __coshf(__x: f32) -> f32; + pub fn fmaxl(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn sinhf(__x: f32) -> f32; + pub fn fminf(arg1: f32, arg2: f32) -> f32; } extern "C" { - pub fn __sinhf(__x: f32) -> f32; + pub fn fmin(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn tanhf(__x: f32) -> f32; + pub fn fminl(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn __tanhf(__x: f32) -> f32; + pub fn fmaf(arg1: f32, arg2: f32, arg3: f32) -> f32; } extern "C" { - pub fn acoshf(__x: f32) -> f32; + pub fn fma(arg1: f64, arg2: f64, arg3: f64) -> f64; } extern "C" { - pub fn __acoshf(__x: f32) -> f32; + pub fn fmal(arg1: f64, arg2: f64, arg3: f64) -> f64; } extern "C" { - pub fn asinhf(__x: f32) -> f32; + pub fn __exp10f(arg1: f32) -> f32; } extern "C" { - pub fn __asinhf(__x: f32) -> f32; + pub fn __exp10(arg1: f64) -> f64; } extern "C" { - pub fn atanhf(__x: f32) -> f32; + pub fn __cospif(arg1: f32) -> f32; } extern "C" { - pub fn __atanhf(__x: f32) -> f32; + pub fn __cospi(arg1: f64) -> f64; } extern "C" { - pub fn expf(__x: f32) -> f32; + pub fn __sinpif(arg1: f32) -> f32; } extern "C" { - pub fn __expf(__x: f32) -> f32; + pub fn __sinpi(arg1: f64) -> f64; } extern "C" { - pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32; + pub fn __tanpif(arg1: f32) -> f32; } extern "C" { - pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32; + pub fn __tanpi(arg1: f64) -> f64; } extern "C" { - pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32; + pub fn __fabsf16(arg1: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32; + pub fn __hypotf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn logf(__x: f32) -> f32; + pub fn __sqrtf16(arg1: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn __logf(__x: f32) -> f32; + pub fn __ceilf16(arg1: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn log10f(__x: f32) -> f32; + pub fn __floorf16(arg1: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn __log10f(__x: f32) -> f32; + pub fn __rintf16(arg1: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn modff(__x: f32, __iptr: *mut f32) -> f32; + pub fn __roundf16(arg1: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn __modff(__x: f32, __iptr: *mut f32) -> f32; + pub fn __truncf16(arg1: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn expm1f(__x: f32) -> f32; + pub fn __copysignf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn __expm1f(__x: f32) -> f32; + pub fn __nextafterf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn log1pf(__x: f32) -> f32; + pub fn __fmaxf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn __log1pf(__x: f32) -> f32; + pub fn __fminf16(arg1: __BindgenFloat16, arg2: __BindgenFloat16) -> __BindgenFloat16; } extern "C" { - pub fn logbf(__x: f32) -> f32; + pub fn __fmaf16( + arg1: __BindgenFloat16, + arg2: __BindgenFloat16, + arg3: __BindgenFloat16, + ) -> __BindgenFloat16; } -extern "C" { - pub fn __logbf(__x: f32) -> f32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __float2 { + pub __sinval: f32, + pub __cosval: f32, } -extern "C" { - pub fn exp2f(__x: f32) -> f32; +#[test] +fn bindgen_test_layout___float2() { + const UNINIT: ::std::mem::MaybeUninit<__float2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__float2>(), + 8usize, + "Size of __float2" + ); + assert_eq!( + ::std::mem::align_of::<__float2>(), + 4usize, + "Alignment of __float2" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sinval) as usize - ptr as usize }, + 0usize, + "Offset of field: __float2::__sinval" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__cosval) as usize - ptr as usize }, + 4usize, + "Offset of field: __float2::__cosval" + ); } -extern "C" { - pub fn __exp2f(__x: f32) -> f32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __double2 { + pub __sinval: f64, + pub __cosval: f64, } -extern "C" { - pub fn log2f(__x: f32) -> f32; +#[test] +fn bindgen_test_layout___double2() { + const UNINIT: ::std::mem::MaybeUninit<__double2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__double2>(), + 16usize, + "Size of __double2" + ); + assert_eq!( + ::std::mem::align_of::<__double2>(), + 8usize, + "Alignment of __double2" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sinval) as usize - ptr as usize }, + 0usize, + "Offset of field: __double2::__sinval" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__cosval) as usize - ptr as usize }, + 8usize, + "Offset of field: __double2::__cosval" + ); } extern "C" { - pub fn __log2f(__x: f32) -> f32; + pub fn __sincosf_stret(arg1: f32) -> __float2; } extern "C" { - pub fn powf(__x: f32, __y: f32) -> f32; + pub fn __sincos_stret(arg1: f64) -> __double2; } extern "C" { - pub fn __powf(__x: f32, __y: f32) -> f32; + pub fn __sincospif_stret(arg1: f32) -> __float2; } extern "C" { - pub fn sqrtf(__x: f32) -> f32; + pub fn __sincospi_stret(arg1: f64) -> __double2; } extern "C" { - pub fn __sqrtf(__x: f32) -> f32; + pub fn j0(arg1: f64) -> f64; } extern "C" { - pub fn hypotf(__x: f32, __y: f32) -> f32; + pub fn j1(arg1: f64) -> f64; } extern "C" { - pub fn __hypotf(__x: f32, __y: f32) -> f32; + pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; } extern "C" { - pub fn cbrtf(__x: f32) -> f32; + pub fn y0(arg1: f64) -> f64; } extern "C" { - pub fn __cbrtf(__x: f32) -> f32; + pub fn y1(arg1: f64) -> f64; } extern "C" { - pub fn ceilf(__x: f32) -> f32; + pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; } extern "C" { - pub fn __ceilf(__x: f32) -> f32; + pub fn scalb(arg1: f64, arg2: f64) -> f64; } extern "C" { - pub fn fabsf(__x: f32) -> f32; + pub static mut signgam: ::std::os::raw::c_int; } -extern "C" { - pub fn __fabsf(__x: f32) -> f32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct exception { + pub type_: ::std::os::raw::c_int, + pub name: *mut ::std::os::raw::c_char, + pub arg1: f64, + pub arg2: f64, + pub retval: f64, } +#[test] +fn bindgen_test_layout_exception() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + "Size of exception" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of exception" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + "Offset of field: exception::type_" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, + 8usize, + "Offset of field: exception::name" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize }, + 16usize, + "Offset of field: exception::arg1" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize }, + 24usize, + "Offset of field: exception::arg2" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).retval) as usize - ptr as usize }, + 32usize, + "Offset of field: exception::retval" + ); +} +pub type u_int8_t = ::std::os::raw::c_uchar; +pub type u_int16_t = ::std::os::raw::c_ushort; +pub type u_int32_t = ::std::os::raw::c_uint; +pub type u_int64_t = ::std::os::raw::c_ulonglong; +pub type register_t = i64; +pub type user_addr_t = u_int64_t; +pub type user_size_t = u_int64_t; +pub type user_ssize_t = i64; +pub type user_long_t = i64; +pub type user_ulong_t = u_int64_t; +pub type user_time_t = i64; +pub type user_off_t = i64; +pub type syscall_arg_t = u_int64_t; +pub type va_list = __darwin_va_list; extern "C" { - pub fn floorf(__x: f32) -> f32; + pub fn renameat( + arg1: ::std::os::raw::c_int, + arg2: *const ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + arg4: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __floorf(__x: f32) -> f32; + pub fn renamex_np( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fmodf(__x: f32, __y: f32) -> f32; + pub fn renameatx_np( + arg1: ::std::os::raw::c_int, + arg2: *const ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + arg4: *const ::std::os::raw::c_char, + arg5: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __fmodf(__x: f32, __y: f32) -> f32; + pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } -extern "C" { - pub fn isinff(__value: f32) -> ::std::os::raw::c_int; +pub type fpos_t = __darwin_off_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sbuf { + pub _base: *mut ::std::os::raw::c_uchar, + pub _size: ::std::os::raw::c_int, } -extern "C" { - pub fn finitef(__value: f32) -> ::std::os::raw::c_int; +#[test] +fn bindgen_test_layout___sbuf() { + const UNINIT: ::std::mem::MaybeUninit<__sbuf> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::<__sbuf>(), 16usize, "Size of __sbuf"); + assert_eq!( + ::std::mem::align_of::<__sbuf>(), + 8usize, + "Alignment of __sbuf" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._base) as usize - ptr as usize }, + 0usize, + "Offset of field: __sbuf::_base" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._size) as usize - ptr as usize }, + 8usize, + "Offset of field: __sbuf::_size" + ); } -extern "C" { - pub fn dremf(__x: f32, __y: f32) -> f32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sFILEX { + _unused: [u8; 0], } -extern "C" { - pub fn __dremf(__x: f32, __y: f32) -> f32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sFILE { + pub _p: *mut ::std::os::raw::c_uchar, + pub _r: ::std::os::raw::c_int, + pub _w: ::std::os::raw::c_int, + pub _flags: ::std::os::raw::c_short, + pub _file: ::std::os::raw::c_short, + pub _bf: __sbuf, + pub _lbfsize: ::std::os::raw::c_int, + pub _cookie: *mut ::std::os::raw::c_void, + pub _close: ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, + >, + pub _read: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *mut ::std::os::raw::c_char, + __n: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub _seek: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: fpos_t, + arg3: ::std::os::raw::c_int, + ) -> fpos_t, + >, + pub _write: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub _ub: __sbuf, + pub _extra: *mut __sFILEX, + pub _ur: ::std::os::raw::c_int, + pub _ubuf: [::std::os::raw::c_uchar; 3usize], + pub _nbuf: [::std::os::raw::c_uchar; 1usize], + pub _lb: __sbuf, + pub _blksize: ::std::os::raw::c_int, + pub _offset: fpos_t, } -extern "C" { - pub fn significandf(__x: f32) -> f32; +#[test] +fn bindgen_test_layout___sFILE() { + const UNINIT: ::std::mem::MaybeUninit<__sFILE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__sFILE>(), + 152usize, + "Size of __sFILE" + ); + assert_eq!( + ::std::mem::align_of::<__sFILE>(), + 8usize, + "Alignment of __sFILE" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._p) as usize - ptr as usize }, + 0usize, + "Offset of field: __sFILE::_p" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._r) as usize - ptr as usize }, + 8usize, + "Offset of field: __sFILE::_r" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._w) as usize - ptr as usize }, + 12usize, + "Offset of field: __sFILE::_w" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize }, + 16usize, + "Offset of field: __sFILE::_flags" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._file) as usize - ptr as usize }, + 18usize, + "Offset of field: __sFILE::_file" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._bf) as usize - ptr as usize }, + 24usize, + "Offset of field: __sFILE::_bf" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._lbfsize) as usize - ptr as usize }, + 40usize, + "Offset of field: __sFILE::_lbfsize" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._cookie) as usize - ptr as usize }, + 48usize, + "Offset of field: __sFILE::_cookie" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._close) as usize - ptr as usize }, + 56usize, + "Offset of field: __sFILE::_close" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._read) as usize - ptr as usize }, + 64usize, + "Offset of field: __sFILE::_read" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._seek) as usize - ptr as usize }, + 72usize, + "Offset of field: __sFILE::_seek" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._write) as usize - ptr as usize }, + 80usize, + "Offset of field: __sFILE::_write" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._ub) as usize - ptr as usize }, + 88usize, + "Offset of field: __sFILE::_ub" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._extra) as usize - ptr as usize }, + 104usize, + "Offset of field: __sFILE::_extra" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._ur) as usize - ptr as usize }, + 112usize, + "Offset of field: __sFILE::_ur" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._ubuf) as usize - ptr as usize }, + 116usize, + "Offset of field: __sFILE::_ubuf" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._nbuf) as usize - ptr as usize }, + 119usize, + "Offset of field: __sFILE::_nbuf" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._lb) as usize - ptr as usize }, + 120usize, + "Offset of field: __sFILE::_lb" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._blksize) as usize - ptr as usize }, + 136usize, + "Offset of field: __sFILE::_blksize" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize }, + 144usize, + "Offset of field: __sFILE::_offset" + ); } +pub type FILE = __sFILE; extern "C" { - pub fn __significandf(__x: f32) -> f32; + pub static mut __stdinp: *mut FILE; } extern "C" { - pub fn copysignf(__x: f32, __y: f32) -> f32; + pub static mut __stdoutp: *mut FILE; } extern "C" { - pub fn __copysignf(__x: f32, __y: f32) -> f32; + pub static mut __stderrp: *mut FILE; } extern "C" { - pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32; + pub fn clearerr(arg1: *mut FILE); } extern "C" { - pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32; + pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn isnanf(__value: f32) -> ::std::os::raw::c_int; + pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn j0f(arg1: f32) -> f32; + pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __j0f(arg1: f32) -> f32; + pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn j1f(arg1: f32) -> f32; + pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __j1f(arg1: f32) -> f32; + pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32; + pub fn fgets( + arg1: *mut ::std::os::raw::c_char, + __size: ::std::os::raw::c_int, + arg2: *mut FILE, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32; + pub fn fopen( + __filename: *const ::std::os::raw::c_char, + __mode: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - pub fn y0f(arg1: f32) -> f32; + pub fn fprintf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __y0f(arg1: f32) -> f32; + pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn y1f(arg1: f32) -> f32; + pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __y1f(arg1: f32) -> f32; + pub fn fread( + __ptr: *mut ::std::os::raw::c_void, + __size: ::std::os::raw::c_ulong, + __nitems: ::std::os::raw::c_ulong, + __stream: *mut FILE, + ) -> ::std::os::raw::c_ulong; } extern "C" { - pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32; + pub fn freopen( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: *mut FILE, + ) -> *mut FILE; } extern "C" { - pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32; + pub fn fscanf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn erff(arg1: f32) -> f32; + pub fn fseek( + arg1: *mut FILE, + arg2: ::std::os::raw::c_long, + arg3: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __erff(arg1: f32) -> f32; + pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn erfcf(arg1: f32) -> f32; + pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long; } extern "C" { - pub fn __erfcf(arg1: f32) -> f32; + pub fn fwrite( + __ptr: *const ::std::os::raw::c_void, + __size: ::std::os::raw::c_ulong, + __nitems: ::std::os::raw::c_ulong, + __stream: *mut FILE, + ) -> ::std::os::raw::c_ulong; } extern "C" { - pub fn lgammaf(arg1: f32) -> f32; + pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __lgammaf(arg1: f32) -> f32; + pub fn getchar() -> ::std::os::raw::c_int; } extern "C" { - pub fn tgammaf(arg1: f32) -> f32; + pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn __tgammaf(arg1: f32) -> f32; + pub fn perror(arg1: *const ::std::os::raw::c_char); } extern "C" { - pub fn gammaf(arg1: f32) -> f32; + pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __gammaf(arg1: f32) -> f32; + pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32; + pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32; + pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn rintf(__x: f32) -> f32; + pub fn rename( + __old: *const ::std::os::raw::c_char, + __new: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __rintf(__x: f32) -> f32; + pub fn rewind(arg1: *mut FILE); } extern "C" { - pub fn nextafterf(__x: f32, __y: f32) -> f32; + pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { - pub fn __nextafterf(__x: f32, __y: f32) -> f32; + pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char); } extern "C" { - pub fn nexttowardf(__x: f32, __y: u128) -> f32; + pub fn setvbuf( + arg1: *mut FILE, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + __size: usize, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __nexttowardf(__x: f32, __y: u128) -> f32; + pub fn sprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn remainderf(__x: f32, __y: f32) -> f32; + pub fn sscanf( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __remainderf(__x: f32, __y: f32) -> f32; + pub fn tmpfile() -> *mut FILE; } extern "C" { - pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32; + pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32; + pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int; + pub fn vfprintf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, + arg3: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int; + pub fn vprintf( + arg1: *const ::std::os::raw::c_char, + arg2: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32; + pub fn vsprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32; + pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn nearbyintf(__x: f32) -> f32; + pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE; } extern "C" { - pub fn __nearbyintf(__x: f32) -> f32; + pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn roundf(__x: f32) -> f32; + pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __roundf(__x: f32) -> f32; + pub fn popen( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - pub fn truncf(__x: f32) -> f32; + pub fn __srget(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __truncf(__x: f32) -> f32; + pub fn __svfscanf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, + arg3: va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32; + pub fn __swbuf(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32; + pub fn flockfile(arg1: *mut FILE); } extern "C" { - pub fn lrintf(__x: f32) -> ::std::os::raw::c_long; + pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long; + pub fn funlockfile(arg1: *mut FILE); } extern "C" { - pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong; + pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong; + pub fn getchar_unlocked() -> ::std::os::raw::c_int; } extern "C" { - pub fn lroundf(__x: f32) -> ::std::os::raw::c_long; + pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long; + pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong; + pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong; + pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn fdimf(__x: f32, __y: f32) -> f32; + pub fn tempnam( + __dir: *const ::std::os::raw::c_char, + __prefix: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } +pub type off_t = __darwin_off_t; extern "C" { - pub fn __fdimf(__x: f32, __y: f32) -> f32; + pub fn fseeko( + __stream: *mut FILE, + __offset: off_t, + __whence: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fmaxf(__x: f32, __y: f32) -> f32; + pub fn ftello(__stream: *mut FILE) -> off_t; } extern "C" { - pub fn __fmaxf(__x: f32, __y: f32) -> f32; + pub fn snprintf( + __str: *mut ::std::os::raw::c_char, + __size: ::std::os::raw::c_ulong, + __format: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fminf(__x: f32, __y: f32) -> f32; + pub fn vfscanf( + __stream: *mut FILE, + __format: *const ::std::os::raw::c_char, + arg1: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __fminf(__x: f32, __y: f32) -> f32; + pub fn vscanf( + __format: *const ::std::os::raw::c_char, + arg1: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32; + pub fn vsnprintf( + __str: *mut ::std::os::raw::c_char, + __size: ::std::os::raw::c_ulong, + __format: *const ::std::os::raw::c_char, + arg1: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32; + pub fn vsscanf( + __str: *const ::std::os::raw::c_char, + __format: *const ::std::os::raw::c_char, + arg1: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn scalbf(__x: f32, __n: f32) -> f32; + pub fn dprintf( + arg1: ::std::os::raw::c_int, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __scalbf(__x: f32, __n: f32) -> f32; + pub fn vdprintf( + arg1: ::std::os::raw::c_int, + arg2: *const ::std::os::raw::c_char, + arg3: va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int; + pub fn getdelim( + __linep: *mut *mut ::std::os::raw::c_char, + __linecapp: *mut usize, + __delimiter: ::std::os::raw::c_int, + __stream: *mut FILE, + ) -> isize; } extern "C" { - pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int; + pub fn getline( + __linep: *mut *mut ::std::os::raw::c_char, + __linecapp: *mut usize, + __stream: *mut FILE, + ) -> isize; } extern "C" { - pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int; + pub fn fmemopen( + __buf: *mut ::std::os::raw::c_void, + __size: usize, + __mode: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - pub fn __finitel(__value: u128) -> ::std::os::raw::c_int; + pub fn open_memstream( + __bufp: *mut *mut ::std::os::raw::c_char, + __sizep: *mut usize, + ) -> *mut FILE; } extern "C" { - pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int; + pub static sys_nerr: ::std::os::raw::c_int; } extern "C" { - pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int; + pub static sys_errlist: [*const ::std::os::raw::c_char; 0usize]; } extern "C" { - pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int; + pub fn asprintf( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn acosl(__x: u128) -> u128; + pub fn ctermid_r(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn __acosl(__x: u128) -> u128; + pub fn fgetln(arg1: *mut FILE, __len: *mut usize) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn asinl(__x: u128) -> u128; + pub fn fmtcheck( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ) -> *const ::std::os::raw::c_char; } extern "C" { - pub fn __asinl(__x: u128) -> u128; + pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn atanl(__x: u128) -> u128; + pub fn setbuffer( + arg1: *mut FILE, + arg2: *mut ::std::os::raw::c_char, + __size: ::std::os::raw::c_int, + ); } extern "C" { - pub fn __atanl(__x: u128) -> u128; + pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn atan2l(__y: u128, __x: u128) -> u128; + pub fn vasprintf( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __atan2l(__y: u128, __x: u128) -> u128; + pub fn funopen( + arg1: *const ::std::os::raw::c_void, + arg2: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *mut ::std::os::raw::c_char, + __n: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + arg3: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + arg4: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: fpos_t, + arg3: ::std::os::raw::c_int, + ) -> fpos_t, + >, + arg5: ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, + >, + ) -> *mut FILE; } extern "C" { - pub fn cosl(__x: u128) -> u128; + pub fn __sprintf_chk( + arg1: *mut ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + arg3: usize, + arg4: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __cosl(__x: u128) -> u128; + pub fn __snprintf_chk( + arg1: *mut ::std::os::raw::c_char, + __maxlen: usize, + arg2: ::std::os::raw::c_int, + arg3: usize, + arg4: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn sinl(__x: u128) -> u128; -} -extern "C" { - pub fn __sinl(__x: u128) -> u128; -} -extern "C" { - pub fn tanl(__x: u128) -> u128; -} -extern "C" { - pub fn __tanl(__x: u128) -> u128; -} -extern "C" { - pub fn coshl(__x: u128) -> u128; + pub fn __vsprintf_chk( + arg1: *mut ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + arg3: usize, + arg4: *const ::std::os::raw::c_char, + arg5: va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __coshl(__x: u128) -> u128; + pub fn __vsnprintf_chk( + arg1: *mut ::std::os::raw::c_char, + __maxlen: usize, + arg2: ::std::os::raw::c_int, + arg3: usize, + arg4: *const ::std::os::raw::c_char, + arg5: va_list, + ) -> ::std::os::raw::c_int; } -extern "C" { - pub fn sinhl(__x: u128) -> u128; +pub const P_ALL: idtype_t = 0; +pub const P_PID: idtype_t = 1; +pub const P_PGID: idtype_t = 2; +pub type idtype_t = ::std::os::raw::c_uint; +pub type pid_t = __darwin_pid_t; +pub type id_t = __darwin_id_t; +pub type sig_atomic_t = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_exception_state { + pub __exception: __uint32_t, + pub __fsr: __uint32_t, + pub __far: __uint32_t, } -extern "C" { - pub fn __sinhl(__x: u128) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_exception_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_exception_state>(), + 12usize, + "Size of __darwin_arm_exception_state" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_exception_state>(), + 4usize, + "Alignment of __darwin_arm_exception_state" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__exception) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_exception_state::__exception" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__fsr) as usize - ptr as usize }, + 4usize, + "Offset of field: __darwin_arm_exception_state::__fsr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize }, + 8usize, + "Offset of field: __darwin_arm_exception_state::__far" + ); } -extern "C" { - pub fn tanhl(__x: u128) -> u128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_exception_state64 { + pub __far: __uint64_t, + pub __esr: __uint32_t, + pub __exception: __uint32_t, } -extern "C" { - pub fn __tanhl(__x: u128) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_exception_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_exception_state64>(), + 16usize, + "Size of __darwin_arm_exception_state64" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_exception_state64>(), + 8usize, + "Alignment of __darwin_arm_exception_state64" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_exception_state64::__far" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__esr) as usize - ptr as usize }, + 8usize, + "Offset of field: __darwin_arm_exception_state64::__esr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__exception) as usize - ptr as usize }, + 12usize, + "Offset of field: __darwin_arm_exception_state64::__exception" + ); } -extern "C" { - pub fn acoshl(__x: u128) -> u128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_exception_state64_v2 { + pub __far: __uint64_t, + pub __esr: __uint64_t, } -extern "C" { - pub fn __acoshl(__x: u128) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_exception_state64_v2() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state64_v2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_exception_state64_v2>(), + 16usize, + "Size of __darwin_arm_exception_state64_v2" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_exception_state64_v2>(), + 8usize, + "Alignment of __darwin_arm_exception_state64_v2" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_exception_state64_v2::__far" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__esr) as usize - ptr as usize }, + 8usize, + "Offset of field: __darwin_arm_exception_state64_v2::__esr" + ); } -extern "C" { - pub fn asinhl(__x: u128) -> u128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_thread_state { + pub __r: [__uint32_t; 13usize], + pub __sp: __uint32_t, + pub __lr: __uint32_t, + pub __pc: __uint32_t, + pub __cpsr: __uint32_t, } -extern "C" { - pub fn __asinhl(__x: u128) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_thread_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_thread_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_thread_state>(), + 68usize, + "Size of __darwin_arm_thread_state" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_thread_state>(), + 4usize, + "Alignment of __darwin_arm_thread_state" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__r) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_thread_state::__r" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sp) as usize - ptr as usize }, + 52usize, + "Offset of field: __darwin_arm_thread_state::__sp" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__lr) as usize - ptr as usize }, + 56usize, + "Offset of field: __darwin_arm_thread_state::__lr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__pc) as usize - ptr as usize }, + 60usize, + "Offset of field: __darwin_arm_thread_state::__pc" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__cpsr) as usize - ptr as usize }, + 64usize, + "Offset of field: __darwin_arm_thread_state::__cpsr" + ); } -extern "C" { - pub fn atanhl(__x: u128) -> u128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_thread_state64 { + pub __x: [__uint64_t; 29usize], + pub __fp: __uint64_t, + pub __lr: __uint64_t, + pub __sp: __uint64_t, + pub __pc: __uint64_t, + pub __cpsr: __uint32_t, + pub __pad: __uint32_t, } -extern "C" { - pub fn __atanhl(__x: u128) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_thread_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_thread_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_thread_state64>(), + 272usize, + "Size of __darwin_arm_thread_state64" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_thread_state64>(), + 8usize, + "Alignment of __darwin_arm_thread_state64" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_thread_state64::__x" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__fp) as usize - ptr as usize }, + 232usize, + "Offset of field: __darwin_arm_thread_state64::__fp" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__lr) as usize - ptr as usize }, + 240usize, + "Offset of field: __darwin_arm_thread_state64::__lr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sp) as usize - ptr as usize }, + 248usize, + "Offset of field: __darwin_arm_thread_state64::__sp" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__pc) as usize - ptr as usize }, + 256usize, + "Offset of field: __darwin_arm_thread_state64::__pc" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__cpsr) as usize - ptr as usize }, + 264usize, + "Offset of field: __darwin_arm_thread_state64::__cpsr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize }, + 268usize, + "Offset of field: __darwin_arm_thread_state64::__pad" + ); } -extern "C" { - pub fn expl(__x: u128) -> u128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_vfp_state { + pub __r: [__uint32_t; 64usize], + pub __fpscr: __uint32_t, } -extern "C" { - pub fn __expl(__x: u128) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_vfp_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_vfp_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_vfp_state>(), + 260usize, + "Size of __darwin_arm_vfp_state" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_vfp_state>(), + 4usize, + "Alignment of __darwin_arm_vfp_state" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__r) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_vfp_state::__r" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__fpscr) as usize - ptr as usize }, + 256usize, + "Offset of field: __darwin_arm_vfp_state::__fpscr" + ); } -extern "C" { - pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_neon_state64 { + pub __v: [__uint128_t; 32usize], + pub __fpsr: __uint32_t, + pub __fpcr: __uint32_t, } -extern "C" { - pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_neon_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_neon_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_neon_state64>(), + 528usize, + "Size of __darwin_arm_neon_state64" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_neon_state64>(), + 16usize, + "Alignment of __darwin_arm_neon_state64" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__v) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_neon_state64::__v" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__fpsr) as usize - ptr as usize }, + 512usize, + "Offset of field: __darwin_arm_neon_state64::__fpsr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__fpcr) as usize - ptr as usize }, + 516usize, + "Offset of field: __darwin_arm_neon_state64::__fpcr" + ); } -extern "C" { - pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_neon_state { + pub __v: [__uint128_t; 16usize], + pub __fpsr: __uint32_t, + pub __fpcr: __uint32_t, } -extern "C" { - pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_neon_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_neon_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_neon_state>(), + 272usize, + "Size of __darwin_arm_neon_state" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_neon_state>(), + 16usize, + "Alignment of __darwin_arm_neon_state" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__v) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_neon_state::__v" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__fpsr) as usize - ptr as usize }, + 256usize, + "Offset of field: __darwin_arm_neon_state::__fpsr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__fpcr) as usize - ptr as usize }, + 260usize, + "Offset of field: __darwin_arm_neon_state::__fpcr" + ); } -extern "C" { - pub fn logl(__x: u128) -> u128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __arm_pagein_state { + pub __pagein_error: ::std::os::raw::c_int, } -extern "C" { - pub fn __logl(__x: u128) -> u128; +#[test] +fn bindgen_test_layout___arm_pagein_state() { + const UNINIT: ::std::mem::MaybeUninit<__arm_pagein_state> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__arm_pagein_state>(), + 4usize, + "Size of __arm_pagein_state" + ); + assert_eq!( + ::std::mem::align_of::<__arm_pagein_state>(), + 4usize, + "Alignment of __arm_pagein_state" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__pagein_error) as usize - ptr as usize }, + 0usize, + "Offset of field: __arm_pagein_state::__pagein_error" + ); } -extern "C" { - pub fn log10l(__x: u128) -> u128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_sme_state { + pub __svcr: __uint64_t, + pub __tpidr2_el0: __uint64_t, + pub __svl_b: __uint16_t, } -extern "C" { - pub fn __log10l(__x: u128) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_sme_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sme_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_sme_state>(), + 24usize, + "Size of __darwin_arm_sme_state" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_sme_state>(), + 8usize, + "Alignment of __darwin_arm_sme_state" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__svcr) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_sme_state::__svcr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__tpidr2_el0) as usize - ptr as usize }, + 8usize, + "Offset of field: __darwin_arm_sme_state::__tpidr2_el0" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__svl_b) as usize - ptr as usize }, + 16usize, + "Offset of field: __darwin_arm_sme_state::__svl_b" + ); } -extern "C" { - pub fn modfl(__x: u128, __iptr: *mut u128) -> u128; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_sve_z_state { + pub __z: [[::std::os::raw::c_char; 256usize]; 16usize], } -extern "C" { - pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128; +#[test] +fn bindgen_test_layout___darwin_arm_sve_z_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sve_z_state> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_sve_z_state>(), + 4096usize, + "Size of __darwin_arm_sve_z_state" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_sve_z_state>(), + 4usize, + "Alignment of __darwin_arm_sve_z_state" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__z) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_sve_z_state::__z" + ); } -extern "C" { - pub fn expm1l(__x: u128) -> u128; -} -extern "C" { - pub fn __expm1l(__x: u128) -> u128; -} -extern "C" { - pub fn log1pl(__x: u128) -> u128; -} -extern "C" { - pub fn __log1pl(__x: u128) -> u128; -} -extern "C" { - pub fn logbl(__x: u128) -> u128; -} -extern "C" { - pub fn __logbl(__x: u128) -> u128; -} -extern "C" { - pub fn exp2l(__x: u128) -> u128; -} -extern "C" { - pub fn __exp2l(__x: u128) -> u128; -} -extern "C" { - pub fn log2l(__x: u128) -> u128; -} -extern "C" { - pub fn __log2l(__x: u128) -> u128; -} -extern "C" { - pub fn powl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __powl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn sqrtl(__x: u128) -> u128; -} -extern "C" { - pub fn __sqrtl(__x: u128) -> u128; -} -extern "C" { - pub fn hypotl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __hypotl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn cbrtl(__x: u128) -> u128; -} -extern "C" { - pub fn __cbrtl(__x: u128) -> u128; -} -extern "C" { - pub fn ceill(__x: u128) -> u128; -} -extern "C" { - pub fn __ceill(__x: u128) -> u128; -} -extern "C" { - pub fn fabsl(__x: u128) -> u128; -} -extern "C" { - pub fn __fabsl(__x: u128) -> u128; -} -extern "C" { - pub fn floorl(__x: u128) -> u128; -} -extern "C" { - pub fn __floorl(__x: u128) -> u128; -} -extern "C" { - pub fn fmodl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __fmodl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn isinfl(__value: u128) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn finitel(__value: u128) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn dreml(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __dreml(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn significandl(__x: u128) -> u128; -} -extern "C" { - pub fn __significandl(__x: u128) -> u128; -} -extern "C" { - pub fn copysignl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __copysignl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128; -} -extern "C" { - pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128; -} -extern "C" { - pub fn isnanl(__value: u128) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn j0l(arg1: u128) -> u128; -} -extern "C" { - pub fn __j0l(arg1: u128) -> u128; -} -extern "C" { - pub fn j1l(arg1: u128) -> u128; -} -extern "C" { - pub fn __j1l(arg1: u128) -> u128; -} -extern "C" { - pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128; -} -extern "C" { - pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128; -} -extern "C" { - pub fn y0l(arg1: u128) -> u128; -} -extern "C" { - pub fn __y0l(arg1: u128) -> u128; -} -extern "C" { - pub fn y1l(arg1: u128) -> u128; -} -extern "C" { - pub fn __y1l(arg1: u128) -> u128; -} -extern "C" { - pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128; -} -extern "C" { - pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128; -} -extern "C" { - pub fn erfl(arg1: u128) -> u128; -} -extern "C" { - pub fn __erfl(arg1: u128) -> u128; -} -extern "C" { - pub fn erfcl(arg1: u128) -> u128; -} -extern "C" { - pub fn __erfcl(arg1: u128) -> u128; -} -extern "C" { - pub fn lgammal(arg1: u128) -> u128; -} -extern "C" { - pub fn __lgammal(arg1: u128) -> u128; -} -extern "C" { - pub fn tgammal(arg1: u128) -> u128; -} -extern "C" { - pub fn __tgammal(arg1: u128) -> u128; -} -extern "C" { - pub fn gammal(arg1: u128) -> u128; -} -extern "C" { - pub fn __gammal(arg1: u128) -> u128; -} -extern "C" { - pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128; -} -extern "C" { - pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128; -} -extern "C" { - pub fn rintl(__x: u128) -> u128; -} -extern "C" { - pub fn __rintl(__x: u128) -> u128; -} -extern "C" { - pub fn nextafterl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __nextafterl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn nexttowardl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __nexttowardl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn remainderl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __remainderl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128; -} -extern "C" { - pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128; -} -extern "C" { - pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128; -} -extern "C" { - pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128; -} -extern "C" { - pub fn nearbyintl(__x: u128) -> u128; -} -extern "C" { - pub fn __nearbyintl(__x: u128) -> u128; -} -extern "C" { - pub fn roundl(__x: u128) -> u128; -} -extern "C" { - pub fn __roundl(__x: u128) -> u128; -} -extern "C" { - pub fn truncl(__x: u128) -> u128; -} -extern "C" { - pub fn __truncl(__x: u128) -> u128; -} -extern "C" { - pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128; -} -extern "C" { - pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128; -} -extern "C" { - pub fn lrintl(__x: u128) -> ::std::os::raw::c_long; -} -extern "C" { - pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long; -} -extern "C" { - pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong; -} -extern "C" { - pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong; -} -extern "C" { - pub fn lroundl(__x: u128) -> ::std::os::raw::c_long; -} -extern "C" { - pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long; -} -extern "C" { - pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong; -} -extern "C" { - pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong; -} -extern "C" { - pub fn fdiml(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __fdiml(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn fmaxl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __fmaxl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn fminl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn __fminl(__x: u128, __y: u128) -> u128; -} -extern "C" { - pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128; -} -extern "C" { - pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128; -} -extern "C" { - pub fn scalbl(__x: u128, __n: u128) -> u128; -} -extern "C" { - pub fn __scalbl(__x: u128, __n: u128) -> u128; -} -extern "C" { - pub static mut signgam: ::std::os::raw::c_int; -} -pub const FP_NAN: _bindgen_ty_1 = 0; -pub const FP_INFINITE: _bindgen_ty_1 = 1; -pub const FP_ZERO: _bindgen_ty_1 = 2; -pub const FP_SUBNORMAL: _bindgen_ty_1 = 3; -pub const FP_NORMAL: _bindgen_ty_1 = 4; -pub type _bindgen_ty_1 = ::std::os::raw::c_uint; -pub type __gnuc_va_list = __builtin_va_list; -#[repr(C)] -#[derive(Copy, Clone)] -pub struct __mbstate_t { - pub __count: ::std::os::raw::c_int, - pub __value: __mbstate_t__bindgen_ty_1, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union __mbstate_t__bindgen_ty_1 { - pub __wch: ::std::os::raw::c_uint, - pub __wchb: [::std::os::raw::c_char; 4usize], +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_sve_p_state { + pub __p: [[::std::os::raw::c_char; 32usize]; 16usize], } #[test] -fn bindgen_test_layout___mbstate_t__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__mbstate_t__bindgen_ty_1> = +fn bindgen_test_layout___darwin_arm_sve_p_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sve_p_state> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(), - 4usize, - "Size of __mbstate_t__bindgen_ty_1" + ::std::mem::size_of::<__darwin_arm_sve_p_state>(), + 512usize, + "Size of __darwin_arm_sve_p_state" ); assert_eq!( - ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(), + ::std::mem::align_of::<__darwin_arm_sve_p_state>(), 4usize, - "Alignment of __mbstate_t__bindgen_ty_1" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wch) as usize - ptr as usize }, - 0usize, - "Offset of field: __mbstate_t__bindgen_ty_1::__wch" + "Alignment of __darwin_arm_sve_p_state" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wchb) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__p) as usize - ptr as usize }, 0usize, - "Offset of field: __mbstate_t__bindgen_ty_1::__wchb" + "Offset of field: __darwin_arm_sve_p_state::__p" ); } -impl ::std::fmt::Debug for __mbstate_t__bindgen_ty_1 { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "__mbstate_t__bindgen_ty_1 {{ union }}") - } +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_sme_za_state { + pub __za: [::std::os::raw::c_char; 4096usize], } #[test] -fn bindgen_test_layout___mbstate_t() { - const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___darwin_arm_sme_za_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sme_za_state> = + ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__mbstate_t>(), - 8usize, - "Size of __mbstate_t" + ::std::mem::size_of::<__darwin_arm_sme_za_state>(), + 4096usize, + "Size of __darwin_arm_sme_za_state" ); assert_eq!( - ::std::mem::align_of::<__mbstate_t>(), + ::std::mem::align_of::<__darwin_arm_sme_za_state>(), 4usize, - "Alignment of __mbstate_t" + "Alignment of __darwin_arm_sme_za_state" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__za) as usize - ptr as usize }, 0usize, - "Offset of field: __mbstate_t::__count" + "Offset of field: __darwin_arm_sme_za_state::__za" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__value) as usize - ptr as usize }, - 4usize, - "Offset of field: __mbstate_t::__value" - ); -} -impl ::std::fmt::Debug for __mbstate_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!( - f, - "__mbstate_t {{ __count: {:?}, __value: {:?} }}", - self.__count, self.__value - ) - } } #[repr(C)] -#[derive(Copy, Clone)] -pub struct _G_fpos_t { - pub __pos: __off_t, - pub __state: __mbstate_t, +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_arm_sme2_state { + pub __zt0: [::std::os::raw::c_char; 64usize], } #[test] -fn bindgen_test_layout__G_fpos_t() { - const UNINIT: ::std::mem::MaybeUninit<_G_fpos_t> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___darwin_arm_sme2_state() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sme2_state> = + ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_G_fpos_t>(), - 16usize, - "Size of _G_fpos_t" + ::std::mem::size_of::<__darwin_arm_sme2_state>(), + 64usize, + "Size of __darwin_arm_sme2_state" ); assert_eq!( - ::std::mem::align_of::<_G_fpos_t>(), - 8usize, - "Alignment of _G_fpos_t" + ::std::mem::align_of::<__darwin_arm_sme2_state>(), + 4usize, + "Alignment of __darwin_arm_sme2_state" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__zt0) as usize - ptr as usize }, 0usize, - "Offset of field: _G_fpos_t::__pos" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize }, - 8usize, - "Offset of field: _G_fpos_t::__state" + "Offset of field: __darwin_arm_sme2_state::__zt0" ); } -impl ::std::fmt::Debug for _G_fpos_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!( - f, - "_G_fpos_t {{ __pos: {:?}, __state: {:?} }}", - self.__pos, self.__state - ) - } -} -pub type __fpos_t = _G_fpos_t; #[repr(C)] -#[derive(Copy, Clone)] -pub struct _G_fpos64_t { - pub __pos: __off64_t, - pub __state: __mbstate_t, +#[derive(Debug, Copy, Clone)] +pub struct __arm_legacy_debug_state { + pub __bvr: [__uint32_t; 16usize], + pub __bcr: [__uint32_t; 16usize], + pub __wvr: [__uint32_t; 16usize], + pub __wcr: [__uint32_t; 16usize], } #[test] -fn bindgen_test_layout__G_fpos64_t() { - const UNINIT: ::std::mem::MaybeUninit<_G_fpos64_t> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___arm_legacy_debug_state() { + const UNINIT: ::std::mem::MaybeUninit<__arm_legacy_debug_state> = + ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_G_fpos64_t>(), - 16usize, - "Size of _G_fpos64_t" + ::std::mem::size_of::<__arm_legacy_debug_state>(), + 256usize, + "Size of __arm_legacy_debug_state" ); assert_eq!( - ::std::mem::align_of::<_G_fpos64_t>(), - 8usize, - "Alignment of _G_fpos64_t" + ::std::mem::align_of::<__arm_legacy_debug_state>(), + 4usize, + "Alignment of __arm_legacy_debug_state" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize }, 0usize, - "Offset of field: _G_fpos64_t::__pos" + "Offset of field: __arm_legacy_debug_state::__bvr" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize }, - 8usize, - "Offset of field: _G_fpos64_t::__state" + unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize }, + 64usize, + "Offset of field: __arm_legacy_debug_state::__bcr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize }, + 128usize, + "Offset of field: __arm_legacy_debug_state::__wvr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize }, + 192usize, + "Offset of field: __arm_legacy_debug_state::__wcr" ); } -impl ::std::fmt::Debug for _G_fpos64_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!( - f, - "_G_fpos64_t {{ __pos: {:?}, __state: {:?} }}", - self.__pos, self.__state - ) - } -} -pub type __fpos64_t = _G_fpos64_t; -pub type __FILE = _IO_FILE; -pub type FILE = _IO_FILE; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct _IO_marker { - _unused: [u8; 0], +pub struct __darwin_arm_debug_state32 { + pub __bvr: [__uint32_t; 16usize], + pub __bcr: [__uint32_t; 16usize], + pub __wvr: [__uint32_t; 16usize], + pub __wcr: [__uint32_t; 16usize], + pub __mdscr_el1: __uint64_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_debug_state32() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_debug_state32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_debug_state32>(), + 264usize, + "Size of __darwin_arm_debug_state32" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_debug_state32>(), + 8usize, + "Alignment of __darwin_arm_debug_state32" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_debug_state32::__bvr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize }, + 64usize, + "Offset of field: __darwin_arm_debug_state32::__bcr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize }, + 128usize, + "Offset of field: __darwin_arm_debug_state32::__wvr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize }, + 192usize, + "Offset of field: __darwin_arm_debug_state32::__wcr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__mdscr_el1) as usize - ptr as usize }, + 256usize, + "Offset of field: __darwin_arm_debug_state32::__mdscr_el1" + ); } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct _IO_codecvt { - _unused: [u8; 0], +pub struct __darwin_arm_debug_state64 { + pub __bvr: [__uint64_t; 16usize], + pub __bcr: [__uint64_t; 16usize], + pub __wvr: [__uint64_t; 16usize], + pub __wcr: [__uint64_t; 16usize], + pub __mdscr_el1: __uint64_t, +} +#[test] +fn bindgen_test_layout___darwin_arm_debug_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_debug_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_debug_state64>(), + 520usize, + "Size of __darwin_arm_debug_state64" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_debug_state64>(), + 8usize, + "Alignment of __darwin_arm_debug_state64" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_debug_state64::__bvr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize }, + 128usize, + "Offset of field: __darwin_arm_debug_state64::__bcr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize }, + 256usize, + "Offset of field: __darwin_arm_debug_state64::__wvr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize }, + 384usize, + "Offset of field: __darwin_arm_debug_state64::__wcr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__mdscr_el1) as usize - ptr as usize }, + 512usize, + "Offset of field: __darwin_arm_debug_state64::__mdscr_el1" + ); } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct _IO_wide_data { - _unused: [u8; 0], +pub struct __darwin_arm_cpmu_state64 { + pub __ctrs: [__uint64_t; 16usize], +} +#[test] +fn bindgen_test_layout___darwin_arm_cpmu_state64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_cpmu_state64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_arm_cpmu_state64>(), + 128usize, + "Size of __darwin_arm_cpmu_state64" + ); + assert_eq!( + ::std::mem::align_of::<__darwin_arm_cpmu_state64>(), + 8usize, + "Alignment of __darwin_arm_cpmu_state64" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__ctrs) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_arm_cpmu_state64::__ctrs" + ); } -pub type _IO_lock_t = ::std::os::raw::c_void; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct _IO_FILE { - pub _flags: ::std::os::raw::c_int, - pub _IO_read_ptr: *mut ::std::os::raw::c_char, - pub _IO_read_end: *mut ::std::os::raw::c_char, - pub _IO_read_base: *mut ::std::os::raw::c_char, - pub _IO_write_base: *mut ::std::os::raw::c_char, - pub _IO_write_ptr: *mut ::std::os::raw::c_char, - pub _IO_write_end: *mut ::std::os::raw::c_char, - pub _IO_buf_base: *mut ::std::os::raw::c_char, - pub _IO_buf_end: *mut ::std::os::raw::c_char, - pub _IO_save_base: *mut ::std::os::raw::c_char, - pub _IO_backup_base: *mut ::std::os::raw::c_char, - pub _IO_save_end: *mut ::std::os::raw::c_char, - pub _markers: *mut _IO_marker, - pub _chain: *mut _IO_FILE, - pub _fileno: ::std::os::raw::c_int, - pub _flags2: ::std::os::raw::c_int, - pub _old_offset: __off_t, - pub _cur_column: ::std::os::raw::c_ushort, - pub _vtable_offset: ::std::os::raw::c_schar, - pub _shortbuf: [::std::os::raw::c_char; 1usize], - pub _lock: *mut _IO_lock_t, - pub _offset: __off64_t, - pub _codecvt: *mut _IO_codecvt, - pub _wide_data: *mut _IO_wide_data, - pub _freeres_list: *mut _IO_FILE, - pub _freeres_buf: *mut ::std::os::raw::c_void, - pub __pad5: usize, - pub _mode: ::std::os::raw::c_int, - pub _unused2: [::std::os::raw::c_char; 20usize], +pub struct __darwin_mcontext32 { + pub __es: __darwin_arm_exception_state, + pub __ss: __darwin_arm_thread_state, + pub __fs: __darwin_arm_vfp_state, } #[test] -fn bindgen_test_layout__IO_FILE() { - const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___darwin_mcontext32() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_mcontext32> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_IO_FILE>(), - 216usize, - "Size of _IO_FILE" + ::std::mem::size_of::<__darwin_mcontext32>(), + 340usize, + "Size of __darwin_mcontext32" ); assert_eq!( - ::std::mem::align_of::<_IO_FILE>(), - 8usize, - "Alignment of _IO_FILE" + ::std::mem::align_of::<__darwin_mcontext32>(), + 4usize, + "Alignment of __darwin_mcontext32" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__es) as usize - ptr as usize }, 0usize, - "Offset of field: _IO_FILE::_flags" + "Offset of field: __darwin_mcontext32::__es" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize }, - 8usize, - "Offset of field: _IO_FILE::_IO_read_ptr" + unsafe { ::std::ptr::addr_of!((*ptr).__ss) as usize - ptr as usize }, + 12usize, + "Offset of field: __darwin_mcontext32::__ss" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__fs) as usize - ptr as usize }, + 80usize, + "Offset of field: __darwin_mcontext32::__fs" + ); +} +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_mcontext64 { + pub __es: __darwin_arm_exception_state64, + pub __ss: __darwin_arm_thread_state64, + pub __ns: __darwin_arm_neon_state64, +} +#[test] +fn bindgen_test_layout___darwin_mcontext64() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_mcontext64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__darwin_mcontext64>(), + 816usize, + "Size of __darwin_mcontext64" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize }, + ::std::mem::align_of::<__darwin_mcontext64>(), 16usize, - "Offset of field: _IO_FILE::_IO_read_end" + "Alignment of __darwin_mcontext64" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize }, - 24usize, - "Offset of field: _IO_FILE::_IO_read_base" + unsafe { ::std::ptr::addr_of!((*ptr).__es) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_mcontext64::__es" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize }, - 32usize, - "Offset of field: _IO_FILE::_IO_write_base" + unsafe { ::std::ptr::addr_of!((*ptr).__ss) as usize - ptr as usize }, + 16usize, + "Offset of field: __darwin_mcontext64::__ss" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize }, - 40usize, - "Offset of field: _IO_FILE::_IO_write_ptr" + unsafe { ::std::ptr::addr_of!((*ptr).__ns) as usize - ptr as usize }, + 288usize, + "Offset of field: __darwin_mcontext64::__ns" ); +} +pub type mcontext_t = *mut __darwin_mcontext64; +pub type pthread_attr_t = __darwin_pthread_attr_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_sigaltstack { + pub ss_sp: *mut ::std::os::raw::c_void, + pub ss_size: __darwin_size_t, + pub ss_flags: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout___darwin_sigaltstack() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_sigaltstack> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize }, - 48usize, - "Offset of field: _IO_FILE::_IO_write_end" + ::std::mem::size_of::<__darwin_sigaltstack>(), + 24usize, + "Size of __darwin_sigaltstack" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize }, - 56usize, - "Offset of field: _IO_FILE::_IO_buf_base" + ::std::mem::align_of::<__darwin_sigaltstack>(), + 8usize, + "Alignment of __darwin_sigaltstack" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize }, - 64usize, - "Offset of field: _IO_FILE::_IO_buf_end" + unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_sigaltstack::ss_sp" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize }, - 72usize, - "Offset of field: _IO_FILE::_IO_save_base" + unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize }, + 8usize, + "Offset of field: __darwin_sigaltstack::ss_size" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize }, - 80usize, - "Offset of field: _IO_FILE::_IO_backup_base" + unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize }, + 16usize, + "Offset of field: __darwin_sigaltstack::ss_flags" ); +} +pub type stack_t = __darwin_sigaltstack; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __darwin_ucontext { + pub uc_onstack: ::std::os::raw::c_int, + pub uc_sigmask: __darwin_sigset_t, + pub uc_stack: __darwin_sigaltstack, + pub uc_link: *mut __darwin_ucontext, + pub uc_mcsize: __darwin_size_t, + pub uc_mcontext: *mut __darwin_mcontext64, +} +#[test] +fn bindgen_test_layout___darwin_ucontext() { + const UNINIT: ::std::mem::MaybeUninit<__darwin_ucontext> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize }, - 88usize, - "Offset of field: _IO_FILE::_IO_save_end" + ::std::mem::size_of::<__darwin_ucontext>(), + 56usize, + "Size of __darwin_ucontext" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize }, - 96usize, - "Offset of field: _IO_FILE::_markers" + ::std::mem::align_of::<__darwin_ucontext>(), + 8usize, + "Alignment of __darwin_ucontext" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize }, - 104usize, - "Offset of field: _IO_FILE::_chain" + unsafe { ::std::ptr::addr_of!((*ptr).uc_onstack) as usize - ptr as usize }, + 0usize, + "Offset of field: __darwin_ucontext::uc_onstack" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize }, - 112usize, - "Offset of field: _IO_FILE::_fileno" + unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize }, + 4usize, + "Offset of field: __darwin_ucontext::uc_sigmask" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize }, - 116usize, - "Offset of field: _IO_FILE::_flags2" + unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize }, + 8usize, + "Offset of field: __darwin_ucontext::uc_stack" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize }, - 120usize, - "Offset of field: _IO_FILE::_old_offset" + unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize }, + 32usize, + "Offset of field: __darwin_ucontext::uc_link" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize }, - 128usize, - "Offset of field: _IO_FILE::_cur_column" + unsafe { ::std::ptr::addr_of!((*ptr).uc_mcsize) as usize - ptr as usize }, + 40usize, + "Offset of field: __darwin_ucontext::uc_mcsize" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize }, - 130usize, - "Offset of field: _IO_FILE::_vtable_offset" + unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize }, + 48usize, + "Offset of field: __darwin_ucontext::uc_mcontext" ); +} +pub type ucontext_t = __darwin_ucontext; +pub type sigset_t = __darwin_sigset_t; +pub type uid_t = __darwin_uid_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sigval { + pub sival_int: ::std::os::raw::c_int, + pub sival_ptr: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_sigval() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::(), 8usize, "Size of sigval"); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize }, - 131usize, - "Offset of field: _IO_FILE::_shortbuf" + ::std::mem::align_of::(), + 8usize, + "Alignment of sigval" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize }, - 136usize, - "Offset of field: _IO_FILE::_lock" + unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize }, + 0usize, + "Offset of field: sigval::sival_int" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize }, - 144usize, - "Offset of field: _IO_FILE::_offset" + unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize }, + 0usize, + "Offset of field: sigval::sival_ptr" ); +} +impl ::std::fmt::Debug for sigval { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + write!(f, "sigval {{ union }}") + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sigevent { + pub sigev_notify: ::std::os::raw::c_int, + pub sigev_signo: ::std::os::raw::c_int, + pub sigev_value: sigval, + pub sigev_notify_function: ::std::option::Option, + pub sigev_notify_attributes: *mut pthread_attr_t, +} +#[test] +fn bindgen_test_layout_sigevent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize }, - 152usize, - "Offset of field: _IO_FILE::_codecvt" + ::std::mem::size_of::(), + 32usize, + "Size of sigevent" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize }, - 160usize, - "Offset of field: _IO_FILE::_wide_data" + ::std::mem::align_of::(), + 8usize, + "Alignment of sigevent" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize }, - 168usize, - "Offset of field: _IO_FILE::_freeres_list" + unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize }, + 0usize, + "Offset of field: sigevent::sigev_notify" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize }, - 176usize, - "Offset of field: _IO_FILE::_freeres_buf" + unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize }, + 4usize, + "Offset of field: sigevent::sigev_signo" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize }, - 184usize, - "Offset of field: _IO_FILE::__pad5" + unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize }, + 8usize, + "Offset of field: sigevent::sigev_value" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize }, - 192usize, - "Offset of field: _IO_FILE::_mode" + unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_function) as usize - ptr as usize }, + 16usize, + "Offset of field: sigevent::sigev_notify_function" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize }, - 196usize, - "Offset of field: _IO_FILE::_unused2" + unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_attributes) as usize - ptr as usize }, + 24usize, + "Offset of field: sigevent::sigev_notify_attributes" ); } -pub type cookie_read_function_t = ::std::option::Option< - unsafe extern "C" fn( - __cookie: *mut ::std::os::raw::c_void, - __buf: *mut ::std::os::raw::c_char, - __nbytes: usize, - ) -> __ssize_t, ->; -pub type cookie_write_function_t = ::std::option::Option< - unsafe extern "C" fn( - __cookie: *mut ::std::os::raw::c_void, - __buf: *const ::std::os::raw::c_char, - __nbytes: usize, - ) -> __ssize_t, ->; -pub type cookie_seek_function_t = ::std::option::Option< - unsafe extern "C" fn( - __cookie: *mut ::std::os::raw::c_void, - __pos: *mut __off64_t, - __w: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, ->; -pub type cookie_close_function_t = ::std::option::Option< - unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, ->; +impl ::std::fmt::Debug for sigevent { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + write ! (f , "sigevent {{ sigev_notify: {:?}, sigev_signo: {:?}, sigev_value: {:?}, sigev_notify_function: {:?}, sigev_notify_attributes: {:?} }}" , self . sigev_notify , self . sigev_signo , self . sigev_value , self . sigev_notify_function , self . sigev_notify_attributes) + } +} #[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _IO_cookie_io_functions_t { - pub read: cookie_read_function_t, - pub write: cookie_write_function_t, - pub seek: cookie_seek_function_t, - pub close: cookie_close_function_t, +#[derive(Copy, Clone)] +pub struct __siginfo { + pub si_signo: ::std::os::raw::c_int, + pub si_errno: ::std::os::raw::c_int, + pub si_code: ::std::os::raw::c_int, + pub si_pid: pid_t, + pub si_uid: uid_t, + pub si_status: ::std::os::raw::c_int, + pub si_addr: *mut ::std::os::raw::c_void, + pub si_value: sigval, + pub si_band: ::std::os::raw::c_long, + pub __pad: [::std::os::raw::c_ulong; 7usize], } #[test] -fn bindgen_test_layout__IO_cookie_io_functions_t() { - const UNINIT: ::std::mem::MaybeUninit<_IO_cookie_io_functions_t> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___siginfo() { + const UNINIT: ::std::mem::MaybeUninit<__siginfo> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_IO_cookie_io_functions_t>(), - 32usize, - "Size of _IO_cookie_io_functions_t" + ::std::mem::size_of::<__siginfo>(), + 104usize, + "Size of __siginfo" ); assert_eq!( - ::std::mem::align_of::<_IO_cookie_io_functions_t>(), + ::std::mem::align_of::<__siginfo>(), 8usize, - "Alignment of _IO_cookie_io_functions_t" + "Alignment of __siginfo" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize }, 0usize, - "Offset of field: _IO_cookie_io_functions_t::read" + "Offset of field: __siginfo::si_signo" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize }, + 4usize, + "Offset of field: __siginfo::si_errno" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize }, 8usize, - "Offset of field: _IO_cookie_io_functions_t::write" + "Offset of field: __siginfo::si_code" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_pid) as usize - ptr as usize }, + 12usize, + "Offset of field: __siginfo::si_pid" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).si_uid) as usize - ptr as usize }, 16usize, - "Offset of field: _IO_cookie_io_functions_t::seek" + "Offset of field: __siginfo::si_uid" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).si_status) as usize - ptr as usize }, + 20usize, + "Offset of field: __siginfo::si_status" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).close) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).si_addr) as usize - ptr as usize }, 24usize, - "Offset of field: _IO_cookie_io_functions_t::close" + "Offset of field: __siginfo::si_addr" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).si_value) as usize - ptr as usize }, + 32usize, + "Offset of field: __siginfo::si_value" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).si_band) as usize - ptr as usize }, + 40usize, + "Offset of field: __siginfo::si_band" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize }, + 48usize, + "Offset of field: __siginfo::__pad" ); } -pub type cookie_io_functions_t = _IO_cookie_io_functions_t; -pub type va_list = __gnuc_va_list; -pub type off_t = __off_t; -pub type fpos_t = __fpos_t; -extern "C" { - pub static mut stdin: *mut FILE; +impl ::std::fmt::Debug for __siginfo { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + write ! (f , "__siginfo {{ si_signo: {:?}, si_errno: {:?}, si_code: {:?}, si_pid: {:?}, si_uid: {:?}, si_status: {:?}, si_addr: {:?}, si_value: {:?}, si_band: {:?}, __pad: {:?} }}" , self . si_signo , self . si_errno , self . si_code , self . si_pid , self . si_uid , self . si_status , self . si_addr , self . si_value , self . si_band , self . __pad) + } } -extern "C" { - pub static mut stdout: *mut FILE; +pub type siginfo_t = __siginfo; +#[repr(C)] +#[derive(Copy, Clone)] +pub union __sigaction_u { + pub __sa_handler: ::std::option::Option, + pub __sa_sigaction: ::std::option::Option< + unsafe extern "C" fn( + arg1: ::std::os::raw::c_int, + arg2: *mut __siginfo, + arg3: *mut ::std::os::raw::c_void, + ), + >, } -extern "C" { - pub static mut stderr: *mut FILE; +#[test] +fn bindgen_test_layout___sigaction_u() { + const UNINIT: ::std::mem::MaybeUninit<__sigaction_u> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__sigaction_u>(), + 8usize, + "Size of __sigaction_u" + ); + assert_eq!( + ::std::mem::align_of::<__sigaction_u>(), + 8usize, + "Alignment of __sigaction_u" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sa_handler) as usize - ptr as usize }, + 0usize, + "Offset of field: __sigaction_u::__sa_handler" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sa_sigaction) as usize - ptr as usize }, + 0usize, + "Offset of field: __sigaction_u::__sa_sigaction" + ); } -extern "C" { - pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +impl ::std::fmt::Debug for __sigaction_u { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + write!(f, "__sigaction_u {{ union }}") + } } -extern "C" { - pub fn rename( - __old: *const ::std::os::raw::c_char, - __new: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __sigaction { + pub __sigaction_u: __sigaction_u, + pub sa_tramp: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: *mut siginfo_t, + arg5: *mut ::std::os::raw::c_void, + ), + >, + pub sa_mask: sigset_t, + pub sa_flags: ::std::os::raw::c_int, } -extern "C" { - pub fn renameat( - __oldfd: ::std::os::raw::c_int, - __old: *const ::std::os::raw::c_char, - __newfd: ::std::os::raw::c_int, - __new: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int; +#[test] +fn bindgen_test_layout___sigaction() { + const UNINIT: ::std::mem::MaybeUninit<__sigaction> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__sigaction>(), + 24usize, + "Size of __sigaction" + ); + assert_eq!( + ::std::mem::align_of::<__sigaction>(), + 8usize, + "Alignment of __sigaction" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sigaction_u) as usize - ptr as usize }, + 0usize, + "Offset of field: __sigaction::__sigaction_u" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sa_tramp) as usize - ptr as usize }, + 8usize, + "Offset of field: __sigaction::sa_tramp" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize }, + 16usize, + "Offset of field: __sigaction::sa_mask" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize }, + 20usize, + "Offset of field: __sigaction::sa_flags" + ); } -extern "C" { - pub fn tmpfile() -> *mut FILE; +impl ::std::fmt::Debug for __sigaction { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + write!( + f, + "__sigaction {{ __sigaction_u: {:?}, sa_tramp: {:?}, sa_mask: {:?}, sa_flags: {:?} }}", + self.__sigaction_u, self.sa_tramp, self.sa_mask, self.sa_flags + ) + } } -extern "C" { - pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sigaction { + pub __sigaction_u: __sigaction_u, + pub sa_mask: sigset_t, + pub sa_flags: ::std::os::raw::c_int, } -extern "C" { - pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +#[test] +fn bindgen_test_layout_sigaction() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + "Size of sigaction" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of sigaction" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__sigaction_u) as usize - ptr as usize }, + 0usize, + "Offset of field: sigaction::__sigaction_u" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize }, + 8usize, + "Offset of field: sigaction::sa_mask" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize }, + 12usize, + "Offset of field: sigaction::sa_flags" + ); } -extern "C" { - pub fn tempnam( - __dir: *const ::std::os::raw::c_char, - __pfx: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; +impl ::std::fmt::Debug for sigaction { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + write!( + f, + "sigaction {{ __sigaction_u: {:?}, sa_mask: {:?}, sa_flags: {:?} }}", + self.__sigaction_u, self.sa_mask, self.sa_flags + ) + } } -extern "C" { - pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int; +pub type sig_t = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sigvec { + pub sv_handler: ::std::option::Option, + pub sv_mask: ::std::os::raw::c_int, + pub sv_flags: ::std::os::raw::c_int, } -extern "C" { - pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; +#[test] +fn bindgen_test_layout_sigvec() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::(), 16usize, "Size of sigvec"); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of sigvec" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sv_handler) as usize - ptr as usize }, + 0usize, + "Offset of field: sigvec::sv_handler" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sv_mask) as usize - ptr as usize }, + 8usize, + "Offset of field: sigvec::sv_mask" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sv_flags) as usize - ptr as usize }, + 12usize, + "Offset of field: sigvec::sv_flags" + ); } -extern "C" { - pub fn fopen( - __filename: *const ::std::os::raw::c_char, - __modes: *const ::std::os::raw::c_char, - ) -> *mut FILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sigstack { + pub ss_sp: *mut ::std::os::raw::c_char, + pub ss_onstack: ::std::os::raw::c_int, } -extern "C" { - pub fn freopen( - __filename: *const ::std::os::raw::c_char, - __modes: *const ::std::os::raw::c_char, - __stream: *mut FILE, - ) -> *mut FILE; +#[test] +fn bindgen_test_layout_sigstack() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + "Size of sigstack" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of sigstack" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize }, + 0usize, + "Offset of field: sigstack::ss_sp" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ss_onstack) as usize - ptr as usize }, + 8usize, + "Offset of field: sigstack::ss_onstack" + ); } extern "C" { - pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char) - -> *mut FILE; + pub fn signal( + arg1: ::std::os::raw::c_int, + arg2: ::std::option::Option, + ) -> ::std::option::Option< + unsafe extern "C" fn( + arg1: ::std::os::raw::c_int, + arg2: ::std::option::Option, + ), + >; } -extern "C" { - pub fn fopencookie( - __magic_cookie: *mut ::std::os::raw::c_void, - __modes: *const ::std::os::raw::c_char, - __io_funcs: cookie_io_functions_t, - ) -> *mut FILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timeval { + pub tv_sec: __darwin_time_t, + pub tv_usec: __darwin_suseconds_t, } -extern "C" { - pub fn fmemopen( - __s: *mut ::std::os::raw::c_void, - __len: usize, - __modes: *const ::std::os::raw::c_char, - ) -> *mut FILE; +#[test] +fn bindgen_test_layout_timeval() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::(), 16usize, "Size of timeval"); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of timeval" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, + 0usize, + "Offset of field: timeval::tv_sec" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize }, + 8usize, + "Offset of field: timeval::tv_usec" + ); } -extern "C" { - pub fn open_memstream( - __bufloc: *mut *mut ::std::os::raw::c_char, - __sizeloc: *mut usize, - ) -> *mut FILE; +pub type rlim_t = __uint64_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage { + pub ru_utime: timeval, + pub ru_stime: timeval, + pub ru_maxrss: ::std::os::raw::c_long, + pub ru_ixrss: ::std::os::raw::c_long, + pub ru_idrss: ::std::os::raw::c_long, + pub ru_isrss: ::std::os::raw::c_long, + pub ru_minflt: ::std::os::raw::c_long, + pub ru_majflt: ::std::os::raw::c_long, + pub ru_nswap: ::std::os::raw::c_long, + pub ru_inblock: ::std::os::raw::c_long, + pub ru_oublock: ::std::os::raw::c_long, + pub ru_msgsnd: ::std::os::raw::c_long, + pub ru_msgrcv: ::std::os::raw::c_long, + pub ru_nsignals: ::std::os::raw::c_long, + pub ru_nvcsw: ::std::os::raw::c_long, + pub ru_nivcsw: ::std::os::raw::c_long, } -extern "C" { - pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char); +#[test] +fn bindgen_test_layout_rusage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::(), 144usize, "Size of rusage"); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of rusage" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_utime) as usize - ptr as usize }, + 0usize, + "Offset of field: rusage::ru_utime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_stime) as usize - ptr as usize }, + 16usize, + "Offset of field: rusage::ru_stime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_maxrss) as usize - ptr as usize }, + 32usize, + "Offset of field: rusage::ru_maxrss" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_ixrss) as usize - ptr as usize }, + 40usize, + "Offset of field: rusage::ru_ixrss" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_idrss) as usize - ptr as usize }, + 48usize, + "Offset of field: rusage::ru_idrss" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_isrss) as usize - ptr as usize }, + 56usize, + "Offset of field: rusage::ru_isrss" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_minflt) as usize - ptr as usize }, + 64usize, + "Offset of field: rusage::ru_minflt" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_majflt) as usize - ptr as usize }, + 72usize, + "Offset of field: rusage::ru_majflt" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_nswap) as usize - ptr as usize }, + 80usize, + "Offset of field: rusage::ru_nswap" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_inblock) as usize - ptr as usize }, + 88usize, + "Offset of field: rusage::ru_inblock" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_oublock) as usize - ptr as usize }, + 96usize, + "Offset of field: rusage::ru_oublock" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_msgsnd) as usize - ptr as usize }, + 104usize, + "Offset of field: rusage::ru_msgsnd" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_msgrcv) as usize - ptr as usize }, + 112usize, + "Offset of field: rusage::ru_msgrcv" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_nsignals) as usize - ptr as usize }, + 120usize, + "Offset of field: rusage::ru_nsignals" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_nvcsw) as usize - ptr as usize }, + 128usize, + "Offset of field: rusage::ru_nvcsw" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ru_nivcsw) as usize - ptr as usize }, + 136usize, + "Offset of field: rusage::ru_nivcsw" + ); } -extern "C" { - pub fn setvbuf( - __stream: *mut FILE, - __buf: *mut ::std::os::raw::c_char, - __modes: ::std::os::raw::c_int, - __n: usize, - ) -> ::std::os::raw::c_int; +pub type rusage_info_t = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v0 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, } -extern "C" { - pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize); +#[test] +fn bindgen_test_layout_rusage_info_v0() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + "Size of rusage_info_v0" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of rusage_info_v0" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, + 0usize, + "Offset of field: rusage_info_v0::ri_uuid" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, + 16usize, + "Offset of field: rusage_info_v0::ri_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, + 24usize, + "Offset of field: rusage_info_v0::ri_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, + 32usize, + "Offset of field: rusage_info_v0::ri_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, + 40usize, + "Offset of field: rusage_info_v0::ri_interrupt_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, + 48usize, + "Offset of field: rusage_info_v0::ri_pageins" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, + 56usize, + "Offset of field: rusage_info_v0::ri_wired_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, + 64usize, + "Offset of field: rusage_info_v0::ri_resident_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, + 72usize, + "Offset of field: rusage_info_v0::ri_phys_footprint" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, + 80usize, + "Offset of field: rusage_info_v0::ri_proc_start_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, + 88usize, + "Offset of field: rusage_info_v0::ri_proc_exit_abstime" + ); } -extern "C" { - pub fn setlinebuf(__stream: *mut FILE); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v1 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, } -extern "C" { - pub fn fprintf( - __stream: *mut FILE, - __format: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sprintf( - __s: *mut ::std::os::raw::c_char, - __format: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vfprintf( - __s: *mut FILE, - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vprintf( - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vsprintf( - __s: *mut ::std::os::raw::c_char, - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn snprintf( - __s: *mut ::std::os::raw::c_char, - __maxlen: ::std::os::raw::c_ulong, - __format: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vsnprintf( - __s: *mut ::std::os::raw::c_char, - __maxlen: ::std::os::raw::c_ulong, - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vasprintf( - __ptr: *mut *mut ::std::os::raw::c_char, - __f: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn __asprintf( - __ptr: *mut *mut ::std::os::raw::c_char, - __fmt: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn asprintf( - __ptr: *mut *mut ::std::os::raw::c_char, - __fmt: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vdprintf( - __fd: ::std::os::raw::c_int, - __fmt: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn dprintf( - __fd: ::std::os::raw::c_int, - __fmt: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fscanf( - __stream: *mut FILE, - __format: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sscanf( - __s: *const ::std::os::raw::c_char, - __format: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - #[link_name = "\u{1}__isoc99_fscanf"] - pub fn fscanf1( - __stream: *mut FILE, - __format: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - #[link_name = "\u{1}__isoc99_scanf"] - pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; -} -extern "C" { - #[link_name = "\u{1}__isoc99_sscanf"] - pub fn sscanf1( - __s: *const ::std::os::raw::c_char, - __format: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vfscanf( - __s: *mut FILE, - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vscanf( - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vsscanf( - __s: *const ::std::os::raw::c_char, - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - #[link_name = "\u{1}__isoc99_vfscanf"] - pub fn vfscanf1( - __s: *mut FILE, - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - #[link_name = "\u{1}__isoc99_vscanf"] - pub fn vscanf1( - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - #[link_name = "\u{1}__isoc99_vsscanf"] - pub fn vsscanf1( - __s: *const ::std::os::raw::c_char, - __format: *const ::std::os::raw::c_char, - __arg: *mut __va_list_tag, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn getchar() -> ::std::os::raw::c_int; -} -extern "C" { - pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn getchar_unlocked() -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) - -> ::std::os::raw::c_int; -} -extern "C" { - pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fgets( - __s: *mut ::std::os::raw::c_char, - __n: ::std::os::raw::c_int, - __stream: *mut FILE, - ) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn __getdelim( - __lineptr: *mut *mut ::std::os::raw::c_char, - __n: *mut usize, - __delimiter: ::std::os::raw::c_int, - __stream: *mut FILE, - ) -> __ssize_t; -} -extern "C" { - pub fn getdelim( - __lineptr: *mut *mut ::std::os::raw::c_char, - __n: *mut usize, - __delimiter: ::std::os::raw::c_int, - __stream: *mut FILE, - ) -> __ssize_t; -} -extern "C" { - pub fn getline( - __lineptr: *mut *mut ::std::os::raw::c_char, - __n: *mut usize, - __stream: *mut FILE, - ) -> __ssize_t; -} -extern "C" { - pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fread( - __ptr: *mut ::std::os::raw::c_void, - __size: ::std::os::raw::c_ulong, - __n: ::std::os::raw::c_ulong, - __stream: *mut FILE, - ) -> ::std::os::raw::c_ulong; -} -extern "C" { - pub fn fwrite( - __ptr: *const ::std::os::raw::c_void, - __size: ::std::os::raw::c_ulong, - __n: ::std::os::raw::c_ulong, - __s: *mut FILE, - ) -> ::std::os::raw::c_ulong; -} -extern "C" { - pub fn fread_unlocked( - __ptr: *mut ::std::os::raw::c_void, - __size: usize, - __n: usize, - __stream: *mut FILE, - ) -> usize; -} -extern "C" { - pub fn fwrite_unlocked( - __ptr: *const ::std::os::raw::c_void, - __size: usize, - __n: usize, - __stream: *mut FILE, - ) -> usize; -} -extern "C" { - pub fn fseek( - __stream: *mut FILE, - __off: ::std::os::raw::c_long, - __whence: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long; -} -extern "C" { - pub fn rewind(__stream: *mut FILE); -} -extern "C" { - pub fn fseeko( - __stream: *mut FILE, - __off: __off_t, - __whence: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn ftello(__stream: *mut FILE) -> __off_t; -} -extern "C" { - pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn clearerr(__stream: *mut FILE); -} -extern "C" { - pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn clearerr_unlocked(__stream: *mut FILE); -} -extern "C" { - pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn perror(__s: *const ::std::os::raw::c_char); -} -extern "C" { - pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn popen( - __command: *const ::std::os::raw::c_char, - __modes: *const ::std::os::raw::c_char, - ) -> *mut FILE; -} -extern "C" { - pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn flockfile(__stream: *mut FILE); +#[test] +fn bindgen_test_layout_rusage_info_v1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + "Size of rusage_info_v1" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of rusage_info_v1" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, + 0usize, + "Offset of field: rusage_info_v1::ri_uuid" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, + 16usize, + "Offset of field: rusage_info_v1::ri_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, + 24usize, + "Offset of field: rusage_info_v1::ri_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, + 32usize, + "Offset of field: rusage_info_v1::ri_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, + 40usize, + "Offset of field: rusage_info_v1::ri_interrupt_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, + 48usize, + "Offset of field: rusage_info_v1::ri_pageins" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, + 56usize, + "Offset of field: rusage_info_v1::ri_wired_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, + 64usize, + "Offset of field: rusage_info_v1::ri_resident_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, + 72usize, + "Offset of field: rusage_info_v1::ri_phys_footprint" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, + 80usize, + "Offset of field: rusage_info_v1::ri_proc_start_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, + 88usize, + "Offset of field: rusage_info_v1::ri_proc_exit_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, + 96usize, + "Offset of field: rusage_info_v1::ri_child_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, + 104usize, + "Offset of field: rusage_info_v1::ri_child_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, + 112usize, + "Offset of field: rusage_info_v1::ri_child_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, + 120usize, + "Offset of field: rusage_info_v1::ri_child_interrupt_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, + 128usize, + "Offset of field: rusage_info_v1::ri_child_pageins" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, + 136usize, + "Offset of field: rusage_info_v1::ri_child_elapsed_abstime" + ); } -extern "C" { - pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v2 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, + pub ri_diskio_bytesread: u64, + pub ri_diskio_byteswritten: u64, } -extern "C" { - pub fn funlockfile(__stream: *mut FILE); +#[test] +fn bindgen_test_layout_rusage_info_v2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 160usize, + "Size of rusage_info_v2" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of rusage_info_v2" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, + 0usize, + "Offset of field: rusage_info_v2::ri_uuid" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, + 16usize, + "Offset of field: rusage_info_v2::ri_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, + 24usize, + "Offset of field: rusage_info_v2::ri_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, + 32usize, + "Offset of field: rusage_info_v2::ri_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, + 40usize, + "Offset of field: rusage_info_v2::ri_interrupt_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, + 48usize, + "Offset of field: rusage_info_v2::ri_pageins" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, + 56usize, + "Offset of field: rusage_info_v2::ri_wired_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, + 64usize, + "Offset of field: rusage_info_v2::ri_resident_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, + 72usize, + "Offset of field: rusage_info_v2::ri_phys_footprint" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, + 80usize, + "Offset of field: rusage_info_v2::ri_proc_start_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, + 88usize, + "Offset of field: rusage_info_v2::ri_proc_exit_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, + 96usize, + "Offset of field: rusage_info_v2::ri_child_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, + 104usize, + "Offset of field: rusage_info_v2::ri_child_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, + 112usize, + "Offset of field: rusage_info_v2::ri_child_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, + 120usize, + "Offset of field: rusage_info_v2::ri_child_interrupt_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, + 128usize, + "Offset of field: rusage_info_v2::ri_child_pageins" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, + 136usize, + "Offset of field: rusage_info_v2::ri_child_elapsed_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, + 144usize, + "Offset of field: rusage_info_v2::ri_diskio_bytesread" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, + 152usize, + "Offset of field: rusage_info_v2::ri_diskio_byteswritten" + ); } -extern "C" { - pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rusage_info_v3 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, + pub ri_diskio_bytesread: u64, + pub ri_diskio_byteswritten: u64, + pub ri_cpu_time_qos_default: u64, + pub ri_cpu_time_qos_maintenance: u64, + pub ri_cpu_time_qos_background: u64, + pub ri_cpu_time_qos_utility: u64, + pub ri_cpu_time_qos_legacy: u64, + pub ri_cpu_time_qos_user_initiated: u64, + pub ri_cpu_time_qos_user_interactive: u64, + pub ri_billed_system_time: u64, + pub ri_serviced_system_time: u64, } -extern "C" { - pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +#[test] +fn bindgen_test_layout_rusage_info_v3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 232usize, + "Size of rusage_info_v3" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of rusage_info_v3" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, + 0usize, + "Offset of field: rusage_info_v3::ri_uuid" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, + 16usize, + "Offset of field: rusage_info_v3::ri_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, + 24usize, + "Offset of field: rusage_info_v3::ri_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, + 32usize, + "Offset of field: rusage_info_v3::ri_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, + 40usize, + "Offset of field: rusage_info_v3::ri_interrupt_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, + 48usize, + "Offset of field: rusage_info_v3::ri_pageins" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, + 56usize, + "Offset of field: rusage_info_v3::ri_wired_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, + 64usize, + "Offset of field: rusage_info_v3::ri_resident_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, + 72usize, + "Offset of field: rusage_info_v3::ri_phys_footprint" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, + 80usize, + "Offset of field: rusage_info_v3::ri_proc_start_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, + 88usize, + "Offset of field: rusage_info_v3::ri_proc_exit_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, + 96usize, + "Offset of field: rusage_info_v3::ri_child_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, + 104usize, + "Offset of field: rusage_info_v3::ri_child_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, + 112usize, + "Offset of field: rusage_info_v3::ri_child_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, + 120usize, + "Offset of field: rusage_info_v3::ri_child_interrupt_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, + 128usize, + "Offset of field: rusage_info_v3::ri_child_pageins" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, + 136usize, + "Offset of field: rusage_info_v3::ri_child_elapsed_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, + 144usize, + "Offset of field: rusage_info_v3::ri_diskio_bytesread" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, + 152usize, + "Offset of field: rusage_info_v3::ri_diskio_byteswritten" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize }, + 160usize, + "Offset of field: rusage_info_v3::ri_cpu_time_qos_default" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize }, + 168usize, + "Offset of field: rusage_info_v3::ri_cpu_time_qos_maintenance" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize }, + 176usize, + "Offset of field: rusage_info_v3::ri_cpu_time_qos_background" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize }, + 184usize, + "Offset of field: rusage_info_v3::ri_cpu_time_qos_utility" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize }, + 192usize, + "Offset of field: rusage_info_v3::ri_cpu_time_qos_legacy" + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize + }, + 200usize, + "Offset of field: rusage_info_v3::ri_cpu_time_qos_user_initiated" + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize + }, + 208usize, + "Offset of field: rusage_info_v3::ri_cpu_time_qos_user_interactive" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize }, + 216usize, + "Offset of field: rusage_info_v3::ri_billed_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize }, + 224usize, + "Offset of field: rusage_info_v3::ri_serviced_system_time" + ); } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct div_t { - pub quot: ::std::os::raw::c_int, - pub rem: ::std::os::raw::c_int, +pub struct rusage_info_v4 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, + pub ri_diskio_bytesread: u64, + pub ri_diskio_byteswritten: u64, + pub ri_cpu_time_qos_default: u64, + pub ri_cpu_time_qos_maintenance: u64, + pub ri_cpu_time_qos_background: u64, + pub ri_cpu_time_qos_utility: u64, + pub ri_cpu_time_qos_legacy: u64, + pub ri_cpu_time_qos_user_initiated: u64, + pub ri_cpu_time_qos_user_interactive: u64, + pub ri_billed_system_time: u64, + pub ri_serviced_system_time: u64, + pub ri_logical_writes: u64, + pub ri_lifetime_max_phys_footprint: u64, + pub ri_instructions: u64, + pub ri_cycles: u64, + pub ri_billed_energy: u64, + pub ri_serviced_energy: u64, + pub ri_interval_max_phys_footprint: u64, + pub ri_runnable_time: u64, } #[test] -fn bindgen_test_layout_div_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_rusage_info_v4() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); - assert_eq!(::std::mem::size_of::(), 8usize, "Size of div_t"); assert_eq!( - ::std::mem::align_of::(), - 4usize, - "Alignment of div_t" + ::std::mem::size_of::(), + 296usize, + "Size of rusage_info_v4" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of rusage_info_v4" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, + 0usize, + "Offset of field: rusage_info_v4::ri_uuid" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, + 16usize, + "Offset of field: rusage_info_v4::ri_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, + 24usize, + "Offset of field: rusage_info_v4::ri_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, + 32usize, + "Offset of field: rusage_info_v4::ri_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, + 40usize, + "Offset of field: rusage_info_v4::ri_interrupt_wkups" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, - 0usize, - "Offset of field: div_t::quot" + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, + 48usize, + "Offset of field: rusage_info_v4::ri_pageins" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, - 4usize, - "Offset of field: div_t::rem" + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, + 56usize, + "Offset of field: rusage_info_v4::ri_wired_size" ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ldiv_t { - pub quot: ::std::os::raw::c_long, - pub rem: ::std::os::raw::c_long, -} -#[test] -fn bindgen_test_layout_ldiv_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!(::std::mem::size_of::(), 16usize, "Size of ldiv_t"); assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of ldiv_t" + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, + 64usize, + "Offset of field: rusage_info_v4::ri_resident_size" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, - 0usize, - "Offset of field: ldiv_t::quot" + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, + 72usize, + "Offset of field: rusage_info_v4::ri_phys_footprint" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, - 8usize, - "Offset of field: ldiv_t::rem" + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, + 80usize, + "Offset of field: rusage_info_v4::ri_proc_start_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, + 88usize, + "Offset of field: rusage_info_v4::ri_proc_exit_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, + 96usize, + "Offset of field: rusage_info_v4::ri_child_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, + 104usize, + "Offset of field: rusage_info_v4::ri_child_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, + 112usize, + "Offset of field: rusage_info_v4::ri_child_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, + 120usize, + "Offset of field: rusage_info_v4::ri_child_interrupt_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, + 128usize, + "Offset of field: rusage_info_v4::ri_child_pageins" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, + 136usize, + "Offset of field: rusage_info_v4::ri_child_elapsed_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, + 144usize, + "Offset of field: rusage_info_v4::ri_diskio_bytesread" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, + 152usize, + "Offset of field: rusage_info_v4::ri_diskio_byteswritten" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize }, + 160usize, + "Offset of field: rusage_info_v4::ri_cpu_time_qos_default" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize }, + 168usize, + "Offset of field: rusage_info_v4::ri_cpu_time_qos_maintenance" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize }, + 176usize, + "Offset of field: rusage_info_v4::ri_cpu_time_qos_background" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize }, + 184usize, + "Offset of field: rusage_info_v4::ri_cpu_time_qos_utility" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize }, + 192usize, + "Offset of field: rusage_info_v4::ri_cpu_time_qos_legacy" + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize + }, + 200usize, + "Offset of field: rusage_info_v4::ri_cpu_time_qos_user_initiated" + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize + }, + 208usize, + "Offset of field: rusage_info_v4::ri_cpu_time_qos_user_interactive" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize }, + 216usize, + "Offset of field: rusage_info_v4::ri_billed_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize }, + 224usize, + "Offset of field: rusage_info_v4::ri_serviced_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize }, + 232usize, + "Offset of field: rusage_info_v4::ri_logical_writes" + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize + }, + 240usize, + "Offset of field: rusage_info_v4::ri_lifetime_max_phys_footprint" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize }, + 248usize, + "Offset of field: rusage_info_v4::ri_instructions" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize }, + 256usize, + "Offset of field: rusage_info_v4::ri_cycles" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize }, + 264usize, + "Offset of field: rusage_info_v4::ri_billed_energy" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize }, + 272usize, + "Offset of field: rusage_info_v4::ri_serviced_energy" + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize + }, + 280usize, + "Offset of field: rusage_info_v4::ri_interval_max_phys_footprint" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize }, + 288usize, + "Offset of field: rusage_info_v4::ri_runnable_time" ); } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct lldiv_t { - pub quot: ::std::os::raw::c_longlong, - pub rem: ::std::os::raw::c_longlong, +pub struct rusage_info_v5 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, + pub ri_diskio_bytesread: u64, + pub ri_diskio_byteswritten: u64, + pub ri_cpu_time_qos_default: u64, + pub ri_cpu_time_qos_maintenance: u64, + pub ri_cpu_time_qos_background: u64, + pub ri_cpu_time_qos_utility: u64, + pub ri_cpu_time_qos_legacy: u64, + pub ri_cpu_time_qos_user_initiated: u64, + pub ri_cpu_time_qos_user_interactive: u64, + pub ri_billed_system_time: u64, + pub ri_serviced_system_time: u64, + pub ri_logical_writes: u64, + pub ri_lifetime_max_phys_footprint: u64, + pub ri_instructions: u64, + pub ri_cycles: u64, + pub ri_billed_energy: u64, + pub ri_serviced_energy: u64, + pub ri_interval_max_phys_footprint: u64, + pub ri_runnable_time: u64, + pub ri_flags: u64, } #[test] -fn bindgen_test_layout_lldiv_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_rusage_info_v5() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); - assert_eq!(::std::mem::size_of::(), 16usize, "Size of lldiv_t"); assert_eq!( - ::std::mem::align_of::(), + ::std::mem::size_of::(), + 304usize, + "Size of rusage_info_v5" + ); + assert_eq!( + ::std::mem::align_of::(), 8usize, - "Alignment of lldiv_t" + "Alignment of rusage_info_v5" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, 0usize, - "Offset of field: lldiv_t::quot" + "Offset of field: rusage_info_v5::ri_uuid" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, - 8usize, - "Offset of field: lldiv_t::rem" + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, + 16usize, + "Offset of field: rusage_info_v5::ri_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, + 24usize, + "Offset of field: rusage_info_v5::ri_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, + 32usize, + "Offset of field: rusage_info_v5::ri_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, + 40usize, + "Offset of field: rusage_info_v5::ri_interrupt_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, + 48usize, + "Offset of field: rusage_info_v5::ri_pageins" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, + 56usize, + "Offset of field: rusage_info_v5::ri_wired_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, + 64usize, + "Offset of field: rusage_info_v5::ri_resident_size" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, + 72usize, + "Offset of field: rusage_info_v5::ri_phys_footprint" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, + 80usize, + "Offset of field: rusage_info_v5::ri_proc_start_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, + 88usize, + "Offset of field: rusage_info_v5::ri_proc_exit_abstime" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, + 96usize, + "Offset of field: rusage_info_v5::ri_child_user_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, + 104usize, + "Offset of field: rusage_info_v5::ri_child_system_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, + 112usize, + "Offset of field: rusage_info_v5::ri_child_pkg_idle_wkups" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, + 120usize, + "Offset of field: rusage_info_v5::ri_child_interrupt_wkups" ); -} -extern "C" { - pub fn __ctype_get_mb_cur_max() -> usize; -} -extern "C" { - pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64; -} -extern "C" { - pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; -} -extern "C" { - pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; -} -extern "C" { - pub fn strtod( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - ) -> f64; -} -extern "C" { - pub fn strtof( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - ) -> f32; -} -extern "C" { - pub fn strtold( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - ) -> u128; -} -extern "C" { - pub fn strtol( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_long; -} -extern "C" { - pub fn strtoul( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulong; -} -extern "C" { - pub fn strtoq( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_longlong; -} -extern "C" { - pub fn strtouq( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulonglong; -} -extern "C" { - pub fn strtoll( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_longlong; -} -extern "C" { - pub fn strtoull( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulonglong; -} -extern "C" { - pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; -} -pub type u_char = __u_char; -pub type u_short = __u_short; -pub type u_int = __u_int; -pub type u_long = __u_long; -pub type quad_t = __quad_t; -pub type u_quad_t = __u_quad_t; -pub type fsid_t = __fsid_t; -pub type loff_t = __loff_t; -pub type ino_t = __ino_t; -pub type dev_t = __dev_t; -pub type gid_t = __gid_t; -pub type mode_t = __mode_t; -pub type nlink_t = __nlink_t; -pub type uid_t = __uid_t; -pub type pid_t = __pid_t; -pub type id_t = __id_t; -pub type daddr_t = __daddr_t; -pub type caddr_t = __caddr_t; -pub type key_t = __key_t; -pub type clock_t = __clock_t; -pub type clockid_t = __clockid_t; -pub type time_t = __time_t; -pub type timer_t = __timer_t; -pub type ulong = ::std::os::raw::c_ulong; -pub type ushort = ::std::os::raw::c_ushort; -pub type uint = ::std::os::raw::c_uint; -pub type u_int8_t = __uint8_t; -pub type u_int16_t = __uint16_t; -pub type u_int32_t = __uint32_t; -pub type u_int64_t = __uint64_t; -pub type register_t = ::std::os::raw::c_long; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __sigset_t { - pub __val: [::std::os::raw::c_ulong; 16usize], -} -#[test] -fn bindgen_test_layout___sigset_t() { - const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__sigset_t>(), + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, 128usize, - "Size of __sigset_t" + "Offset of field: rusage_info_v5::ri_child_pageins" ); assert_eq!( - ::std::mem::align_of::<__sigset_t>(), - 8usize, - "Alignment of __sigset_t" + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, + 136usize, + "Offset of field: rusage_info_v5::ri_child_elapsed_abstime" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize }, - 0usize, - "Offset of field: __sigset_t::__val" + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, + 144usize, + "Offset of field: rusage_info_v5::ri_diskio_bytesread" ); -} -pub type sigset_t = __sigset_t; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct timeval { - pub tv_sec: __time_t, - pub tv_usec: __suseconds_t, -} -#[test] -fn bindgen_test_layout_timeval() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!(::std::mem::size_of::(), 16usize, "Size of timeval"); assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of timeval" + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, + 152usize, + "Offset of field: rusage_info_v5::ri_diskio_byteswritten" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, - 0usize, - "Offset of field: timeval::tv_sec" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize }, + 160usize, + "Offset of field: rusage_info_v5::ri_cpu_time_qos_default" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize }, - 8usize, - "Offset of field: timeval::tv_usec" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize }, + 168usize, + "Offset of field: rusage_info_v5::ri_cpu_time_qos_maintenance" ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct timespec { - pub tv_sec: __time_t, - pub tv_nsec: __syscall_slong_t, -} -#[test] -fn bindgen_test_layout_timespec() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 16usize, - "Size of timespec" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize }, + 176usize, + "Offset of field: rusage_info_v5::ri_cpu_time_qos_background" ); assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of timespec" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize }, + 184usize, + "Offset of field: rusage_info_v5::ri_cpu_time_qos_utility" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, - 0usize, - "Offset of field: timespec::tv_sec" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize }, + 192usize, + "Offset of field: rusage_info_v5::ri_cpu_time_qos_legacy" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize }, - 8usize, - "Offset of field: timespec::tv_nsec" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize + }, + 200usize, + "Offset of field: rusage_info_v5::ri_cpu_time_qos_user_initiated" ); -} -pub type suseconds_t = __suseconds_t; -pub type __fd_mask = ::std::os::raw::c_long; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct fd_set { - pub __fds_bits: [__fd_mask; 16usize], -} -#[test] -fn bindgen_test_layout_fd_set() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!(::std::mem::size_of::(), 128usize, "Size of fd_set"); assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of fd_set" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize + }, + 208usize, + "Offset of field: rusage_info_v5::ri_cpu_time_qos_user_interactive" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__fds_bits) as usize - ptr as usize }, - 0usize, - "Offset of field: fd_set::__fds_bits" + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize }, + 216usize, + "Offset of field: rusage_info_v5::ri_billed_system_time" ); -} -pub type fd_mask = __fd_mask; -extern "C" { - pub fn select( - __nfds: ::std::os::raw::c_int, - __readfds: *mut fd_set, - __writefds: *mut fd_set, - __exceptfds: *mut fd_set, - __timeout: *mut timeval, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn pselect( - __nfds: ::std::os::raw::c_int, - __readfds: *mut fd_set, - __writefds: *mut fd_set, - __exceptfds: *mut fd_set, - __timeout: *const timespec, - __sigmask: *const __sigset_t, - ) -> ::std::os::raw::c_int; -} -pub type blksize_t = __blksize_t; -pub type blkcnt_t = __blkcnt_t; -pub type fsblkcnt_t = __fsblkcnt_t; -pub type fsfilcnt_t = __fsfilcnt_t; -#[repr(C)] -#[derive(Copy, Clone)] -pub union __atomic_wide_counter { - pub __value64: ::std::os::raw::c_ulonglong, - pub __value32: __atomic_wide_counter__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __atomic_wide_counter__bindgen_ty_1 { - pub __low: ::std::os::raw::c_uint, - pub __high: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(), - 8usize, - "Size of __atomic_wide_counter__bindgen_ty_1" + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize }, + 224usize, + "Offset of field: rusage_info_v5::ri_serviced_system_time" ); assert_eq!( - ::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(), - 4usize, - "Alignment of __atomic_wide_counter__bindgen_ty_1" + unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize }, + 232usize, + "Offset of field: rusage_info_v5::ri_logical_writes" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, - 0usize, - "Offset of field: __atomic_wide_counter__bindgen_ty_1::__low" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize + }, + 240usize, + "Offset of field: rusage_info_v5::ri_lifetime_max_phys_footprint" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, - 4usize, - "Offset of field: __atomic_wide_counter__bindgen_ty_1::__high" + unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize }, + 248usize, + "Offset of field: rusage_info_v5::ri_instructions" ); -} -#[test] -fn bindgen_test_layout___atomic_wide_counter() { - const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__atomic_wide_counter>(), - 8usize, - "Size of __atomic_wide_counter" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize }, + 256usize, + "Offset of field: rusage_info_v5::ri_cycles" ); assert_eq!( - ::std::mem::align_of::<__atomic_wide_counter>(), - 8usize, - "Alignment of __atomic_wide_counter" + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize }, + 264usize, + "Offset of field: rusage_info_v5::ri_billed_energy" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize }, - 0usize, - "Offset of field: __atomic_wide_counter::__value64" + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize }, + 272usize, + "Offset of field: rusage_info_v5::ri_serviced_energy" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize }, - 0usize, - "Offset of field: __atomic_wide_counter::__value32" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize + }, + 280usize, + "Offset of field: rusage_info_v5::ri_interval_max_phys_footprint" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize }, + 288usize, + "Offset of field: rusage_info_v5::ri_runnable_time" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ri_flags) as usize - ptr as usize }, + 296usize, + "Offset of field: rusage_info_v5::ri_flags" ); -} -impl ::std::fmt::Debug for __atomic_wide_counter { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "__atomic_wide_counter {{ union }}") - } } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct __pthread_internal_list { - pub __prev: *mut __pthread_internal_list, - pub __next: *mut __pthread_internal_list, +pub struct rusage_info_v6 { + pub ri_uuid: [u8; 16usize], + pub ri_user_time: u64, + pub ri_system_time: u64, + pub ri_pkg_idle_wkups: u64, + pub ri_interrupt_wkups: u64, + pub ri_pageins: u64, + pub ri_wired_size: u64, + pub ri_resident_size: u64, + pub ri_phys_footprint: u64, + pub ri_proc_start_abstime: u64, + pub ri_proc_exit_abstime: u64, + pub ri_child_user_time: u64, + pub ri_child_system_time: u64, + pub ri_child_pkg_idle_wkups: u64, + pub ri_child_interrupt_wkups: u64, + pub ri_child_pageins: u64, + pub ri_child_elapsed_abstime: u64, + pub ri_diskio_bytesread: u64, + pub ri_diskio_byteswritten: u64, + pub ri_cpu_time_qos_default: u64, + pub ri_cpu_time_qos_maintenance: u64, + pub ri_cpu_time_qos_background: u64, + pub ri_cpu_time_qos_utility: u64, + pub ri_cpu_time_qos_legacy: u64, + pub ri_cpu_time_qos_user_initiated: u64, + pub ri_cpu_time_qos_user_interactive: u64, + pub ri_billed_system_time: u64, + pub ri_serviced_system_time: u64, + pub ri_logical_writes: u64, + pub ri_lifetime_max_phys_footprint: u64, + pub ri_instructions: u64, + pub ri_cycles: u64, + pub ri_billed_energy: u64, + pub ri_serviced_energy: u64, + pub ri_interval_max_phys_footprint: u64, + pub ri_runnable_time: u64, + pub ri_flags: u64, + pub ri_user_ptime: u64, + pub ri_system_ptime: u64, + pub ri_pinstructions: u64, + pub ri_pcycles: u64, + pub ri_energy_nj: u64, + pub ri_penergy_nj: u64, + pub ri_secure_time_in_system: u64, + pub ri_secure_ptime_in_system: u64, + pub ri_neural_footprint: u64, + pub ri_lifetime_max_neural_footprint: u64, + pub ri_interval_max_neural_footprint: u64, + pub ri_reserved: [u64; 9usize], } #[test] -fn bindgen_test_layout___pthread_internal_list() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_list> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_rusage_info_v6() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_internal_list>(), - 16usize, - "Size of __pthread_internal_list" + ::std::mem::size_of::(), + 464usize, + "Size of rusage_info_v6" ); assert_eq!( - ::std::mem::align_of::<__pthread_internal_list>(), + ::std::mem::align_of::(), 8usize, - "Alignment of __pthread_internal_list" + "Alignment of rusage_info_v6" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize }, 0usize, - "Offset of field: __pthread_internal_list::__prev" + "Offset of field: rusage_info_v6::ri_uuid" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize }, - 8usize, - "Offset of field: __pthread_internal_list::__next" + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize }, + 16usize, + "Offset of field: rusage_info_v6::ri_user_time" ); -} -pub type __pthread_list_t = __pthread_internal_list; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __pthread_internal_slist { - pub __next: *mut __pthread_internal_slist, -} -#[test] -fn bindgen_test_layout___pthread_internal_slist() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_slist> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_internal_slist>(), - 8usize, - "Size of __pthread_internal_slist" + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize }, + 24usize, + "Offset of field: rusage_info_v6::ri_system_time" ); assert_eq!( - ::std::mem::align_of::<__pthread_internal_slist>(), - 8usize, - "Alignment of __pthread_internal_slist" + unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize }, + 32usize, + "Offset of field: rusage_info_v6::ri_pkg_idle_wkups" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize }, - 0usize, - "Offset of field: __pthread_internal_slist::__next" + unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize }, + 40usize, + "Offset of field: rusage_info_v6::ri_interrupt_wkups" ); -} -pub type __pthread_slist_t = __pthread_internal_slist; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __pthread_mutex_s { - pub __lock: ::std::os::raw::c_int, - pub __count: ::std::os::raw::c_uint, - pub __owner: ::std::os::raw::c_int, - pub __nusers: ::std::os::raw::c_uint, - pub __kind: ::std::os::raw::c_int, - pub __spins: ::std::os::raw::c_short, - pub __elision: ::std::os::raw::c_short, - pub __list: __pthread_list_t, -} -#[test] -fn bindgen_test_layout___pthread_mutex_s() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_mutex_s>(), - 40usize, - "Size of __pthread_mutex_s" + unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize }, + 48usize, + "Offset of field: rusage_info_v6::ri_pageins" ); assert_eq!( - ::std::mem::align_of::<__pthread_mutex_s>(), - 8usize, - "Alignment of __pthread_mutex_s" + unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize }, + 56usize, + "Offset of field: rusage_info_v6::ri_wired_size" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__lock) as usize - ptr as usize }, - 0usize, - "Offset of field: __pthread_mutex_s::__lock" + unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize }, + 64usize, + "Offset of field: rusage_info_v6::ri_resident_size" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize }, - 4usize, - "Offset of field: __pthread_mutex_s::__count" + unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize }, + 72usize, + "Offset of field: rusage_info_v6::ri_phys_footprint" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize }, - 8usize, - "Offset of field: __pthread_mutex_s::__owner" + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize }, + 80usize, + "Offset of field: rusage_info_v6::ri_proc_start_abstime" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize }, - 12usize, - "Offset of field: __pthread_mutex_s::__nusers" + unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize }, + 88usize, + "Offset of field: rusage_info_v6::ri_proc_exit_abstime" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize }, - 16usize, - "Offset of field: __pthread_mutex_s::__kind" + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize }, + 96usize, + "Offset of field: rusage_info_v6::ri_child_user_time" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize }, - 20usize, - "Offset of field: __pthread_mutex_s::__spins" + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize }, + 104usize, + "Offset of field: rusage_info_v6::ri_child_system_time" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__elision) as usize - ptr as usize }, - 22usize, - "Offset of field: __pthread_mutex_s::__elision" + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize }, + 112usize, + "Offset of field: rusage_info_v6::ri_child_pkg_idle_wkups" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize }, - 24usize, - "Offset of field: __pthread_mutex_s::__list" + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize }, + 120usize, + "Offset of field: rusage_info_v6::ri_child_interrupt_wkups" ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __pthread_rwlock_arch_t { - pub __readers: ::std::os::raw::c_uint, - pub __writers: ::std::os::raw::c_uint, - pub __wrphase_futex: ::std::os::raw::c_uint, - pub __writers_futex: ::std::os::raw::c_uint, - pub __pad3: ::std::os::raw::c_uint, - pub __pad4: ::std::os::raw::c_uint, - pub __cur_writer: ::std::os::raw::c_int, - pub __shared: ::std::os::raw::c_int, - pub __rwelision: ::std::os::raw::c_schar, - pub __pad1: [::std::os::raw::c_uchar; 7usize], - pub __pad2: ::std::os::raw::c_ulong, - pub __flags: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout___pthread_rwlock_arch_t() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_rwlock_arch_t> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_rwlock_arch_t>(), - 56usize, - "Size of __pthread_rwlock_arch_t" + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize }, + 128usize, + "Offset of field: rusage_info_v6::ri_child_pageins" ); assert_eq!( - ::std::mem::align_of::<__pthread_rwlock_arch_t>(), - 8usize, - "Alignment of __pthread_rwlock_arch_t" + unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize }, + 136usize, + "Offset of field: rusage_info_v6::ri_child_elapsed_abstime" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__readers) as usize - ptr as usize }, - 0usize, - "Offset of field: __pthread_rwlock_arch_t::__readers" + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize }, + 144usize, + "Offset of field: rusage_info_v6::ri_diskio_bytesread" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize }, - 4usize, - "Offset of field: __pthread_rwlock_arch_t::__writers" + unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize }, + 152usize, + "Offset of field: rusage_info_v6::ri_diskio_byteswritten" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize }, - 8usize, - "Offset of field: __pthread_rwlock_arch_t::__wrphase_futex" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize }, + 160usize, + "Offset of field: rusage_info_v6::ri_cpu_time_qos_default" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize }, - 12usize, - "Offset of field: __pthread_rwlock_arch_t::__writers_futex" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize }, + 168usize, + "Offset of field: rusage_info_v6::ri_cpu_time_qos_maintenance" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize }, - 16usize, - "Offset of field: __pthread_rwlock_arch_t::__pad3" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize }, + 176usize, + "Offset of field: rusage_info_v6::ri_cpu_time_qos_background" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize }, - 20usize, - "Offset of field: __pthread_rwlock_arch_t::__pad4" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize }, + 184usize, + "Offset of field: rusage_info_v6::ri_cpu_time_qos_utility" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize }, - 24usize, - "Offset of field: __pthread_rwlock_arch_t::__cur_writer" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize }, + 192usize, + "Offset of field: rusage_info_v6::ri_cpu_time_qos_legacy" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize }, - 28usize, - "Offset of field: __pthread_rwlock_arch_t::__shared" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize + }, + 200usize, + "Offset of field: rusage_info_v6::ri_cpu_time_qos_user_initiated" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize }, - 32usize, - "Offset of field: __pthread_rwlock_arch_t::__rwelision" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize + }, + 208usize, + "Offset of field: rusage_info_v6::ri_cpu_time_qos_user_interactive" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize }, - 33usize, - "Offset of field: __pthread_rwlock_arch_t::__pad1" + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize }, + 216usize, + "Offset of field: rusage_info_v6::ri_billed_system_time" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize }, - 40usize, - "Offset of field: __pthread_rwlock_arch_t::__pad2" + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize }, + 224usize, + "Offset of field: rusage_info_v6::ri_serviced_system_time" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize }, - 48usize, - "Offset of field: __pthread_rwlock_arch_t::__flags" + unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize }, + 232usize, + "Offset of field: rusage_info_v6::ri_logical_writes" ); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct __pthread_cond_s { - pub __wseq: __atomic_wide_counter, - pub __g1_start: __atomic_wide_counter, - pub __g_refs: [::std::os::raw::c_uint; 2usize], - pub __g_size: [::std::os::raw::c_uint; 2usize], - pub __g1_orig_size: ::std::os::raw::c_uint, - pub __wrefs: ::std::os::raw::c_uint, - pub __g_signals: [::std::os::raw::c_uint; 2usize], -} -#[test] -fn bindgen_test_layout___pthread_cond_s() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_cond_s>(), - 48usize, - "Size of __pthread_cond_s" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize + }, + 240usize, + "Offset of field: rusage_info_v6::ri_lifetime_max_phys_footprint" ); assert_eq!( - ::std::mem::align_of::<__pthread_cond_s>(), - 8usize, - "Alignment of __pthread_cond_s" + unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize }, + 248usize, + "Offset of field: rusage_info_v6::ri_instructions" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize }, - 0usize, - "Offset of field: __pthread_cond_s::__wseq" + unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize }, + 256usize, + "Offset of field: rusage_info_v6::ri_cycles" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize }, - 8usize, - "Offset of field: __pthread_cond_s::__g1_start" + unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize }, + 264usize, + "Offset of field: rusage_info_v6::ri_billed_energy" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize }, - 16usize, - "Offset of field: __pthread_cond_s::__g_refs" + unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize }, + 272usize, + "Offset of field: rusage_info_v6::ri_serviced_energy" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize }, - 24usize, - "Offset of field: __pthread_cond_s::__g_size" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize + }, + 280usize, + "Offset of field: rusage_info_v6::ri_interval_max_phys_footprint" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize }, - 32usize, - "Offset of field: __pthread_cond_s::__g1_orig_size" + unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize }, + 288usize, + "Offset of field: rusage_info_v6::ri_runnable_time" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize }, - 36usize, - "Offset of field: __pthread_cond_s::__wrefs" + unsafe { ::std::ptr::addr_of!((*ptr).ri_flags) as usize - ptr as usize }, + 296usize, + "Offset of field: rusage_info_v6::ri_flags" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize }, - 40usize, - "Offset of field: __pthread_cond_s::__g_signals" + unsafe { ::std::ptr::addr_of!((*ptr).ri_user_ptime) as usize - ptr as usize }, + 304usize, + "Offset of field: rusage_info_v6::ri_user_ptime" ); -} -impl ::std::fmt::Debug for __pthread_cond_s { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write ! (f , "__pthread_cond_s {{ __wseq: {:?}, __g1_start: {:?}, __g_refs: {:?}, __g_size: {:?}, __g1_orig_size: {:?}, __wrefs: {:?}, __g_signals: {:?} }}" , self . __wseq , self . __g1_start , self . __g_refs , self . __g_size , self . __g1_orig_size , self . __wrefs , self . __g_signals) - } -} -pub type __tss_t = ::std::os::raw::c_uint; -pub type __thrd_t = ::std::os::raw::c_ulong; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __once_flag { - pub __data: ::std::os::raw::c_int, -} -#[test] -fn bindgen_test_layout___once_flag() { - const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__once_flag>(), - 4usize, - "Size of __once_flag" + unsafe { ::std::ptr::addr_of!((*ptr).ri_system_ptime) as usize - ptr as usize }, + 312usize, + "Offset of field: rusage_info_v6::ri_system_ptime" ); assert_eq!( - ::std::mem::align_of::<__once_flag>(), - 4usize, - "Alignment of __once_flag" + unsafe { ::std::ptr::addr_of!((*ptr).ri_pinstructions) as usize - ptr as usize }, + 320usize, + "Offset of field: rusage_info_v6::ri_pinstructions" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, - 0usize, - "Offset of field: __once_flag::__data" + unsafe { ::std::ptr::addr_of!((*ptr).ri_pcycles) as usize - ptr as usize }, + 328usize, + "Offset of field: rusage_info_v6::ri_pcycles" ); -} -pub type pthread_t = ::std::os::raw::c_ulong; -#[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_mutexattr_t { - pub __size: [::std::os::raw::c_char; 4usize], - pub __align: ::std::os::raw::c_int, -} -#[test] -fn bindgen_test_layout_pthread_mutexattr_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 4usize, - "Size of pthread_mutexattr_t" + unsafe { ::std::ptr::addr_of!((*ptr).ri_energy_nj) as usize - ptr as usize }, + 336usize, + "Offset of field: rusage_info_v6::ri_energy_nj" ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - "Alignment of pthread_mutexattr_t" + unsafe { ::std::ptr::addr_of!((*ptr).ri_penergy_nj) as usize - ptr as usize }, + 344usize, + "Offset of field: rusage_info_v6::ri_penergy_nj" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_mutexattr_t::__size" + unsafe { ::std::ptr::addr_of!((*ptr).ri_secure_time_in_system) as usize - ptr as usize }, + 352usize, + "Offset of field: rusage_info_v6::ri_secure_time_in_system" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_mutexattr_t::__align" + unsafe { ::std::ptr::addr_of!((*ptr).ri_secure_ptime_in_system) as usize - ptr as usize }, + 360usize, + "Offset of field: rusage_info_v6::ri_secure_ptime_in_system" ); -} -impl ::std::fmt::Debug for pthread_mutexattr_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "pthread_mutexattr_t {{ union }}") - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_condattr_t { - pub __size: [::std::os::raw::c_char; 4usize], - pub __align: ::std::os::raw::c_int, -} -#[test] -fn bindgen_test_layout_pthread_condattr_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 4usize, - "Size of pthread_condattr_t" + unsafe { ::std::ptr::addr_of!((*ptr).ri_neural_footprint) as usize - ptr as usize }, + 368usize, + "Offset of field: rusage_info_v6::ri_neural_footprint" ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - "Alignment of pthread_condattr_t" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_lifetime_max_neural_footprint) as usize - ptr as usize + }, + 376usize, + "Offset of field: rusage_info_v6::ri_lifetime_max_neural_footprint" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_condattr_t::__size" + unsafe { + ::std::ptr::addr_of!((*ptr).ri_interval_max_neural_footprint) as usize - ptr as usize + }, + 384usize, + "Offset of field: rusage_info_v6::ri_interval_max_neural_footprint" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_condattr_t::__align" + unsafe { ::std::ptr::addr_of!((*ptr).ri_reserved) as usize - ptr as usize }, + 392usize, + "Offset of field: rusage_info_v6::ri_reserved" ); } -impl ::std::fmt::Debug for pthread_condattr_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "pthread_condattr_t {{ union }}") - } -} -pub type pthread_key_t = ::std::os::raw::c_uint; -pub type pthread_once_t = ::std::os::raw::c_int; +pub type rusage_info_current = rusage_info_v6; #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_attr_t { - pub __size: [::std::os::raw::c_char; 56usize], - pub __align: ::std::os::raw::c_long, +#[derive(Debug, Copy, Clone)] +pub struct rlimit { + pub rlim_cur: rlim_t, + pub rlim_max: rlim_t, } #[test] -fn bindgen_test_layout_pthread_attr_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_rlimit() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::(), 16usize, "Size of rlimit"); assert_eq!( - ::std::mem::size_of::(), - 56usize, - "Size of pthread_attr_t" - ); - assert_eq!( - ::std::mem::align_of::(), + ::std::mem::align_of::(), 8usize, - "Alignment of pthread_attr_t" + "Alignment of rlimit" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).rlim_cur) as usize - ptr as usize }, 0usize, - "Offset of field: pthread_attr_t::__size" + "Offset of field: rlimit::rlim_cur" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_attr_t::__align" + unsafe { ::std::ptr::addr_of!((*ptr).rlim_max) as usize - ptr as usize }, + 8usize, + "Offset of field: rlimit::rlim_max" ); } -impl ::std::fmt::Debug for pthread_attr_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "pthread_attr_t {{ union }}") - } -} #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_mutex_t { - pub __data: __pthread_mutex_s, - pub __size: [::std::os::raw::c_char; 40usize], - pub __align: ::std::os::raw::c_long, +#[derive(Debug, Copy, Clone)] +pub struct proc_rlimit_control_wakeupmon { + pub wm_flags: u32, + pub wm_rate: i32, } #[test] -fn bindgen_test_layout_pthread_mutex_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_proc_rlimit_control_wakeupmon() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 40usize, - "Size of pthread_mutex_t" - ); - assert_eq!( - ::std::mem::align_of::(), + ::std::mem::size_of::(), 8usize, - "Alignment of pthread_mutex_t" + "Size of proc_rlimit_control_wakeupmon" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_mutex_t::__data" + ::std::mem::align_of::(), + 4usize, + "Alignment of proc_rlimit_control_wakeupmon" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).wm_flags) as usize - ptr as usize }, 0usize, - "Offset of field: pthread_mutex_t::__size" + "Offset of field: proc_rlimit_control_wakeupmon::wm_flags" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_mutex_t::__align" + unsafe { ::std::ptr::addr_of!((*ptr).wm_rate) as usize - ptr as usize }, + 4usize, + "Offset of field: proc_rlimit_control_wakeupmon::wm_rate" ); } -impl ::std::fmt::Debug for pthread_mutex_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "pthread_mutex_t {{ union }}") - } +extern "C" { + pub fn getpriority(arg1: ::std::os::raw::c_int, arg2: id_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getiopolicy_np( + arg1: ::std::os::raw::c_int, + arg2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getrlimit(arg1: ::std::os::raw::c_int, arg2: *mut rlimit) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getrusage(arg1: ::std::os::raw::c_int, arg2: *mut rusage) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setpriority( + arg1: ::std::os::raw::c_int, + arg2: id_t, + arg3: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setiopolicy_np( + arg1: ::std::os::raw::c_int, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setrlimit(arg1: ::std::os::raw::c_int, arg2: *const rlimit) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Copy, Clone)] -pub union pthread_cond_t { - pub __data: __pthread_cond_s, - pub __size: [::std::os::raw::c_char; 48usize], - pub __align: ::std::os::raw::c_longlong, +pub union wait { + pub w_status: ::std::os::raw::c_int, + pub w_T: wait__bindgen_ty_1, + pub w_S: wait__bindgen_ty_2, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct wait__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, } #[test] -fn bindgen_test_layout_pthread_cond_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 48usize, - "Size of pthread_cond_t" - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of pthread_cond_t" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_cond_t::__data" - ); +fn bindgen_test_layout_wait__bindgen_ty_1() { assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_cond_t::__size" + ::std::mem::size_of::(), + 4usize, + "Size of wait__bindgen_ty_1" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_cond_t::__align" + ::std::mem::align_of::(), + 4usize, + "Alignment of wait__bindgen_ty_1" ); } -impl ::std::fmt::Debug for pthread_cond_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "pthread_cond_t {{ union }}") +impl wait__bindgen_ty_1 { + #[inline] + pub fn w_Termsig(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) } + } + #[inline] + pub fn set_w_Termsig(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 7u8, val as u64) + } + } + #[inline] + pub unsafe fn w_Termsig_raw(this: *const Self) -> ::std::os::raw::c_uint { + unsafe { + ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::std::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 7u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_w_Termsig_raw(this: *mut Self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::std::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 7u8, + val as u64, + ) + } + } + #[inline] + pub fn w_Coredump(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_w_Coredump(&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 w_Coredump_raw(this: *const Self) -> ::std::os::raw::c_uint { + unsafe { + ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::std::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_w_Coredump_raw(this: *mut Self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::std::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn w_Retcode(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_w_Retcode(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn w_Retcode_raw(this: *const Self) -> ::std::os::raw::c_uint { + unsafe { + ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::std::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_w_Retcode_raw(this: *mut Self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::std::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn w_Filler(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub unsafe fn w_Filler_raw(this: *const Self) -> ::std::os::raw::c_uint { + unsafe { + ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::std::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 16u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_w_Filler_raw(this: *mut Self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::std::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 16u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + w_Termsig: ::std::os::raw::c_uint, + w_Coredump: ::std::os::raw::c_uint, + w_Retcode: ::std::os::raw::c_uint, + w_Filler: ::std::os::raw::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 7u8, { + let w_Termsig: u32 = unsafe { ::std::mem::transmute(w_Termsig) }; + w_Termsig as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let w_Coredump: u32 = unsafe { ::std::mem::transmute(w_Coredump) }; + w_Coredump as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let w_Retcode: u32 = unsafe { ::std::mem::transmute(w_Retcode) }; + w_Retcode as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) }; + w_Filler as u64 + }); + __bindgen_bitfield_unit } } #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_rwlock_t { - pub __data: __pthread_rwlock_arch_t, - pub __size: [::std::os::raw::c_char; 56usize], - pub __align: ::std::os::raw::c_long, +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct wait__bindgen_ty_2 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, } #[test] -fn bindgen_test_layout_pthread_rwlock_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); +fn bindgen_test_layout_wait__bindgen_ty_2() { assert_eq!( - ::std::mem::size_of::(), - 56usize, - "Size of pthread_rwlock_t" + ::std::mem::size_of::(), + 4usize, + "Size of wait__bindgen_ty_2" ); assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of pthread_rwlock_t" + ::std::mem::align_of::(), + 4usize, + "Alignment of wait__bindgen_ty_2" ); +} +impl wait__bindgen_ty_2 { + #[inline] + pub fn w_Stopval(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_w_Stopval(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn w_Stopval_raw(this: *const Self) -> ::std::os::raw::c_uint { + unsafe { + ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::std::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_w_Stopval_raw(this: *mut Self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::std::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn w_Stopsig(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_w_Stopsig(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn w_Stopsig_raw(this: *const Self) -> ::std::os::raw::c_uint { + unsafe { + ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::std::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_w_Stopsig_raw(this: *mut Self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::std::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn w_Filler(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub unsafe fn w_Filler_raw(this: *const Self) -> ::std::os::raw::c_uint { + unsafe { + ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::std::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 16u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_w_Filler_raw(this: *mut Self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::std::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 16u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + w_Stopval: ::std::os::raw::c_uint, + w_Stopsig: ::std::os::raw::c_uint, + w_Filler: ::std::os::raw::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let w_Stopval: u32 = unsafe { ::std::mem::transmute(w_Stopval) }; + w_Stopval as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let w_Stopsig: u32 = unsafe { ::std::mem::transmute(w_Stopsig) }; + w_Stopsig as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) }; + w_Filler as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_wait() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::(), 4usize, "Size of wait"); + assert_eq!(::std::mem::align_of::(), 4usize, "Alignment of wait"); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).w_status) as usize - ptr as usize }, 0usize, - "Offset of field: pthread_rwlock_t::__data" + "Offset of field: wait::w_status" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).w_T) as usize - ptr as usize }, 0usize, - "Offset of field: pthread_rwlock_t::__size" + "Offset of field: wait::w_T" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).w_S) as usize - ptr as usize }, 0usize, - "Offset of field: pthread_rwlock_t::__align" + "Offset of field: wait::w_S" ); } -impl ::std::fmt::Debug for pthread_rwlock_t { +impl ::std::fmt::Debug for wait { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "pthread_rwlock_t {{ union }}") + write!(f, "wait {{ union }}") } } +extern "C" { + pub fn wait(arg1: *mut ::std::os::raw::c_int) -> pid_t; +} +extern "C" { + pub fn waitpid( + arg1: pid_t, + arg2: *mut ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + ) -> pid_t; +} +extern "C" { + pub fn waitid( + arg1: idtype_t, + arg2: id_t, + arg3: *mut siginfo_t, + arg4: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wait3( + arg1: *mut ::std::os::raw::c_int, + arg2: ::std::os::raw::c_int, + arg3: *mut rusage, + ) -> pid_t; +} +extern "C" { + pub fn wait4( + arg1: pid_t, + arg2: *mut ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: *mut rusage, + ) -> pid_t; +} +extern "C" { + pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; +} +pub type ct_rune_t = __darwin_ct_rune_t; +pub type rune_t = __darwin_rune_t; #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_rwlockattr_t { - pub __size: [::std::os::raw::c_char; 8usize], - pub __align: ::std::os::raw::c_long, +#[derive(Debug, Copy, Clone)] +pub struct div_t { + pub quot: ::std::os::raw::c_int, + pub rem: ::std::os::raw::c_int, } #[test] -fn bindgen_test_layout_pthread_rwlockattr_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_div_t() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::(), 8usize, "Size of div_t"); assert_eq!( - ::std::mem::size_of::(), - 8usize, - "Size of pthread_rwlockattr_t" - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of pthread_rwlockattr_t" + ::std::mem::align_of::(), + 4usize, + "Alignment of div_t" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, 0usize, - "Offset of field: pthread_rwlockattr_t::__size" + "Offset of field: div_t::quot" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_rwlockattr_t::__align" + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 4usize, + "Offset of field: div_t::rem" ); } -impl ::std::fmt::Debug for pthread_rwlockattr_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "pthread_rwlockattr_t {{ union }}") - } -} -pub type pthread_spinlock_t = ::std::os::raw::c_int; #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_barrier_t { - pub __size: [::std::os::raw::c_char; 32usize], - pub __align: ::std::os::raw::c_long, +#[derive(Debug, Copy, Clone)] +pub struct ldiv_t { + pub quot: ::std::os::raw::c_long, + pub rem: ::std::os::raw::c_long, } #[test] -fn bindgen_test_layout_pthread_barrier_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_ldiv_t() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::(), 16usize, "Size of ldiv_t"); assert_eq!( - ::std::mem::size_of::(), - 32usize, - "Size of pthread_barrier_t" - ); - assert_eq!( - ::std::mem::align_of::(), + ::std::mem::align_of::(), 8usize, - "Alignment of pthread_barrier_t" + "Alignment of ldiv_t" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, 0usize, - "Offset of field: pthread_barrier_t::__size" + "Offset of field: ldiv_t::quot" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_barrier_t::__align" + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 8usize, + "Offset of field: ldiv_t::rem" ); } -impl ::std::fmt::Debug for pthread_barrier_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "pthread_barrier_t {{ union }}") - } -} #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_barrierattr_t { - pub __size: [::std::os::raw::c_char; 4usize], - pub __align: ::std::os::raw::c_int, +#[derive(Debug, Copy, Clone)] +pub struct lldiv_t { + pub quot: ::std::os::raw::c_longlong, + pub rem: ::std::os::raw::c_longlong, } #[test] -fn bindgen_test_layout_pthread_barrierattr_t() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_lldiv_t() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); + assert_eq!(::std::mem::size_of::(), 16usize, "Size of lldiv_t"); assert_eq!( - ::std::mem::size_of::(), - 4usize, - "Size of pthread_barrierattr_t" - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - "Alignment of pthread_barrierattr_t" + ::std::mem::align_of::(), + 8usize, + "Alignment of lldiv_t" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, 0usize, - "Offset of field: pthread_barrierattr_t::__size" + "Offset of field: lldiv_t::quot" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, - "Offset of field: pthread_barrierattr_t::__align" + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 8usize, + "Offset of field: lldiv_t::rem" ); } -impl ::std::fmt::Debug for pthread_barrierattr_t { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "pthread_barrierattr_t {{ union }}") - } +extern "C" { + pub static mut __mb_cur_max: ::std::os::raw::c_int; } +pub type malloc_type_id_t = ::std::os::raw::c_ulonglong; extern "C" { - pub fn random() -> ::std::os::raw::c_long; + pub fn malloc_type_malloc( + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn malloc_type_calloc( + count: usize, + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn srandom(__seed: ::std::os::raw::c_uint); + pub fn malloc_type_free(ptr: *mut ::std::os::raw::c_void, type_id: malloc_type_id_t); } extern "C" { - pub fn initstate( - __seed: ::std::os::raw::c_uint, - __statebuf: *mut ::std::os::raw::c_char, - __statelen: usize, - ) -> *mut ::std::os::raw::c_char; + pub fn malloc_type_realloc( + ptr: *mut ::std::os::raw::c_void, + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn malloc_type_valloc( + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn malloc_type_aligned_alloc( + alignment: usize, + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn malloc_type_posix_memalign( + memptr: *mut *mut ::std::os::raw::c_void, + alignment: usize, + size: usize, + type_id: malloc_type_id_t, + ) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct random_data { - pub fptr: *mut i32, - pub rptr: *mut i32, - pub state: *mut i32, - pub rand_type: ::std::os::raw::c_int, - pub rand_deg: ::std::os::raw::c_int, - pub rand_sep: ::std::os::raw::c_int, - pub end_ptr: *mut i32, +pub struct _malloc_zone_t { + _unused: [u8; 0], } -#[test] -fn bindgen_test_layout_random_data() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 48usize, - "Size of random_data" - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of random_data" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).fptr) as usize - ptr as usize }, - 0usize, - "Offset of field: random_data::fptr" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rptr) as usize - ptr as usize }, - 8usize, - "Offset of field: random_data::rptr" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize }, - 16usize, - "Offset of field: random_data::state" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rand_type) as usize - ptr as usize }, - 24usize, - "Offset of field: random_data::rand_type" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rand_deg) as usize - ptr as usize }, - 28usize, - "Offset of field: random_data::rand_deg" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rand_sep) as usize - ptr as usize }, - 32usize, - "Offset of field: random_data::rand_sep" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).end_ptr) as usize - ptr as usize }, - 40usize, - "Offset of field: random_data::end_ptr" +pub type malloc_zone_t = _malloc_zone_t; +extern "C" { + pub fn malloc_type_zone_malloc( + zone: *mut malloc_zone_t, + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn malloc_type_zone_calloc( + zone: *mut malloc_zone_t, + count: usize, + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn malloc_type_zone_free( + zone: *mut malloc_zone_t, + ptr: *mut ::std::os::raw::c_void, + type_id: malloc_type_id_t, ); } extern "C" { - pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int; + pub fn malloc_type_zone_realloc( + zone: *mut malloc_zone_t, + ptr: *mut ::std::os::raw::c_void, + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn srandom_r( - __seed: ::std::os::raw::c_uint, - __buf: *mut random_data, - ) -> ::std::os::raw::c_int; + pub fn malloc_type_zone_valloc( + zone: *mut malloc_zone_t, + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn malloc_type_zone_memalign( + zone: *mut malloc_zone_t, + alignment: usize, + size: usize, + type_id: malloc_type_id_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn calloc( + __count: ::std::os::raw::c_ulong, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn free(arg1: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn realloc( + __ptr: *mut ::std::os::raw::c_void, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn reallocf( + __ptr: *mut ::std::os::raw::c_void, + __size: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn aligned_alloc( + __alignment: ::std::os::raw::c_ulong, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn initstate_r( - __seed: ::std::os::raw::c_uint, - __statebuf: *mut ::std::os::raw::c_char, - __statelen: usize, - __buf: *mut random_data, + pub fn posix_memalign( + __memptr: *mut *mut ::std::os::raw::c_void, + __alignment: usize, + __size: usize, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn setstate_r( - __statebuf: *mut ::std::os::raw::c_char, - __buf: *mut random_data, + pub fn abort() -> !; +} +extern "C" { + pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn atexit(arg1: ::std::option::Option) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn at_quick_exit( + arg1: ::std::option::Option, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn rand() -> ::std::os::raw::c_int; + pub fn atof(arg1: *const ::std::os::raw::c_char) -> f64; } extern "C" { - pub fn srand(__seed: ::std::os::raw::c_uint); + pub fn atoi(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int; + pub fn atol(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; } extern "C" { - pub fn drand48() -> f64; + pub fn atoll(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64; + pub fn bsearch( + __key: *const ::std::os::raw::c_void, + __base: *const ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn lrand48() -> ::std::os::raw::c_long; + pub fn div(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> div_t; } extern "C" { - pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; + pub fn exit(arg1: ::std::os::raw::c_int) -> !; } extern "C" { - pub fn mrand48() -> ::std::os::raw::c_long; + pub fn getenv(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; + pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long; } extern "C" { - pub fn srand48(__seedval: ::std::os::raw::c_long); + pub fn ldiv(arg1: ::std::os::raw::c_long, arg2: ::std::os::raw::c_long) -> ldiv_t; } extern "C" { - pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort; + pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn lcong48(__param: *mut ::std::os::raw::c_ushort); + pub fn lldiv(arg1: ::std::os::raw::c_longlong, arg2: ::std::os::raw::c_longlong) -> lldiv_t; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct drand48_data { - pub __x: [::std::os::raw::c_ushort; 3usize], - pub __old_x: [::std::os::raw::c_ushort; 3usize], - pub __c: ::std::os::raw::c_ushort, - pub __init: ::std::os::raw::c_ushort, - pub __a: ::std::os::raw::c_ulonglong, +extern "C" { + pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int; } -#[test] -fn bindgen_test_layout_drand48_data() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 24usize, - "Size of drand48_data" - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of drand48_data" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize }, - 0usize, - "Offset of field: drand48_data::__x" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__old_x) as usize - ptr as usize }, - 6usize, - "Offset of field: drand48_data::__old_x" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__c) as usize - ptr as usize }, - 12usize, - "Offset of field: drand48_data::__c" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__init) as usize - ptr as usize }, - 14usize, - "Offset of field: drand48_data::__init" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__a) as usize - ptr as usize }, - 16usize, - "Offset of field: drand48_data::__a" +extern "C" { + pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const ::std::os::raw::c_char, __n: usize) -> usize; +} +extern "C" { + pub fn mbtowc( + arg1: *mut wchar_t, + arg2: *const ::std::os::raw::c_char, + __n: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn qsort( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, ); } extern "C" { - pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int; + pub fn quick_exit(arg1: ::std::os::raw::c_int) -> !; +} +extern "C" { + pub fn rand() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn srand(arg1: ::std::os::raw::c_uint); +} +extern "C" { + pub fn strtod( + arg1: *const ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> f64; +} +extern "C" { + pub fn strtof( + arg1: *const ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> f32; +} +extern "C" { + pub fn strtol( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn strtold( + arg1: *const ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> f64; +} +extern "C" { + pub fn strtoll( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn strtoul( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strtoull( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; } extern "C" { - pub fn erand48_r( - __xsubi: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - __result: *mut f64, - ) -> ::std::os::raw::c_int; + pub fn system(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn lrand48_r( - __buffer: *mut drand48_data, - __result: *mut ::std::os::raw::c_long, - ) -> ::std::os::raw::c_int; + pub fn wcstombs(arg1: *mut ::std::os::raw::c_char, arg2: *const wchar_t, __n: usize) -> usize; } extern "C" { - pub fn nrand48_r( - __xsubi: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - __result: *mut ::std::os::raw::c_long, - ) -> ::std::os::raw::c_int; + pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn mrand48_r( - __buffer: *mut drand48_data, - __result: *mut ::std::os::raw::c_long, - ) -> ::std::os::raw::c_int; + pub fn _Exit(arg1: ::std::os::raw::c_int) -> !; } extern "C" { - pub fn jrand48_r( - __xsubi: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - __result: *mut ::std::os::raw::c_long, - ) -> ::std::os::raw::c_int; + pub fn a64l(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; } extern "C" { - pub fn srand48_r( - __seedval: ::std::os::raw::c_long, - __buffer: *mut drand48_data, - ) -> ::std::os::raw::c_int; + pub fn drand48() -> f64; } extern "C" { - pub fn seed48_r( - __seed16v: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - ) -> ::std::os::raw::c_int; + pub fn ecvt( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn lcong48_r( - __param: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - ) -> ::std::os::raw::c_int; + pub fn erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64; } extern "C" { - pub fn arc4random() -> __uint32_t; + pub fn fcvt( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __size: usize); + pub fn gcvt( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn arc4random_uniform(__upper_bound: __uint32_t) -> __uint32_t; + pub fn getsubopt( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *const *mut ::std::os::raw::c_char, + arg3: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; + pub fn grantpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn calloc( - __nmemb: ::std::os::raw::c_ulong, - __size: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn initstate( + arg1: ::std::os::raw::c_uint, + arg2: *mut ::std::os::raw::c_char, + __size: usize, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn realloc( - __ptr: *mut ::std::os::raw::c_void, - __size: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; } extern "C" { - pub fn free(__ptr: *mut ::std::os::raw::c_void); + pub fn l64a(arg1: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn reallocarray( - __ptr: *mut ::std::os::raw::c_void, - __nmemb: usize, - __size: usize, - ) -> *mut ::std::os::raw::c_void; + pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort); } extern "C" { - pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; + pub fn lrand48() -> ::std::os::raw::c_long; } extern "C" { - pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void; + pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn posix_memalign( - __memptr: *mut *mut ::std::os::raw::c_void, - __alignment: usize, - __size: usize, - ) -> ::std::os::raw::c_int; + pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn aligned_alloc( - __alignment: ::std::os::raw::c_ulong, - __size: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn mrand48() -> ::std::os::raw::c_long; } extern "C" { - pub fn abort() -> !; + pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; } extern "C" { - pub fn atexit(__func: ::std::option::Option) -> ::std::os::raw::c_int; + pub fn posix_openpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn at_quick_exit( - __func: ::std::option::Option, - ) -> ::std::os::raw::c_int; + pub fn ptsname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn on_exit( - __func: ::std::option::Option< - unsafe extern "C" fn( - __status: ::std::os::raw::c_int, - __arg: *mut ::std::os::raw::c_void, - ), - >, - __arg: *mut ::std::os::raw::c_void, + pub fn ptsname_r( + fildes: ::std::os::raw::c_int, + buffer: *mut ::std::os::raw::c_char, + buflen: usize, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn exit(__status: ::std::os::raw::c_int) -> !; + pub fn putenv(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn quick_exit(__status: ::std::os::raw::c_int) -> !; + pub fn random() -> ::std::os::raw::c_long; } extern "C" { - pub fn _Exit(__status: ::std::os::raw::c_int) -> !; + pub fn rand_r(arg1: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int; } extern "C" { - pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + #[link_name = "\u{1}_realpath$DARWIN_EXTSN"] + pub fn realpath( + arg1: *const ::std::os::raw::c_char, + arg2: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort; } extern "C" { pub fn setenv( __name: *const ::std::os::raw::c_char, __value: *const ::std::os::raw::c_char, - __replace: ::std::os::raw::c_int, + __overwrite: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn setkey(arg1: *const ::std::os::raw::c_char); } extern "C" { - pub fn clearenv() -> ::std::os::raw::c_int; + pub fn setstate(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn srand48(arg1: ::std::os::raw::c_long); } extern "C" { - pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn srandom(arg1: ::std::os::raw::c_uint); } extern "C" { - pub fn mkstemps( - __template: *mut ::std::os::raw::c_char, - __suffixlen: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn unlockpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn unsetenv(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } +pub type dev_t = __darwin_dev_t; +pub type mode_t = __darwin_mode_t; extern "C" { - pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn arc4random() -> u32; } extern "C" { - pub fn realpath( - __name: *const ::std::os::raw::c_char, - __resolved: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn arc4random_addrandom( + arg1: *mut ::std::os::raw::c_uchar, + __datlen: ::std::os::raw::c_int, + ); } -pub type __compar_fn_t = ::std::option::Option< - unsafe extern "C" fn( - arg1: *const ::std::os::raw::c_void, - arg2: *const ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int, ->; extern "C" { - pub fn bsearch( - __key: *const ::std::os::raw::c_void, - __base: *const ::std::os::raw::c_void, - __nmemb: usize, - __size: usize, - __compar: __compar_fn_t, - ) -> *mut ::std::os::raw::c_void; + pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __nbytes: usize); } extern "C" { - pub fn qsort( - __base: *mut ::std::os::raw::c_void, - __nmemb: usize, - __size: usize, - __compar: __compar_fn_t, - ); + pub fn arc4random_stir(); } extern "C" { - pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn arc4random_uniform(__upper_bound: u32) -> u32; } extern "C" { - pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long; + pub fn atexit_b(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int; } extern "C" { - pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; + pub fn bsearch_b( + __key: *const ::std::os::raw::c_void, + __base: *const ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t; + pub fn cgetcap( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t; + pub fn cgetclose() -> ::std::os::raw::c_int; } extern "C" { - pub fn lldiv( - __numer: ::std::os::raw::c_longlong, - __denom: ::std::os::raw::c_longlong, - ) -> lldiv_t; + pub fn cgetent( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn ecvt( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn cgetfirst( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fcvt( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn cgetmatch( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn gcvt( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn cgetnext( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn qecvt( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn cgetnum( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: *mut ::std::os::raw::c_long, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn qfcvt( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn cgetset(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn qgcvt( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn cgetstr( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn ecvt_r( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - __len: usize, + pub fn cgetustr( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: *mut *mut ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fcvt_r( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - __len: usize, + pub fn daemon( + arg1: ::std::os::raw::c_int, + arg2: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn qecvt_r( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - __len: usize, - ) -> ::std::os::raw::c_int; + pub fn devname(arg1: dev_t, arg2: mode_t) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn qfcvt_r( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - __len: usize, - ) -> ::std::os::raw::c_int; + pub fn devname_r( + arg1: dev_t, + arg2: mode_t, + buf: *mut ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int; + pub fn getbsize( + arg1: *mut ::std::os::raw::c_int, + arg2: *mut ::std::os::raw::c_long, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn mbtowc( - __pwc: *mut wchar_t, - __s: *const ::std::os::raw::c_char, - __n: usize, - ) -> ::std::os::raw::c_int; + pub fn getloadavg(arg1: *mut f64, __nelem: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int; + pub fn getprogname() -> *const ::std::os::raw::c_char; } extern "C" { - pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize; + pub fn setprogname(arg1: *const ::std::os::raw::c_char); } extern "C" { - pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize; + pub fn heapsort( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn heapsort_b( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn getsubopt( - __optionp: *mut *mut ::std::os::raw::c_char, - __tokens: *const *mut ::std::os::raw::c_char, - __valuep: *mut *mut ::std::os::raw::c_char, + pub fn mergesort( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int) - -> ::std::os::raw::c_int; + pub fn mergesort_b( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn memcpy( - __dest: *mut ::std::os::raw::c_void, - __src: *const ::std::os::raw::c_void, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn psort( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ); } extern "C" { - pub fn memmove( - __dest: *mut ::std::os::raw::c_void, - __src: *const ::std::os::raw::c_void, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn psort_b( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: *mut ::std::os::raw::c_void, + ); } extern "C" { - pub fn memccpy( - __dest: *mut ::std::os::raw::c_void, - __src: *const ::std::os::raw::c_void, - __c: ::std::os::raw::c_int, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn psort_r( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + arg1: *mut ::std::os::raw::c_void, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + arg3: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ); } extern "C" { - pub fn memset( - __s: *mut ::std::os::raw::c_void, - __c: ::std::os::raw::c_int, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn qsort_b( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + __compar: *mut ::std::os::raw::c_void, + ); } extern "C" { - pub fn memcmp( - __s1: *const ::std::os::raw::c_void, - __s2: *const ::std::os::raw::c_void, - __n: ::std::os::raw::c_ulong, + pub fn qsort_r( + __base: *mut ::std::os::raw::c_void, + __nel: usize, + __width: usize, + arg1: *mut ::std::os::raw::c_void, + __compar: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + arg3: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + ); +} +extern "C" { + pub fn radixsort( + __base: *mut *const ::std::os::raw::c_uchar, + __nel: ::std::os::raw::c_int, + __table: *const ::std::os::raw::c_uchar, + __endbyte: ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __memcmpeq( - __s1: *const ::std::os::raw::c_void, - __s2: *const ::std::os::raw::c_void, - __n: usize, + pub fn rpmatch(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sradixsort( + __base: *mut *const ::std::os::raw::c_uchar, + __nel: ::std::os::raw::c_int, + __table: *const ::std::os::raw::c_uchar, + __endbyte: ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn memchr( - __s: *const ::std::os::raw::c_void, - __c: ::std::os::raw::c_int, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn sranddev(); } extern "C" { - pub fn strcpy( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn srandomdev(); } extern "C" { - pub fn strncpy( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_char; + pub fn strtonum( + __numstr: *const ::std::os::raw::c_char, + __minval: ::std::os::raw::c_longlong, + __maxval: ::std::os::raw::c_longlong, + __errstrp: *mut *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn strcat( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn strtoq( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn strncat( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_char; + pub fn strtouq( + __str: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; } extern "C" { - pub fn strcmp( - __s1: *const ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub static mut suboptarg: *mut ::std::os::raw::c_char; } extern "C" { - pub fn strncmp( - __s1: *const ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, + pub fn memchr( + __s: *const ::std::os::raw::c_void, + __c: ::std::os::raw::c_int, __n: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_int; + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn strcoll( - __s1: *const ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, + pub fn memcmp( + __s1: *const ::std::os::raw::c_void, + __s2: *const ::std::os::raw::c_void, + __n: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn strxfrm( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, + pub fn memcpy( + __dst: *mut ::std::os::raw::c_void, + __src: *const ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_ulong; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __locale_struct { - pub __locales: [*mut __locale_data; 13usize], - pub __ctype_b: *const ::std::os::raw::c_ushort, - pub __ctype_tolower: *const ::std::os::raw::c_int, - pub __ctype_toupper: *const ::std::os::raw::c_int, - pub __names: [*const ::std::os::raw::c_char; 13usize], + ) -> *mut ::std::os::raw::c_void; } -#[test] -fn bindgen_test_layout___locale_struct() { - const UNINIT: ::std::mem::MaybeUninit<__locale_struct> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__locale_struct>(), - 232usize, - "Size of __locale_struct" - ); - assert_eq!( - ::std::mem::align_of::<__locale_struct>(), - 8usize, - "Alignment of __locale_struct" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__locales) as usize - ptr as usize }, - 0usize, - "Offset of field: __locale_struct::__locales" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__ctype_b) as usize - ptr as usize }, - 104usize, - "Offset of field: __locale_struct::__ctype_b" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__ctype_tolower) as usize - ptr as usize }, - 112usize, - "Offset of field: __locale_struct::__ctype_tolower" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__ctype_toupper) as usize - ptr as usize }, - 120usize, - "Offset of field: __locale_struct::__ctype_toupper" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__names) as usize - ptr as usize }, - 128usize, - "Offset of field: __locale_struct::__names" - ); +extern "C" { + pub fn memmove( + __dst: *mut ::std::os::raw::c_void, + __src: *const ::std::os::raw::c_void, + __len: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memset( + __b: *mut ::std::os::raw::c_void, + __c: ::std::os::raw::c_int, + __len: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn strcat( + __s1: *mut ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strchr( + __s: *const ::std::os::raw::c_char, + __c: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcmp( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } -pub type __locale_t = *mut __locale_struct; -pub type locale_t = __locale_t; extern "C" { - pub fn strcoll_l( + pub fn strcoll( __s1: *const ::std::os::raw::c_char, __s2: *const ::std::os::raw::c_char, - __l: locale_t, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn strxfrm_l( - __dest: *mut ::std::os::raw::c_char, + pub fn strcpy( + __dst: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, - __n: usize, - __l: locale_t, - ) -> usize; + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn strcspn( + __s: *const ::std::os::raw::c_char, + __charset: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_ulong; } extern "C" { - pub fn strndup( - __string: *const ::std::os::raw::c_char, + pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strncat( + __s1: *mut ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strchr( - __s: *const ::std::os::raw::c_char, - __c: ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn strncmp( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn strrchr( - __s: *const ::std::os::raw::c_char, - __c: ::std::os::raw::c_int, + pub fn strncpy( + __dst: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strchrnul( + pub fn strpbrk( __s: *const ::std::os::raw::c_char, - __c: ::std::os::raw::c_int, + __charset: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strcspn( + pub fn strrchr( __s: *const ::std::os::raw::c_char, - __reject: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_ulong; + __c: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strspn( __s: *const ::std::os::raw::c_char, - __accept: *const ::std::os::raw::c_char, + __charset: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_ulong; } -extern "C" { - pub fn strpbrk( - __s: *const ::std::os::raw::c_char, - __accept: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; -} extern "C" { pub fn strstr( - __haystack: *const ::std::os::raw::c_char, - __needle: *const ::std::os::raw::c_char, + __big: *const ::std::os::raw::c_char, + __little: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strtok( - __s: *mut ::std::os::raw::c_char, - __delim: *const ::std::os::raw::c_char, + __str: *mut ::std::os::raw::c_char, + __sep: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn __strtok_r( - __s: *mut ::std::os::raw::c_char, - __delim: *const ::std::os::raw::c_char, - __save_ptr: *mut *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn strxfrm( + __s1: *mut ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn strtok_r( - __s: *mut ::std::os::raw::c_char, - __delim: *const ::std::os::raw::c_char, - __save_ptr: *mut *mut ::std::os::raw::c_char, + __str: *mut ::std::os::raw::c_char, + __sep: *const ::std::os::raw::c_char, + __lasts: *mut *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strcasestr( - __haystack: *const ::std::os::raw::c_char, - __needle: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn strerror_r( + __errnum: ::std::os::raw::c_int, + __strerrbuf: *mut ::std::os::raw::c_char, + __buflen: usize, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn memmem( - __haystack: *const ::std::os::raw::c_void, - __haystacklen: usize, - __needle: *const ::std::os::raw::c_void, - __needlelen: usize, - ) -> *mut ::std::os::raw::c_void; + pub fn strdup(__s1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn __mempcpy( - __dest: *mut ::std::os::raw::c_void, + pub fn memccpy( + __dst: *mut ::std::os::raw::c_void, __src: *const ::std::os::raw::c_void, - __n: usize, + __c: ::std::os::raw::c_int, + __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn mempcpy( - __dest: *mut ::std::os::raw::c_void, - __src: *const ::std::os::raw::c_void, + pub fn stpcpy( + __dst: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn stpncpy( + __dst: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong; + pub fn strndup( + __s1: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize; + pub fn strnlen(__s1: *const ::std::os::raw::c_char, __n: usize) -> usize; } extern "C" { - pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; + pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; } extern "C" { - #[link_name = "\u{1}__xpg_strerror_r"] - pub fn strerror_r( - __errnum: ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - __buflen: usize, - ) -> ::std::os::raw::c_int; + pub fn memset_s( + __s: *mut ::std::os::raw::c_void, + __smax: rsize_t, + __c: ::std::os::raw::c_int, + __n: rsize_t, + ) -> errno_t; } extern "C" { - pub fn strerror_l( - __errnum: ::std::os::raw::c_int, - __l: locale_t, - ) -> *mut ::std::os::raw::c_char; + pub fn memmem( + __big: *const ::std::os::raw::c_void, + __big_len: usize, + __little: *const ::std::os::raw::c_void, + __little_len: usize, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn bcmp( - __s1: *const ::std::os::raw::c_void, - __s2: *const ::std::os::raw::c_void, - __n: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_int; + pub fn memset_pattern4( + __b: *mut ::std::os::raw::c_void, + __pattern4: *const ::std::os::raw::c_void, + __len: usize, + ); } extern "C" { - pub fn bcopy( - __src: *const ::std::os::raw::c_void, - __dest: *mut ::std::os::raw::c_void, - __n: ::std::os::raw::c_ulong, + pub fn memset_pattern8( + __b: *mut ::std::os::raw::c_void, + __pattern8: *const ::std::os::raw::c_void, + __len: usize, + ); +} +extern "C" { + pub fn memset_pattern16( + __b: *mut ::std::os::raw::c_void, + __pattern16: *const ::std::os::raw::c_void, + __len: usize, ); } extern "C" { - pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong); + pub fn strcasestr( + __big: *const ::std::os::raw::c_char, + __little: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn index( + pub fn strchrnul( __s: *const ::std::os::raw::c_char, __c: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn rindex( - __s: *const ::std::os::raw::c_char, - __c: ::std::os::raw::c_int, + pub fn strnstr( + __big: *const ::std::os::raw::c_char, + __little: *const ::std::os::raw::c_char, + __len: usize, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn strlcat( + __dst: *mut ::std::os::raw::c_char, + __source: *const ::std::os::raw::c_char, + __size: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_ulong; } extern "C" { - pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int; + pub fn strlcpy( + __dst: *mut ::std::os::raw::c_char, + __source: *const ::std::os::raw::c_char, + __size: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_ulong; } extern "C" { - pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; + pub fn strmode(__mode: ::std::os::raw::c_int, __bp: *mut ::std::os::raw::c_char); } extern "C" { - pub fn strcasecmp( - __s1: *const ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub fn strsep( + __stringp: *mut *mut ::std::os::raw::c_char, + __delim: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strncasecmp( - __s1: *const ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, - __n: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_int; + pub fn swab( + arg1: *const ::std::os::raw::c_void, + arg2: *mut ::std::os::raw::c_void, + __len: isize, + ); } extern "C" { - pub fn strcasecmp_l( - __s1: *const ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, - __loc: locale_t, + pub fn timingsafe_bcmp( + __b1: *const ::std::os::raw::c_void, + __b2: *const ::std::os::raw::c_void, + __len: usize, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn strncasecmp_l( - __s1: *const ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, - __n: usize, - __loc: locale_t, + pub fn strsignal_r( + __sig: ::std::os::raw::c_int, + __strsignalbuf: *mut ::std::os::raw::c_char, + __buflen: usize, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize); + pub fn bcmp( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn strsep( - __stringp: *mut *mut ::std::os::raw::c_char, - __delim: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn bcopy( + arg1: *const ::std::os::raw::c_void, + arg2: *mut ::std::os::raw::c_void, + __n: ::std::os::raw::c_ulong, + ); } extern "C" { - pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; + pub fn bzero(arg1: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong); } extern "C" { - pub fn __stpcpy( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, + pub fn index( + arg1: *const ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn stpcpy( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, + pub fn rindex( + arg1: *const ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn __stpncpy( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - __n: usize, - ) -> *mut ::std::os::raw::c_char; + pub fn ffs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn stpncpy( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_char; + pub fn strcasecmp( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn strlcpy( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - __n: usize, - ) -> usize; + pub fn strncasecmp( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn strlcat( - __dest: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - __n: usize, - ) -> usize; + pub fn ffsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ffsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fls(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn flsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn flsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; } extern "C" { #[doc = " Put a description of the AVERROR code errnum in errbuf.\n In case of failure the global variable errno is set to indicate the\n error. Even in case of failure av_strerror() will print a generic\n error message indicating the errnum provided to errbuf.\n\n @param errnum error code to describe\n @param errbuf buffer to which description is written\n @param errbuf_size the size in bytes of errbuf\n @return 0 on success, a negative value if a description for errnum\n cannot be found"] @@ -6455,13 +8797,14 @@ extern "C" { ) -> i64; } extern "C" { - #[doc = " Add a value to a timestamp.\n\n This function guarantees that when the same value is repeatly added that\n no accumulation of rounding errors occurs.\n\n @param[in] ts Input timestamp\n @param[in] ts_tb Input timestamp time base\n @param[in] inc Value to be added\n @param[in] inc_tb Time base of `inc`"] + #[doc = " Add a value to a timestamp.\n\n This function guarantees that when the same value is repeatedly added that\n no accumulation of rounding errors occurs.\n\n @param[in] ts Input timestamp\n @param[in] ts_tb Input timestamp time base\n @param[in] inc Value to be added\n @param[in] inc_tb Time base of `inc`"] pub fn av_add_stable(ts_tb: AVRational, ts: i64, inc_tb: AVRational, inc: i64) -> i64; } extern "C" { #[doc = " 0th order modified bessel function of the first kind."] pub fn av_bessel_i0(x: f64) -> f64; } +pub type __gnuc_va_list = __builtin_va_list; pub const AV_CLASS_CATEGORY_NA: AVClassCategory = 0; pub const AV_CLASS_CATEGORY_INPUT: AVClassCategory = 1; pub const AV_CLASS_CATEGORY_OUTPUT: AVClassCategory = 2; @@ -6473,6 +8816,7 @@ pub const AV_CLASS_CATEGORY_FILTER: AVClassCategory = 7; pub const AV_CLASS_CATEGORY_BITSTREAM_FILTER: AVClassCategory = 8; pub const AV_CLASS_CATEGORY_SWSCALER: AVClassCategory = 9; pub const AV_CLASS_CATEGORY_SWRESAMPLER: AVClassCategory = 10; +pub const AV_CLASS_CATEGORY_HWDEVICE: AVClassCategory = 11; pub const AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT: AVClassCategory = 40; pub const AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT: AVClassCategory = 41; pub const AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT: AVClassCategory = 42; @@ -6482,6 +8826,9 @@ pub const AV_CLASS_CATEGORY_DEVICE_INPUT: AVClassCategory = 45; #[doc = "< not part of ABI/API"] pub const AV_CLASS_CATEGORY_NB: AVClassCategory = 46; pub type AVClassCategory = ::std::os::raw::c_uint; +#[doc = " Object initialization has finished and it is now in the 'runtime' stage.\n This affects e.g. what options can be set on the object (only\n AV_OPT_FLAG_RUNTIME_PARAM options can be set on initialized objects)."] +pub const AV_CLASS_STATE_INITIALIZED: AVClassStateFlags = 1; +pub type AVClassStateFlags = ::std::os::raw::c_uint; #[doc = " Describe the class of an AVClass context structure. That is an\n arbitrary struct of which the first field is a pointer to an\n AVClass struct (e.g. AVCodecContext, AVFormatContext etc.)."] #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -6492,21 +8839,21 @@ pub struct AVClass { pub item_name: ::std::option::Option< unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char, >, - #[doc = " a pointer to the first option specified in the class if any or NULL\n\n @see av_set_default_options()"] + #[doc = " An array of options for the structure or NULL.\n When non-NULL, the array must be terminated by an option with a NULL\n name.\n\n @see av_set_default_options()"] pub option: *const AVOption, - #[doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added without requiring major\n version bumps everywhere."] + #[doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added to AVClass without requiring\n major version bumps everywhere."] pub version: ::std::os::raw::c_int, - #[doc = " Offset in the structure where log_level_offset is stored.\n 0 means there is no such variable"] + #[doc = " Offset in the structure where the log level offset is stored. The log\n level offset is an int added to the log level for logging with this\n object as the context.\n\n 0 means there is no such variable."] pub log_level_offset_offset: ::std::os::raw::c_int, - #[doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an av_log() implementation\n could then leverage to display the parent context.\n The offset can be NULL."] + #[doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an ::av_log() implementation\n could then leverage to display the parent context.\n\n When the pointer is NULL, or this offset is zero, the object is assumed\n to have no parent."] pub parent_log_context_offset: ::std::os::raw::c_int, - #[doc = " Category used for visualization (like color)\n This is only set if the category is equal for all objects using this class.\n available since version (51 << 16 | 56 << 8 | 100)"] + #[doc = " Category used for visualization (like color).\n\n Only used when ::get_category() is NULL. Use this field when all\n instances of this class have the same category, use ::get_category()\n otherwise."] pub category: AVClassCategory, - #[doc = " Callback to return the category.\n available since version (51 << 16 | 59 << 8 | 100)"] + #[doc = " Callback to return the instance category. Use this callback when\n different instances of this class may have different categories,\n ::category otherwise."] pub get_category: ::std::option::Option< unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> AVClassCategory, >, - #[doc = " Callback to return the supported/allowed ranges.\n available since version (52.12)"] + #[doc = " Callback to return the supported/allowed ranges."] pub query_ranges: ::std::option::Option< unsafe extern "C" fn( arg1: *mut *mut AVOptionRanges, @@ -6522,16 +8869,18 @@ pub struct AVClass { prev: *mut ::std::os::raw::c_void, ) -> *mut ::std::os::raw::c_void, >, - #[doc = " Iterate over the AVClasses corresponding to potential AVOptions-enabled\n children.\n\n @param iter pointer to opaque iteration state. The caller must initialize\n *iter to NULL before the first call.\n @return AVClass for the next AVOptions-enabled child or NULL if there are\n no more such children.\n\n @note The difference between child_next and this is that child_next\n iterates over _already existing_ objects, while child_class_iterate\n iterates over _all possible_ children."] + #[doc = " Iterate over the AVClasses corresponding to potential AVOptions-enabled\n children.\n\n @param iter pointer to opaque iteration state. The caller must initialize\n *iter to NULL before the first call.\n @return AVClass for the next AVOptions-enabled child or NULL if there are\n no more such children.\n\n @note The difference between ::child_next() and ::child_class_iterate()\n is that ::child_next() iterates over _actual_ children of an\n _existing_ object instance, while ::child_class_iterate() iterates\n over the classes of all _potential_ children of any possible\n instance of this class."] pub child_class_iterate: ::std::option::Option< unsafe extern "C" fn(iter: *mut *mut ::std::os::raw::c_void) -> *const AVClass, >, + #[doc = " When non-zero, offset in the object to an unsigned int holding object\n state flags, a combination of AVClassStateFlags values. The flags are\n updated by the object to signal its state to the generic code.\n\n Added in version 59.41.100."] + pub state_flags_offset: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_AVClass() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); - assert_eq!(::std::mem::size_of::(), 72usize, "Size of AVClass"); + assert_eq!(::std::mem::size_of::(), 80usize, "Size of AVClass"); assert_eq!( ::std::mem::align_of::(), 8usize, @@ -6592,6 +8941,11 @@ fn bindgen_test_layout_AVClass() { 64usize, "Offset of field: AVClass::child_class_iterate" ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).state_flags_offset) as usize - ptr as usize }, + 72usize, + "Offset of field: AVClass::state_flags_offset" + ); } extern "C" { #[doc = " Send the specified message to the log if the level is less than or equal\n to the current av_log_level. By default, all logging messages are sent to\n stderr. This behavior can be altered by setting a different logging callback\n function.\n @see av_log_set_callback\n\n @param avcl A pointer to an arbitrary struct of which the first field is a\n pointer to an AVClass struct or NULL if general log.\n @param level The importance level of the message expressed using a @ref\n lavu_log_constants \"Logging Constant\".\n @param fmt The format string (printf-compatible) that specifies how\n subsequent arguments are converted to output."] @@ -6603,7 +8957,7 @@ extern "C" { ); } extern "C" { - #[doc = " Send the specified message to the log once with the initial_level and then with\n the subsequent_level. By default, all logging messages are sent to\n stderr. This behavior can be altered by setting a different logging callback\n function.\n @see av_log\n\n @param avcl A pointer to an arbitrary struct of which the first field is a\n pointer to an AVClass struct or NULL if general log.\n @param initial_level importance level of the message expressed using a @ref\n lavu_log_constants \"Logging Constant\" for the first occurance.\n @param subsequent_level importance level of the message expressed using a @ref\n lavu_log_constants \"Logging Constant\" after the first occurance.\n @param fmt The format string (printf-compatible) that specifies how\n subsequent arguments are converted to output.\n @param state a variable to keep trak of if a message has already been printed\n this must be initialized to 0 before the first use. The same state\n must not be accessed by 2 Threads simultaneously."] + #[doc = " Send the specified message to the log once with the initial_level and then with\n the subsequent_level. By default, all logging messages are sent to\n stderr. This behavior can be altered by setting a different logging callback\n function.\n @see av_log\n\n @param avcl A pointer to an arbitrary struct of which the first field is a\n pointer to an AVClass struct or NULL if general log.\n @param initial_level importance level of the message expressed using a @ref\n lavu_log_constants \"Logging Constant\" for the first occurrence.\n @param subsequent_level importance level of the message expressed using a @ref\n lavu_log_constants \"Logging Constant\" after the first occurrence.\n @param fmt The format string (printf-compatible) that specifies how\n subsequent arguments are converted to output.\n @param state a variable to keep trak of if a message has already been printed\n this must be initialized to 0 before the first use. The same state\n must not be accessed by 2 Threads simultaneously."] pub fn av_log_once( avcl: *mut ::std::os::raw::c_void, initial_level: ::std::os::raw::c_int, @@ -6619,7 +8973,7 @@ extern "C" { avcl: *mut ::std::os::raw::c_void, level: ::std::os::raw::c_int, fmt: *const ::std::os::raw::c_char, - vl: *mut __va_list_tag, + vl: va_list, ); } extern "C" { @@ -6638,7 +8992,7 @@ extern "C" { arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_int, arg3: *const ::std::os::raw::c_char, - arg4: *mut __va_list_tag, + arg4: va_list, ), >, ); @@ -6649,7 +9003,7 @@ extern "C" { avcl: *mut ::std::os::raw::c_void, level: ::std::os::raw::c_int, fmt: *const ::std::os::raw::c_char, - vl: *mut __va_list_tag, + vl: va_list, ); } extern "C" { @@ -6665,7 +9019,7 @@ extern "C" { ptr: *mut ::std::os::raw::c_void, level: ::std::os::raw::c_int, fmt: *const ::std::os::raw::c_char, - vl: *mut __va_list_tag, + vl: va_list, line: *mut ::std::os::raw::c_char, line_size: ::std::os::raw::c_int, print_prefix: *mut ::std::os::raw::c_int, @@ -6677,7 +9031,7 @@ extern "C" { ptr: *mut ::std::os::raw::c_void, level: ::std::os::raw::c_int, fmt: *const ::std::os::raw::c_char, - vl: *mut __va_list_tag, + vl: va_list, line: *mut ::std::os::raw::c_char, line_size: ::std::os::raw::c_int, print_prefix: *mut ::std::os::raw::c_int, @@ -7105,13 +9459,13 @@ pub const AV_PIX_FMT_P216LE: AVPixelFormat = 202; pub const AV_PIX_FMT_P416BE: AVPixelFormat = 203; #[doc = "< interleaved chroma YUV 4:4:4, 48bpp, little-endian"] pub const AV_PIX_FMT_P416LE: AVPixelFormat = 204; -#[doc = "< packed VUYA 4:4:4, 32bpp, VUYAVUYA..."] +#[doc = "< packed VUYA 4:4:4:4, 32bpp (1 Cr & Cb sample per 1x1 Y & A samples), VUYAVUYA..."] pub const AV_PIX_FMT_VUYA: AVPixelFormat = 205; #[doc = "< IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., big-endian"] pub const AV_PIX_FMT_RGBAF16BE: AVPixelFormat = 206; #[doc = "< IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., little-endian"] pub const AV_PIX_FMT_RGBAF16LE: AVPixelFormat = 207; -#[doc = "< packed VUYX 4:4:4, 32bpp, Variant of VUYA where alpha channel is left undefined"] +#[doc = "< packed VUYX 4:4:4:4, 32bpp, Variant of VUYA where alpha channel is left undefined"] pub const AV_PIX_FMT_VUYX: AVPixelFormat = 208; #[doc = "< like NV12, with 12bpp per component, data in the high bits, zeros in the low bits, little-endian"] pub const AV_PIX_FMT_P012LE: AVPixelFormat = 209; @@ -7151,8 +9505,85 @@ pub const AV_PIX_FMT_GBRAP14BE: AVPixelFormat = 225; pub const AV_PIX_FMT_GBRAP14LE: AVPixelFormat = 226; #[doc = " Hardware surfaces for Direct3D 12.\n\n data[0] points to an AVD3D12VAFrame"] pub const AV_PIX_FMT_D3D12: AVPixelFormat = 227; +#[doc = "< packed AYUV 4:4:4:4, 32bpp (1 Cr & Cb sample per 1x1 Y & A samples), AYUVAYUV..."] +pub const AV_PIX_FMT_AYUV: AVPixelFormat = 228; +#[doc = "< packed UYVA 4:4:4:4, 32bpp (1 Cr & Cb sample per 1x1 Y & A samples), UYVAUYVA..."] +pub const AV_PIX_FMT_UYVA: AVPixelFormat = 229; +#[doc = "< packed VYU 4:4:4, 24bpp (1 Cr & Cb sample per 1x1 Y), VYUVYU..."] +pub const AV_PIX_FMT_VYU444: AVPixelFormat = 230; +#[doc = "< packed VYUX 4:4:4 like XV30, 32bpp, (msb)10V 10Y 10U 2X(lsb), big-endian"] +pub const AV_PIX_FMT_V30XBE: AVPixelFormat = 231; +#[doc = "< packed VYUX 4:4:4 like XV30, 32bpp, (msb)10V 10Y 10U 2X(lsb), little-endian"] +pub const AV_PIX_FMT_V30XLE: AVPixelFormat = 232; +#[doc = "< IEEE-754 half precision packed RGB 16:16:16, 48bpp, RGBRGB..., big-endian"] +pub const AV_PIX_FMT_RGBF16BE: AVPixelFormat = 233; +#[doc = "< IEEE-754 half precision packed RGB 16:16:16, 48bpp, RGBRGB..., little-endian"] +pub const AV_PIX_FMT_RGBF16LE: AVPixelFormat = 234; +#[doc = "< packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., big-endian"] +pub const AV_PIX_FMT_RGBA128BE: AVPixelFormat = 235; +#[doc = "< packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., little-endian"] +pub const AV_PIX_FMT_RGBA128LE: AVPixelFormat = 236; +#[doc = "< packed RGBA 32:32:32, 96bpp, RGBRGB..., big-endian"] +pub const AV_PIX_FMT_RGB96BE: AVPixelFormat = 237; +#[doc = "< packed RGBA 32:32:32, 96bpp, RGBRGB..., little-endian"] +pub const AV_PIX_FMT_RGB96LE: AVPixelFormat = 238; +#[doc = "< packed YUV 4:2:2 like YUYV422, 32bpp, big-endian"] +pub const AV_PIX_FMT_Y216BE: AVPixelFormat = 239; +#[doc = "< packed YUV 4:2:2 like YUYV422, 32bpp, little-endian"] +pub const AV_PIX_FMT_Y216LE: AVPixelFormat = 240; +#[doc = "< packed XVYU 4:4:4, 64bpp, big-endian, variant of Y416 where alpha channel is left undefined"] +pub const AV_PIX_FMT_XV48BE: AVPixelFormat = 241; +#[doc = "< packed XVYU 4:4:4, 64bpp, little-endian, variant of Y416 where alpha channel is left undefined"] +pub const AV_PIX_FMT_XV48LE: AVPixelFormat = 242; +#[doc = "< IEEE-754 half precision planer GBR 4:4:4, 48bpp, big-endian"] +pub const AV_PIX_FMT_GBRPF16BE: AVPixelFormat = 243; +#[doc = "< IEEE-754 half precision planer GBR 4:4:4, 48bpp, little-endian"] +pub const AV_PIX_FMT_GBRPF16LE: AVPixelFormat = 244; +#[doc = "< IEEE-754 half precision planar GBRA 4:4:4:4, 64bpp, big-endian"] +pub const AV_PIX_FMT_GBRAPF16BE: AVPixelFormat = 245; +#[doc = "< IEEE-754 half precision planar GBRA 4:4:4:4, 64bpp, little-endian"] +pub const AV_PIX_FMT_GBRAPF16LE: AVPixelFormat = 246; +#[doc = "< IEEE-754 half precision Y, 16bpp, big-endian"] +pub const AV_PIX_FMT_GRAYF16BE: AVPixelFormat = 247; +#[doc = "< IEEE-754 half precision Y, 16bpp, little-endian"] +pub const AV_PIX_FMT_GRAYF16LE: AVPixelFormat = 248; +#[doc = " HW acceleration through AMF. data[0] contain AMFSurface pointer"] +pub const AV_PIX_FMT_AMF_SURFACE: AVPixelFormat = 249; +#[doc = "< Y , 32bpp, big-endian"] +pub const AV_PIX_FMT_GRAY32BE: AVPixelFormat = 250; +#[doc = "< Y , 32bpp, little-endian"] +pub const AV_PIX_FMT_GRAY32LE: AVPixelFormat = 251; +#[doc = "< IEEE-754 single precision packed YA, 32 bits gray, 32 bits alpha, 64bpp, big-endian"] +pub const AV_PIX_FMT_YAF32BE: AVPixelFormat = 252; +#[doc = "< IEEE-754 single precision packed YA, 32 bits gray, 32 bits alpha, 64bpp, little-endian"] +pub const AV_PIX_FMT_YAF32LE: AVPixelFormat = 253; +#[doc = "< IEEE-754 half precision packed YA, 16 bits gray, 16 bits alpha, 32bpp, big-endian"] +pub const AV_PIX_FMT_YAF16BE: AVPixelFormat = 254; +#[doc = "< IEEE-754 half precision packed YA, 16 bits gray, 16 bits alpha, 32bpp, little-endian"] +pub const AV_PIX_FMT_YAF16LE: AVPixelFormat = 255; +#[doc = "< planar GBRA 4:4:4:4 128bpp, big-endian"] +pub const AV_PIX_FMT_GBRAP32BE: AVPixelFormat = 256; +#[doc = "< planar GBRA 4:4:4:4 128bpp, little-endian"] +pub const AV_PIX_FMT_GBRAP32LE: AVPixelFormat = 257; +#[doc = "< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), lowest bits zero, big-endian"] +pub const AV_PIX_FMT_YUV444P10MSBBE: AVPixelFormat = 258; +#[doc = "< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), lowest bits zero, little-endian"] +pub const AV_PIX_FMT_YUV444P10MSBLE: AVPixelFormat = 259; +#[doc = "< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), lowest bits zero, big-endian"] +pub const AV_PIX_FMT_YUV444P12MSBBE: AVPixelFormat = 260; +#[doc = "< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), lowest bits zero, little-endian"] +pub const AV_PIX_FMT_YUV444P12MSBLE: AVPixelFormat = 261; +#[doc = "< planar GBR 4:4:4 30bpp, lowest bits zero, big-endian"] +pub const AV_PIX_FMT_GBRP10MSBBE: AVPixelFormat = 262; +#[doc = "< planar GBR 4:4:4 30bpp, lowest bits zero, little-endian"] +pub const AV_PIX_FMT_GBRP10MSBLE: AVPixelFormat = 263; +#[doc = "< planar GBR 4:4:4 36bpp, lowest bits zero, big-endian"] +pub const AV_PIX_FMT_GBRP12MSBBE: AVPixelFormat = 264; +#[doc = "< planar GBR 4:4:4 36bpp, lowest bits zero, little-endian"] +pub const AV_PIX_FMT_GBRP12MSBLE: AVPixelFormat = 265; +pub const AV_PIX_FMT_OHCODEC: AVPixelFormat = 266; #[doc = "< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions"] -pub const AV_PIX_FMT_NB: AVPixelFormat = 228; +pub const AV_PIX_FMT_NB: AVPixelFormat = 267; #[doc = " Pixel format.\n\n @note\n AV_PIX_FMT_RGB32 is handled in an endian-specific manner. An RGBA\n color is put together as:\n (A << 24) | (R << 16) | (G << 8) | B\n This is stored as BGRA on little-endian CPU architectures and ARGB on\n big-endian CPUs.\n\n @note\n If the resolution is not a multiple of the chroma subsampling factor\n then the chroma plane resolution must be rounded up.\n\n @par\n When the pixel format is palettized RGB32 (AV_PIX_FMT_PAL8), the palettized\n image data is stored in AVFrame.data[0]. The palette is transported in\n AVFrame.data[1], is 1024 bytes long (256 4-byte entries) and is\n formatted the same as in AV_PIX_FMT_RGB32 described above (i.e., it is\n also endian-specific). Note also that the individual RGB32 palette\n components stored in AVFrame.data[1] should be in the range 0..255.\n This is important as many custom PAL8 video codecs that were designed\n to run on the IBM VGA graphics adapter use 6-bit palette components.\n\n @par\n For all the 8 bits per pixel formats, an RGB32 palette is in data[1] like\n for pal8. This palette is filled in automatically by the function\n allocating the picture."] pub type AVPixelFormat = ::std::os::raw::c_int; pub const AVCOL_PRI_RESERVED0: AVColorPrimaries = 0; @@ -7451,24 +9882,43 @@ extern "C" { ref_: *const AVBufferRef, ) -> *mut ::std::os::raw::c_void; } +#[doc = " Invalid channel index"] pub const AV_CHAN_NONE: AVChannel = -1; +#[doc = " Invalid channel index"] pub const AV_CHAN_FRONT_LEFT: AVChannel = 0; +#[doc = " Invalid channel index"] pub const AV_CHAN_FRONT_RIGHT: AVChannel = 1; +#[doc = " Invalid channel index"] pub const AV_CHAN_FRONT_CENTER: AVChannel = 2; +#[doc = " Invalid channel index"] pub const AV_CHAN_LOW_FREQUENCY: AVChannel = 3; +#[doc = " Invalid channel index"] pub const AV_CHAN_BACK_LEFT: AVChannel = 4; +#[doc = " Invalid channel index"] pub const AV_CHAN_BACK_RIGHT: AVChannel = 5; +#[doc = " Invalid channel index"] pub const AV_CHAN_FRONT_LEFT_OF_CENTER: AVChannel = 6; +#[doc = " Invalid channel index"] pub const AV_CHAN_FRONT_RIGHT_OF_CENTER: AVChannel = 7; +#[doc = " Invalid channel index"] pub const AV_CHAN_BACK_CENTER: AVChannel = 8; +#[doc = " Invalid channel index"] pub const AV_CHAN_SIDE_LEFT: AVChannel = 9; +#[doc = " Invalid channel index"] pub const AV_CHAN_SIDE_RIGHT: AVChannel = 10; +#[doc = " Invalid channel index"] pub const AV_CHAN_TOP_CENTER: AVChannel = 11; +#[doc = " Invalid channel index"] pub const AV_CHAN_TOP_FRONT_LEFT: AVChannel = 12; +#[doc = " Invalid channel index"] pub const AV_CHAN_TOP_FRONT_CENTER: AVChannel = 13; +#[doc = " Invalid channel index"] pub const AV_CHAN_TOP_FRONT_RIGHT: AVChannel = 14; +#[doc = " Invalid channel index"] pub const AV_CHAN_TOP_BACK_LEFT: AVChannel = 15; +#[doc = " Invalid channel index"] pub const AV_CHAN_TOP_BACK_CENTER: AVChannel = 16; +#[doc = " Invalid channel index"] pub const AV_CHAN_TOP_BACK_RIGHT: AVChannel = 17; #[doc = " Stereo downmix."] pub const AV_CHAN_STEREO_LEFT: AVChannel = 29; @@ -7502,6 +9952,8 @@ pub const AV_CHAN_SIDE_SURROUND_RIGHT: AVChannel = 42; pub const AV_CHAN_TOP_SURROUND_LEFT: AVChannel = 43; #[doc = "< -110 degrees, Rvs, TpRS"] pub const AV_CHAN_TOP_SURROUND_RIGHT: AVChannel = 44; +pub const AV_CHAN_BINAURAL_LEFT: AVChannel = 61; +pub const AV_CHAN_BINAURAL_RIGHT: AVChannel = 62; #[doc = " Channel is empty can be safely skipped."] pub const AV_CHAN_UNUSED: AVChannel = 512; #[doc = " Channel contains data, but its position is unknown."] @@ -7570,7 +10022,7 @@ fn bindgen_test_layout_AVChannelCustom() { "Offset of field: AVChannelCustom::opaque" ); } -#[doc = " An AVChannelLayout holds information about the channel layout of audio data.\n\n A channel layout here is defined as a set of channels ordered in a specific\n way (unless the channel order is AV_CHANNEL_ORDER_UNSPEC, in which case an\n AVChannelLayout carries only the channel count).\n All orders may be treated as if they were AV_CHANNEL_ORDER_UNSPEC by\n ignoring everything but the channel count, as long as av_channel_layout_check()\n considers they are valid.\n\n Unlike most structures in FFmpeg, sizeof(AVChannelLayout) is a part of the\n public ABI and may be used by the caller. E.g. it may be allocated on stack\n or embedded in caller-defined structs.\n\n AVChannelLayout can be initialized as follows:\n - default initialization with {0}, followed by setting all used fields\n correctly;\n - by assigning one of the predefined AV_CHANNEL_LAYOUT_* initializers;\n - with a constructor function, such as av_channel_layout_default(),\n av_channel_layout_from_mask() or av_channel_layout_from_string().\n\n The channel layout must be unitialized with av_channel_layout_uninit()\n\n Copying an AVChannelLayout via assigning is forbidden,\n av_channel_layout_copy() must be used instead (and its return value should\n be checked)\n\n No new fields may be added to it without a major version bump, except for\n new elements of the union fitting in sizeof(uint64_t)."] +#[doc = " An AVChannelLayout holds information about the channel layout of audio data.\n\n A channel layout here is defined as a set of channels ordered in a specific\n way (unless the channel order is AV_CHANNEL_ORDER_UNSPEC, in which case an\n AVChannelLayout carries only the channel count).\n All orders may be treated as if they were AV_CHANNEL_ORDER_UNSPEC by\n ignoring everything but the channel count, as long as av_channel_layout_check()\n considers they are valid.\n\n Unlike most structures in FFmpeg, sizeof(AVChannelLayout) is a part of the\n public ABI and may be used by the caller. E.g. it may be allocated on stack\n or embedded in caller-defined structs.\n\n AVChannelLayout can be initialized as follows:\n - default initialization with {0}, followed by setting all used fields\n correctly;\n - by assigning one of the predefined AV_CHANNEL_LAYOUT_* initializers;\n - with a constructor function, such as av_channel_layout_default(),\n av_channel_layout_from_mask() or av_channel_layout_from_string().\n\n The channel layout must be uninitialized with av_channel_layout_uninit()\n\n Copying an AVChannelLayout via assigning is forbidden,\n av_channel_layout_copy() must be used instead (and its return value should\n be checked)\n\n No new fields may be added to it without a major version bump, except for\n new elements of the union fitting in sizeof(uint64_t)."] #[repr(C)] #[derive(Copy, Clone)] pub struct AVChannelLayout { @@ -7588,7 +10040,7 @@ pub struct AVChannelLayout { pub union AVChannelLayout__bindgen_ty_1 { #[doc = " This member must be used for AV_CHANNEL_ORDER_NATIVE, and may be used\n for AV_CHANNEL_ORDER_AMBISONIC to signal non-diegetic channels.\n It is a bitmask, where the position of each set bit means that the\n AVChannel with the corresponding value is present.\n\n I.e. when (mask & (1 << AV_CHAN_FOO)) is non-zero, then AV_CHAN_FOO\n is present in the layout. Otherwise it is not present.\n\n @note when a channel layout using a bitmask is constructed or\n modified manually (i.e. not using any of the av_channel_layout_*\n functions), the code doing it must ensure that the number of set bits\n is equal to nb_channels."] pub mask: u64, - #[doc = " This member must be used when the channel order is\n AV_CHANNEL_ORDER_CUSTOM. It is a nb_channels-sized array, with each\n element signalling the presence of the AVChannel with the\n corresponding value in map[i].id.\n\n I.e. when map[i].id is equal to AV_CHAN_FOO, then AV_CH_FOO is the\n i-th channel in the audio data.\n\n When map[i].id is in the range between AV_CHAN_AMBISONIC_BASE and\n AV_CHAN_AMBISONIC_END (inclusive), the channel contains an ambisonic\n component with ACN index (as defined above)\n n = map[i].id - AV_CHAN_AMBISONIC_BASE.\n\n map[i].name may be filled with a 0-terminated string, in which case\n it will be used for the purpose of identifying the channel with the\n convenience functions below. Otherise it must be zeroed."] + #[doc = " This member must be used when the channel order is\n AV_CHANNEL_ORDER_CUSTOM. It is a nb_channels-sized array, with each\n element signalling the presence of the AVChannel with the\n corresponding value in map[i].id.\n\n I.e. when map[i].id is equal to AV_CHAN_FOO, then AV_CH_FOO is the\n i-th channel in the audio data.\n\n When map[i].id is in the range between AV_CHAN_AMBISONIC_BASE and\n AV_CHAN_AMBISONIC_END (inclusive), the channel contains an ambisonic\n component with ACN index (as defined above)\n n = map[i].id - AV_CHAN_AMBISONIC_BASE.\n\n map[i].name may be filled with a 0-terminated string, in which case\n it will be used for the purpose of identifying the channel with the\n convenience functions below. Otherwise it must be zeroed."] pub map: *mut AVChannelCustom, } #[test] @@ -7910,7 +10362,7 @@ extern "C" { pub fn av_dict_free(m: *mut *mut AVDictionary); } extern "C" { - #[doc = " Get dictionary entries as a string.\n\n Create a string containing dictionary's entries.\n Such string may be passed back to av_dict_parse_string().\n @note String is escaped with backslashes ('\\').\n\n @warning Separators cannot be neither '\\\\' nor '\\0'. They also cannot be the same.\n\n @param[in] m The dictionary\n @param[out] buffer Pointer to buffer that will be allocated with string containg entries.\n Buffer must be freed by the caller when is no longer needed.\n @param[in] key_val_sep Character used to separate key from value\n @param[in] pairs_sep Character used to separate two pairs from each other\n\n @return >= 0 on success, negative on error"] + #[doc = " Get dictionary entries as a string.\n\n Create a string containing dictionary's entries.\n Such string may be passed back to av_dict_parse_string().\n @note String is escaped with backslashes ('\\').\n\n @warning Separators cannot be neither '\\\\' nor '\\0'. They also cannot be the same.\n\n @param[in] m The dictionary\n @param[out] buffer Pointer to buffer that will be allocated with string containing entries.\n Buffer must be freed by the caller when is no longer needed.\n @param[in] key_val_sep Character used to separate key from value\n @param[in] pairs_sep Character used to separate two pairs from each other\n\n @return >= 0 on success, negative on error"] pub fn av_dict_get_string( m: *const AVDictionary, buffer: *mut *mut ::std::os::raw::c_char, @@ -7936,7 +10388,7 @@ pub const AV_FRAME_DATA_DISPLAYMATRIX: AVFrameSideDataType = 6; pub const AV_FRAME_DATA_AFD: AVFrameSideDataType = 7; #[doc = " Motion vectors exported by some codecs (on demand through the export_mvs\n flag set in the libavcodec AVCodecContext flags2 option).\n The data is the AVMotionVector struct defined in\n libavutil/motion_vector.h."] pub const AV_FRAME_DATA_MOTION_VECTORS: AVFrameSideDataType = 8; -#[doc = " Recommmends skipping the specified number of samples. This is exported\n only if the \"skip_manual\" AVOption is set in libavcodec.\n This has the same format as AV_PKT_DATA_SKIP_SAMPLES.\n @code\n u32le number of samples to skip from start of this packet\n u32le number of samples to skip from end of this packet\n u8 reason for start skip\n u8 reason for end skip (0=padding silence, 1=convergence)\n @endcode"] +#[doc = " Recommends skipping the specified number of samples. This is exported\n only if the \"skip_manual\" AVOption is set in libavcodec.\n This has the same format as AV_PKT_DATA_SKIP_SAMPLES.\n @code\n u32le number of samples to skip from start of this packet\n u32le number of samples to skip from end of this packet\n u8 reason for start skip\n u8 reason for end skip (0=padding silence, 1=convergence)\n @endcode"] pub const AV_FRAME_DATA_SKIP_SAMPLES: AVFrameSideDataType = 9; #[doc = " This side data must be associated with an audio frame and corresponds to\n enum AVAudioServiceType defined in avcodec.h."] pub const AV_FRAME_DATA_AUDIO_SERVICE_TYPE: AVFrameSideDataType = 10; @@ -7978,6 +10430,8 @@ pub const AV_FRAME_DATA_VIDEO_HINT: AVFrameSideDataType = 27; pub const AV_FRAME_DATA_LCEVC: AVFrameSideDataType = 28; #[doc = " This side data must be associated with a video frame.\n The presence of this side data indicates that the video stream is\n composed of multiple views (e.g. stereoscopic 3D content,\n cf. H.264 Annex H or H.265 Annex G).\n The data is an int storing the view ID."] pub const AV_FRAME_DATA_VIEW_ID: AVFrameSideDataType = 29; +#[doc = " This side data contains information about the reference display width(s)\n and reference viewing distance(s) as well as information about the\n corresponding reference stereo pair(s), i.e., the pair(s) of views to be\n displayed for the viewer's left and right eyes on the reference display\n at the reference viewing distance.\n The payload is the AV3DReferenceDisplaysInfo struct defined in\n libavutil/tdrdi.h."] +pub const AV_FRAME_DATA_3D_REFERENCE_DISPLAYS: AVFrameSideDataType = 30; #[doc = " @defgroup lavu_frame AVFrame\n @ingroup lavu_data\n\n @{\n AVFrame is an abstraction for reference-counted raw multimedia data."] pub type AVFrameSideDataType = ::std::os::raw::c_uint; pub const AV_AFD_SAME: AVActiveFormatDescription = 8; @@ -8042,6 +10496,12 @@ fn bindgen_test_layout_AVFrameSideData() { pub const AV_SIDE_DATA_PROP_GLOBAL: AVSideDataProps = 1; #[doc = " Multiple instances of this side data type can be meaningfully present in\n a single side data array."] pub const AV_SIDE_DATA_PROP_MULTI: AVSideDataProps = 2; +#[doc = " Side data depends on the video dimensions. Side data with this property\n loses its meaning when rescaling or cropping the image, unless\n either recomputed or adjusted to the new resolution."] +pub const AV_SIDE_DATA_PROP_SIZE_DEPENDENT: AVSideDataProps = 4; +#[doc = " Side data depends on the video color space. Side data with this property\n loses its meaning when changing the video color encoding, e.g. by\n adapting to a different set of primaries or transfer characteristics."] +pub const AV_SIDE_DATA_PROP_COLOR_DEPENDENT: AVSideDataProps = 8; +#[doc = " Side data depends on the channel layout. Side data with this property\n loses its meaning when downmixing or upmixing, unless either recomputed\n or adjusted to the new layout."] +pub const AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT: AVSideDataProps = 16; pub type AVSideDataProps = ::std::os::raw::c_uint; #[doc = " This struct describes the properties of a side data type. Its instance\n corresponding to a given type can be obtained from av_frame_side_data_desc()."] #[repr(C)] @@ -8154,8 +10614,6 @@ pub struct AVFrame { pub nb_samples: ::std::os::raw::c_int, #[doc = " format of the frame, -1 if unknown or unset\n Values correspond to enum AVPixelFormat for video frames,\n enum AVSampleFormat for audio)"] pub format: ::std::os::raw::c_int, - #[doc = " 1 -> keyframe, 0-> not\n\n @deprecated Use AV_FRAME_FLAG_KEY instead"] - pub key_frame: ::std::os::raw::c_int, #[doc = " Picture type of the frame."] pub pict_type: AVPictureType, #[doc = " Sample aspect ratio for the video frame, 0/1 if unknown/unspecified."] @@ -8172,12 +10630,6 @@ pub struct AVFrame { pub opaque: *mut ::std::os::raw::c_void, #[doc = " Number of fields in this frame which should be repeated, i.e. the total\n duration of this frame should be repeat_pict + 2 normal field durations.\n\n For interlaced frames this field may be set to 1, which signals that this\n frame should be presented as 3 fields: beginning with the first field (as\n determined by AV_FRAME_FLAG_TOP_FIELD_FIRST being set or not), followed\n by the second field, and then the first field again.\n\n For progressive frames this field may be set to a multiple of 2, which\n signals that this frame's duration should be (repeat_pict + 2) / 2\n normal frame durations.\n\n @note This field is computed from MPEG2 repeat_first_field flag and its\n associated flags, H.264 pic_struct from picture timing SEI, and\n their analogues in other codecs. Typically it should only be used when\n higher-layer timing information is not available."] pub repeat_pict: ::std::os::raw::c_int, - #[doc = " The content of the picture is interlaced.\n\n @deprecated Use AV_FRAME_FLAG_INTERLACED instead"] - pub interlaced_frame: ::std::os::raw::c_int, - #[doc = " If the content is interlaced, is top field displayed first.\n\n @deprecated Use AV_FRAME_FLAG_TOP_FIELD_FIRST instead"] - pub top_field_first: ::std::os::raw::c_int, - #[doc = " Tell user application that palette has changed from previous frame."] - pub palette_has_changed: ::std::os::raw::c_int, #[doc = " Sample rate of the audio data."] pub sample_rate: ::std::os::raw::c_int, #[doc = " AVBuffer references backing the data for this frame. All the pointers in\n data and extended_data must point inside one of the buffers in buf or\n extended_buf. This array must be filled contiguously -- if buf[i] is\n non-NULL then buf[j] must also be non-NULL for all j < i.\n\n There may be at most one AVBuffer per data plane, so for video this array\n always contains all the references. For planar audio with more than\n AV_NUM_DATA_POINTERS channels, there may be more buffers than can fit in\n this array. Then the extra AVBufferRef pointers are stored in the\n extended_buf array."] @@ -8199,14 +10651,10 @@ pub struct AVFrame { pub chroma_location: AVChromaLocation, #[doc = " frame timestamp estimated using various heuristics, in stream time base\n - encoding: unused\n - decoding: set by libavcodec, read by user."] pub best_effort_timestamp: i64, - #[doc = " reordered pos from the last AVPacket that has been input into the decoder\n - encoding: unused\n - decoding: Read by user.\n @deprecated use AV_CODEC_FLAG_COPY_OPAQUE to pass through arbitrary user\n data from packets to frames"] - pub pkt_pos: i64, #[doc = " metadata.\n - encoding: Set by user.\n - decoding: Set by libavcodec."] pub metadata: *mut AVDictionary, #[doc = " decode error flags of the frame, set to a combination of\n FF_DECODE_ERROR_xxx flags if the decoder produced a frame, but there\n were errors during the decoding.\n - encoding: unused\n - decoding: set by libavcodec, read by user."] pub decode_error_flags: ::std::os::raw::c_int, - #[doc = " size of the corresponding packet containing the compressed\n frame.\n It is set to a negative value if unknown.\n - encoding: unused\n - decoding: set by libavcodec, read by user.\n @deprecated use AV_CODEC_FLAG_COPY_OPAQUE to pass through arbitrary user\n data from packets to frames"] - pub pkt_size: ::std::os::raw::c_int, #[doc = " For hwaccel-format frames, this should be a reference to the\n AVHWFramesContext describing the frame."] pub hw_frames_ctx: *mut AVBufferRef, #[doc = " Frame owner's private data.\n\n This field may be set by the code that allocates/owns the frame data.\n It is then not touched by any library functions, except:\n - a new reference to the underlying buffer is propagated by\n av_frame_copy_props() (and hence by av_frame_ref());\n - it is unreferenced in av_frame_unref();\n - on the caller's explicit request. E.g. libavcodec encoders/decoders\n will propagate a new reference to/from @ref AVPacket \"AVPackets\" if the\n caller sets @ref AV_CODEC_FLAG_COPY_OPAQUE.\n\n @see opaque the plain pointer analogue"] @@ -8216,8 +10664,8 @@ pub struct AVFrame { pub crop_bottom: usize, pub crop_left: usize, pub crop_right: usize, - #[doc = " AVBufferRef for internal use by a single libav* library.\n Must not be used to transfer data between libraries.\n Has to be NULL when ownership of the frame leaves the respective library.\n\n Code outside the FFmpeg libs should never check or change the contents of the buffer ref.\n\n FFmpeg calls av_buffer_unref() on it when the frame is unreferenced.\n av_frame_copy_props() calls create a new reference with av_buffer_ref()\n for the target frame's private_ref field."] - pub private_ref: *mut AVBufferRef, + #[doc = " RefStruct reference for internal use by a single libav* library.\n Must not be used to transfer data between libraries.\n Has to be NULL when ownership of the frame leaves the respective library.\n\n Code outside the FFmpeg libs must never check or change private_ref."] + pub private_ref: *mut ::std::os::raw::c_void, #[doc = " Channel layout of the audio data."] pub ch_layout: AVChannelLayout, #[doc = " Duration of the frame, in the same units as pts. 0 if unknown."] @@ -8229,7 +10677,7 @@ fn bindgen_test_layout_AVFrame() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 440usize, + 416usize, "Size of AVFrame" ); assert_eq!( @@ -8272,19 +10720,14 @@ fn bindgen_test_layout_AVFrame() { 116usize, "Offset of field: AVFrame::format" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).key_frame) as usize - ptr as usize }, - 120usize, - "Offset of field: AVFrame::key_frame" - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).pict_type) as usize - ptr as usize }, - 124usize, + 120usize, "Offset of field: AVFrame::pict_type" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sample_aspect_ratio) as usize - ptr as usize }, - 128usize, + 124usize, "Offset of field: AVFrame::sample_aspect_ratio" ); assert_eq!( @@ -8317,155 +10760,130 @@ fn bindgen_test_layout_AVFrame() { 176usize, "Offset of field: AVFrame::repeat_pict" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).interlaced_frame) as usize - ptr as usize }, - 180usize, - "Offset of field: AVFrame::interlaced_frame" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).top_field_first) as usize - ptr as usize }, - 184usize, - "Offset of field: AVFrame::top_field_first" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).palette_has_changed) as usize - ptr as usize }, - 188usize, - "Offset of field: AVFrame::palette_has_changed" - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sample_rate) as usize - ptr as usize }, - 192usize, + 180usize, "Offset of field: AVFrame::sample_rate" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize }, - 200usize, + 184usize, "Offset of field: AVFrame::buf" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).extended_buf) as usize - ptr as usize }, - 264usize, + 248usize, "Offset of field: AVFrame::extended_buf" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).nb_extended_buf) as usize - ptr as usize }, - 272usize, + 256usize, "Offset of field: AVFrame::nb_extended_buf" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).side_data) as usize - ptr as usize }, - 280usize, + 264usize, "Offset of field: AVFrame::side_data" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).nb_side_data) as usize - ptr as usize }, - 288usize, + 272usize, "Offset of field: AVFrame::nb_side_data" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, - 292usize, + 276usize, "Offset of field: AVFrame::flags" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_range) as usize - ptr as usize }, - 296usize, + 280usize, "Offset of field: AVFrame::color_range" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_primaries) as usize - ptr as usize }, - 300usize, + 284usize, "Offset of field: AVFrame::color_primaries" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_trc) as usize - ptr as usize }, - 304usize, + 288usize, "Offset of field: AVFrame::color_trc" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).colorspace) as usize - ptr as usize }, - 308usize, + 292usize, "Offset of field: AVFrame::colorspace" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).chroma_location) as usize - ptr as usize }, - 312usize, + 296usize, "Offset of field: AVFrame::chroma_location" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).best_effort_timestamp) as usize - ptr as usize }, - 320usize, + 304usize, "Offset of field: AVFrame::best_effort_timestamp" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pkt_pos) as usize - ptr as usize }, - 328usize, - "Offset of field: AVFrame::pkt_pos" - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).metadata) as usize - ptr as usize }, - 336usize, + 312usize, "Offset of field: AVFrame::metadata" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).decode_error_flags) as usize - ptr as usize }, - 344usize, + 320usize, "Offset of field: AVFrame::decode_error_flags" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pkt_size) as usize - ptr as usize }, - 348usize, - "Offset of field: AVFrame::pkt_size" - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).hw_frames_ctx) as usize - ptr as usize }, - 352usize, + 328usize, "Offset of field: AVFrame::hw_frames_ctx" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).opaque_ref) as usize - ptr as usize }, - 360usize, + 336usize, "Offset of field: AVFrame::opaque_ref" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).crop_top) as usize - ptr as usize }, - 368usize, + 344usize, "Offset of field: AVFrame::crop_top" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).crop_bottom) as usize - ptr as usize }, - 376usize, + 352usize, "Offset of field: AVFrame::crop_bottom" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).crop_left) as usize - ptr as usize }, - 384usize, + 360usize, "Offset of field: AVFrame::crop_left" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).crop_right) as usize - ptr as usize }, - 392usize, + 368usize, "Offset of field: AVFrame::crop_right" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).private_ref) as usize - ptr as usize }, - 400usize, + 376usize, "Offset of field: AVFrame::private_ref" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).ch_layout) as usize - ptr as usize }, - 408usize, + 384usize, "Offset of field: AVFrame::ch_layout" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).duration) as usize - ptr as usize }, - 432usize, + 408usize, "Offset of field: AVFrame::duration" ); } impl ::std::fmt::Debug for AVFrame { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write ! (f , "AVFrame {{ data: {:?}, linesize: {:?}, extended_data: {:?}, width: {:?}, height: {:?}, nb_samples: {:?}, format: {:?}, key_frame: {:?}, pict_type: {:?}, sample_aspect_ratio: {:?}, pts: {:?}, pkt_dts: {:?}, time_base: {:?}, quality: {:?}, opaque: {:?}, repeat_pict: {:?}, interlaced_frame: {:?}, top_field_first: {:?}, palette_has_changed: {:?}, sample_rate: {:?}, buf: {:?}, extended_buf: {:?}, nb_extended_buf: {:?}, side_data: {:?}, nb_side_data: {:?}, flags: {:?}, color_range: {:?}, color_primaries: {:?}, color_trc: {:?}, colorspace: {:?}, chroma_location: {:?}, best_effort_timestamp: {:?}, pkt_pos: {:?}, metadata: {:?}, decode_error_flags: {:?}, pkt_size: {:?}, hw_frames_ctx: {:?}, opaque_ref: {:?}, crop_top: {:?}, crop_bottom: {:?}, crop_left: {:?}, crop_right: {:?}, private_ref: {:?}, ch_layout: {:?}, duration: {:?} }}" , self . data , self . linesize , self . extended_data , self . width , self . height , self . nb_samples , self . format , self . key_frame , self . pict_type , self . sample_aspect_ratio , self . pts , self . pkt_dts , self . time_base , self . quality , self . opaque , self . repeat_pict , self . interlaced_frame , self . top_field_first , self . palette_has_changed , self . sample_rate , self . buf , self . extended_buf , self . nb_extended_buf , self . side_data , self . nb_side_data , self . flags , self . color_range , self . color_primaries , self . color_trc , self . colorspace , self . chroma_location , self . best_effort_timestamp , self . pkt_pos , self . metadata , self . decode_error_flags , self . pkt_size , self . hw_frames_ctx , self . opaque_ref , self . crop_top , self . crop_bottom , self . crop_left , self . crop_right , self . private_ref , self . ch_layout , self . duration) + write ! (f , "AVFrame {{ data: {:?}, linesize: {:?}, extended_data: {:?}, width: {:?}, height: {:?}, nb_samples: {:?}, format: {:?}, pict_type: {:?}, sample_aspect_ratio: {:?}, pts: {:?}, pkt_dts: {:?}, time_base: {:?}, quality: {:?}, opaque: {:?}, repeat_pict: {:?}, sample_rate: {:?}, buf: {:?}, extended_buf: {:?}, nb_extended_buf: {:?}, side_data: {:?}, nb_side_data: {:?}, flags: {:?}, color_range: {:?}, color_primaries: {:?}, color_trc: {:?}, colorspace: {:?}, chroma_location: {:?}, best_effort_timestamp: {:?}, metadata: {:?}, decode_error_flags: {:?}, hw_frames_ctx: {:?}, opaque_ref: {:?}, crop_top: {:?}, crop_bottom: {:?}, crop_left: {:?}, crop_right: {:?}, private_ref: {:?}, ch_layout: {:?}, duration: {:?} }}" , self . data , self . linesize , self . extended_data , self . width , self . height , self . nb_samples , self . format , self . pict_type , self . sample_aspect_ratio , self . pts , self . pkt_dts , self . time_base , self . quality , self . opaque , self . repeat_pict , self . sample_rate , self . buf , self . extended_buf , self . nb_extended_buf , self . side_data , self . nb_side_data , self . flags , self . color_range , self . color_primaries , self . color_trc , self . colorspace , self . chroma_location , self . best_effort_timestamp , self . metadata , self . decode_error_flags , self . hw_frames_ctx , self . opaque_ref , self . crop_top , self . crop_bottom , self . crop_left , self . crop_right , self . private_ref , self . ch_layout , self . duration) } } extern "C" { @@ -8497,7 +10915,7 @@ extern "C" { pub fn av_frame_move_ref(dst: *mut AVFrame, src: *mut AVFrame); } extern "C" { - #[doc = " Allocate new buffer(s) for audio or video data.\n\n The following fields must be set on frame before calling this function:\n - format (pixel format for video, sample format for audio)\n - width and height for video\n - nb_samples and ch_layout for audio\n\n This function will fill AVFrame.data and AVFrame.buf arrays and, if\n necessary, allocate and fill AVFrame.extended_data and AVFrame.extended_buf.\n For planar formats, one buffer will be allocated for each plane.\n\n @warning: if frame already has been allocated, calling this function will\n leak memory. In addition, undefined behavior can occur in certain\n cases.\n\n @param frame frame in which to store the new buffers.\n @param align Required buffer size alignment. If equal to 0, alignment will be\n chosen automatically for the current CPU. It is highly\n recommended to pass 0 here unless you know what you are doing.\n\n @return 0 on success, a negative AVERROR on error."] + #[doc = " Allocate new buffer(s) for audio or video data.\n\n The following fields must be set on frame before calling this function:\n - format (pixel format for video, sample format for audio)\n - width and height for video\n - nb_samples and ch_layout for audio\n\n This function will fill AVFrame.data and AVFrame.buf arrays and, if\n necessary, allocate and fill AVFrame.extended_data and AVFrame.extended_buf.\n For planar formats, one buffer will be allocated for each plane.\n\n @warning: if frame already has been allocated, calling this function will\n leak memory. In addition, undefined behavior can occur in certain\n cases.\n\n @param frame frame in which to store the new buffers.\n @param align Required buffer size and data pointer alignment. If equal to 0,\n alignment will be chosen automatically for the current CPU.\n It is highly recommended to pass 0 here unless you know what\n you are doing.\n\n @return 0 on success, a negative AVERROR on error."] pub fn av_frame_get_buffer( frame: *mut AVFrame, align: ::std::os::raw::c_int, @@ -8554,9 +10972,9 @@ extern "C" { pub fn av_frame_remove_side_data(frame: *mut AVFrame, type_: AVFrameSideDataType); } #[doc = " Apply the maximum possible cropping, even if it requires setting the\n AVFrame.data[] entries to unaligned pointers. Passing unaligned data\n to FFmpeg API is generally not allowed, and causes undefined behavior\n (such as crashes). You can pass unaligned data only to FFmpeg APIs that\n are explicitly documented to accept it. Use this flag only if you\n absolutely know what you are doing."] -pub const AV_FRAME_CROP_UNALIGNED: _bindgen_ty_2 = 1; +pub const AV_FRAME_CROP_UNALIGNED: _bindgen_ty_1 = 1; #[doc = " Flags for frame cropping."] -pub type _bindgen_ty_2 = ::std::os::raw::c_uint; +pub type _bindgen_ty_1 = ::std::os::raw::c_uint; extern "C" { #[doc = " Crop the given video AVFrame according to its crop_left/crop_top/crop_right/\n crop_bottom fields. If cropping is successful, the function will adjust the\n data pointers and the width/height fields, and set the crop fields to 0.\n\n In all cases, the cropping boundaries will be rounded to the inherent\n alignment of the pixel format. In some cases, such as for opaque hwaccel\n formats, the left/top cropping is ignored. The crop fields are set to 0 even\n if the cropping was rounded or ignored.\n\n @param frame the frame which should be cropped\n @param flags Some combination of AV_FRAME_CROP_* flags, or 0.\n\n @return >= 0 on success, a negative AVERROR on error. If the cropping fields\n were invalid, AVERROR(ERANGE) is returned, and nothing is changed."] pub fn av_frame_apply_cropping( @@ -8624,6 +11042,14 @@ extern "C" { type_: AVFrameSideDataType, ); } +extern "C" { + #[doc = " Remove and free all side data instances that match any of the given\n side data properties. (See enum AVSideDataProps)"] + pub fn av_frame_side_data_remove_by_props( + sd: *mut *mut *mut AVFrameSideData, + nb_sd: *mut ::std::os::raw::c_int, + props: ::std::os::raw::c_int, + ); +} pub const AV_HWDEVICE_TYPE_NONE: AVHWDeviceType = 0; pub const AV_HWDEVICE_TYPE_VDPAU: AVHWDeviceType = 1; pub const AV_HWDEVICE_TYPE_CUDA: AVHWDeviceType = 2; @@ -8637,6 +11063,8 @@ pub const AV_HWDEVICE_TYPE_OPENCL: AVHWDeviceType = 9; pub const AV_HWDEVICE_TYPE_MEDIACODEC: AVHWDeviceType = 10; pub const AV_HWDEVICE_TYPE_VULKAN: AVHWDeviceType = 11; pub const AV_HWDEVICE_TYPE_D3D12VA: AVHWDeviceType = 12; +pub const AV_HWDEVICE_TYPE_AMF: AVHWDeviceType = 13; +pub const AV_HWDEVICE_TYPE_OHCODEC: AVHWDeviceType = 14; pub type AVHWDeviceType = ::std::os::raw::c_uint; #[doc = " This struct aggregates all the (hardware/vendor-specific) \"high-level\" state,\n i.e. state that is not tied to a concrete processing configuration.\n E.g., in an API that supports hardware-accelerated encoding and decoding,\n this struct will (if possible) wrap the state that is common to both encoding\n and decoding and from which specific instances of encoders or decoders can be\n derived.\n\n This struct is reference-counted with the AVBuffer mechanism. The\n av_hwdevice_ctx_alloc() constructor yields a reference, whose data field\n points to the actual AVHWDeviceContext. Further objects derived from\n AVHWDeviceContext (such as AVHWFramesContext, describing a frame pool with\n specific properties) will hold an internal reference to it. After all the\n references are released, the AVHWDeviceContext itself will be freed,\n optionally invoking a user-specified callback for uninitializing the hardware\n state."] #[repr(C)] @@ -8961,17 +11389,17 @@ extern "C" { pub fn av_hwframe_constraints_free(constraints: *mut *mut AVHWFramesConstraints); } #[doc = " The mapping must be readable."] -pub const AV_HWFRAME_MAP_READ: _bindgen_ty_3 = 1; +pub const AV_HWFRAME_MAP_READ: _bindgen_ty_2 = 1; #[doc = " The mapping must be writeable."] -pub const AV_HWFRAME_MAP_WRITE: _bindgen_ty_3 = 2; +pub const AV_HWFRAME_MAP_WRITE: _bindgen_ty_2 = 2; #[doc = " The mapped frame will be overwritten completely in subsequent\n operations, so the current frame data need not be loaded. Any values\n which are not overwritten are unspecified."] -pub const AV_HWFRAME_MAP_OVERWRITE: _bindgen_ty_3 = 4; +pub const AV_HWFRAME_MAP_OVERWRITE: _bindgen_ty_2 = 4; #[doc = " The mapping must be direct. That is, there must not be any copying in\n the map or unmap steps. Note that performance of direct mappings may\n be much lower than normal memory."] -pub const AV_HWFRAME_MAP_DIRECT: _bindgen_ty_3 = 8; +pub const AV_HWFRAME_MAP_DIRECT: _bindgen_ty_2 = 8; #[doc = " Flags to apply to frame mappings."] -pub type _bindgen_ty_3 = ::std::os::raw::c_uint; +pub type _bindgen_ty_2 = ::std::os::raw::c_uint; extern "C" { - #[doc = " Map a hardware frame.\n\n This has a number of different possible effects, depending on the format\n and origin of the src and dst frames. On input, src should be a usable\n frame with valid buffers and dst should be blank (typically as just created\n by av_frame_alloc()). src should have an associated hwframe context, and\n dst may optionally have a format and associated hwframe context.\n\n If src was created by mapping a frame from the hwframe context of dst,\n then this function undoes the mapping - dst is replaced by a reference to\n the frame that src was originally mapped from.\n\n If both src and dst have an associated hwframe context, then this function\n attempts to map the src frame from its hardware context to that of dst and\n then fill dst with appropriate data to be usable there. This will only be\n possible if the hwframe contexts and associated devices are compatible -\n given compatible devices, av_hwframe_ctx_create_derived() can be used to\n create a hwframe context for dst in which mapping should be possible.\n\n If src has a hwframe context but dst does not, then the src frame is\n mapped to normal memory and should thereafter be usable as a normal frame.\n If the format is set on dst, then the mapping will attempt to create dst\n with that format and fail if it is not possible. If format is unset (is\n AV_PIX_FMT_NONE) then dst will be mapped with whatever the most appropriate\n format to use is (probably the sw_format of the src hwframe context).\n\n A return value of AVERROR(ENOSYS) indicates that the mapping is not\n possible with the given arguments and hwframe setup, while other return\n values indicate that it failed somehow.\n\n On failure, the destination frame will be left blank, except for the\n hw_frames_ctx/format fields thay may have been set by the caller - those will\n be preserved as they were.\n\n @param dst Destination frame, to contain the mapping.\n @param src Source frame, to be mapped.\n @param flags Some combination of AV_HWFRAME_MAP_* flags.\n @return Zero on success, negative AVERROR code on failure."] + #[doc = " Map a hardware frame.\n\n This has a number of different possible effects, depending on the format\n and origin of the src and dst frames. On input, src should be a usable\n frame with valid buffers and dst should be blank (typically as just created\n by av_frame_alloc()). src should have an associated hwframe context, and\n dst may optionally have a format and associated hwframe context.\n\n If src was created by mapping a frame from the hwframe context of dst,\n then this function undoes the mapping - dst is replaced by a reference to\n the frame that src was originally mapped from.\n\n If both src and dst have an associated hwframe context, then this function\n attempts to map the src frame from its hardware context to that of dst and\n then fill dst with appropriate data to be usable there. This will only be\n possible if the hwframe contexts and associated devices are compatible -\n given compatible devices, av_hwframe_ctx_create_derived() can be used to\n create a hwframe context for dst in which mapping should be possible.\n\n If src has a hwframe context but dst does not, then the src frame is\n mapped to normal memory and should thereafter be usable as a normal frame.\n If the format is set on dst, then the mapping will attempt to create dst\n with that format and fail if it is not possible. If format is unset (is\n AV_PIX_FMT_NONE) then dst will be mapped with whatever the most appropriate\n format to use is (probably the sw_format of the src hwframe context).\n\n A return value of AVERROR(ENOSYS) indicates that the mapping is not\n possible with the given arguments and hwframe setup, while other return\n values indicate that it failed somehow.\n\n On failure, the destination frame will be left blank, except for the\n hw_frames_ctx/format fields they may have been set by the caller - those will\n be preserved as they were.\n\n @param dst Destination frame, to contain the mapping.\n @param src Source frame, to be mapped.\n @param flags Some combination of AV_HWFRAME_MAP_* flags.\n @return Zero on success, negative AVERROR code on failure."] pub fn av_hwframe_map( dst: *mut AVFrame, src: *const AVFrame, @@ -9259,6 +11687,11 @@ pub const AV_CODEC_ID_EVC: AVCodecID = 266; pub const AV_CODEC_ID_RTV1: AVCodecID = 267; pub const AV_CODEC_ID_VMIX: AVCodecID = 268; pub const AV_CODEC_ID_LEAD: AVCodecID = 269; +pub const AV_CODEC_ID_DNXUC: AVCodecID = 270; +pub const AV_CODEC_ID_RV60: AVCodecID = 271; +pub const AV_CODEC_ID_JPEGXL_ANIM: AVCodecID = 272; +pub const AV_CODEC_ID_APV: AVCodecID = 273; +pub const AV_CODEC_ID_PRORES_RAW: AVCodecID = 274; #[doc = "< A dummy id pointing at the start of audio codecs"] pub const AV_CODEC_ID_FIRST_AUDIO: AVCodecID = 65536; pub const AV_CODEC_ID_PCM_S16LE: AVCodecID = 65536; @@ -9350,6 +11783,8 @@ pub const AV_CODEC_ID_ADPCM_IMA_CUNNING: AVCodecID = 69680; pub const AV_CODEC_ID_ADPCM_IMA_MOFLEX: AVCodecID = 69681; pub const AV_CODEC_ID_ADPCM_IMA_ACORN: AVCodecID = 69682; pub const AV_CODEC_ID_ADPCM_XMD: AVCodecID = 69683; +pub const AV_CODEC_ID_ADPCM_IMA_XBOX: AVCodecID = 69684; +pub const AV_CODEC_ID_ADPCM_SANYO: AVCodecID = 69685; pub const AV_CODEC_ID_AMR_NB: AVCodecID = 73728; pub const AV_CODEC_ID_AMR_WB: AVCodecID = 73729; pub const AV_CODEC_ID_RA_144: AVCodecID = 77824; @@ -9472,6 +11907,7 @@ pub const AV_CODEC_ID_AC4: AVCodecID = 86119; pub const AV_CODEC_ID_OSQ: AVCodecID = 86120; pub const AV_CODEC_ID_QOA: AVCodecID = 86121; pub const AV_CODEC_ID_LC3: AVCodecID = 86122; +pub const AV_CODEC_ID_G728: AVCodecID = 86123; #[doc = "< A dummy ID pointing at the start of subtitle codecs."] pub const AV_CODEC_ID_FIRST_SUBTITLE: AVCodecID = 94208; pub const AV_CODEC_ID_DVD_SUBTITLE: AVCodecID = 94208; @@ -9501,6 +11937,7 @@ pub const AV_CODEC_ID_ASS: AVCodecID = 94230; pub const AV_CODEC_ID_HDMV_TEXT_SUBTITLE: AVCodecID = 94231; pub const AV_CODEC_ID_TTML: AVCodecID = 94232; pub const AV_CODEC_ID_ARIB_CAPTION: AVCodecID = 94233; +pub const AV_CODEC_ID_IVTV_VBI: AVCodecID = 94234; #[doc = "< A dummy ID pointing at the start of various fake codecs."] pub const AV_CODEC_ID_FIRST_UNKNOWN: AVCodecID = 98304; pub const AV_CODEC_ID_TTF: AVCodecID = 98304; @@ -9517,6 +11954,7 @@ pub const AV_CODEC_ID_TIMED_ID3: AVCodecID = 98313; pub const AV_CODEC_ID_BIN_DATA: AVCodecID = 98314; pub const AV_CODEC_ID_SMPTE_2038: AVCodecID = 98315; pub const AV_CODEC_ID_LCEVC: AVCodecID = 98316; +pub const AV_CODEC_ID_SMPTE_436M_ANC: AVCodecID = 98317; #[doc = "< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it"] pub const AV_CODEC_ID_PROBE: AVCodecID = 102400; #[doc = "< _FAKE_ codec to indicate a raw MPEG-2 TS\n stream (only used by libavformat)"] @@ -9741,14 +12179,14 @@ extern "C" { ) -> *const ::std::os::raw::c_char; } #[doc = " The codec supports this format via the hw_device_ctx interface.\n\n When selecting this format, AVCodecContext.hw_device_ctx should\n have been set to a device of the specified type before calling\n avcodec_open2()."] -pub const AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX: _bindgen_ty_4 = 1; +pub const AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX: _bindgen_ty_3 = 1; #[doc = " The codec supports this format via the hw_frames_ctx interface.\n\n When selecting this format for a decoder,\n AVCodecContext.hw_frames_ctx should be set to a suitable frames\n context inside the get_format() callback. The frames context\n must have been created on a device of the specified type.\n\n When selecting this format for an encoder,\n AVCodecContext.hw_frames_ctx should be set to the context which\n will be used for the input frames before calling avcodec_open2()."] -pub const AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX: _bindgen_ty_4 = 2; +pub const AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX: _bindgen_ty_3 = 2; #[doc = " The codec supports this format by some internal method.\n\n This format can be selected without any additional configuration -\n no device or frames context is required."] -pub const AV_CODEC_HW_CONFIG_METHOD_INTERNAL: _bindgen_ty_4 = 4; +pub const AV_CODEC_HW_CONFIG_METHOD_INTERNAL: _bindgen_ty_3 = 4; #[doc = " The codec supports this format by some ad-hoc method.\n\n Additional settings and/or function calls are required. See the\n codec-specific documentation for details. (Methods requiring\n this sort of configuration are deprecated and others should be\n used in preference.)"] -pub const AV_CODEC_HW_CONFIG_METHOD_AD_HOC: _bindgen_ty_4 = 8; -pub type _bindgen_ty_4 = ::std::os::raw::c_uint; +pub const AV_CODEC_HW_CONFIG_METHOD_AD_HOC: _bindgen_ty_3 = 8; +pub type _bindgen_ty_3 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AVCodecHWConfig { @@ -9975,6 +12413,61 @@ fn bindgen_test_layout_AVProducerReferenceTime() { "Offset of field: AVProducerReferenceTime::flags" ); } +#[doc = " RTCP SR (Sender Report) information\n\n The received sender report information for an RTSP\n stream, exposed as AV_PKT_DATA_RTCP_SR side data."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVRTCPSenderReport { + #[doc = "< Synchronization source identifier"] + pub ssrc: u32, + #[doc = "< NTP time when the report was sent"] + pub ntp_timestamp: u64, + #[doc = "< RTP time when the report was sent"] + pub rtp_timestamp: u32, + #[doc = "< Total number of packets sent"] + pub sender_nb_packets: u32, + #[doc = "< Total number of bytes sent (excluding headers or padding)"] + pub sender_nb_bytes: u32, +} +#[test] +fn bindgen_test_layout_AVRTCPSenderReport() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + "Size of AVRTCPSenderReport" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of AVRTCPSenderReport" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ssrc) as usize - ptr as usize }, + 0usize, + "Offset of field: AVRTCPSenderReport::ssrc" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntp_timestamp) as usize - ptr as usize }, + 8usize, + "Offset of field: AVRTCPSenderReport::ntp_timestamp" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtp_timestamp) as usize - ptr as usize }, + 16usize, + "Offset of field: AVRTCPSenderReport::rtp_timestamp" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sender_nb_packets) as usize - ptr as usize }, + 20usize, + "Offset of field: AVRTCPSenderReport::sender_nb_packets" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sender_nb_bytes) as usize - ptr as usize }, + 24usize, + "Offset of field: AVRTCPSenderReport::sender_nb_bytes" + ); +} extern "C" { #[doc = " Encode extradata length to a buffer. Used by xiph codecs.\n\n @param s buffer to write to; must be at least (v/255+1) bytes long\n @param v size of extradata in bytes\n @return number of bytes written to the buffer."] pub fn av_xiphlacing( @@ -10004,7 +12497,7 @@ pub const AV_PKT_DATA_QUALITY_STATS: AVPacketSideDataType = 8; pub const AV_PKT_DATA_FALLBACK_TRACK: AVPacketSideDataType = 9; #[doc = " This side data corresponds to the AVCPBProperties struct."] pub const AV_PKT_DATA_CPB_PROPERTIES: AVPacketSideDataType = 10; -#[doc = " Recommmends skipping the specified number of samples\n @code\n u32le number of samples to skip from start of this packet\n u32le number of samples to skip from end of this packet\n u8 reason for start skip\n u8 reason for end skip (0=padding silence, 1=convergence)\n @endcode"] +#[doc = " Recommends skipping the specified number of samples\n @code\n u32le number of samples to skip from start of this packet\n u32le number of samples to skip from end of this packet\n u8 reason for start skip\n u8 reason for end skip (0=padding silence, 1=convergence)\n @endcode"] pub const AV_PKT_DATA_SKIP_SAMPLES: AVPacketSideDataType = 11; #[doc = " An AV_PKT_DATA_JP_DUALMONO side data packet indicates that\n the packet may contain \"dual mono\" audio specific to Japanese DTV\n and if it is true, recommends only the selected channel to be used.\n @code\n u8 selected channels (0=main/left, 1=sub/right, 2=both)\n @endcode"] pub const AV_PKT_DATA_JP_DUALMONO: AVPacketSideDataType = 12; @@ -10058,11 +12551,15 @@ pub const AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT: AVPacketSideDataType = 35; pub const AV_PKT_DATA_FRAME_CROPPING: AVPacketSideDataType = 36; #[doc = " Raw LCEVC payload data, as a uint8_t array, with NAL emulation\n bytes intact."] pub const AV_PKT_DATA_LCEVC: AVPacketSideDataType = 37; +#[doc = " This side data contains information about the reference display width(s)\n and reference viewing distance(s) as well as information about the\n corresponding reference stereo pair(s), i.e., the pair(s) of views to be\n displayed for the viewer's left and right eyes on the reference display\n at the reference viewing distance.\n The payload is the AV3DReferenceDisplaysInfo struct defined in\n libavutil/tdrdi.h."] +pub const AV_PKT_DATA_3D_REFERENCE_DISPLAYS: AVPacketSideDataType = 38; +#[doc = " Contains the last received RTCP SR (Sender Report) information\n in the form of the AVRTCPSenderReport struct."] +pub const AV_PKT_DATA_RTCP_SR: AVPacketSideDataType = 39; #[doc = " The number of side data types.\n This is not part of the public API/ABI in the sense that it may\n change when new side data types are added.\n This must stay the last enum value.\n If its value becomes huge, some code using it\n needs to be updated as it assumes it to be smaller than other limits."] -pub const AV_PKT_DATA_NB: AVPacketSideDataType = 38; +pub const AV_PKT_DATA_NB: AVPacketSideDataType = 40; #[doc = " @defgroup lavc_packet_side_data AVPacketSideData\n\n Types and functions for working with AVPacketSideData.\n @{"] pub type AVPacketSideDataType = ::std::os::raw::c_uint; -#[doc = " This structure stores auxiliary information for decoding, presenting, or\n otherwise processing the coded stream. It is typically exported by demuxers\n and encoders and can be fed to decoders and muxers either in a per packet\n basis, or as global side data (applying to the entire coded stream).\n\n Global side data is handled as follows:\n - During demuxing, it may be exported through\n @ref AVStream.codecpar.side_data \"AVStream's codec parameters\", which can\n then be passed as input to decoders through the\n @ref AVCodecContext.coded_side_data \"decoder context's side data\", for\n initialization.\n - For muxing, it can be fed through @ref AVStream.codecpar.side_data\n \"AVStream's codec parameters\", typically the output of encoders through\n the @ref AVCodecContext.coded_side_data \"encoder context's side data\", for\n initialization.\n\n Packet specific side data is handled as follows:\n - During demuxing, it may be exported through @ref AVPacket.side_data\n \"AVPacket's side data\", which can then be passed as input to decoders.\n - For muxing, it can be fed through @ref AVPacket.side_data \"AVPacket's\n side data\", typically the output of encoders.\n\n Different modules may accept or export different types of side data\n depending on media type and codec. Refer to @ref AVPacketSideDataType for a\n list of defined types and where they may be found or used."] +#[doc = " This structure stores auxiliary information for decoding, presenting, or\n otherwise processing the coded stream. It is typically exported by demuxers\n and encoders and can be fed to decoders and muxers either in a per packet\n basis, or as global side data (applying to the entire coded stream).\n\n Global side data is handled as follows:\n - During demuxing, it may be exported through\n @ref AVCodecParameters.coded_side_data \"AVStream's codec parameters\", which can\n then be passed as input to decoders through the\n @ref AVCodecContext.coded_side_data \"decoder context's side data\", for\n initialization.\n - For muxing, it can be fed through @ref AVCodecParameters.coded_side_data\n \"AVStream's codec parameters\", typically the output of encoders through\n the @ref AVCodecContext.coded_side_data \"encoder context's side data\", for\n initialization.\n\n Packet specific side data is handled as follows:\n - During demuxing, it may be exported through @ref AVPacket.side_data\n \"AVPacket's side data\", which can then be passed as input to decoders.\n - For muxing, it can be fed through @ref AVPacket.side_data \"AVPacket's\n side data\", typically the output of encoders.\n\n Different modules may accept or export different types of side data\n depending on media type and codec. Refer to @ref AVPacketSideDataType for a\n list of defined types and where they may be found or used."] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AVPacketSideData { @@ -10411,6 +12908,15 @@ extern "C" { #[doc = " Convert valid timing fields (timestamps / durations) in a packet from one\n timebase to another. Timestamps with unknown values (AV_NOPTS_VALUE) will be\n ignored.\n\n @param pkt packet on which the conversion will be performed\n @param tb_src source timebase, in which the timing fields in pkt are\n expressed\n @param tb_dst destination timebase, to which the timing fields will be\n converted"] pub fn av_packet_rescale_ts(pkt: *mut AVPacket, tb_src: AVRational, tb_dst: AVRational); } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVContainerFifo { + _unused: [u8; 0], +} +extern "C" { + #[doc = " Allocate an AVContainerFifo instance for AVPacket.\n\n @param flags currently unused"] + pub fn av_container_fifo_alloc_avpacket(flags: ::std::os::raw::c_uint) -> *mut AVContainerFifo; +} #[doc = " This struct describes the properties of a single codec described by an\n AVCodecID.\n @see avcodec_descriptor_get()"] #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -10526,7 +13032,7 @@ pub struct AVCodecParameters { pub height: ::std::os::raw::c_int, #[doc = " Video only. The aspect ratio (width / height) which a single pixel\n should have when displayed.\n\n When the aspect ratio is unknown / undefined, the numerator should be\n set to 0 (the denominator may have any value)."] pub sample_aspect_ratio: AVRational, - #[doc = " Video only. Number of frames per second, for streams with constant frame\n durations. Should be set to { 0, 1 } when some frames have differing\n durations or if the value is not known.\n\n @note This field correponds to values that are stored in codec-level\n headers and is typically overridden by container/transport-layer\n timestamps, when available. It should thus be used only as a last resort,\n when no higher-level timing information is available."] + #[doc = " Video only. Number of frames per second, for streams with constant frame\n durations. Should be set to { 0, 1 } when some frames have differing\n durations or if the value is not known.\n\n @note This field corresponds to values that are stored in codec-level\n headers and is typically overridden by container/transport-layer\n timestamps, when available. It should thus be used only as a last resort,\n when no higher-level timing information is available."] pub framerate: AVRational, #[doc = " Video only. The order of the fields in interlaced video."] pub field_order: AVFieldOrder, @@ -10817,7 +13323,7 @@ pub struct AVCodecContext { pub flags: ::std::os::raw::c_int, #[doc = " AV_CODEC_FLAG2_*\n - encoding: Set by user.\n - decoding: Set by user."] pub flags2: ::std::os::raw::c_int, - #[doc = " some codecs need / can use extradata like Huffman tables.\n MJPEG: Huffman tables\n rv10: additional flags\n MPEG-4: global headers (they can be in the bitstream or here)\n The allocated memory should be AV_INPUT_BUFFER_PADDING_SIZE bytes larger\n than extradata_size to avoid problems if it is read with the bitstream reader.\n The bytewise contents of extradata must not depend on the architecture or CPU endianness.\n Must be allocated with the av_malloc() family of functions.\n - encoding: Set/allocated/freed by libavcodec.\n - decoding: Set/allocated/freed by user."] + #[doc = " Out-of-band global headers that may be used by some codecs.\n\n - decoding: Should be set by the caller when available (typically from a\n demuxer) before opening the decoder; some decoders require this to be\n set and will fail to initialize otherwise.\n\n The array must be allocated with the av_malloc() family of functions;\n allocated size must be at least AV_INPUT_BUFFER_PADDING_SIZE bytes\n larger than extradata_size.\n\n - encoding: May be set by the encoder in avcodec_open2() (possibly\n depending on whether the AV_CODEC_FLAG_GLOBAL_HEADER flag is set).\n\n After being set, the array is owned by the codec and freed in\n avcodec_free_context()."] pub extradata: *mut u8, pub extradata_size: ::std::os::raw::c_int, #[doc = " This is the fundamental unit of time (in seconds) in terms\n of which frame timestamps are represented. For fixed-fps content,\n timebase should be 1/framerate and timestamp increments should be\n identically 1.\n This often, but not always is the inverse of the frame rate or field rate\n for video. 1/time_base is not the average frame rate if the frame rate is not\n constant.\n\n Like containers, elementary streams also can store timestamps, 1/time_base\n is the unit in which these timestamps are specified.\n As example of such codec time base see ISO/IEC 14496-2:2001(E)\n vop_time_increment_resolution and fixed_vop_rate\n (fixed_vop_rate == 0 implies that it is different from the framerate)\n\n - encoding: MUST be set by user.\n - decoding: unused."] @@ -10826,8 +13332,6 @@ pub struct AVCodecContext { pub pkt_timebase: AVRational, #[doc = " - decoding: For codecs that store a framerate value in the compressed\n bitstream, the decoder may export it here. { 0, 1} when\n unknown.\n - encoding: May be used to signal the framerate of CFR content to an\n encoder."] pub framerate: AVRational, - #[doc = " For some codecs, the time base is closer to the field rate than the frame rate.\n Most notably, H.264 and MPEG-2 specify time_base as half of frame duration\n if no telecine is used ...\n\n Set to time_base ticks per frame. Default 1, e.g., H.264/MPEG-2 set it to 2.\n\n @deprecated\n - decoding: Use AVCodecDescriptor.props & AV_CODEC_PROP_FIELDS\n - encoding: Set AVCodecContext.framerate instead\n"] - pub ticks_per_frame: ::std::os::raw::c_int, #[doc = " Codec delay.\n\n Encoding: Number of frames delay there will be from the encoder input to\n the decoder output. (we assume the decoder matches the spec)\n Decoding: Number of frames delay in addition to what a standard decoder\n as specified in the spec would produce.\n\n Video:\n Number of frames the decoded output will be delayed relative to the\n encoded input.\n\n Audio:\n For encoding, this field is unused (see initial_padding).\n\n For decoding, this is the number of samples the decoder needs to\n output before the decoder's output is valid. When seeking, you should\n start decoding this many samples prior to your desired seek point.\n\n - encoding: Set by libavcodec.\n - decoding: Set by libavcodec."] pub delay: ::std::os::raw::c_int, #[doc = " picture width / height.\n\n @note Those fields may not match the values of the last\n AVFrame output by avcodec_receive_frame() due frame\n reordering.\n\n - encoding: MUST be set by user.\n - decoding: May be set by the user before opening the decoder if known e.g.\n from the container. Some decoders will require the dimensions\n to be set by the caller. During decoding, the decoder may\n overwrite those values as required while parsing the data."] @@ -11083,7 +13587,7 @@ pub struct AVCodecContext { >, #[doc = " profile\n - encoding: Set by user.\n - decoding: Set by libavcodec.\n See the AV_PROFILE_* defines in defs.h."] pub profile: ::std::os::raw::c_int, - #[doc = " Encoding level descriptor.\n - encoding: Set by user, corresponds to a specific level defined by the\n codec, usually corresponding to the profile level, if not specified it\n is set to FF_LEVEL_UNKNOWN.\n - decoding: Set by libavcodec.\n See AV_LEVEL_* in defs.h."] + #[doc = " Encoding level descriptor.\n - encoding: Set by user, corresponds to a specific level defined by the\n codec, usually corresponding to the profile level, if not specified it\n is set to AV_LEVEL_UNKNOWN.\n - decoding: Set by libavcodec.\n See AV_LEVEL_* in defs.h."] pub level: ::std::os::raw::c_int, #[doc = " Properties of the stream that gets decoded\n - encoding: unused\n - decoding: set by libavcodec"] pub properties: ::std::os::raw::c_uint, @@ -11107,7 +13611,7 @@ pub struct AVCodecContext { pub sub_charenc: *mut ::std::os::raw::c_char, #[doc = " Subtitles character encoding mode. Formats or codecs might be adjusting\n this setting (if they are doing the conversion themselves for instance).\n - decoding: set by libavcodec\n - encoding: unused"] pub sub_charenc_mode: ::std::os::raw::c_int, - #[doc = " Header containing style information for text subtitles.\n For SUBTITLE_ASS subtitle type, it should contain the whole ASS\n [Script Info] and [V4+ Styles] section, plus the [Events] line and\n the Format line following. It shouldn't include any Dialogue line.\n - encoding: Set/allocated/freed by user (before avcodec_open2())\n - decoding: Set/allocated/freed by libavcodec (by avcodec_open2())"] + #[doc = " Header containing style information for text subtitles.\n For SUBTITLE_ASS subtitle type, it should contain the whole ASS\n [Script Info] and [V4+ Styles] section, plus the [Events] line and\n the Format line following. It shouldn't include any Dialogue line.\n\n - encoding: May be set by the caller before avcodec_open2() to an array\n allocated with the av_malloc() family of functions.\n - decoding: May be set by libavcodec in avcodec_open2().\n\n After being set, the array is owned by the codec and freed in\n avcodec_free_context()."] pub subtitle_header_size: ::std::os::raw::c_int, pub subtitle_header: *mut u8, #[doc = " dump format separator.\n can be \", \" or \"\\n \" or anything else\n - encoding: Set by user.\n - decoding: Set by user."] @@ -11244,94 +13748,89 @@ fn bindgen_test_layout_AVCodecContext() { 100usize, "Offset of field: AVCodecContext::framerate" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ticks_per_frame) as usize - ptr as usize }, - 108usize, - "Offset of field: AVCodecContext::ticks_per_frame" - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).delay) as usize - ptr as usize }, - 112usize, + 108usize, "Offset of field: AVCodecContext::delay" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize }, - 116usize, + 112usize, "Offset of field: AVCodecContext::width" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize }, - 120usize, + 116usize, "Offset of field: AVCodecContext::height" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).coded_width) as usize - ptr as usize }, - 124usize, + 120usize, "Offset of field: AVCodecContext::coded_width" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).coded_height) as usize - ptr as usize }, - 128usize, + 124usize, "Offset of field: AVCodecContext::coded_height" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sample_aspect_ratio) as usize - ptr as usize }, - 132usize, + 128usize, "Offset of field: AVCodecContext::sample_aspect_ratio" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).pix_fmt) as usize - ptr as usize }, - 140usize, + 136usize, "Offset of field: AVCodecContext::pix_fmt" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sw_pix_fmt) as usize - ptr as usize }, - 144usize, + 140usize, "Offset of field: AVCodecContext::sw_pix_fmt" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_primaries) as usize - ptr as usize }, - 148usize, + 144usize, "Offset of field: AVCodecContext::color_primaries" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_trc) as usize - ptr as usize }, - 152usize, + 148usize, "Offset of field: AVCodecContext::color_trc" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).colorspace) as usize - ptr as usize }, - 156usize, + 152usize, "Offset of field: AVCodecContext::colorspace" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_range) as usize - ptr as usize }, - 160usize, + 156usize, "Offset of field: AVCodecContext::color_range" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).chroma_sample_location) as usize - ptr as usize }, - 164usize, + 160usize, "Offset of field: AVCodecContext::chroma_sample_location" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).field_order) as usize - ptr as usize }, - 168usize, + 164usize, "Offset of field: AVCodecContext::field_order" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).refs) as usize - ptr as usize }, - 172usize, + 168usize, "Offset of field: AVCodecContext::refs" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).has_b_frames) as usize - ptr as usize }, - 176usize, + 172usize, "Offset of field: AVCodecContext::has_b_frames" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).slice_flags) as usize - ptr as usize }, - 180usize, + 176usize, "Offset of field: AVCodecContext::slice_flags" ); assert_eq!( @@ -11922,7 +14421,7 @@ fn bindgen_test_layout_AVCodecContext() { } impl ::std::fmt::Debug for AVCodecContext { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write ! (f , "AVCodecContext {{ av_class: {:?}, log_level_offset: {:?}, codec_type: {:?}, codec: {:?}, codec_id: {:?}, codec_tag: {:?}, priv_data: {:?}, internal: {:?}, opaque: {:?}, bit_rate: {:?}, flags: {:?}, flags2: {:?}, extradata: {:?}, extradata_size: {:?}, time_base: {:?}, pkt_timebase: {:?}, framerate: {:?}, ticks_per_frame: {:?}, delay: {:?}, width: {:?}, height: {:?}, coded_width: {:?}, coded_height: {:?}, sample_aspect_ratio: {:?}, pix_fmt: {:?}, sw_pix_fmt: {:?}, color_primaries: {:?}, color_trc: {:?}, colorspace: {:?}, color_range: {:?}, chroma_sample_location: {:?}, field_order: {:?}, refs: {:?}, has_b_frames: {:?}, slice_flags: {:?}, draw_horiz_band: {:?}, get_format: {:?}, max_b_frames: {:?}, b_quant_factor: {:?}, b_quant_offset: {:?}, i_quant_factor: {:?}, i_quant_offset: {:?}, lumi_masking: {:?}, temporal_cplx_masking: {:?}, spatial_cplx_masking: {:?}, p_masking: {:?}, dark_masking: {:?}, nsse_weight: {:?}, me_cmp: {:?}, me_sub_cmp: {:?}, mb_cmp: {:?}, ildct_cmp: {:?}, dia_size: {:?}, last_predictor_count: {:?}, me_pre_cmp: {:?}, pre_dia_size: {:?}, me_subpel_quality: {:?}, me_range: {:?}, mb_decision: {:?}, intra_matrix: {:?}, inter_matrix: {:?}, chroma_intra_matrix: {:?}, intra_dc_precision: {:?}, mb_lmin: {:?}, mb_lmax: {:?}, bidir_refine: {:?}, keyint_min: {:?}, gop_size: {:?}, mv0_threshold: {:?}, slices: {:?}, sample_rate: {:?}, sample_fmt: {:?}, ch_layout: {:?}, frame_size: {:?}, block_align: {:?}, cutoff: {:?}, audio_service_type: {:?}, request_sample_fmt: {:?}, initial_padding: {:?}, trailing_padding: {:?}, seek_preroll: {:?}, get_buffer2: {:?}, bit_rate_tolerance: {:?}, global_quality: {:?}, compression_level: {:?}, qcompress: {:?}, qblur: {:?}, qmin: {:?}, qmax: {:?}, max_qdiff: {:?}, rc_buffer_size: {:?}, rc_override_count: {:?}, rc_override: {:?}, rc_max_rate: {:?}, rc_min_rate: {:?}, rc_max_available_vbv_use: {:?}, rc_min_vbv_overflow_use: {:?}, rc_initial_buffer_occupancy: {:?}, trellis: {:?}, stats_out: {:?}, stats_in: {:?}, workaround_bugs: {:?}, strict_std_compliance: {:?}, error_concealment: {:?}, debug: {:?}, err_recognition: {:?}, hwaccel: {:?}, hwaccel_context: {:?}, hw_frames_ctx: {:?}, hw_device_ctx: {:?}, hwaccel_flags: {:?}, extra_hw_frames: {:?}, error: {:?}, dct_algo: {:?}, idct_algo: {:?}, bits_per_coded_sample: {:?}, bits_per_raw_sample: {:?}, thread_count: {:?}, thread_type: {:?}, active_thread_type: {:?}, execute: {:?}, execute2: {:?}, profile: {:?}, level: {:?}, properties: {:?}, skip_loop_filter: {:?}, skip_idct: {:?}, skip_frame: {:?}, skip_alpha: {:?}, skip_top: {:?}, skip_bottom: {:?}, lowres: {:?}, codec_descriptor: {:?}, sub_charenc: {:?}, sub_charenc_mode: {:?}, subtitle_header_size: {:?}, subtitle_header: {:?}, dump_separator: {:?}, codec_whitelist: {:?}, coded_side_data: {:?}, nb_coded_side_data: {:?}, export_side_data: {:?}, max_pixels: {:?}, apply_cropping: {:?}, discard_damaged_percentage: {:?}, max_samples: {:?}, get_encode_buffer: {:?}, frame_num: {:?}, side_data_prefer_packet: {:?}, nb_side_data_prefer_packet: {:?}, decoded_side_data: {:?}, nb_decoded_side_data: {:?} }}" , self . av_class , self . log_level_offset , self . codec_type , self . codec , self . codec_id , self . codec_tag , self . priv_data , self . internal , self . opaque , self . bit_rate , self . flags , self . flags2 , self . extradata , self . extradata_size , self . time_base , self . pkt_timebase , self . framerate , self . ticks_per_frame , self . delay , self . width , self . height , self . coded_width , self . coded_height , self . sample_aspect_ratio , self . pix_fmt , self . sw_pix_fmt , self . color_primaries , self . color_trc , self . colorspace , self . color_range , self . chroma_sample_location , self . field_order , self . refs , self . has_b_frames , self . slice_flags , self . draw_horiz_band , self . get_format , self . max_b_frames , self . b_quant_factor , self . b_quant_offset , self . i_quant_factor , self . i_quant_offset , self . lumi_masking , self . temporal_cplx_masking , self . spatial_cplx_masking , self . p_masking , self . dark_masking , self . nsse_weight , self . me_cmp , self . me_sub_cmp , self . mb_cmp , self . ildct_cmp , self . dia_size , self . last_predictor_count , self . me_pre_cmp , self . pre_dia_size , self . me_subpel_quality , self . me_range , self . mb_decision , self . intra_matrix , self . inter_matrix , self . chroma_intra_matrix , self . intra_dc_precision , self . mb_lmin , self . mb_lmax , self . bidir_refine , self . keyint_min , self . gop_size , self . mv0_threshold , self . slices , self . sample_rate , self . sample_fmt , self . ch_layout , self . frame_size , self . block_align , self . cutoff , self . audio_service_type , self . request_sample_fmt , self . initial_padding , self . trailing_padding , self . seek_preroll , self . get_buffer2 , self . bit_rate_tolerance , self . global_quality , self . compression_level , self . qcompress , self . qblur , self . qmin , self . qmax , self . max_qdiff , self . rc_buffer_size , self . rc_override_count , self . rc_override , self . rc_max_rate , self . rc_min_rate , self . rc_max_available_vbv_use , self . rc_min_vbv_overflow_use , self . rc_initial_buffer_occupancy , self . trellis , self . stats_out , self . stats_in , self . workaround_bugs , self . strict_std_compliance , self . error_concealment , self . debug , self . err_recognition , self . hwaccel , self . hwaccel_context , self . hw_frames_ctx , self . hw_device_ctx , self . hwaccel_flags , self . extra_hw_frames , self . error , self . dct_algo , self . idct_algo , self . bits_per_coded_sample , self . bits_per_raw_sample , self . thread_count , self . thread_type , self . active_thread_type , self . execute , self . execute2 , self . profile , self . level , self . properties , self . skip_loop_filter , self . skip_idct , self . skip_frame , self . skip_alpha , self . skip_top , self . skip_bottom , self . lowres , self . codec_descriptor , self . sub_charenc , self . sub_charenc_mode , self . subtitle_header_size , self . subtitle_header , self . dump_separator , self . codec_whitelist , self . coded_side_data , self . nb_coded_side_data , self . export_side_data , self . max_pixels , self . apply_cropping , self . discard_damaged_percentage , self . max_samples , self . get_encode_buffer , self . frame_num , self . side_data_prefer_packet , self . nb_side_data_prefer_packet , self . decoded_side_data , self . nb_decoded_side_data) + write ! (f , "AVCodecContext {{ av_class: {:?}, log_level_offset: {:?}, codec_type: {:?}, codec: {:?}, codec_id: {:?}, codec_tag: {:?}, priv_data: {:?}, internal: {:?}, opaque: {:?}, bit_rate: {:?}, flags: {:?}, flags2: {:?}, extradata: {:?}, extradata_size: {:?}, time_base: {:?}, pkt_timebase: {:?}, framerate: {:?}, delay: {:?}, width: {:?}, height: {:?}, coded_width: {:?}, coded_height: {:?}, sample_aspect_ratio: {:?}, pix_fmt: {:?}, sw_pix_fmt: {:?}, color_primaries: {:?}, color_trc: {:?}, colorspace: {:?}, color_range: {:?}, chroma_sample_location: {:?}, field_order: {:?}, refs: {:?}, has_b_frames: {:?}, slice_flags: {:?}, draw_horiz_band: {:?}, get_format: {:?}, max_b_frames: {:?}, b_quant_factor: {:?}, b_quant_offset: {:?}, i_quant_factor: {:?}, i_quant_offset: {:?}, lumi_masking: {:?}, temporal_cplx_masking: {:?}, spatial_cplx_masking: {:?}, p_masking: {:?}, dark_masking: {:?}, nsse_weight: {:?}, me_cmp: {:?}, me_sub_cmp: {:?}, mb_cmp: {:?}, ildct_cmp: {:?}, dia_size: {:?}, last_predictor_count: {:?}, me_pre_cmp: {:?}, pre_dia_size: {:?}, me_subpel_quality: {:?}, me_range: {:?}, mb_decision: {:?}, intra_matrix: {:?}, inter_matrix: {:?}, chroma_intra_matrix: {:?}, intra_dc_precision: {:?}, mb_lmin: {:?}, mb_lmax: {:?}, bidir_refine: {:?}, keyint_min: {:?}, gop_size: {:?}, mv0_threshold: {:?}, slices: {:?}, sample_rate: {:?}, sample_fmt: {:?}, ch_layout: {:?}, frame_size: {:?}, block_align: {:?}, cutoff: {:?}, audio_service_type: {:?}, request_sample_fmt: {:?}, initial_padding: {:?}, trailing_padding: {:?}, seek_preroll: {:?}, get_buffer2: {:?}, bit_rate_tolerance: {:?}, global_quality: {:?}, compression_level: {:?}, qcompress: {:?}, qblur: {:?}, qmin: {:?}, qmax: {:?}, max_qdiff: {:?}, rc_buffer_size: {:?}, rc_override_count: {:?}, rc_override: {:?}, rc_max_rate: {:?}, rc_min_rate: {:?}, rc_max_available_vbv_use: {:?}, rc_min_vbv_overflow_use: {:?}, rc_initial_buffer_occupancy: {:?}, trellis: {:?}, stats_out: {:?}, stats_in: {:?}, workaround_bugs: {:?}, strict_std_compliance: {:?}, error_concealment: {:?}, debug: {:?}, err_recognition: {:?}, hwaccel: {:?}, hwaccel_context: {:?}, hw_frames_ctx: {:?}, hw_device_ctx: {:?}, hwaccel_flags: {:?}, extra_hw_frames: {:?}, error: {:?}, dct_algo: {:?}, idct_algo: {:?}, bits_per_coded_sample: {:?}, bits_per_raw_sample: {:?}, thread_count: {:?}, thread_type: {:?}, active_thread_type: {:?}, execute: {:?}, execute2: {:?}, profile: {:?}, level: {:?}, properties: {:?}, skip_loop_filter: {:?}, skip_idct: {:?}, skip_frame: {:?}, skip_alpha: {:?}, skip_top: {:?}, skip_bottom: {:?}, lowres: {:?}, codec_descriptor: {:?}, sub_charenc: {:?}, sub_charenc_mode: {:?}, subtitle_header_size: {:?}, subtitle_header: {:?}, dump_separator: {:?}, codec_whitelist: {:?}, coded_side_data: {:?}, nb_coded_side_data: {:?}, export_side_data: {:?}, max_pixels: {:?}, apply_cropping: {:?}, discard_damaged_percentage: {:?}, max_samples: {:?}, get_encode_buffer: {:?}, frame_num: {:?}, side_data_prefer_packet: {:?}, nb_side_data_prefer_packet: {:?}, decoded_side_data: {:?}, nb_decoded_side_data: {:?} }}" , self . av_class , self . log_level_offset , self . codec_type , self . codec , self . codec_id , self . codec_tag , self . priv_data , self . internal , self . opaque , self . bit_rate , self . flags , self . flags2 , self . extradata , self . extradata_size , self . time_base , self . pkt_timebase , self . framerate , self . delay , self . width , self . height , self . coded_width , self . coded_height , self . sample_aspect_ratio , self . pix_fmt , self . sw_pix_fmt , self . color_primaries , self . color_trc , self . colorspace , self . color_range , self . chroma_sample_location , self . field_order , self . refs , self . has_b_frames , self . slice_flags , self . draw_horiz_band , self . get_format , self . max_b_frames , self . b_quant_factor , self . b_quant_offset , self . i_quant_factor , self . i_quant_offset , self . lumi_masking , self . temporal_cplx_masking , self . spatial_cplx_masking , self . p_masking , self . dark_masking , self . nsse_weight , self . me_cmp , self . me_sub_cmp , self . mb_cmp , self . ildct_cmp , self . dia_size , self . last_predictor_count , self . me_pre_cmp , self . pre_dia_size , self . me_subpel_quality , self . me_range , self . mb_decision , self . intra_matrix , self . inter_matrix , self . chroma_intra_matrix , self . intra_dc_precision , self . mb_lmin , self . mb_lmax , self . bidir_refine , self . keyint_min , self . gop_size , self . mv0_threshold , self . slices , self . sample_rate , self . sample_fmt , self . ch_layout , self . frame_size , self . block_align , self . cutoff , self . audio_service_type , self . request_sample_fmt , self . initial_padding , self . trailing_padding , self . seek_preroll , self . get_buffer2 , self . bit_rate_tolerance , self . global_quality , self . compression_level , self . qcompress , self . qblur , self . qmin , self . qmax , self . max_qdiff , self . rc_buffer_size , self . rc_override_count , self . rc_override , self . rc_max_rate , self . rc_min_rate , self . rc_max_available_vbv_use , self . rc_min_vbv_overflow_use , self . rc_initial_buffer_occupancy , self . trellis , self . stats_out , self . stats_in , self . workaround_bugs , self . strict_std_compliance , self . error_concealment , self . debug , self . err_recognition , self . hwaccel , self . hwaccel_context , self . hw_frames_ctx , self . hw_device_ctx , self . hwaccel_flags , self . extra_hw_frames , self . error , self . dct_algo , self . idct_algo , self . bits_per_coded_sample , self . bits_per_raw_sample , self . thread_count , self . thread_type , self . active_thread_type , self . execute , self . execute2 , self . profile , self . level , self . properties , self . skip_loop_filter , self . skip_idct , self . skip_frame , self . skip_alpha , self . skip_top , self . skip_bottom , self . lowres , self . codec_descriptor , self . sub_charenc , self . sub_charenc_mode , self . subtitle_header_size , self . subtitle_header , self . dump_separator , self . codec_whitelist , self . coded_side_data , self . nb_coded_side_data , self . export_side_data , self . max_pixels , self . apply_cropping , self . discard_damaged_percentage , self . max_samples , self . get_encode_buffer , self . frame_num , self . side_data_prefer_packet , self . nb_side_data_prefer_packet , self . decoded_side_data , self . nb_decoded_side_data) } } #[doc = " @defgroup lavc_hwaccel AVHWAccel\n\n @note Nothing in this structure should be accessed by the user. At some\n point in future it will not be externally visible at all.\n\n @{"] @@ -12188,10 +14687,6 @@ extern "C" { options: *mut *mut AVDictionary, ) -> ::std::os::raw::c_int; } -extern "C" { - #[doc = " Close a given AVCodecContext and free all the data associated with it\n (but not the AVCodecContext itself).\n\n Calling this function on an AVCodecContext that hasn't been opened will free\n the codec-specific data allocated in avcodec_alloc_context3() with a non-NULL\n codec. Subsequent calls will do nothing.\n\n @deprecated Do not use this function. Use avcodec_free_context() to destroy a\n codec context (either open or closed). Opening and closing a codec context\n multiple times is not supported anymore -- use multiple codec contexts\n instead."] - pub fn avcodec_close(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int; -} extern "C" { #[doc = " Free all allocated data in the given subtitle struct.\n\n @param sub AVSubtitle to free."] pub fn avsubtitle_free(sub: *mut AVSubtitle); @@ -12731,7 +15226,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Reset the internal codec state / flush internal buffers. Should be called\n e.g. when seeking or when switching to a different stream.\n\n @note for decoders, this function just releases any references the decoder\n might keep internally, but the caller's references remain valid.\n\n @note for encoders, this function will only do something if the encoder\n declares support for AV_CODEC_CAP_ENCODER_FLUSH. When called, the encoder\n will drain any remaining packets, and can then be re-used for a different\n stream (as opposed to sending a null frame which will leave the encoder\n in a permanent EOF state after draining). This can be desirable if the\n cost of tearing down and replacing the encoder instance is high."] + #[doc = " Reset the internal codec state / flush internal buffers. Should be called\n e.g. when seeking or when switching to a different stream.\n\n @note for decoders, this function just releases any references the decoder\n might keep internally, but the caller's references remain valid.\n\n @note for encoders, this function will only do something if the encoder\n declares support for AV_CODEC_CAP_ENCODER_FLUSH. When called, the encoder\n will drain any remaining packets, and can then be reused for a different\n stream (as opposed to sending a null frame which will leave the encoder\n in a permanent EOF state after draining). This can be desirable if the\n cost of tearing down and replacing the encoder instance is high."] pub fn avcodec_flush_buffers(avctx: *mut AVCodecContext); } extern "C" { @@ -12758,7 +15253,7 @@ extern "C" { ); } extern "C" { - #[doc = " @return a positive value if s is open (i.e. avcodec_open2() was called on it\n with no corresponding avcodec_close()), 0 otherwise."] + #[doc = " @return a positive value if s is open (i.e. avcodec_open2() was called on it),\n 0 otherwise."] pub fn avcodec_is_open(s: *mut AVCodecContext) -> ::std::os::raw::c_int; } #[doc = " Underlying C type is unsigned int."] @@ -13064,7 +15559,7 @@ pub struct AVOptionRanges { pub range: *mut *mut AVOptionRange, #[doc = " Number of ranges per component."] pub nb_ranges: ::std::os::raw::c_int, - #[doc = " Number of componentes."] + #[doc = " Number of components."] pub nb_components: ::std::os::raw::c_int, } #[test] @@ -13176,8 +15671,8 @@ extern "C" { ) -> ::std::os::raw::c_int; } #[doc = " Accept to parse a value without a key; the key will then be returned\n as NULL."] -pub const AV_OPT_FLAG_IMPLICIT_KEY: _bindgen_ty_5 = 1; -pub type _bindgen_ty_5 = ::std::os::raw::c_uint; +pub const AV_OPT_FLAG_IMPLICIT_KEY: _bindgen_ty_4 = 1; +pub type _bindgen_ty_4 = ::std::os::raw::c_uint; extern "C" { #[doc = " Parse the key/value pairs list in opts. For each key/value pair\n found, stores the value in the field in ctx that is named like the\n key. ctx must be an AVClass context, storing is done using\n AVOptions.\n\n @param opts options string to parse, may be NULL\n @param key_val_sep a 0-terminated list of characters used to\n separate key from value\n @param pairs_sep a 0-terminated list of characters used to separate\n two pairs from each other\n @return the number of successfully set key/value pairs, or a negative\n value corresponding to an AVERROR code in case of error:\n AVERROR(EINVAL) if opts cannot be parsed,\n the error code issued by av_opt_set() if a key/value pair\n cannot be set"] pub fn av_set_options_string( @@ -13487,7 +15982,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Gets a pointer to the requested field in a struct.\n This function allows accessing a struct even when its fields are moved or\n renamed since the application making the access has been compiled,\n\n @returns a pointer to the field, it can be cast to the correct type and read\n or written to."] + #[doc = " Gets a pointer to the requested field in a struct.\n This function allows accessing a struct even when its fields are moved or\n renamed since the application making the access has been compiled,\n\n @returns a pointer to the field, it can be cast to the correct type and read\n or written to.\n\n @deprecated direct access to AVOption-exported fields is not supported"] pub fn av_opt_ptr( avclass: *const AVClass, obj: *mut ::std::os::raw::c_void, @@ -13518,7 +16013,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Serialize object's options.\n\n Create a string containing object's serialized options.\n Such string may be passed back to av_opt_set_from_string() in order to restore option values.\n A key/value or pairs separator occurring in the serialized value or\n name string are escaped through the av_escape() function.\n\n @param[in] obj AVClass object to serialize\n @param[in] opt_flags serialize options with all the specified flags set (AV_OPT_FLAG)\n @param[in] flags combination of AV_OPT_SERIALIZE_* flags\n @param[out] buffer Pointer to buffer that will be allocated with string containg serialized options.\n Buffer must be freed by the caller when is no longer needed.\n @param[in] key_val_sep character used to separate key from value\n @param[in] pairs_sep character used to separate two pairs from each other\n @return >= 0 on success, negative on error\n @warning Separators cannot be neither '\\\\' nor '\\0'. They also cannot be the same."] + #[doc = " Serialize object's options.\n\n Create a string containing object's serialized options.\n Such string may be passed back to av_opt_set_from_string() in order to restore option values.\n A key/value or pairs separator occurring in the serialized value or\n name string are escaped through the av_escape() function.\n\n @param[in] obj AVClass object to serialize\n @param[in] opt_flags serialize options with all the specified flags set (AV_OPT_FLAG)\n @param[in] flags combination of AV_OPT_SERIALIZE_* flags\n @param[out] buffer Pointer to buffer that will be allocated with string containing serialized options.\n Buffer must be freed by the caller when is no longer needed.\n @param[in] key_val_sep character used to separate key from value\n @param[in] pairs_sep character used to separate two pairs from each other\n @return >= 0 on success, negative on error\n @warning Separators cannot be neither '\\\\' nor '\\0'. They also cannot be the same."] pub fn av_opt_serialize( obj: *mut ::std::os::raw::c_void, opt_flags: ::std::os::raw::c_int, @@ -13533,7 +16028,7 @@ extern "C" { pub fn av_opt_freep_ranges(ranges: *mut *mut AVOptionRanges); } extern "C" { - #[doc = " Get a list of allowed ranges for the given option.\n\n The returned list may depend on other fields in obj like for example profile.\n\n @param flags is a bitmask of flags, undefined flags should not be set and should be ignored\n AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance\n AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component, @see AVOptionRanges\n\n The result must be freed with av_opt_freep_ranges.\n\n @return number of compontents returned on success, a negative errro code otherwise"] + #[doc = " Get a list of allowed ranges for the given option.\n\n The returned list may depend on other fields in obj like for example profile.\n\n @param flags is a bitmask of flags, undefined flags should not be set and should be ignored\n AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance\n AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component, @see AVOptionRanges\n\n The result must be freed with av_opt_freep_ranges.\n\n @return number of components returned on success, a negative error code otherwise"] pub fn av_opt_query_ranges( arg1: *mut *mut AVOptionRanges, obj: *mut ::std::os::raw::c_void, @@ -13542,7 +16037,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Get a default list of allowed ranges for the given option.\n\n This list is constructed without using the AVClass.query_ranges() callback\n and can be used as fallback from within the callback.\n\n @param flags is a bitmask of flags, undefined flags should not be set and should be ignored\n AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance\n AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component, @see AVOptionRanges\n\n The result must be freed with av_opt_free_ranges.\n\n @return number of compontents returned on success, a negative errro code otherwise"] + #[doc = " Get a default list of allowed ranges for the given option.\n\n This list is constructed without using the AVClass.query_ranges() callback\n and can be used as fallback from within the callback.\n\n @param flags is a bitmask of flags, undefined flags should not be set and should be ignored\n AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance\n AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component, @see AVOptionRanges\n\n The result must be freed with av_opt_free_ranges.\n\n @return number of components returned on success, a negative error code otherwise"] pub fn av_opt_query_ranges_default( arg1: *mut *mut AVOptionRanges, obj: *mut ::std::os::raw::c_void, @@ -13637,122 +16132,6 @@ extern "C" { extern "C" { pub fn avcodec_dct_get_class() -> *const AVClass; } -#[doc = " @defgroup lavc_fft FFT functions\n @ingroup lavc_misc\n\n @{"] -pub type FFTSample = f32; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct FFTComplex { - pub re: FFTSample, - pub im: FFTSample, -} -#[test] -fn bindgen_test_layout_FFTComplex() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - "Size of FFTComplex" - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - "Alignment of FFTComplex" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).re) as usize - ptr as usize }, - 0usize, - "Offset of field: FFTComplex::re" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).im) as usize - ptr as usize }, - 4usize, - "Offset of field: FFTComplex::im" - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct FFTContext { - _unused: [u8; 0], -} -extern "C" { - #[doc = " Set up a complex FFT.\n @param nbits log2 of the length of the input array\n @param inverse if 0 perform the forward transform, if 1 perform the inverse\n @deprecated use av_tx_init from libavutil/tx.h with a type of AV_TX_FLOAT_FFT"] - pub fn av_fft_init( - nbits: ::std::os::raw::c_int, - inverse: ::std::os::raw::c_int, - ) -> *mut FFTContext; -} -extern "C" { - #[doc = " Do the permutation needed BEFORE calling ff_fft_calc().\n @deprecated without replacement"] - pub fn av_fft_permute(s: *mut FFTContext, z: *mut FFTComplex); -} -extern "C" { - #[doc = " Do a complex FFT with the parameters defined in av_fft_init(). The\n input data must be permuted before. No 1.0/sqrt(n) normalization is done.\n @deprecated use the av_tx_fn value returned by av_tx_init, which also does permutation"] - pub fn av_fft_calc(s: *mut FFTContext, z: *mut FFTComplex); -} -extern "C" { - pub fn av_fft_end(s: *mut FFTContext); -} -extern "C" { - #[doc = " @deprecated use av_tx_init from libavutil/tx.h with a type of AV_TX_FLOAT_MDCT,\n with a flag of AV_TX_FULL_IMDCT for a replacement to av_imdct_calc."] - pub fn av_mdct_init( - nbits: ::std::os::raw::c_int, - inverse: ::std::os::raw::c_int, - scale: f64, - ) -> *mut FFTContext; -} -extern "C" { - pub fn av_imdct_calc(s: *mut FFTContext, output: *mut FFTSample, input: *const FFTSample); -} -extern "C" { - pub fn av_imdct_half(s: *mut FFTContext, output: *mut FFTSample, input: *const FFTSample); -} -extern "C" { - pub fn av_mdct_calc(s: *mut FFTContext, output: *mut FFTSample, input: *const FFTSample); -} -extern "C" { - pub fn av_mdct_end(s: *mut FFTContext); -} -pub const DFT_R2C: RDFTransformType = 0; -pub const IDFT_C2R: RDFTransformType = 1; -pub const IDFT_R2C: RDFTransformType = 2; -pub const DFT_C2R: RDFTransformType = 3; -pub type RDFTransformType = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct RDFTContext { - _unused: [u8; 0], -} -extern "C" { - #[doc = " Set up a real FFT.\n @param nbits log2 of the length of the input array\n @param trans the type of transform\n\n @deprecated use av_tx_init from libavutil/tx.h with a type of AV_TX_FLOAT_RDFT"] - pub fn av_rdft_init(nbits: ::std::os::raw::c_int, trans: RDFTransformType) -> *mut RDFTContext; -} -extern "C" { - pub fn av_rdft_calc(s: *mut RDFTContext, data: *mut FFTSample); -} -extern "C" { - pub fn av_rdft_end(s: *mut RDFTContext); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct DCTContext { - _unused: [u8; 0], -} -pub const DCT_II: DCTTransformType = 0; -pub const DCT_III: DCTTransformType = 1; -pub const DCT_I: DCTTransformType = 2; -pub const DST_I: DCTTransformType = 3; -pub type DCTTransformType = ::std::os::raw::c_uint; -extern "C" { - #[doc = " Set up DCT.\n\n @param nbits size of the input array:\n (1 << nbits) for DCT-II, DCT-III and DST-I\n (1 << nbits) + 1 for DCT-I\n @param type the type of transform\n\n @note the first element of the input of DST-I is ignored\n\n @deprecated use av_tx_init from libavutil/tx.h with an appropriate type of AV_TX_FLOAT_DCT"] - pub fn av_dct_init(nbits: ::std::os::raw::c_int, type_: DCTTransformType) -> *mut DCTContext; -} -extern "C" { - pub fn av_dct_calc(s: *mut DCTContext, data: *mut FFTSample); -} -extern "C" { - pub fn av_dct_end(s: *mut DCTContext); -} #[doc = " The bitstream filter state.\n\n This struct must be allocated with av_bsf_alloc() and freed with\n av_bsf_free().\n\n The fields in the struct will only be changed (by the caller or by the\n filter) as described in their documentation, and are to be considered\n immutable otherwise."] #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -15003,7 +17382,7 @@ extern "C" { pub fn avio_vprintf( s: *mut AVIOContext, fmt: *const ::std::os::raw::c_char, - ap: *mut __va_list_tag, + ap: va_list, ) -> ::std::os::raw::c_int; } extern "C" { @@ -15464,6 +17843,28 @@ impl AVIndexEntry { } } #[inline] + pub unsafe fn flags_raw(this: *const Self) -> ::std::os::raw::c_int { + unsafe { + ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::std::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 2u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_flags_raw(this: *mut Self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::std::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 2u8, + val as u64, + ) + } + } + #[inline] pub fn size(&self) -> ::std::os::raw::c_int { unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } } @@ -15475,6 +17876,28 @@ impl AVIndexEntry { } } #[inline] + pub unsafe fn size_raw(this: *const Self) -> ::std::os::raw::c_int { + unsafe { + ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::std::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 30u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_size_raw(this: *mut Self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::std::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 30u8, + val as u64, + ) + } + } + #[inline] pub fn new_bitfield_1( flags: ::std::os::raw::c_int, size: ::std::os::raw::c_int, @@ -15534,10 +17957,6 @@ pub struct AVStream { pub avg_frame_rate: AVRational, #[doc = " For streams with AV_DISPOSITION_ATTACHED_PIC disposition, this packet\n will contain the attached picture.\n\n decoding: set by libavformat, must not be modified by the caller.\n encoding: unused"] pub attached_pic: AVPacket, - #[doc = " An array of side data that applies to the whole stream (i.e. the\n container does not allow it to change between packets).\n\n There may be no overlap between the side data in this array and side data\n in the packets. I.e. a given side data is either exported by the muxer\n (demuxing) / set by the caller (muxing) in this array, then it never\n appears in the packets, or the side data is exported / sent through\n the packets (always in the first packet where the value becomes known or\n changes), then it does not appear in this array.\n\n - demuxing: Set by libavformat when the stream is created.\n - muxing: May be set by the caller before avformat_write_header().\n\n Freed by libavformat in avformat_free_context().\n\n @deprecated use AVStream's @ref AVCodecParameters.coded_side_data\n \"codecpar side data\"."] - pub side_data: *mut AVPacketSideData, - #[doc = " The number of elements in the AVStream.side_data array.\n\n @deprecated use AVStream's @ref AVCodecParameters.nb_coded_side_data\n \"codecpar side data\"."] - pub nb_side_data: ::std::os::raw::c_int, #[doc = " Flags indicating events happening on the stream, a combination of\n AVSTREAM_EVENT_FLAG_*.\n\n - demuxing: may be set by the demuxer in avformat_open_input(),\n avformat_find_stream_info() and av_read_frame(). Flags must be cleared\n by the user once the event has been handled.\n - muxing: may be set by the user after avformat_write_header(). to\n indicate a user-triggered event. The muxer will clear the flags for\n events it has handled in av_[interleaved]_write_frame()."] pub event_flags: ::std::os::raw::c_int, #[doc = " Real base framerate of the stream.\n This is the lowest framerate with which all timestamps can be\n represented accurately (it is the least common multiple of all\n framerates in the stream). Note, this value is just a guess!\n For example, if the time base is 1/90000 and all frames have either\n approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1."] @@ -15551,7 +17970,7 @@ fn bindgen_test_layout_AVStream() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 232usize, + 216usize, "Size of AVStream" ); assert_eq!( @@ -15634,33 +18053,23 @@ fn bindgen_test_layout_AVStream() { 96usize, "Offset of field: AVStream::attached_pic" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).side_data) as usize - ptr as usize }, - 200usize, - "Offset of field: AVStream::side_data" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).nb_side_data) as usize - ptr as usize }, - 208usize, - "Offset of field: AVStream::nb_side_data" - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).event_flags) as usize - ptr as usize }, - 212usize, + 200usize, "Offset of field: AVStream::event_flags" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).r_frame_rate) as usize - ptr as usize }, - 216usize, + 204usize, "Offset of field: AVStream::r_frame_rate" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).pts_wrap_bits) as usize - ptr as usize }, - 224usize, + 212usize, "Offset of field: AVStream::pts_wrap_bits" ); } -#[doc = " AVStreamGroupTileGrid holds information on how to combine several\n independent images on a single canvas for presentation.\n\n The output should be a @ref AVStreamGroupTileGrid.background \"background\"\n colored @ref AVStreamGroupTileGrid.coded_width \"coded_width\" x\n @ref AVStreamGroupTileGrid.coded_height \"coded_height\" canvas where a\n @ref AVStreamGroupTileGrid.nb_tiles \"nb_tiles\" amount of tiles are placed in\n the order they appear in the @ref AVStreamGroupTileGrid.offsets \"offsets\"\n array, at the exact offset described for them. In particular, if two or more\n tiles overlap, the image with higher index in the\n @ref AVStreamGroupTileGrid.offsets \"offsets\" array takes priority.\n Note that a single image may be used multiple times, i.e. multiple entries\n in @ref AVStreamGroupTileGrid.offsets \"offsets\" may have the same value of\n idx.\n\n The following is an example of a simple grid with 3 rows and 4 columns:\n\n +---+---+---+---+\n | 0 | 1 | 2 | 3 |\n +---+---+---+---+\n | 4 | 5 | 6 | 7 |\n +---+---+---+---+\n | 8 | 9 |10 |11 |\n +---+---+---+---+\n\n Assuming all tiles have a dimension of 512x512, the\n @ref AVStreamGroupTileGrid.offsets \"offset\" of the topleft pixel of\n the first @ref AVStreamGroup.streams \"stream\" in the group is \"0,0\", the\n @ref AVStreamGroupTileGrid.offsets \"offset\" of the topleft pixel of\n the second @ref AVStreamGroup.streams \"stream\" in the group is \"512,0\", the\n @ref AVStreamGroupTileGrid.offsets \"offset\" of the topleft pixel of\n the fifth @ref AVStreamGroup.streams \"stream\" in the group is \"0,512\", the\n @ref AVStreamGroupTileGrid.offsets \"offset\", of the topleft pixel of\n the sixth @ref AVStreamGroup.streams \"stream\" in the group is \"512,512\",\n etc.\n\n The following is an example of a canvas with overlaping tiles:\n\n +-----------+\n | %%%%% |\n |***%%3%%@@@|\n |**0%%%%%2@@|\n |***##1@@@@@|\n | ##### |\n +-----------+\n\n Assuming a canvas with size 1024x1024 and all tiles with a dimension of\n 512x512, a possible @ref AVStreamGroupTileGrid.offsets \"offset\" for the\n topleft pixel of the first @ref AVStreamGroup.streams \"stream\" in the group\n would be 0x256, the @ref AVStreamGroupTileGrid.offsets \"offset\" for the\n topleft pixel of the second @ref AVStreamGroup.streams \"stream\" in the group\n would be 256x512, the @ref AVStreamGroupTileGrid.offsets \"offset\" for the\n topleft pixel of the third @ref AVStreamGroup.streams \"stream\" in the group\n would be 512x256, and the @ref AVStreamGroupTileGrid.offsets \"offset\" for\n the topleft pixel of the fourth @ref AVStreamGroup.streams \"stream\" in the\n group would be 256x0.\n\n sizeof(AVStreamGroupTileGrid) is not a part of the ABI and may only be\n allocated by avformat_stream_group_create()."] +#[doc = " AVStreamGroupTileGrid holds information on how to combine several\n independent images on a single canvas for presentation.\n\n The output should be a @ref AVStreamGroupTileGrid.background \"background\"\n colored @ref AVStreamGroupTileGrid.coded_width \"coded_width\" x\n @ref AVStreamGroupTileGrid.coded_height \"coded_height\" canvas where a\n @ref AVStreamGroupTileGrid.nb_tiles \"nb_tiles\" amount of tiles are placed in\n the order they appear in the @ref AVStreamGroupTileGrid.offsets \"offsets\"\n array, at the exact offset described for them. In particular, if two or more\n tiles overlap, the image with higher index in the\n @ref AVStreamGroupTileGrid.offsets \"offsets\" array takes priority.\n Note that a single image may be used multiple times, i.e. multiple entries\n in @ref AVStreamGroupTileGrid.offsets \"offsets\" may have the same value of\n idx.\n\n The following is an example of a simple grid with 3 rows and 4 columns:\n\n +---+---+---+---+\n | 0 | 1 | 2 | 3 |\n +---+---+---+---+\n | 4 | 5 | 6 | 7 |\n +---+---+---+---+\n | 8 | 9 |10 |11 |\n +---+---+---+---+\n\n Assuming all tiles have a dimension of 512x512, the\n @ref AVStreamGroupTileGrid.offsets \"offset\" of the topleft pixel of\n the first @ref AVStreamGroup.streams \"stream\" in the group is \"0,0\", the\n @ref AVStreamGroupTileGrid.offsets \"offset\" of the topleft pixel of\n the second @ref AVStreamGroup.streams \"stream\" in the group is \"512,0\", the\n @ref AVStreamGroupTileGrid.offsets \"offset\" of the topleft pixel of\n the fifth @ref AVStreamGroup.streams \"stream\" in the group is \"0,512\", the\n @ref AVStreamGroupTileGrid.offsets \"offset\", of the topleft pixel of\n the sixth @ref AVStreamGroup.streams \"stream\" in the group is \"512,512\",\n etc.\n\n The following is an example of a canvas with overlapping tiles:\n\n +-----------+\n | %%%%% |\n |***%%3%%@@@|\n |**0%%%%%2@@|\n |***##1@@@@@|\n | ##### |\n +-----------+\n\n Assuming a canvas with size 1024x1024 and all tiles with a dimension of\n 512x512, a possible @ref AVStreamGroupTileGrid.offsets \"offset\" for the\n topleft pixel of the first @ref AVStreamGroup.streams \"stream\" in the group\n would be 0x256, the @ref AVStreamGroupTileGrid.offsets \"offset\" for the\n topleft pixel of the second @ref AVStreamGroup.streams \"stream\" in the group\n would be 256x512, the @ref AVStreamGroupTileGrid.offsets \"offset\" for the\n topleft pixel of the third @ref AVStreamGroup.streams \"stream\" in the group\n would be 512x256, and the @ref AVStreamGroupTileGrid.offsets \"offset\" for\n the topleft pixel of the fourth @ref AVStreamGroup.streams \"stream\" in the\n group would be 256x0.\n\n sizeof(AVStreamGroupTileGrid) is not a part of the ABI and may only be\n allocated by avformat_stream_group_create()."] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AVStreamGroupTileGrid { @@ -15682,6 +18091,10 @@ pub struct AVStreamGroupTileGrid { pub width: ::std::os::raw::c_int, #[doc = " Height of the final image for presentation.\n\n Must be > 0 and <= (@ref coded_height - @ref vertical_offset).\n When it's not equal to (@ref coded_height - @ref vertical_offset), the\n result of (@ref coded_height - height - @ref vertical_offset) is the\n amount amount of pixels to be cropped from the bottom edge of the\n final image before presentation."] pub height: ::std::os::raw::c_int, + #[doc = " Additional data associated with the grid.\n\n Should be allocated with av_packet_side_data_new() or\n av_packet_side_data_add(), and will be freed by avformat_free_context()."] + pub coded_side_data: *mut AVPacketSideData, + #[doc = " Amount of entries in @ref coded_side_data."] + pub nb_coded_side_data: ::std::os::raw::c_int, } #[doc = " An @ref nb_tiles sized array of offsets in pixels from the topleft edge\n of the canvas, indicating where each stream should be placed.\n It must be allocated with the av_malloc() family of functions.\n\n - demuxing: set by libavformat, must not be modified by the caller.\n - muxing: set by the caller before avformat_write_header().\n\n Freed by libavformat in avformat_free_context()."] #[repr(C)] @@ -15732,7 +18145,7 @@ fn bindgen_test_layout_AVStreamGroupTileGrid() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 56usize, + 72usize, "Size of AVStreamGroupTileGrid" ); assert_eq!( @@ -15790,6 +18203,16 @@ fn bindgen_test_layout_AVStreamGroupTileGrid() { 48usize, "Offset of field: AVStreamGroupTileGrid::height" ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).coded_side_data) as usize - ptr as usize }, + 56usize, + "Offset of field: AVStreamGroupTileGrid::coded_side_data" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_coded_side_data) as usize - ptr as usize }, + 64usize, + "Offset of field: AVStreamGroupTileGrid::nb_coded_side_data" + ); } #[doc = " AVStreamGroupLCEVC is meant to define the relation between video streams\n and a data stream containing LCEVC enhancement layer NALUs.\n\n No more than one stream of @ref AVCodecParameters.codec_type \"codec_type\"\n AVMEDIA_TYPE_DATA shall be present, and it must be of\n @ref AVCodecParameters.codec_id \"codec_id\" AV_CODEC_ID_LCEVC."] #[repr(C)] @@ -15999,9 +18422,6 @@ impl ::std::fmt::Debug for AVStreamGroup { extern "C" { pub fn av_stream_get_parser(s: *const AVStream) -> *mut AVCodecParserContext; } -extern "C" { - pub fn av_stream_get_first_dts(st: *const AVStream) -> i64; -} #[doc = " New fields can be added to the end with minor version bumps.\n Removal, reordering and changes to existing fields require a major\n version bump.\n sizeof(AVProgram) must not be used outside libav*."] #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -16283,7 +18703,7 @@ pub struct AVFormatContext { pub audio_preload: ::std::os::raw::c_int, #[doc = " forces the use of wallclock timestamps as pts/dts of packets\n This has undefined results in the presence of B frames.\n - encoding: unused\n - decoding: Set by user"] pub use_wallclock_as_timestamps: ::std::os::raw::c_int, - #[doc = " Skip duration calcuation in estimate_timings_from_pts.\n - encoding: unused\n - decoding: set by user\n\n @see duration_probesize"] + #[doc = " Skip duration calculation in estimate_timings_from_pts.\n - encoding: unused\n - decoding: set by user\n\n @see duration_probesize"] pub skip_estimate_duration_from_pts: ::std::os::raw::c_int, #[doc = " avio flags, used to force AVIO_FLAG_DIRECT.\n - encoding: unused\n - decoding: Set by user"] pub avio_flags: ::std::os::raw::c_int, @@ -16309,7 +18729,7 @@ pub struct AVFormatContext { pub protocol_whitelist: *mut ::std::os::raw::c_char, #[doc = " ',' separated list of disallowed protocols.\n - encoding: unused\n - decoding: set by user"] pub protocol_blacklist: *mut ::std::os::raw::c_char, - #[doc = " IO repositioned flag.\n This is set by avformat when the underlaying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] + #[doc = " IO repositioned flag.\n This is set by avformat when the underlying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] pub io_repositioned: ::std::os::raw::c_int, #[doc = " Forced video codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub video_codec: *const AVCodec, @@ -16339,7 +18759,7 @@ pub struct AVFormatContext { options: *mut *mut AVDictionary, ) -> ::std::os::raw::c_int, >, - #[doc = " A callback for closing the streams opened with AVFormatContext.io_open().\n\n Using this is preferred over io_close, because this can return an error.\n Therefore this callback is used instead of io_close by the generic\n libavformat code if io_close is NULL or the default.\n\n @param s the format context\n @param pb IO context to be closed and freed\n @return 0 on success, a negative AVERROR code on failure"] + #[doc = " A callback for closing the streams opened with AVFormatContext.io_open().\n\n @param s the format context\n @param pb IO context to be closed and freed\n @return 0 on success, a negative AVERROR code on failure"] pub io_close2: ::std::option::Option< unsafe extern "C" fn( s: *mut AVFormatContext, @@ -16736,16 +19156,6 @@ fn bindgen_test_layout_AVFormatContext() { "Offset of field: AVFormatContext::duration_probesize" ); } -extern "C" { - #[doc = " This function will cause global side data to be injected in the next packet\n of each stream as well as after any subsequent seek.\n\n @note global side data is always available in every AVStream's\n @ref AVCodecParameters.coded_side_data \"codecpar side data\" array, and\n in a @ref AVCodecContext.coded_side_data \"decoder's side data\" array if\n initialized with said stream's codecpar.\n @see av_packet_side_data_get()"] - pub fn av_format_inject_global_side_data(s: *mut AVFormatContext); -} -extern "C" { - #[doc = " Returns the method used to set ctx->duration.\n\n @return AVFMT_DURATION_FROM_PTS, AVFMT_DURATION_FROM_STREAM, or AVFMT_DURATION_FROM_BITRATE.\n @deprecated duration_estimation_method is public and can be read directly."] - pub fn av_fmt_ctx_get_duration_estimation_method( - ctx: *const AVFormatContext, - ) -> AVDurationEstimationMethod; -} extern "C" { #[doc = " Return the LIBAVFORMAT_VERSION_INT constant."] pub fn avformat_version() -> ::std::os::raw::c_uint; @@ -16810,39 +19220,14 @@ extern "C" { } extern "C" { #[doc = " Add a new stream to a media file.\n\n When demuxing, it is called by the demuxer in read_header(). If the\n flag AVFMTCTX_NOHEADER is set in s.ctx_flags, then it may also\n be called in read_packet().\n\n When muxing, should be called by the user before avformat_write_header().\n\n User is required to call avformat_free_context() to clean up the allocation\n by avformat_new_stream().\n\n @param s media file handle\n @param c unused, does nothing\n\n @return newly created stream or NULL on error."] - pub fn avformat_new_stream(s: *mut AVFormatContext, c: *const AVCodec) -> *mut AVStream; -} -extern "C" { - #[doc = " Add an already allocated stream to a stream group.\n\n When demuxing, it may be called by the demuxer in read_header(). If the\n flag AVFMTCTX_NOHEADER is set in s.ctx_flags, then it may also\n be called in read_packet().\n\n When muxing, may be called by the user before avformat_write_header() after\n having allocated a new group with avformat_stream_group_create() and stream with\n avformat_new_stream().\n\n User is required to call avformat_free_context() to clean up the allocation\n by avformat_stream_group_add_stream().\n\n @param stg stream group belonging to a media file.\n @param st stream in the media file to add to the group.\n\n @retval 0 success\n @retval AVERROR(EEXIST) the stream was already in the group\n @retval \"another negative error code\" legitimate errors\n\n @see avformat_new_stream, avformat_stream_group_create."] - pub fn avformat_stream_group_add_stream( - stg: *mut AVStreamGroup, - st: *mut AVStream, - ) -> ::std::os::raw::c_int; -} -extern "C" { - #[doc = " Wrap an existing array as stream side data.\n\n @param st stream\n @param type side information type\n @param data the side data array. It must be allocated with the av_malloc()\n family of functions. The ownership of the data is transferred to\n st.\n @param size side information size\n\n @return zero on success, a negative AVERROR code on failure. On failure,\n the stream is unchanged and the data remains owned by the caller.\n @deprecated use av_packet_side_data_add() with the stream's\n @ref AVCodecParameters.coded_side_data \"codecpar side data\""] - pub fn av_stream_add_side_data( - st: *mut AVStream, - type_: AVPacketSideDataType, - data: *mut u8, - size: usize, - ) -> ::std::os::raw::c_int; -} -extern "C" { - #[doc = " Allocate new information from stream.\n\n @param stream stream\n @param type desired side information type\n @param size side information size\n\n @return pointer to fresh allocated data or NULL otherwise\n @deprecated use av_packet_side_data_new() with the stream's\n @ref AVCodecParameters.coded_side_data \"codecpar side data\""] - pub fn av_stream_new_side_data( - stream: *mut AVStream, - type_: AVPacketSideDataType, - size: usize, - ) -> *mut u8; + pub fn avformat_new_stream(s: *mut AVFormatContext, c: *const AVCodec) -> *mut AVStream; } extern "C" { - #[doc = " Get side information from stream.\n\n @param stream stream\n @param type desired side information type\n @param size If supplied, *size will be set to the size of the side data\n or to zero if the desired side data is not present.\n\n @return pointer to data if present or NULL otherwise\n @deprecated use av_packet_side_data_get() with the stream's\n @ref AVCodecParameters.coded_side_data \"codecpar side data\""] - pub fn av_stream_get_side_data( - stream: *const AVStream, - type_: AVPacketSideDataType, - size: *mut usize, - ) -> *mut u8; + #[doc = " Add an already allocated stream to a stream group.\n\n When demuxing, it may be called by the demuxer in read_header(). If the\n flag AVFMTCTX_NOHEADER is set in s.ctx_flags, then it may also\n be called in read_packet().\n\n When muxing, may be called by the user before avformat_write_header() after\n having allocated a new group with avformat_stream_group_create() and stream with\n avformat_new_stream().\n\n User is required to call avformat_free_context() to clean up the allocation\n by avformat_stream_group_add_stream().\n\n @param stg stream group belonging to a media file.\n @param st stream in the media file to add to the group.\n\n @retval 0 success\n @retval AVERROR(EEXIST) the stream was already in the group\n @retval \"another negative error code\" legitimate errors\n\n @see avformat_new_stream, avformat_stream_group_create."] + pub fn avformat_stream_group_add_stream( + stg: *mut AVStreamGroup, + st: *mut AVStream, + ) -> ::std::os::raw::c_int; } extern "C" { pub fn av_new_program(s: *mut AVFormatContext, id: ::std::os::raw::c_int) -> *mut AVProgram; @@ -16906,7 +19291,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Open an input stream and read the header. The codecs are not opened.\n The stream must be closed with avformat_close_input().\n\n @param ps Pointer to user-supplied AVFormatContext (allocated by\n avformat_alloc_context). May be a pointer to NULL, in\n which case an AVFormatContext is allocated by this\n function and written into ps.\n Note that a user-supplied AVFormatContext will be freed\n on failure.\n @param url URL of the stream to open.\n @param fmt If non-NULL, this parameter forces a specific input format.\n Otherwise the format is autodetected.\n @param options A dictionary filled with AVFormatContext and demuxer-private\n options.\n On return this parameter will be destroyed and replaced with\n a dict containing options that were not found. May be NULL.\n\n @return 0 on success, a negative AVERROR on failure.\n\n @note If you want to use custom IO, preallocate the format context and set its pb field."] + #[doc = " Open an input stream and read the header. The codecs are not opened.\n The stream must be closed with avformat_close_input().\n\n @param ps Pointer to user-supplied AVFormatContext (allocated by\n avformat_alloc_context). May be a pointer to NULL, in\n which case an AVFormatContext is allocated by this\n function and written into ps.\n Note that a user-supplied AVFormatContext will be freed\n on failure and its pointer set to NULL.\n @param url URL of the stream to open.\n @param fmt If non-NULL, this parameter forces a specific input format.\n Otherwise the format is autodetected.\n @param options A dictionary filled with AVFormatContext and demuxer-private\n options.\n On return this parameter will be destroyed and replaced with\n a dict containing options that were not found. May be NULL.\n\n @return 0 on success; on failure: frees ps, sets its pointer to NULL,\n and returns a negative AVERROR.\n\n @note If you want to use custom IO, preallocate the format context and set its pb field."] pub fn avformat_open_input( ps: *mut *mut AVFormatContext, url: *const ::std::os::raw::c_char, @@ -17542,7 +19927,7 @@ extern "C" { pub fn avdevice_free_list_devices(device_list: *mut *mut AVDeviceInfoList); } extern "C" { - #[doc = " List devices.\n\n Returns available device names and their parameters.\n These are convinient wrappers for avdevice_list_devices().\n Device context is allocated and deallocated internally.\n\n @param device device format. May be NULL if device name is set.\n @param device_name device name. May be NULL if device format is set.\n @param device_options An AVDictionary filled with device-private options. May be NULL.\n The same options must be passed later to avformat_write_header() for output\n devices or avformat_open_input() for input devices, or at any other place\n that affects device-private options.\n @param[out] device_list list of autodetected devices\n @return count of autodetected devices, negative on error.\n @note device argument takes precedence over device_name when both are set."] + #[doc = " List devices.\n\n Returns available device names and their parameters.\n These are convenient wrappers for avdevice_list_devices().\n Device context is allocated and deallocated internally.\n\n @param device device format. May be NULL if device name is set.\n @param device_name device name. May be NULL if device format is set.\n @param device_options An AVDictionary filled with device-private options. May be NULL.\n The same options must be passed later to avformat_write_header() for output\n devices or avformat_open_input() for input devices, or at any other place\n that affects device-private options.\n @param[out] device_list list of autodetected devices\n @return count of autodetected devices, negative on error.\n @note device argument takes precedence over device_name when both are set."] pub fn avdevice_list_input_sources( device: *const AVInputFormat, device_name: *const ::std::os::raw::c_char, @@ -17599,6 +19984,10 @@ extern "C" { pad_idx: ::std::os::raw::c_int, ) -> AVMediaType; } +extern "C" { + #[doc = " Get the hardware frames context of a filter link.\n\n @param link an AVFilterLink\n\n @return a ref-counted copy of the link's hw_frames_ctx field if there is\n a hardware frames context associated with the link or NULL otherwise.\n The returned AVBufferRef needs to be released with av_buffer_unref()\n when it is no longer used."] + pub fn avfilter_link_get_hw_frames_ctx(link: *mut AVFilterLink) -> *mut AVBufferRef; +} #[doc = " Lists of formats / etc. supported by an end of a link.\n\n This structure is directly part of AVFilterLink, in two copies:\n one for the source filter, one for the destination filter.\n\n These lists are used for negotiating the format to actually be used,\n which will be loaded into the format and channel_layout members of\n AVFilterLink, when chosen."] #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -17657,7 +20046,7 @@ fn bindgen_test_layout_AVFilterFormatsConfig() { } #[doc = " Filter definition. This defines the pads a filter contains, and all the\n callback functions used to interact with the filter."] #[repr(C)] -#[derive(Copy, Clone)] +#[derive(Debug, Copy, Clone)] pub struct AVFilter { #[doc = " Filter name. Must be non-NULL and unique among filters."] pub name: *const ::std::os::raw::c_char, @@ -17671,118 +20060,6 @@ pub struct AVFilter { pub priv_class: *const AVClass, #[doc = " A combination of AVFILTER_FLAG_*"] pub flags: ::std::os::raw::c_int, - #[doc = " The number of entries in the list of inputs."] - pub nb_inputs: u8, - #[doc = " The number of entries in the list of outputs."] - pub nb_outputs: u8, - #[doc = " This field determines the state of the formats union.\n It is an enum FilterFormatsState value."] - pub formats_state: u8, - #[doc = " Filter pre-initialization function\n\n This callback will be called immediately after the filter context is\n allocated, to allow allocating and initing sub-objects.\n\n If this callback is not NULL, the uninit callback will be called on\n allocation failure.\n\n @return 0 on success,\n AVERROR code on failure (but the code will be\n dropped and treated as ENOMEM by the calling code)"] - pub preinit: ::std::option::Option< - unsafe extern "C" fn(ctx: *mut AVFilterContext) -> ::std::os::raw::c_int, - >, - #[doc = " Filter initialization function.\n\n This callback will be called only once during the filter lifetime, after\n all the options have been set, but before links between filters are\n established and format negotiation is done.\n\n Basic filter initialization should be done here. Filters with dynamic\n inputs and/or outputs should create those inputs/outputs here based on\n provided options. No more changes to this filter's inputs/outputs can be\n done after this callback.\n\n This callback must not assume that the filter links exist or frame\n parameters are known.\n\n @ref AVFilter.uninit \"uninit\" is guaranteed to be called even if\n initialization fails, so this callback does not have to clean up on\n failure.\n\n @return 0 on success, a negative AVERROR on failure"] - pub init: ::std::option::Option< - unsafe extern "C" fn(ctx: *mut AVFilterContext) -> ::std::os::raw::c_int, - >, - #[doc = " Filter uninitialization function.\n\n Called only once right before the filter is freed. Should deallocate any\n memory held by the filter, release any buffer references, etc. It does\n not need to deallocate the AVFilterContext.priv memory itself.\n\n This callback may be called even if @ref AVFilter.init \"init\" was not\n called or failed, so it must be prepared to handle such a situation."] - pub uninit: ::std::option::Option, - pub formats: AVFilter__bindgen_ty_1, - #[doc = "< size of private data to allocate for the filter"] - pub priv_size: ::std::os::raw::c_int, - #[doc = "< Additional flags for avfilter internal use only."] - pub flags_internal: ::std::os::raw::c_int, - #[doc = " Make the filter instance process a command.\n\n @param cmd the command to process, for handling simplicity all commands must be alphanumeric only\n @param arg the argument for the command\n @param res a buffer with size res_size where the filter(s) can return a response. This must not change when the command is not supported.\n @param flags if AVFILTER_CMD_FLAG_FAST is set and the command would be\n time consuming then a filter should treat it like an unsupported command\n\n @returns >=0 on success otherwise an error code.\n AVERROR(ENOSYS) on unsupported commands"] - pub process_command: ::std::option::Option< - unsafe extern "C" fn( - arg1: *mut AVFilterContext, - cmd: *const ::std::os::raw::c_char, - arg: *const ::std::os::raw::c_char, - res: *mut ::std::os::raw::c_char, - res_len: ::std::os::raw::c_int, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - #[doc = " Filter activation function.\n\n Called when any processing is needed from the filter, instead of any\n filter_frame and request_frame on pads.\n\n The function must examine inlinks and outlinks and perform a single\n step of processing. If there is nothing to do, the function must do\n nothing and not return an error. If more steps are or may be\n possible, it must use ff_filter_set_ready() to schedule another\n activation."] - pub activate: ::std::option::Option< - unsafe extern "C" fn(ctx: *mut AVFilterContext) -> ::std::os::raw::c_int, - >, -} -#[doc = " The state of the following union is determined by formats_state.\n See the documentation of enum FilterFormatsState in internal.h."] -#[repr(C)] -#[derive(Copy, Clone)] -pub union AVFilter__bindgen_ty_1 { - #[doc = " Query formats supported by the filter on its inputs and outputs.\n\n This callback is called after the filter is initialized (so the inputs\n and outputs are fixed), shortly before the format negotiation. This\n callback may be called more than once.\n\n This callback must set ::AVFilterLink's\n @ref AVFilterFormatsConfig.formats \"outcfg.formats\"\n on every input link and\n @ref AVFilterFormatsConfig.formats \"incfg.formats\"\n on every output link to a list of pixel/sample formats that the filter\n supports on that link.\n For video links, this filter may also set\n @ref AVFilterFormatsConfig.color_spaces \"incfg.color_spaces\"\n /\n @ref AVFilterFormatsConfig.color_spaces \"outcfg.color_spaces\"\n and @ref AVFilterFormatsConfig.color_ranges \"incfg.color_ranges\"\n /\n @ref AVFilterFormatsConfig.color_ranges \"outcfg.color_ranges\"\n analogously.\n For audio links, this filter must also set\n @ref AVFilterFormatsConfig.samplerates \"incfg.samplerates\"\n /\n @ref AVFilterFormatsConfig.samplerates \"outcfg.samplerates\"\n and @ref AVFilterFormatsConfig.channel_layouts \"incfg.channel_layouts\"\n /\n @ref AVFilterFormatsConfig.channel_layouts \"outcfg.channel_layouts\"\n analogously.\n\n This callback must never be NULL if the union is in this state.\n\n @return zero on success, a negative value corresponding to an\n AVERROR code otherwise"] - pub query_func: ::std::option::Option< - unsafe extern "C" fn(arg1: *mut AVFilterContext) -> ::std::os::raw::c_int, - >, - #[doc = " Same as query_func(), except this function writes the results into\n provided arrays.\n\n @param cfg_in array of input format configurations with as many\n members as the filters has inputs (NULL when there are\n no inputs);\n @param cfg_out array of output format configurations with as many\n members as the filters has outputs (NULL when there\n are no outputs);"] - pub query_func2: ::std::option::Option< - unsafe extern "C" fn( - arg1: *const AVFilterContext, - cfg_in: *mut *mut AVFilterFormatsConfig, - cfg_out: *mut *mut AVFilterFormatsConfig, - ) -> ::std::os::raw::c_int, - >, - #[doc = " A pointer to an array of admissible pixel formats delimited\n by AV_PIX_FMT_NONE. The generic code will use this list\n to indicate that this filter supports each of these pixel formats,\n provided that all inputs and outputs use the same pixel format.\n\n In addition to that the generic code will mark all inputs\n and all outputs as supporting all color spaces and ranges, as\n long as all inputs and outputs use the same color space/range.\n\n This list must never be NULL if the union is in this state.\n The type of all inputs and outputs of filters using this must\n be AVMEDIA_TYPE_VIDEO."] - pub pixels_list: *const AVPixelFormat, - #[doc = " Analogous to pixels, but delimited by AV_SAMPLE_FMT_NONE\n and restricted to filters that only have AVMEDIA_TYPE_AUDIO\n inputs and outputs.\n\n In addition to that the generic code will mark all inputs\n and all outputs as supporting all sample rates and every\n channel count and channel layout, as long as all inputs\n and outputs use the same sample rate and channel count/layout."] - pub samples_list: *const AVSampleFormat, - #[doc = " Equivalent to { pix_fmt, AV_PIX_FMT_NONE } as pixels_list."] - pub pix_fmt: AVPixelFormat, - #[doc = " Equivalent to { sample_fmt, AV_SAMPLE_FMT_NONE } as samples_list."] - pub sample_fmt: AVSampleFormat, -} -#[test] -fn bindgen_test_layout_AVFilter__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - "Size of AVFilter__bindgen_ty_1" - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of AVFilter__bindgen_ty_1" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).query_func) as usize - ptr as usize }, - 0usize, - "Offset of field: AVFilter__bindgen_ty_1::query_func" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).query_func2) as usize - ptr as usize }, - 0usize, - "Offset of field: AVFilter__bindgen_ty_1::query_func2" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pixels_list) as usize - ptr as usize }, - 0usize, - "Offset of field: AVFilter__bindgen_ty_1::pixels_list" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).samples_list) as usize - ptr as usize }, - 0usize, - "Offset of field: AVFilter__bindgen_ty_1::samples_list" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pix_fmt) as usize - ptr as usize }, - 0usize, - "Offset of field: AVFilter__bindgen_ty_1::pix_fmt" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).sample_fmt) as usize - ptr as usize }, - 0usize, - "Offset of field: AVFilter__bindgen_ty_1::sample_fmt" - ); -} -impl ::std::fmt::Debug for AVFilter__bindgen_ty_1 { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write!(f, "AVFilter__bindgen_ty_1 {{ union }}") - } } #[test] fn bindgen_test_layout_AVFilter() { @@ -17790,7 +20067,7 @@ fn bindgen_test_layout_AVFilter() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 104usize, + 48usize, "Size of AVFilter" ); assert_eq!( @@ -17828,66 +20105,6 @@ fn bindgen_test_layout_AVFilter() { 40usize, "Offset of field: AVFilter::flags" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).nb_inputs) as usize - ptr as usize }, - 44usize, - "Offset of field: AVFilter::nb_inputs" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).nb_outputs) as usize - ptr as usize }, - 45usize, - "Offset of field: AVFilter::nb_outputs" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).formats_state) as usize - ptr as usize }, - 46usize, - "Offset of field: AVFilter::formats_state" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).preinit) as usize - ptr as usize }, - 48usize, - "Offset of field: AVFilter::preinit" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize }, - 56usize, - "Offset of field: AVFilter::init" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).uninit) as usize - ptr as usize }, - 64usize, - "Offset of field: AVFilter::uninit" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).formats) as usize - ptr as usize }, - 72usize, - "Offset of field: AVFilter::formats" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).priv_size) as usize - ptr as usize }, - 80usize, - "Offset of field: AVFilter::priv_size" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).flags_internal) as usize - ptr as usize }, - 84usize, - "Offset of field: AVFilter::flags_internal" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).process_command) as usize - ptr as usize }, - 88usize, - "Offset of field: AVFilter::process_command" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).activate) as usize - ptr as usize }, - 96usize, - "Offset of field: AVFilter::activate" - ); -} -impl ::std::fmt::Debug for AVFilter { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write ! (f , "AVFilter {{ name: {:?}, description: {:?}, inputs: {:?}, outputs: {:?}, priv_class: {:?}, flags: {:?}, nb_inputs: {:?}, nb_outputs: {:?}, formats_state: {:?}, preinit: {:?}, init: {:?}, uninit: {:?}, formats: {:?}, priv_size: {:?}, flags_internal: {:?}, process_command: {:?}, activate: {:?} }}" , self . name , self . description , self . inputs , self . outputs , self . priv_class , self . flags , self . nb_inputs , self . nb_outputs , self . formats_state , self . preinit , self . init , self . uninit , self . formats , self . priv_size , self . flags_internal , self . process_command , self . activate) - } } extern "C" { #[doc = " Get the number of elements in an AVFilter's inputs or outputs array."] @@ -17926,18 +20143,19 @@ pub struct AVFilterContext { pub thread_type: ::std::os::raw::c_int, #[doc = " Max number of threads allowed in this filter instance.\n If <= 0, its value is ignored.\n Overrides global number of threads set per filter graph."] pub nb_threads: ::std::os::raw::c_int, + #[doc = " @deprecated unused"] pub command_queue: *mut AVFilterCommand, #[doc = "< enable expression string"] pub enable_str: *mut ::std::os::raw::c_char, - #[doc = "< parsed expression (AVExpr*)"] + #[doc = " @deprecated unused"] pub enable: *mut ::std::os::raw::c_void, - #[doc = "< variable values for the enable expression"] + #[doc = " @deprecated unused"] pub var_values: *mut f64, - #[doc = "< the enabled state from the last expression evaluation"] + #[doc = " MUST NOT be accessed from outside avfilter.\n\n the enabled state from the last expression evaluation"] pub is_disabled: ::std::os::raw::c_int, #[doc = " For filters which will create hardware frames, sets the device the\n filter should create them in. All other filters will ignore this field:\n in particular, a filter which consumes or processes hardware frames will\n instead use the hw_frames_ctx field in AVFilterLink to carry the\n hardware context information.\n\n May be set by the caller on filters flagged with AVFILTER_FLAG_HWDEVICE\n before initializing the filter with avfilter_init_str() or\n avfilter_init_dict()."] pub hw_device_ctx: *mut AVBufferRef, - #[doc = " Ready status of the filter.\n A non-0 value means that the filter needs activating;\n a higher value suggests a more urgent activation."] + #[doc = " @deprecated this field should never have been accessed by callers"] pub ready: ::std::os::raw::c_uint, #[doc = " Sets the number of extra hardware frames which the filter will\n allocate on its output links for use in following filters or by\n the caller.\n\n Some hardware filters require all frames that they will use for\n output to be defined in advance before filtering starts. For such\n filters, any hardware frame pools used for output must therefore be\n of fixed size. The extra frames set here are on top of any number\n that the filter needs internally in order to operate normally.\n\n This field must be set before the graph containing this filter is\n configured."] pub extra_hw_frames: ::std::os::raw::c_int, @@ -18094,6 +20312,8 @@ pub struct AVFilterLink { pub ch_layout: AVChannelLayout, #[doc = " Define the time base used by the PTS of the frames/samples\n which will pass through this link.\n During the configuration stage, each filter is supposed to\n change only the output timebase, while the timebase of the\n input link is assumed to be an unchangeable property."] pub time_base: AVRational, + pub side_data: *mut *mut AVFrameSideData, + pub nb_side_data: ::std::os::raw::c_int, #[doc = " Lists of supported formats / etc. supported by the input filter."] pub incfg: AVFilterFormatsConfig, #[doc = " Lists of supported formats / etc. supported by the output filter."] @@ -18105,7 +20325,7 @@ fn bindgen_test_layout_AVFilterLink() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 184usize, + 200usize, "Size of AVFilterLink" ); assert_eq!( @@ -18184,19 +20404,29 @@ fn bindgen_test_layout_AVFilterLink() { "Offset of field: AVFilterLink::time_base" ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).incfg) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).side_data) as usize - ptr as usize }, 104usize, + "Offset of field: AVFilterLink::side_data" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_side_data) as usize - ptr as usize }, + 112usize, + "Offset of field: AVFilterLink::nb_side_data" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).incfg) as usize - ptr as usize }, + 120usize, "Offset of field: AVFilterLink::incfg" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).outcfg) as usize - ptr as usize }, - 144usize, + 160usize, "Offset of field: AVFilterLink::outcfg" ); } impl ::std::fmt::Debug for AVFilterLink { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write ! (f , "AVFilterLink {{ src: {:?}, srcpad: {:?}, dst: {:?}, dstpad: {:?}, type: {:?}, format: {:?}, w: {:?}, h: {:?}, sample_aspect_ratio: {:?}, colorspace: {:?}, color_range: {:?}, sample_rate: {:?}, ch_layout: {:?}, time_base: {:?}, incfg: {:?}, outcfg: {:?} }}" , self . src , self . srcpad , self . dst , self . dstpad , self . type_ , self . format , self . w , self . h , self . sample_aspect_ratio , self . colorspace , self . color_range , self . sample_rate , self . ch_layout , self . time_base , self . incfg , self . outcfg) + write ! (f , "AVFilterLink {{ src: {:?}, srcpad: {:?}, dst: {:?}, dstpad: {:?}, type: {:?}, format: {:?}, w: {:?}, h: {:?}, sample_aspect_ratio: {:?}, colorspace: {:?}, color_range: {:?}, sample_rate: {:?}, ch_layout: {:?}, time_base: {:?}, side_data: {:?}, nb_side_data: {:?}, incfg: {:?}, outcfg: {:?} }}" , self . src , self . srcpad , self . dst , self . dstpad , self . type_ , self . format , self . w , self . h , self . sample_aspect_ratio , self . colorspace , self . color_range , self . sample_rate , self . ch_layout , self . time_base , self . side_data , self . nb_side_data , self . incfg , self . outcfg) } } extern "C" { @@ -18208,14 +20438,6 @@ extern "C" { dstpad: ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int; } -extern "C" { - #[doc = " @deprecated this function should never be called by users"] - pub fn avfilter_link_free(link: *mut *mut AVFilterLink); -} -extern "C" { - #[doc = " @deprecated this function should never be called by users"] - pub fn avfilter_config_links(filter: *mut AVFilterContext) -> ::std::os::raw::c_int; -} extern "C" { #[doc = " Make the filter instance process a command.\n It is recommended to use avfilter_graph_send_command()."] pub fn avfilter_process_command( @@ -18303,6 +20525,8 @@ pub struct AVFilterGraph { pub execute: avfilter_execute_func, #[doc = "< swr options to use for the auto-inserted aresample filters, Access ONLY through AVOptions"] pub aresample_swr_opts: *mut ::std::os::raw::c_char, + #[doc = " Sets the maximum number of buffered frames in the filtergraph combined.\n\n Zero means no limit. This field must be set before calling\n avfilter_graph_config()."] + pub max_buffered_frames: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_AVFilterGraph() { @@ -18310,7 +20534,7 @@ fn bindgen_test_layout_AVFilterGraph() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 64usize, + 72usize, "Size of AVFilterGraph" ); assert_eq!( @@ -18363,6 +20587,11 @@ fn bindgen_test_layout_AVFilterGraph() { 56usize, "Offset of field: AVFilterGraph::aresample_swr_opts" ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_buffered_frames) as usize - ptr as usize }, + 64usize, + "Offset of field: AVFilterGraph::max_buffered_frames" + ); } extern "C" { #[doc = " Allocate a filter graph.\n\n @return the allocated filter graph on success or NULL."] @@ -18384,7 +20613,7 @@ extern "C" { ) -> *mut AVFilterContext; } extern "C" { - #[doc = " Create and add a filter instance into an existing graph.\n The filter instance is created from the filter filt and inited\n with the parameter args. opaque is currently ignored.\n\n In case of success put in *filt_ctx the pointer to the created\n filter instance, otherwise set *filt_ctx to NULL.\n\n @param name the instance name to give to the created filter instance\n @param graph_ctx the filter graph\n @return a negative AVERROR error code in case of failure, a non\n negative value otherwise"] + #[doc = " A convenience wrapper that allocates and initializes a filter in a single\n step. The filter instance is created from the filter filt and inited with the\n parameter args. opaque is currently ignored.\n\n In case of success put in *filt_ctx the pointer to the created\n filter instance, otherwise set *filt_ctx to NULL.\n\n @param name the instance name to give to the created filter instance\n @param graph_ctx the filter graph\n @return a negative AVERROR error code in case of failure, a non\n negative value otherwise\n\n @warning Since the filter is initialized after this function successfully\n returns, you MUST NOT set any further options on it. If you need to\n do that, call ::avfilter_graph_alloc_filter(), followed by setting\n the options, followed by ::avfilter_init_dict() instead of this\n function."] pub fn avfilter_graph_create_filter( filt_ctx: *mut *mut AVFilterContext, filt: *const AVFilter, @@ -18402,10 +20631,10 @@ extern "C" { ); } #[doc = "< all automatic conversions enabled"] -pub const AVFILTER_AUTO_CONVERT_ALL: _bindgen_ty_6 = 0; +pub const AVFILTER_AUTO_CONVERT_ALL: _bindgen_ty_5 = 0; #[doc = "< all automatic conversions disabled"] -pub const AVFILTER_AUTO_CONVERT_NONE: _bindgen_ty_6 = -1; -pub type _bindgen_ty_6 = ::std::os::raw::c_int; +pub const AVFILTER_AUTO_CONVERT_NONE: _bindgen_ty_5 = -1; +pub type _bindgen_ty_5 = ::std::os::raw::c_int; extern "C" { #[doc = " Check validity and configure all the links and formats in the graph.\n\n @param graphctx the filter graph\n @param log_ctx context used for logging\n @return >= 0 in case of success, a negative AVERROR code otherwise"] pub fn avfilter_graph_config( @@ -18539,7 +20768,7 @@ pub struct AVFilterParams { pub filter_name: *mut ::std::os::raw::c_char, #[doc = " Name to be used for this filter instance.\n\n An av_malloc()'ed string, may be set by avfilter_graph_segment_parse() or\n left NULL. The caller may av_free() this string and replace with another\n one or NULL.\n\n Will be used by avfilter_graph_segment_create_filters() - passed as the\n third argument to avfilter_graph_alloc_filter(), then freed and set to\n NULL."] pub instance_name: *mut ::std::os::raw::c_char, - #[doc = " Options to be apllied to the filter.\n\n Filled by avfilter_graph_segment_parse(). Afterwards may be freely\n modified by the caller.\n\n Will be applied to the filter by avfilter_graph_segment_apply_opts()\n with an equivalent of av_opt_set_dict2(filter, &opts, AV_OPT_SEARCH_CHILDREN),\n i.e. any unapplied options will be left in this dictionary."] + #[doc = " Options to be applied to the filter.\n\n Filled by avfilter_graph_segment_parse(). Afterwards may be freely\n modified by the caller.\n\n Will be applied to the filter by avfilter_graph_segment_apply_opts()\n with an equivalent of av_opt_set_dict2(filter, &opts, AV_OPT_SEARCH_CHILDREN),\n i.e. any unapplied options will be left in this dictionary."] pub opts: *mut AVDictionary, pub inputs: *mut *mut AVFilterPadParams, pub nb_inputs: ::std::os::raw::c_uint, @@ -18711,7 +20940,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Link filters in a graph segment.\n\n Walk through all filter instances in the graph segment and try to link all\n unlinked input and output pads. Any creation-pending filters (see\n avfilter_graph_segment_create_filters()) present in the segment will cause\n this function to fail. Disabled filters and already linked pads are skipped.\n\n Every filter output pad that has a corresponding AVFilterPadParams with a\n non-NULL label is\n - linked to the input with the matching label, if one exists;\n - exported in the outputs linked list otherwise, with the label preserved.\n Unlabeled outputs are\n - linked to the first unlinked unlabeled input in the next non-disabled\n filter in the chain, if one exists\n - exported in the ouputs linked list otherwise, with NULL label\n\n Similarly, unlinked input pads are exported in the inputs linked list.\n\n @param seg the filtergraph segment to process\n @param flags reserved for future use, caller must set to 0 for now\n @param[out] inputs a linked list of all free (unlinked) inputs of the\n filters in this graph segment will be returned here. It\n is to be freed by the caller using avfilter_inout_free().\n @param[out] outputs a linked list of all free (unlinked) outputs of the\n filters in this graph segment will be returned here. It\n is to be freed by the caller using avfilter_inout_free().\n\n @retval \"non-negative number\" success\n @retval \"negative error code\" failure\n\n @note Calling this function multiple times is safe, as it is idempotent."] + #[doc = " Link filters in a graph segment.\n\n Walk through all filter instances in the graph segment and try to link all\n unlinked input and output pads. Any creation-pending filters (see\n avfilter_graph_segment_create_filters()) present in the segment will cause\n this function to fail. Disabled filters and already linked pads are skipped.\n\n Every filter output pad that has a corresponding AVFilterPadParams with a\n non-NULL label is\n - linked to the input with the matching label, if one exists;\n - exported in the outputs linked list otherwise, with the label preserved.\n Unlabeled outputs are\n - linked to the first unlinked unlabeled input in the next non-disabled\n filter in the chain, if one exists\n - exported in the outputs linked list otherwise, with NULL label\n\n Similarly, unlinked input pads are exported in the inputs linked list.\n\n @param seg the filtergraph segment to process\n @param flags reserved for future use, caller must set to 0 for now\n @param[out] inputs a linked list of all free (unlinked) inputs of the\n filters in this graph segment will be returned here. It\n is to be freed by the caller using avfilter_inout_free().\n @param[out] outputs a linked list of all free (unlinked) outputs of the\n filters in this graph segment will be returned here. It\n is to be freed by the caller using avfilter_inout_free().\n\n @retval \"non-negative number\" success\n @retval \"negative error code\" failure\n\n @note Calling this function multiple times is safe, as it is idempotent."] pub fn avfilter_graph_segment_link( seg: *mut AVFilterGraphSegment, flags: ::std::os::raw::c_int, @@ -18824,6 +21053,12 @@ extern "C" { extern "C" { pub fn av_buffersink_get_hw_frames_ctx(ctx: *const AVFilterContext) -> *mut AVBufferRef; } +extern "C" { + pub fn av_buffersink_get_side_data( + ctx: *const AVFilterContext, + nb_side_data: *mut ::std::os::raw::c_int, + ) -> *const *const AVFrameSideData; +} extern "C" { #[doc = " Get a frame with filtered data from sink and put it in frame.\n\n @param ctx pointer to a context of a buffersink or abuffersink AVFilter.\n @param frame pointer to an allocated frame that will be filled with data.\n The data must be freed using av_frame_unref() / av_frame_free()\n\n @return\n - >= 0 if a frame was successfully returned.\n - AVERROR(EAGAIN) if no frames are available at this point; more\n input frames must be added to the filtergraph to get more output.\n - AVERROR_EOF if there will be no more output frames on this sink.\n - A different negative AVERROR code in other failure cases."] pub fn av_buffersink_get_frame( @@ -18840,13 +21075,13 @@ extern "C" { ) -> ::std::os::raw::c_int; } #[doc = " Do not check for format changes."] -pub const AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT: _bindgen_ty_7 = 1; +pub const AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT: _bindgen_ty_6 = 1; #[doc = " Immediately push the frame to the output."] -pub const AV_BUFFERSRC_FLAG_PUSH: _bindgen_ty_7 = 4; +pub const AV_BUFFERSRC_FLAG_PUSH: _bindgen_ty_6 = 4; #[doc = " Keep a reference to the frame.\n If the frame if reference-counted, create a new reference; otherwise\n copy the frame data."] -pub const AV_BUFFERSRC_FLAG_KEEP_REF: _bindgen_ty_7 = 8; +pub const AV_BUFFERSRC_FLAG_KEEP_REF: _bindgen_ty_6 = 8; #[doc = " @defgroup lavfi_buffersrc Buffer source API\n @ingroup lavfi\n @{"] -pub type _bindgen_ty_7 = ::std::os::raw::c_uint; +pub type _bindgen_ty_6 = ::std::os::raw::c_uint; extern "C" { #[doc = " Get the number of failed requests.\n\n A failed request is when the request_frame method is called while no\n frame is present in the buffer.\n The number is reset when a frame is added."] pub fn av_buffersrc_get_nb_failed_requests( @@ -18878,6 +21113,8 @@ pub struct AVBufferSrcParameters { #[doc = " Video only, the YUV colorspace and range."] pub color_space: AVColorSpace, pub color_range: AVColorRange, + pub side_data: *mut *mut AVFrameSideData, + pub nb_side_data: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_AVBufferSrcParameters() { @@ -18886,7 +21123,7 @@ fn bindgen_test_layout_AVBufferSrcParameters() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 88usize, + 104usize, "Size of AVBufferSrcParameters" ); assert_eq!( @@ -18949,10 +21186,20 @@ fn bindgen_test_layout_AVBufferSrcParameters() { 84usize, "Offset of field: AVBufferSrcParameters::color_range" ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).side_data) as usize - ptr as usize }, + 88usize, + "Offset of field: AVBufferSrcParameters::side_data" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_side_data) as usize - ptr as usize }, + 96usize, + "Offset of field: AVBufferSrcParameters::nb_side_data" + ); } impl ::std::fmt::Debug for AVBufferSrcParameters { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write ! (f , "AVBufferSrcParameters {{ format: {:?}, time_base: {:?}, width: {:?}, height: {:?}, sample_aspect_ratio: {:?}, frame_rate: {:?}, hw_frames_ctx: {:?}, sample_rate: {:?}, ch_layout: {:?}, color_space: {:?}, color_range: {:?} }}" , self . format , self . time_base , self . width , self . height , self . sample_aspect_ratio , self . frame_rate , self . hw_frames_ctx , self . sample_rate , self . ch_layout , self . color_space , self . color_range) + write ! (f , "AVBufferSrcParameters {{ format: {:?}, time_base: {:?}, width: {:?}, height: {:?}, sample_aspect_ratio: {:?}, frame_rate: {:?}, hw_frames_ctx: {:?}, sample_rate: {:?}, ch_layout: {:?}, color_space: {:?}, color_range: {:?}, side_data: {:?}, nb_side_data: {:?} }}" , self . format , self . time_base , self . width , self . height , self . sample_aspect_ratio , self . frame_rate , self . hw_frames_ctx , self . sample_rate , self . ch_layout , self . color_space , self . color_range , self . side_data , self . nb_side_data) } } extern "C" { @@ -19592,11 +21839,7 @@ extern "C" { } extern "C" { #[doc = " Append a formatted string to a print buffer."] - pub fn av_vbprintf( - buf: *mut AVBPrint, - fmt: *const ::std::os::raw::c_char, - vl_arg: *mut __va_list_tag, - ); + pub fn av_vbprintf(buf: *mut AVBPrint, fmt: *const ::std::os::raw::c_char, vl_arg: va_list); } extern "C" { #[doc = " Append char c n times to a print buffer."] @@ -19922,7 +22165,7 @@ fn bindgen_test_layout_AVColorPrimariesDesc() { "Offset of field: AVColorPrimariesDesc::prim" ); } -#[doc = " Function pointer representing a double -> double transfer function that performs\n an EOTF transfer inversion. This function outputs linear light."] +#[doc = " Function pointer representing a double -> double transfer function that\n performs either an OETF transfer function, or alternatively an inverse EOTF\n function (in particular, for SMPTE ST 2084 / PQ). This function inputs\n linear light, and outputs gamma encoded light.\n\n See ITU-T H.273 for more information."] pub type av_csp_trc_function = ::std::option::Option f64>; extern "C" { #[doc = " Retrieves the Luma coefficients necessary to construct a conversion matrix\n from an enum constant describing the colorspace.\n @param csp An enum constant indicating YUV or similar colorspace.\n @return The Luma coefficients associated with that colorspace, or NULL\n if the constant is unknown to libavutil."] @@ -19933,7 +22176,7 @@ extern "C" { pub fn av_csp_primaries_desc_from_id(prm: AVColorPrimaries) -> *const AVColorPrimariesDesc; } extern "C" { - #[doc = " Detects which enum AVColorPrimaries constant corresponds to the given complete\n gamut description.\n @see enum AVColorPrimaries\n @param prm A description of the colorspace gamut\n @return The enum constant associated with this gamut, or\n AVCOL_PRI_UNSPECIFIED if no clear match can be idenitified."] + #[doc = " Detects which enum AVColorPrimaries constant corresponds to the given complete\n gamut description.\n @see enum AVColorPrimaries\n @param prm A description of the colorspace gamut\n @return The enum constant associated with this gamut, or\n AVCOL_PRI_UNSPECIFIED if no clear match can be identified."] pub fn av_csp_primaries_id_from_desc(prm: *const AVColorPrimariesDesc) -> AVColorPrimaries; } extern "C" { @@ -19944,6 +22187,21 @@ extern "C" { #[doc = " Determine the function needed to apply the given\n AVColorTransferCharacteristic to linear input.\n\n The function returned should expect a nominal domain and range of [0.0-1.0]\n values outside of this range maybe valid depending on the chosen\n characteristic function.\n\n @return Will return pointer to the function matching the\n supplied Transfer Characteristic. If unspecified will\n return NULL:"] pub fn av_csp_trc_func_from_id(trc: AVColorTransferCharacteristic) -> av_csp_trc_function; } +extern "C" { + #[doc = " Returns the mathematical inverse of the corresponding TRC function."] + pub fn av_csp_trc_func_inv_from_id(trc: AVColorTransferCharacteristic) -> av_csp_trc_function; +} +#[doc = " Function pointer representing an ITU EOTF transfer for a given reference\n display configuration.\n\n @param Lw The white point luminance of the display, in nits (cd/m^2).\n @param Lb The black point luminance of the display, in nits (cd/m^2)."] +pub type av_csp_eotf_function = + ::std::option::Option; +extern "C" { + #[doc = " Returns the ITU EOTF corresponding to a given TRC. This converts from the\n signal level [0,1] to the raw output display luminance in nits (cd/m^2).\n This is done per channel in RGB space, except for AVCOL_TRC_SMPTE428, which\n assumes CIE XYZ in- and output.\n\n @return A pointer to the function implementing the given TRC, or NULL if no\n such function is defined.\n\n @note In general, the resulting function is defined (wherever possible) for\n out-of-range values, even though these values do not have a physical\n meaning on the given display. Users should clamp inputs (or outputs)\n if this behavior is not desired.\n\n This is also the case for functions like PQ, which are defined over an\n absolute signal range independent of the target display capabilities."] + pub fn av_csp_itu_eotf(trc: AVColorTransferCharacteristic) -> av_csp_eotf_function; +} +extern "C" { + #[doc = " Returns the mathematical inverse of the corresponding EOTF."] + pub fn av_csp_itu_eotf_inv(trc: AVColorTransferCharacteristic) -> av_csp_eotf_function; +} #[doc = " @defgroup lavu_des DES\n @ingroup lavu_crypto\n @{"] #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -22191,21 +24449,12 @@ fn bindgen_test_layout_AVFilmGrainAOMParams() { "Offset of field: AVFilmGrainAOMParams::limit_output_range" ); } -#[doc = " This structure describes how to handle film grain synthesis for codecs using\n the ITU-T H.274 Versatile suplemental enhancement information message.\n\n @note The struct must be allocated as part of AVFilmGrainParams using\n av_film_grain_params_alloc(). Its size is not a part of the public ABI."] +#[doc = " This structure describes how to handle film grain synthesis for codecs using\n the ITU-T H.274 Versatile supplemental enhancement information message.\n\n @note The struct must be allocated as part of AVFilmGrainParams using\n av_film_grain_params_alloc(). Its size is not a part of the public ABI."] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AVFilmGrainH274Params { #[doc = " Specifies the film grain simulation mode.\n 0 = Frequency filtering, 1 = Auto-regression"] pub model_id: ::std::os::raw::c_int, - #[doc = " Specifies the bit depth used for the luma component.\n\n @deprecated use AVFilmGrainParams.bit_depth_luma."] - pub bit_depth_luma: ::std::os::raw::c_int, - #[doc = " Specifies the bit depth used for the chroma components.\n\n @deprecated use AVFilmGrainParams.bit_depth_chroma."] - pub bit_depth_chroma: ::std::os::raw::c_int, - #[doc = " Specifies the video signal characteristics.\n\n @deprecated use AVFilmGrainParams.color_{range,primaries,trc,space}."] - pub color_range: AVColorRange, - pub color_primaries: AVColorPrimaries, - pub color_trc: AVColorTransferCharacteristic, - pub color_space: AVColorSpace, #[doc = " Specifies the blending mode used to blend the simulated film grain\n with the decoded images.\n\n 0 = Additive, 1 = Multiplicative"] pub blending_mode_id: ::std::os::raw::c_int, #[doc = " Specifies a scale factor used in the film grain characterization equations."] @@ -22230,7 +24479,7 @@ fn bindgen_test_layout_AVFilmGrainH274Params() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 10812usize, + 10788usize, "Size of AVFilmGrainH274Params" ); assert_eq!( @@ -22243,78 +24492,48 @@ fn bindgen_test_layout_AVFilmGrainH274Params() { 0usize, "Offset of field: AVFilmGrainH274Params::model_id" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).bit_depth_luma) as usize - ptr as usize }, - 4usize, - "Offset of field: AVFilmGrainH274Params::bit_depth_luma" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).bit_depth_chroma) as usize - ptr as usize }, - 8usize, - "Offset of field: AVFilmGrainH274Params::bit_depth_chroma" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).color_range) as usize - ptr as usize }, - 12usize, - "Offset of field: AVFilmGrainH274Params::color_range" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).color_primaries) as usize - ptr as usize }, - 16usize, - "Offset of field: AVFilmGrainH274Params::color_primaries" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).color_trc) as usize - ptr as usize }, - 20usize, - "Offset of field: AVFilmGrainH274Params::color_trc" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).color_space) as usize - ptr as usize }, - 24usize, - "Offset of field: AVFilmGrainH274Params::color_space" - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).blending_mode_id) as usize - ptr as usize }, - 28usize, + 4usize, "Offset of field: AVFilmGrainH274Params::blending_mode_id" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).log2_scale_factor) as usize - ptr as usize }, - 32usize, + 8usize, "Offset of field: AVFilmGrainH274Params::log2_scale_factor" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).component_model_present) as usize - ptr as usize }, - 36usize, + 12usize, "Offset of field: AVFilmGrainH274Params::component_model_present" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).num_intensity_intervals) as usize - ptr as usize }, - 48usize, + 24usize, "Offset of field: AVFilmGrainH274Params::num_intensity_intervals" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).num_model_values) as usize - ptr as usize }, - 54usize, + 30usize, "Offset of field: AVFilmGrainH274Params::num_model_values" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).intensity_interval_lower_bound) as usize - ptr as usize }, - 57usize, + 33usize, "Offset of field: AVFilmGrainH274Params::intensity_interval_lower_bound" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).intensity_interval_upper_bound) as usize - ptr as usize }, - 825usize, + 801usize, "Offset of field: AVFilmGrainH274Params::intensity_interval_upper_bound" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).comp_model_value) as usize - ptr as usize }, - 1594usize, + 1570usize, "Offset of field: AVFilmGrainH274Params::comp_model_value" ); } @@ -22326,7 +24545,6 @@ pub struct AVFilmGrainParams { pub type_: AVFilmGrainParamsType, #[doc = " Seed to use for the synthesis process, if the codec allows for it.\n\n @note For H.264, this refers to `pic_offset` as defined in\n SMPTE RDD 5-2006."] pub seed: u64, - pub codec: AVFilmGrainParams__bindgen_ty_1, #[doc = " Intended display resolution. May be 0 if the codec does not specify\n any restrictions."] pub width: ::std::os::raw::c_int, #[doc = " Intended display resolution. May be 0 if the codec does not specify\n any restrictions."] @@ -22343,8 +24561,9 @@ pub struct AVFilmGrainParams { #[doc = " Intended bit depth, or 0 for unknown/unspecified."] pub bit_depth_luma: ::std::os::raw::c_int, pub bit_depth_chroma: ::std::os::raw::c_int, + pub codec: AVFilmGrainParams__bindgen_ty_1, } -#[doc = " Additional fields may be added both here and in any structure included.\n If a codec's film grain structure differs slightly over another\n codec's, fields within may change meaning depending on the type.\n\n TODO: Move this to the end of the structure, at the next ABI bump."] +#[doc = " Additional fields may be added both here and in any structure included.\n If a codec's film grain structure differs slightly over another\n codec's, fields within may change meaning depending on the type."] #[repr(C)] #[derive(Copy, Clone)] pub union AVFilmGrainParams__bindgen_ty_1 { @@ -22358,7 +24577,7 @@ fn bindgen_test_layout_AVFilmGrainParams__bindgen_ty_1() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 10812usize, + 10788usize, "Size of AVFilmGrainParams__bindgen_ty_1" ); assert_eq!( @@ -22388,7 +24607,7 @@ fn bindgen_test_layout_AVFilmGrainParams() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 10872usize, + 10848usize, "Size of AVFilmGrainParams" ); assert_eq!( @@ -22406,65 +24625,65 @@ fn bindgen_test_layout_AVFilmGrainParams() { 8usize, "Offset of field: AVFilmGrainParams::seed" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).codec) as usize - ptr as usize }, - 16usize, - "Offset of field: AVFilmGrainParams::codec" - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize }, - 10828usize, + 16usize, "Offset of field: AVFilmGrainParams::width" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize }, - 10832usize, + 20usize, "Offset of field: AVFilmGrainParams::height" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).subsampling_x) as usize - ptr as usize }, - 10836usize, + 24usize, "Offset of field: AVFilmGrainParams::subsampling_x" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).subsampling_y) as usize - ptr as usize }, - 10840usize, + 28usize, "Offset of field: AVFilmGrainParams::subsampling_y" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_range) as usize - ptr as usize }, - 10844usize, + 32usize, "Offset of field: AVFilmGrainParams::color_range" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_primaries) as usize - ptr as usize }, - 10848usize, + 36usize, "Offset of field: AVFilmGrainParams::color_primaries" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_trc) as usize - ptr as usize }, - 10852usize, + 40usize, "Offset of field: AVFilmGrainParams::color_trc" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_space) as usize - ptr as usize }, - 10856usize, + 44usize, "Offset of field: AVFilmGrainParams::color_space" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).bit_depth_luma) as usize - ptr as usize }, - 10860usize, + 48usize, "Offset of field: AVFilmGrainParams::bit_depth_luma" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).bit_depth_chroma) as usize - ptr as usize }, - 10864usize, + 52usize, "Offset of field: AVFilmGrainParams::bit_depth_chroma" ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).codec) as usize - ptr as usize }, + 56usize, + "Offset of field: AVFilmGrainParams::codec" + ); } impl ::std::fmt::Debug for AVFilmGrainParams { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - write ! (f , "AVFilmGrainParams {{ type: {:?}, seed: {:?}, codec: {:?}, width: {:?}, height: {:?}, subsampling_x: {:?}, subsampling_y: {:?}, color_range: {:?}, color_primaries: {:?}, color_trc: {:?}, color_space: {:?}, bit_depth_luma: {:?}, bit_depth_chroma: {:?} }}" , self . type_ , self . seed , self . codec , self . width , self . height , self . subsampling_x , self . subsampling_y , self . color_range , self . color_primaries , self . color_trc , self . color_space , self . bit_depth_luma , self . bit_depth_chroma) + write ! (f , "AVFilmGrainParams {{ type: {:?}, seed: {:?}, width: {:?}, height: {:?}, subsampling_x: {:?}, subsampling_y: {:?}, color_range: {:?}, color_primaries: {:?}, color_trc: {:?}, color_space: {:?}, bit_depth_luma: {:?}, bit_depth_chroma: {:?}, codec: {:?} }}" , self . type_ , self . seed , self . width , self . height , self . subsampling_x , self . subsampling_y , self . color_range , self . color_primaries , self . color_trc , self . color_space , self . bit_depth_luma , self . bit_depth_chroma , self . codec) } } extern "C" { @@ -22995,7 +25214,7 @@ fn bindgen_test_layout_AVHDRVivid3SplineParams() { pub struct AVHDRVividColorToneMappingParams { #[doc = " The nominal maximum display luminance of the targeted system display,\n in multiples of 1.0/4095 candelas per square metre. The value shall be in\n the range of 0.0 to 1.0, inclusive."] pub targeted_system_display_maximum_luminance: AVRational, - #[doc = " This flag indicates that transfer the base paramter(for value of 1)"] + #[doc = " This flag indicates that transfer the base parameter(for value of 1)"] pub base_enable_flag: ::std::os::raw::c_int, #[doc = " base_param_m_p in the base parameter,\n in multiples of 1.0/16383. The value shall be in\n the range of 0.0 to 1.0, inclusive."] pub base_param_m_p: AVRational, @@ -23013,26 +25232,14 @@ pub struct AVHDRVividColorToneMappingParams { pub base_param_k2: ::std::os::raw::c_int, #[doc = " indicates k3_0 in the base parameter,\n base_param_k3 == 1: k3_0 = base_param_k3\n base_param_k3 == 2: k3_0 = maximum_maxrgb\n base_param_k3 > 2: reserved"] pub base_param_k3: ::std::os::raw::c_int, - #[doc = " This flag indicates that delta mode of base paramter(for value of 1)"] + #[doc = " This flag indicates that delta mode of base parameter(for value of 1)"] pub base_param_Delta_enable_mode: ::std::os::raw::c_int, #[doc = " base_param_Delta in the base parameter,\n in multiples of 1.0/127. The value shall be in\n the range of 0.0 to 1.0, inclusive."] pub base_param_Delta: AVRational, - #[doc = " indicates 3Spline_enable_flag in the base parameter,\n This flag indicates that transfer three Spline of base paramter(for value of 1)"] + #[doc = " indicates 3Spline_enable_flag in the base parameter,\n This flag indicates that transfer three Spline of base parameter(for value of 1)"] pub three_Spline_enable_flag: ::std::os::raw::c_int, #[doc = " The number of three Spline. The value shall be in the range\n of 1 to 2, inclusive."] pub three_Spline_num: ::std::os::raw::c_int, - #[doc = " The mode of three Spline. the value shall be in the range\n of 0 to 3, inclusive.\n @deprecated Use three_spline instead"] - pub three_Spline_TH_mode: ::std::os::raw::c_int, - #[doc = " three_Spline_TH_enable_MB is in the range of 0.0 to 1.0, inclusive\n and in multiples of 1.0/255.\n @deprecated Use three_spline instead"] - pub three_Spline_TH_enable_MB: AVRational, - #[doc = " 3Spline_TH_enable of three Spline.\n The value shall be in the range of 0.0 to 1.0, inclusive.\n and in multiples of 1.0/4095.\n @deprecated Use three_spline instead"] - pub three_Spline_TH_enable: AVRational, - #[doc = " 3Spline_TH_Delta1 of three Spline.\n The value shall be in the range of 0.0 to 0.25, inclusive,\n and in multiples of 0.25/1023.\n @deprecated Use three_spline instead"] - pub three_Spline_TH_Delta1: AVRational, - #[doc = " 3Spline_TH_Delta2 of three Spline.\n The value shall be in the range of 0.0 to 0.25, inclusive,\n and in multiples of 0.25/1023.\n @deprecated Use three_spline instead"] - pub three_Spline_TH_Delta2: AVRational, - #[doc = " 3Spline_enable_Strength of three Spline.\n The value shall be in the range of 0.0 to 1.0, inclusive,\n and in multiples of 1.0/255.\n @deprecated Use three_spline instead"] - pub three_Spline_enable_Strength: AVRational, pub three_spline: [AVHDRVivid3SplineParams; 2usize], } #[test] @@ -23042,7 +25249,7 @@ fn bindgen_test_layout_AVHDRVividColorToneMappingParams() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 216usize, + 172usize, "Size of AVHDRVividColorToneMappingParams" ); assert_eq!( @@ -23118,41 +25325,9 @@ fn bindgen_test_layout_AVHDRVividColorToneMappingParams() { 80usize, "Offset of field: AVHDRVividColorToneMappingParams::three_Spline_num" ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).three_Spline_TH_mode) as usize - ptr as usize }, - 84usize, - "Offset of field: AVHDRVividColorToneMappingParams::three_Spline_TH_mode" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).three_Spline_TH_enable_MB) as usize - ptr as usize }, - 88usize, - "Offset of field: AVHDRVividColorToneMappingParams::three_Spline_TH_enable_MB" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).three_Spline_TH_enable) as usize - ptr as usize }, - 96usize, - "Offset of field: AVHDRVividColorToneMappingParams::three_Spline_TH_enable" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).three_Spline_TH_Delta1) as usize - ptr as usize }, - 104usize, - "Offset of field: AVHDRVividColorToneMappingParams::three_Spline_TH_Delta1" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).three_Spline_TH_Delta2) as usize - ptr as usize }, - 112usize, - "Offset of field: AVHDRVividColorToneMappingParams::three_Spline_TH_Delta2" - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).three_Spline_enable_Strength) as usize - ptr as usize - }, - 120usize, - "Offset of field: AVHDRVividColorToneMappingParams::three_Spline_enable_Strength" - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).three_spline) as usize - ptr as usize }, - 128usize, + 84usize, "Offset of field: AVHDRVividColorToneMappingParams::three_spline" ); } @@ -23188,7 +25363,7 @@ fn bindgen_test_layout_AVHDRVividColorTransformParams() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 544usize, + 456usize, "Size of AVHDRVividColorTransformParams" ); assert_eq!( @@ -23235,17 +25410,17 @@ fn bindgen_test_layout_AVHDRVividColorTransformParams() { unsafe { ::std::ptr::addr_of!((*ptr).color_saturation_mapping_flag) as usize - ptr as usize }, - 472usize, + 384usize, "Offset of field: AVHDRVividColorTransformParams::color_saturation_mapping_flag" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_saturation_num) as usize - ptr as usize }, - 476usize, + 388usize, "Offset of field: AVHDRVividColorTransformParams::color_saturation_num" ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).color_saturation_gain) as usize - ptr as usize }, - 480usize, + 392usize, "Offset of field: AVHDRVividColorTransformParams::color_saturation_gain" ); } @@ -23266,7 +25441,7 @@ fn bindgen_test_layout_AVDynamicHDRVivid() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 1636usize, + 1372usize, "Size of AVDynamicHDRVivid" ); assert_eq!( @@ -24078,7 +26253,7 @@ impl ::std::fmt::Debug for unaligned_16 { write!(f, "unaligned_16 {{ union }}") } } -#[doc = " Context structure for the Lagged Fibonacci PRNG.\n The exact layout, types and content of this struct may change and should\n not be accessed directly. Only its `sizeof()` is guaranteed to stay the same\n to allow easy instanciation."] +#[doc = " Context structure for the Lagged Fibonacci PRNG.\n The exact layout, types and content of this struct may change and should\n not be accessed directly. Only its `sizeof()` is guaranteed to stay the same\n to allow easy instantiation."] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AVLFG { @@ -24118,7 +26293,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Get the next two numbers generated by a Box-Muller Gaussian\n generator using the random numbers issued by lfg.\n\n @param lfg pointer to the contex structure\n @param out array where the two generated numbers are placed"] + #[doc = " Get the next two numbers generated by a Box-Muller Gaussian\n generator using the random numbers issued by lfg.\n\n @param lfg pointer to the context structure\n @param out array where the two generated numbers are placed"] pub fn av_bmg_get(lfg: *mut AVLFG, out: *mut f64); } extern "C" { @@ -24403,6 +26578,39 @@ extern "C" { #[doc = " Finish hashing and output digest value.\n\n @param[in,out] c Hash context\n @param[out] dst Buffer where output digest value is stored"] pub fn av_murmur3_final(c: *mut AVMurMur3, dst: *mut u8); } +pub type clock_t = __darwin_clock_t; +pub type time_t = __darwin_time_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { + pub tv_sec: __darwin_time_t, + pub tv_nsec: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout_timespec() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + "Size of timespec" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of timespec" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, + 0usize, + "Offset of field: timespec::tv_sec" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize }, + 8usize, + "Offset of field: timespec::tv_nsec" + ); +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct tm { @@ -24416,7 +26624,7 @@ pub struct tm { pub tm_yday: ::std::os::raw::c_int, pub tm_isdst: ::std::os::raw::c_int, pub tm_gmtoff: ::std::os::raw::c_long, - pub tm_zone: *const ::std::os::raw::c_char, + pub tm_zone: *mut ::std::os::raw::c_char, } #[test] fn bindgen_test_layout_tm() { @@ -24480,186 +26688,122 @@ fn bindgen_test_layout_tm() { "Offset of field: tm::tm_zone" ); } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct itimerspec { - pub it_interval: timespec, - pub it_value: timespec, -} -#[test] -fn bindgen_test_layout_itimerspec() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 32usize, - "Size of itimerspec" - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - "Alignment of itimerspec" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize }, - 0usize, - "Offset of field: itimerspec::it_interval" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize }, - 16usize, - "Offset of field: itimerspec::it_value" - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct sigevent { - _unused: [u8; 0], -} extern "C" { - pub fn clock() -> clock_t; + pub static mut tzname: [*mut ::std::os::raw::c_char; 0usize]; } extern "C" { - pub fn time(__timer: *mut time_t) -> time_t; + pub static mut getdate_err: ::std::os::raw::c_int; } extern "C" { - pub fn difftime(__time1: time_t, __time0: time_t) -> f64; + pub static mut timezone: ::std::os::raw::c_long; } extern "C" { - pub fn mktime(__tp: *mut tm) -> time_t; + pub static mut daylight: ::std::os::raw::c_int; } extern "C" { - pub fn strftime( - __s: *mut ::std::os::raw::c_char, - __maxsize: usize, - __format: *const ::std::os::raw::c_char, - __tp: *const tm, - ) -> usize; + pub fn asctime(arg1: *const tm) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strftime_l( - __s: *mut ::std::os::raw::c_char, - __maxsize: usize, - __format: *const ::std::os::raw::c_char, - __tp: *const tm, - __loc: locale_t, - ) -> usize; + pub fn clock() -> clock_t; } extern "C" { - pub fn gmtime(__timer: *const time_t) -> *mut tm; + pub fn ctime(arg1: *const time_t) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn localtime(__timer: *const time_t) -> *mut tm; + pub fn difftime(arg1: time_t, arg2: time_t) -> f64; } extern "C" { - pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm; + pub fn getdate(arg1: *const ::std::os::raw::c_char) -> *mut tm; } extern "C" { - pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm; + pub fn gmtime(arg1: *const time_t) -> *mut tm; } extern "C" { - pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char; + pub fn localtime(arg1: *const time_t) -> *mut tm; } extern "C" { - pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char; + pub fn mktime(arg1: *mut tm) -> time_t; } extern "C" { - pub fn asctime_r( - __tp: *const tm, - __buf: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn strftime( + arg1: *mut ::std::os::raw::c_char, + __maxsize: usize, + arg2: *const ::std::os::raw::c_char, + arg3: *const tm, + ) -> usize; } extern "C" { - pub fn ctime_r( - __timer: *const time_t, - __buf: *mut ::std::os::raw::c_char, + pub fn strptime( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: *mut tm, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize]; -} -extern "C" { - pub static mut __daylight: ::std::os::raw::c_int; -} -extern "C" { - pub static mut __timezone: ::std::os::raw::c_long; -} -extern "C" { - pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize]; + pub fn time(arg1: *mut time_t) -> time_t; } extern "C" { pub fn tzset(); } extern "C" { - pub static mut daylight: ::std::os::raw::c_int; -} -extern "C" { - pub static mut timezone: ::std::os::raw::c_long; -} -extern "C" { - pub fn timegm(__tp: *mut tm) -> time_t; + pub fn asctime_r( + arg1: *const tm, + arg2: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn timelocal(__tp: *mut tm) -> time_t; + pub fn ctime_r( + arg1: *const time_t, + arg2: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm; } extern "C" { - pub fn nanosleep( - __requested_time: *const timespec, - __remaining: *mut timespec, - ) -> ::std::os::raw::c_int; + pub fn localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm; } extern "C" { - pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int; + pub fn posix2time(arg1: time_t) -> time_t; } extern "C" { - pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int; + pub fn tzsetwall(); } extern "C" { - pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int; + pub fn time2posix(arg1: time_t) -> time_t; } extern "C" { - pub fn clock_nanosleep( - __clock_id: clockid_t, - __flags: ::std::os::raw::c_int, - __req: *const timespec, - __rem: *mut timespec, - ) -> ::std::os::raw::c_int; + pub fn timelocal(arg1: *mut tm) -> time_t; } extern "C" { - pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int; + pub fn timegm(arg1: *mut tm) -> time_t; } extern "C" { - pub fn timer_create( - __clock_id: clockid_t, - __evp: *mut sigevent, - __timerid: *mut timer_t, - ) -> ::std::os::raw::c_int; + pub fn nanosleep(__rqtp: *const timespec, __rmtp: *mut timespec) -> ::std::os::raw::c_int; } +pub const _CLOCK_REALTIME: clockid_t = 0; +pub const _CLOCK_MONOTONIC: clockid_t = 6; +pub const _CLOCK_MONOTONIC_RAW: clockid_t = 4; +pub const _CLOCK_MONOTONIC_RAW_APPROX: clockid_t = 5; +pub const _CLOCK_UPTIME_RAW: clockid_t = 8; +pub const _CLOCK_UPTIME_RAW_APPROX: clockid_t = 9; +pub const _CLOCK_PROCESS_CPUTIME_ID: clockid_t = 12; +pub const _CLOCK_THREAD_CPUTIME_ID: clockid_t = 16; +pub type clockid_t = ::std::os::raw::c_uint; extern "C" { - pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int; + pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int; } extern "C" { - pub fn timer_settime( - __timerid: timer_t, - __flags: ::std::os::raw::c_int, - __value: *const itimerspec, - __ovalue: *mut itimerspec, - ) -> ::std::os::raw::c_int; + pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int; } extern "C" { - pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int; + pub fn clock_gettime_nsec_np(__clock_id: clockid_t) -> __uint64_t; } extern "C" { - pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int; + pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int; } extern "C" { - pub fn timespec_get( - __ts: *mut timespec, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn timespec_get(ts: *mut timespec, base: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { #[doc = " Parse str and store the parsed ratio in q.\n\n Note that a ratio with infinite (1/0) or negative value is\n considered valid, so you should check on the returned value if you\n want to exclude those values.\n\n The undefined value can be expressed using the \"0:0\" string.\n\n @param[in,out] q pointer to the AVRational which will contain the ratio\n @param[in] str the string to parse: it has to be a string in the format\n num:den, a float number or an expression\n @param[in] max the maximum allowed numerator and denominator\n @param[in] log_offset log level offset which is applied to the log\n level of log_ctx\n @param[in] log_ctx parent logging context\n @return >= 0 on success, a negative error code otherwise"] @@ -24796,7 +26940,7 @@ extern "C" { pub fn av_rc4_alloc() -> *mut AVRC4; } extern "C" { - #[doc = " @brief Initializes an AVRC4 context.\n\n @param d pointer to the AVRC4 context\n @param key buffer containig the key\n @param key_bits must be a multiple of 8\n @param decrypt 0 for encryption, 1 for decryption, currently has no effect\n @return zero on success, negative value otherwise"] + #[doc = " @brief Initializes an AVRC4 context.\n\n @param d pointer to the AVRC4 context\n @param key buffer containing the key\n @param key_bits must be a multiple of 8\n @param decrypt 0 for encryption, 1 for decryption, currently has no effect\n @return zero on success, negative value otherwise"] pub fn av_rc4_init( d: *mut AVRC4, key: *const u8, @@ -24956,6 +27100,8 @@ pub const AV_SPHERICAL_HALF_EQUIRECTANGULAR: AVSphericalProjection = 3; pub const AV_SPHERICAL_RECTILINEAR: AVSphericalProjection = 4; #[doc = " Fisheye projection (Apple).\n See: https://developer.apple.com/documentation/coremedia/cmprojectiontype/fisheye"] pub const AV_SPHERICAL_FISHEYE: AVSphericalProjection = 5; +#[doc = " Parametric Immersive projection (Apple).\n See: https://developer.apple.com/documentation/coremedia/cmprojectiontype/parametricimmersive"] +pub const AV_SPHERICAL_PARAMETRIC_IMMERSIVE: AVSphericalProjection = 6; #[doc = " Projection of the video surface(s) on a sphere."] pub type AVSphericalProjection = ::std::os::raw::c_uint; #[doc = " This structure describes how to handle spherical videos, outlining\n information about projection, initial layout, and any other view modifier.\n\n @note The struct must be allocated with av_spherical_alloc() and\n its size is not a part of the public ABI."] @@ -25682,11 +27828,11 @@ pub const AV_TX_FLOAT_FFT: AVTXType = 0; pub const AV_TX_DOUBLE_FFT: AVTXType = 2; #[doc = " Standard complex to complex FFT with sample data type of AVComplexFloat,\n AVComplexDouble or AVComplexInt32, for each respective variant.\n\n Output is not 1/len normalized. Scaling currently unsupported.\n The stride parameter must be set to the size of a single sample in bytes."] pub const AV_TX_INT32_FFT: AVTXType = 4; -#[doc = " Standard MDCT with a sample data type of float, double or int32_t,\n respecively. For the float and int32 variants, the scale type is\n 'float', while for the double variant, it's 'double'.\n If scale is NULL, 1.0 will be used as a default.\n\n Length is the frame size, not the window size (which is 2x frame).\n For forward transforms, the stride specifies the spacing between each\n sample in the output array in bytes. The input must be a flat array.\n\n For inverse transforms, the stride specifies the spacing between each\n sample in the input array in bytes. The output must be a flat array.\n\n NOTE: the inverse transform is half-length, meaning the output will not\n contain redundant data. This is what most codecs work with. To do a full\n inverse transform, set the AV_TX_FULL_IMDCT flag on init."] +#[doc = " Standard MDCT with a sample data type of float, double or int32_t,\n respectively. For the float and int32 variants, the scale type is\n 'float', while for the double variant, it's 'double'.\n If scale is NULL, 1.0 will be used as a default.\n\n Length is the frame size, not the window size (which is 2x frame).\n For forward transforms, the stride specifies the spacing between each\n sample in the output array in bytes. The input must be a flat array.\n\n For inverse transforms, the stride specifies the spacing between each\n sample in the input array in bytes. The output must be a flat array.\n\n NOTE: the inverse transform is half-length, meaning the output will not\n contain redundant data. This is what most codecs work with. To do a full\n inverse transform, set the AV_TX_FULL_IMDCT flag on init."] pub const AV_TX_FLOAT_MDCT: AVTXType = 1; -#[doc = " Standard MDCT with a sample data type of float, double or int32_t,\n respecively. For the float and int32 variants, the scale type is\n 'float', while for the double variant, it's 'double'.\n If scale is NULL, 1.0 will be used as a default.\n\n Length is the frame size, not the window size (which is 2x frame).\n For forward transforms, the stride specifies the spacing between each\n sample in the output array in bytes. The input must be a flat array.\n\n For inverse transforms, the stride specifies the spacing between each\n sample in the input array in bytes. The output must be a flat array.\n\n NOTE: the inverse transform is half-length, meaning the output will not\n contain redundant data. This is what most codecs work with. To do a full\n inverse transform, set the AV_TX_FULL_IMDCT flag on init."] +#[doc = " Standard MDCT with a sample data type of float, double or int32_t,\n respectively. For the float and int32 variants, the scale type is\n 'float', while for the double variant, it's 'double'.\n If scale is NULL, 1.0 will be used as a default.\n\n Length is the frame size, not the window size (which is 2x frame).\n For forward transforms, the stride specifies the spacing between each\n sample in the output array in bytes. The input must be a flat array.\n\n For inverse transforms, the stride specifies the spacing between each\n sample in the input array in bytes. The output must be a flat array.\n\n NOTE: the inverse transform is half-length, meaning the output will not\n contain redundant data. This is what most codecs work with. To do a full\n inverse transform, set the AV_TX_FULL_IMDCT flag on init."] pub const AV_TX_DOUBLE_MDCT: AVTXType = 3; -#[doc = " Standard MDCT with a sample data type of float, double or int32_t,\n respecively. For the float and int32 variants, the scale type is\n 'float', while for the double variant, it's 'double'.\n If scale is NULL, 1.0 will be used as a default.\n\n Length is the frame size, not the window size (which is 2x frame).\n For forward transforms, the stride specifies the spacing between each\n sample in the output array in bytes. The input must be a flat array.\n\n For inverse transforms, the stride specifies the spacing between each\n sample in the input array in bytes. The output must be a flat array.\n\n NOTE: the inverse transform is half-length, meaning the output will not\n contain redundant data. This is what most codecs work with. To do a full\n inverse transform, set the AV_TX_FULL_IMDCT flag on init."] +#[doc = " Standard MDCT with a sample data type of float, double or int32_t,\n respectively. For the float and int32 variants, the scale type is\n 'float', while for the double variant, it's 'double'.\n If scale is NULL, 1.0 will be used as a default.\n\n Length is the frame size, not the window size (which is 2x frame).\n For forward transforms, the stride specifies the spacing between each\n sample in the output array in bytes. The input must be a flat array.\n\n For inverse transforms, the stride specifies the spacing between each\n sample in the input array in bytes. The output must be a flat array.\n\n NOTE: the inverse transform is half-length, meaning the output will not\n contain redundant data. This is what most codecs work with. To do a full\n inverse transform, set the AV_TX_FULL_IMDCT flag on init."] pub const AV_TX_INT32_MDCT: AVTXType = 5; #[doc = " Real to complex and complex to real DFTs.\n For the float and int32 variants, the scale type is 'float', while for\n the double variant, it's a 'double'. If scale is NULL, 1.0 will be used\n as a default.\n\n For forward transforms (R2C), stride must be the spacing between two\n samples in bytes. For inverse transforms, the stride must be set\n to the spacing between two complex values in bytes.\n\n The forward transform performs a real-to-complex DFT of N samples to\n N/2+1 complex values.\n\n The inverse transform performs a complex-to-real DFT of N/2+1 complex\n values to N real samples. The output is not normalized, but can be\n made so by setting the scale value to 1.0/len.\n NOTE: the inverse transform always overwrites the input."] pub const AV_TX_FLOAT_RDFT: AVTXType = 6; @@ -26009,7 +28155,7 @@ fn bindgen_test_layout_AVVideoHint() { ); } extern "C" { - #[doc = " Allocate memory for the AVVideoHint struct along with an nb_rects-sized\n arrays of AVVideoRect.\n\n The side data contains a list of rectangles for the portions of the frame\n which changed from the last encoded one (and the remainder are assumed to be\n changed), or, alternately (depending on the type parameter) the unchanged\n ones (and the remanining ones are those which changed).\n Macroblocks will thus be hinted either to be P_SKIP-ped or go through the\n regular encoding procedure.\n\n It's responsibility of the caller to fill the AVRects accordingly, and to set\n the proper AVVideoHintType field.\n\n @param out_size if non-NULL, the size in bytes of the resulting data array is\n written here\n\n @return newly allocated AVVideoHint struct (must be freed by the caller using\n av_free()) on success, NULL on memory allocation failure"] + #[doc = " Allocate memory for the AVVideoHint struct along with an nb_rects-sized\n arrays of AVVideoRect.\n\n The side data contains a list of rectangles for the portions of the frame\n which changed from the last encoded one (and the remainder are assumed to be\n changed), or, alternately (depending on the type parameter) the unchanged\n ones (and the remaining ones are those which changed).\n Macroblocks will thus be hinted either to be P_SKIP-ped or go through the\n regular encoding procedure.\n\n It's responsibility of the caller to fill the AVRects accordingly, and to set\n the proper AVVideoHintType field.\n\n @param out_size if non-NULL, the size in bytes of the resulting data array is\n written here\n\n @return newly allocated AVVideoHint struct (must be freed by the caller using\n av_free()) on success, NULL on memory allocation failure"] pub fn av_video_hint_alloc(nb_rects: usize, out_size: *mut usize) -> *mut AVVideoHint; } extern "C" { @@ -26267,6 +28413,303 @@ extern "C" { #[doc = " Return the libswscale license."] pub fn swscale_license() -> *const ::std::os::raw::c_char; } +extern "C" { + #[doc = " Get the AVClass for SwsContext. It can be used in combination with\n AV_OPT_SEARCH_FAKE_OBJ for examining options.\n\n @see av_opt_find()."] + pub fn sws_get_class() -> *const AVClass; +} +pub const SWS_DITHER_NONE: SwsDither = 0; +pub const SWS_DITHER_AUTO: SwsDither = 1; +pub const SWS_DITHER_BAYER: SwsDither = 2; +pub const SWS_DITHER_ED: SwsDither = 3; +pub const SWS_DITHER_A_DITHER: SwsDither = 4; +pub const SWS_DITHER_X_DITHER: SwsDither = 5; +pub const SWS_DITHER_NB: SwsDither = 6; +#[doc = " Flags and quality settings *"] +pub type SwsDither = ::std::os::raw::c_uint; +pub const SWS_ALPHA_BLEND_NONE: SwsAlphaBlend = 0; +pub const SWS_ALPHA_BLEND_UNIFORM: SwsAlphaBlend = 1; +pub const SWS_ALPHA_BLEND_CHECKERBOARD: SwsAlphaBlend = 2; +pub const SWS_ALPHA_BLEND_NB: SwsAlphaBlend = 3; +pub type SwsAlphaBlend = ::std::os::raw::c_uint; +#[doc = "< fast bilinear filtering"] +pub const SWS_FAST_BILINEAR: SwsFlags = 1; +#[doc = "< bilinear filtering"] +pub const SWS_BILINEAR: SwsFlags = 2; +#[doc = "< 2-tap cubic B-spline"] +pub const SWS_BICUBIC: SwsFlags = 4; +#[doc = "< experimental"] +pub const SWS_X: SwsFlags = 8; +#[doc = "< nearest neighbor"] +pub const SWS_POINT: SwsFlags = 16; +#[doc = "< area averaging"] +pub const SWS_AREA: SwsFlags = 32; +#[doc = "< bicubic luma, bilinear chroma"] +pub const SWS_BICUBLIN: SwsFlags = 64; +#[doc = "< gaussian approximation"] +pub const SWS_GAUSS: SwsFlags = 128; +#[doc = "< unwindowed sinc"] +pub const SWS_SINC: SwsFlags = 256; +#[doc = "< 3-tap sinc/sinc"] +pub const SWS_LANCZOS: SwsFlags = 512; +#[doc = "< cubic Keys spline"] +pub const SWS_SPLINE: SwsFlags = 1024; +#[doc = " Return an error on underspecified conversions. Without this flag,\n unspecified fields are defaulted to sensible values."] +pub const SWS_STRICT: SwsFlags = 2048; +#[doc = " Emit verbose log of scaling parameters."] +pub const SWS_PRINT_INFO: SwsFlags = 4096; +#[doc = " Perform full chroma upsampling when upscaling to RGB.\n\n For example, when converting 50x50 yuv420p to 100x100 rgba, setting this flag\n will scale the chroma plane from 25x25 to 100x100 (4:4:4), and then convert\n the 100x100 yuv444p image to rgba in the final output step.\n\n Without this flag, the chroma plane is instead scaled to 50x100 (4:2:2),\n with a single chroma sample being reused for both of the horizontally\n adjacent RGBA output pixels."] +pub const SWS_FULL_CHR_H_INT: SwsFlags = 8192; +#[doc = " Perform full chroma interpolation when downscaling RGB sources.\n\n For example, when converting a 100x100 rgba source to 50x50 yuv444p, setting\n this flag will generate a 100x100 (4:4:4) chroma plane, which is then\n downscaled to the required 50x50.\n\n Without this flag, the chroma plane is instead generated at 50x100 (dropping\n every other pixel), before then being downscaled to the required 50x50\n resolution."] +pub const SWS_FULL_CHR_H_INP: SwsFlags = 16384; +#[doc = " Force bit-exact output. This will prevent the use of platform-specific\n optimizations that may lead to slight difference in rounding, in favor\n of always maintaining exact bit output compatibility with the reference\n C code.\n\n Note: It is recommended to set both of these flags simultaneously."] +pub const SWS_ACCURATE_RND: SwsFlags = 262144; +#[doc = " Force bit-exact output. This will prevent the use of platform-specific\n optimizations that may lead to slight difference in rounding, in favor\n of always maintaining exact bit output compatibility with the reference\n C code.\n\n Note: It is recommended to set both of these flags simultaneously."] +pub const SWS_BITEXACT: SwsFlags = 524288; +#[doc = "< This flag has no effect"] +pub const SWS_DIRECT_BGR: SwsFlags = 32768; +#[doc = "< Set `SwsContext.dither` instead"] +pub const SWS_ERROR_DIFFUSION: SwsFlags = 8388608; +pub type SwsFlags = ::std::os::raw::c_uint; +#[doc = "< Perceptual tone mapping"] +pub const SWS_INTENT_PERCEPTUAL: SwsIntent = 0; +#[doc = "< Relative colorimetric clipping"] +pub const SWS_INTENT_RELATIVE_COLORIMETRIC: SwsIntent = 1; +#[doc = "< Saturation mapping"] +pub const SWS_INTENT_SATURATION: SwsIntent = 2; +#[doc = "< Absolute colorimetric clipping"] +pub const SWS_INTENT_ABSOLUTE_COLORIMETRIC: SwsIntent = 3; +#[doc = "< not part of the ABI"] +pub const SWS_INTENT_NB: SwsIntent = 4; +pub type SwsIntent = ::std::os::raw::c_uint; +#[doc = " Main external API structure. New fields can be added to the end with\n minor version bumps. Removal, reordering and changes to existing fields\n require a major version bump. sizeof(SwsContext) is not part of the ABI."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SwsContext { + pub av_class: *const AVClass, + #[doc = " Private data of the user, can be used to carry app specific stuff."] + pub opaque: *mut ::std::os::raw::c_void, + #[doc = " Bitmask of SWS_*. See `SwsFlags` for details."] + pub flags: ::std::os::raw::c_uint, + #[doc = " Extra parameters for fine-tuning certain scalers."] + pub scaler_params: [f64; 2usize], + #[doc = " How many threads to use for processing, or 0 for automatic selection."] + pub threads: ::std::os::raw::c_int, + #[doc = " Dither mode."] + pub dither: SwsDither, + #[doc = " Alpha blending mode. See `SwsAlphaBlend` for details."] + pub alpha_blend: SwsAlphaBlend, + #[doc = " Use gamma correct scaling."] + pub gamma_flag: ::std::os::raw::c_int, + #[doc = "< Width and height of the source frame"] + pub src_w: ::std::os::raw::c_int, + #[doc = "< Width and height of the source frame"] + pub src_h: ::std::os::raw::c_int, + #[doc = "< Width and height of the destination frame"] + pub dst_w: ::std::os::raw::c_int, + #[doc = "< Width and height of the destination frame"] + pub dst_h: ::std::os::raw::c_int, + #[doc = "< Source pixel format"] + pub src_format: ::std::os::raw::c_int, + #[doc = "< Destination pixel format"] + pub dst_format: ::std::os::raw::c_int, + #[doc = "< Source is full range"] + pub src_range: ::std::os::raw::c_int, + #[doc = "< Destination is full range"] + pub dst_range: ::std::os::raw::c_int, + #[doc = "< Source vertical chroma position in luma grid / 256"] + pub src_v_chr_pos: ::std::os::raw::c_int, + #[doc = "< Source horizontal chroma position"] + pub src_h_chr_pos: ::std::os::raw::c_int, + #[doc = "< Destination vertical chroma position"] + pub dst_v_chr_pos: ::std::os::raw::c_int, + #[doc = "< Destination horizontal chroma position"] + pub dst_h_chr_pos: ::std::os::raw::c_int, + #[doc = " Desired ICC intent for color space conversions."] + pub intent: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_SwsContext() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + "Size of SwsContext" + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + "Alignment of SwsContext" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).av_class) as usize - ptr as usize }, + 0usize, + "Offset of field: SwsContext::av_class" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize }, + 8usize, + "Offset of field: SwsContext::opaque" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 16usize, + "Offset of field: SwsContext::flags" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scaler_params) as usize - ptr as usize }, + 24usize, + "Offset of field: SwsContext::scaler_params" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).threads) as usize - ptr as usize }, + 40usize, + "Offset of field: SwsContext::threads" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dither) as usize - ptr as usize }, + 44usize, + "Offset of field: SwsContext::dither" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).alpha_blend) as usize - ptr as usize }, + 48usize, + "Offset of field: SwsContext::alpha_blend" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gamma_flag) as usize - ptr as usize }, + 52usize, + "Offset of field: SwsContext::gamma_flag" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_w) as usize - ptr as usize }, + 56usize, + "Offset of field: SwsContext::src_w" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_h) as usize - ptr as usize }, + 60usize, + "Offset of field: SwsContext::src_h" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_w) as usize - ptr as usize }, + 64usize, + "Offset of field: SwsContext::dst_w" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_h) as usize - ptr as usize }, + 68usize, + "Offset of field: SwsContext::dst_h" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_format) as usize - ptr as usize }, + 72usize, + "Offset of field: SwsContext::src_format" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_format) as usize - ptr as usize }, + 76usize, + "Offset of field: SwsContext::dst_format" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_range) as usize - ptr as usize }, + 80usize, + "Offset of field: SwsContext::src_range" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_range) as usize - ptr as usize }, + 84usize, + "Offset of field: SwsContext::dst_range" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_v_chr_pos) as usize - ptr as usize }, + 88usize, + "Offset of field: SwsContext::src_v_chr_pos" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_h_chr_pos) as usize - ptr as usize }, + 92usize, + "Offset of field: SwsContext::src_h_chr_pos" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_v_chr_pos) as usize - ptr as usize }, + 96usize, + "Offset of field: SwsContext::dst_v_chr_pos" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_h_chr_pos) as usize - ptr as usize }, + 100usize, + "Offset of field: SwsContext::dst_h_chr_pos" + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).intent) as usize - ptr as usize }, + 104usize, + "Offset of field: SwsContext::intent" + ); +} +extern "C" { + #[doc = " Allocate an empty SwsContext and set its fields to default values."] + pub fn sws_alloc_context() -> *mut SwsContext; +} +extern "C" { + #[doc = " Free the context and everything associated with it, and write NULL\n to the provided pointer."] + pub fn sws_free_context(ctx: *mut *mut SwsContext); +} +extern "C" { + #[doc = " Test if a given pixel format is supported.\n\n @param output If 0, test if compatible with the source/input frame;\n otherwise, with the destination/output frame.\n @param format The format to check.\n\n @return A positive integer if supported, 0 otherwise."] + pub fn sws_test_format( + format: AVPixelFormat, + output: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " Test if a given color space is supported.\n\n @param output If 0, test if compatible with the source/input frame;\n otherwise, with the destination/output frame.\n @param colorspace The colorspace to check.\n\n @return A positive integer if supported, 0 otherwise."] + pub fn sws_test_colorspace( + colorspace: AVColorSpace, + output: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " Test if a given set of color primaries is supported.\n\n @param output If 0, test if compatible with the source/input frame;\n otherwise, with the destination/output frame.\n @param primaries The color primaries to check.\n\n @return A positive integer if supported, 0 otherwise."] + pub fn sws_test_primaries( + primaries: AVColorPrimaries, + output: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " Test if a given color transfer function is supported.\n\n @param output If 0, test if compatible with the source/input frame;\n otherwise, with the destination/output frame.\n @param trc The color transfer function to check.\n\n @return A positive integer if supported, 0 otherwise."] + pub fn sws_test_transfer( + trc: AVColorTransferCharacteristic, + output: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " Helper function to run all sws_test_* against a frame, as well as testing\n the basic frame properties for sanity. Ignores irrelevant properties - for\n example, AVColorSpace is not checked for RGB frames."] + pub fn sws_test_frame( + frame: *const AVFrame, + output: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " Like `sws_scale_frame`, but without actually scaling. It will instead\n merely initialize internal state that *would* be required to perform the\n operation, as well as returning the correct error code for unsupported\n frame combinations.\n\n @param ctx The scaling context.\n @param dst The destination frame to consider.\n @param src The source frame to consider.\n @return 0 on success, a negative AVERROR code on failure."] + pub fn sws_frame_setup( + ctx: *mut SwsContext, + dst: *const AVFrame, + src: *const AVFrame, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " Check if a given conversion is a noop. Returns a positive integer if\n no operation needs to be performed, 0 otherwise."] + pub fn sws_is_noop(dst: *const AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " Scale source data from `src` and write the output to `dst`.\n\n This function can be used directly on an allocated context, without setting\n up any frame properties or calling `sws_init_context()`. Such usage is fully\n dynamic and does not require reallocation if the frame properties change.\n\n Alternatively, this function can be called on a context that has been\n explicitly initialized. However, this is provided only for backwards\n compatibility. In this usage mode, all frame properties must be correctly\n set at init time, and may no longer change after initialization.\n\n @param ctx The scaling context.\n @param dst The destination frame. The data buffers may either be already\n allocated by the caller or left clear, in which case they will\n be allocated by the scaler. The latter may have performance\n advantages - e.g. in certain cases some (or all) output planes\n may be references to input planes, rather than copies.\n @param src The source frame. If the data buffers are set to NULL, then\n this function behaves identically to `sws_frame_setup`.\n @return >= 0 on success, a negative AVERROR code on failure."] + pub fn sws_scale_frame( + c: *mut SwsContext, + dst: *mut AVFrame, + src: *const AVFrame, + ) -> ::std::os::raw::c_int; +} extern "C" { #[doc = " Return a pointer to yuv<->rgb coefficients for the given colorspace\n suitable for sws_setColorspaceDetails().\n\n @param colorspace One of the SWS_CS_* macros. If invalid,\n SWS_CS_DEFAULT is used."] pub fn sws_getCoefficients(colorspace: ::std::os::raw::c_int) -> *const ::std::os::raw::c_int; @@ -26347,11 +28790,6 @@ fn bindgen_test_layout_SwsFilter() { "Offset of field: SwsFilter::chrV" ); } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct SwsContext { - _unused: [u8; 0], -} extern "C" { #[doc = " Return a positive value if pix_fmt is a supported input format, 0\n otherwise."] pub fn sws_isSupportedInput(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int; @@ -26365,11 +28803,7 @@ extern "C" { pub fn sws_isSupportedEndiannessConversion(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Allocate an empty SwsContext. This must be filled and passed to\n sws_init_context(). For filling see AVOptions, options.c and\n sws_setColorspaceDetails()."] - pub fn sws_alloc_context() -> *mut SwsContext; -} -extern "C" { - #[doc = " Initialize the swscaler context sws_context.\n\n @return zero or positive value on success, a negative value on\n error"] + #[doc = " Initialize the swscaler context sws_context.\n\n This function is considered deprecated, and provided only for backwards\n compatibility with sws_scale() and sws_start_frame(). The preferred way to\n use libswscale is to set all frame properties correctly and call\n sws_scale_frame() directly, without explicitly initializing the context.\n\n @return zero or positive value on success, a negative value on\n error"] pub fn sws_init_context( sws_context: *mut SwsContext, srcFilter: *mut SwsFilter, @@ -26396,7 +28830,7 @@ extern "C" { ) -> *mut SwsContext; } extern "C" { - #[doc = " Scale the image slice in srcSlice and put the resulting scaled\n slice in the image in dst. A slice is a sequence of consecutive\n rows in an image.\n\n Slices have to be provided in sequential order, either in\n top-bottom or bottom-top order. If slices are provided in\n non-sequential order the behavior of the function is undefined.\n\n @param c the scaling context previously created with\n sws_getContext()\n @param srcSlice the array containing the pointers to the planes of\n the source slice\n @param srcStride the array containing the strides for each plane of\n the source image\n @param srcSliceY the position in the source image of the slice to\n process, that is the number (counted starting from\n zero) in the image of the first row of the slice\n @param srcSliceH the height of the source slice, that is the number\n of rows in the slice\n @param dst the array containing the pointers to the planes of\n the destination image\n @param dstStride the array containing the strides for each plane of\n the destination image\n @return the height of the output slice"] + #[doc = " Scale the image slice in srcSlice and put the resulting scaled\n slice in the image in dst. A slice is a sequence of consecutive\n rows in an image. Requires a context that has been previously\n been initialized with sws_init_context().\n\n Slices have to be provided in sequential order, either in\n top-bottom or bottom-top order. If slices are provided in\n non-sequential order the behavior of the function is undefined.\n\n @param c the scaling context previously created with\n sws_getContext()\n @param srcSlice the array containing the pointers to the planes of\n the source slice\n @param srcStride the array containing the strides for each plane of\n the source image\n @param srcSliceY the position in the source image of the slice to\n process, that is the number (counted starting from\n zero) in the image of the first row of the slice\n @param srcSliceH the height of the source slice, that is the number\n of rows in the slice\n @param dst the array containing the pointers to the planes of\n the destination image\n @param dstStride the array containing the strides for each plane of\n the destination image\n @return the height of the output slice"] pub fn sws_scale( c: *mut SwsContext, srcSlice: *const *const u8, @@ -26408,15 +28842,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Scale source data from src and write the output to dst.\n\n This is merely a convenience wrapper around\n - sws_frame_start()\n - sws_send_slice(0, src->height)\n - sws_receive_slice(0, dst->height)\n - sws_frame_end()\n\n @param c The scaling context\n @param dst The destination frame. See documentation for sws_frame_start() for\n more details.\n @param src The source frame.\n\n @return 0 on success, a negative AVERROR code on failure"] - pub fn sws_scale_frame( - c: *mut SwsContext, - dst: *mut AVFrame, - src: *const AVFrame, - ) -> ::std::os::raw::c_int; -} -extern "C" { - #[doc = " Initialize the scaling process for a given pair of source/destination frames.\n Must be called before any calls to sws_send_slice() and sws_receive_slice().\n\n This function will retain references to src and dst, so they must both use\n refcounted buffers (if allocated by the caller, in case of dst).\n\n @param c The scaling context\n @param dst The destination frame.\n\n The data buffers may either be already allocated by the caller or\n left clear, in which case they will be allocated by the scaler.\n The latter may have performance advantages - e.g. in certain cases\n some output planes may be references to input planes, rather than\n copies.\n\n Output data will be written into this frame in successful\n sws_receive_slice() calls.\n @param src The source frame. The data buffers must be allocated, but the\n frame data does not have to be ready at this point. Data\n availability is then signalled by sws_send_slice().\n @return 0 on success, a negative AVERROR code on failure\n\n @see sws_frame_end()"] + #[doc = " Initialize the scaling process for a given pair of source/destination frames.\n Must be called before any calls to sws_send_slice() and sws_receive_slice().\n Requires a context that has been previously been initialized with\n sws_init_context().\n\n This function will retain references to src and dst, so they must both use\n refcounted buffers (if allocated by the caller, in case of dst).\n\n @param c The scaling context\n @param dst The destination frame.\n\n The data buffers may either be already allocated by the caller or\n left clear, in which case they will be allocated by the scaler.\n The latter may have performance advantages - e.g. in certain cases\n some output planes may be references to input planes, rather than\n copies.\n\n Output data will be written into this frame in successful\n sws_receive_slice() calls.\n @param src The source frame. The data buffers must be allocated, but the\n frame data does not have to be ready at this point. Data\n availability is then signalled by sws_send_slice().\n @return 0 on success, a negative AVERROR code on failure\n\n @see sws_frame_end()"] pub fn sws_frame_start( c: *mut SwsContext, dst: *mut AVFrame, @@ -26444,7 +28870,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Get the alignment required for slices\n\n @param c The scaling context\n @return alignment required for output slices requested with sws_receive_slice().\n Slice offsets and sizes passed to sws_receive_slice() must be\n multiples of the value returned from this function."] + #[doc = " Get the alignment required for slices. Requires a context that has been\n previously been initialized with sws_init_context().\n\n @param c The scaling context\n @return alignment required for output slices requested with sws_receive_slice().\n Slice offsets and sizes passed to sws_receive_slice() must be\n multiples of the value returned from this function."] pub fn sws_receive_slice_alignment(c: *const SwsContext) -> ::std::os::raw::c_uint; } extern "C" { @@ -26540,65 +28966,15 @@ extern "C" { palette: *const u8, ); } -extern "C" { - #[doc = " Get the AVClass for swsContext. It can be used in combination with\n AV_OPT_SEARCH_FAKE_OBJ for examining options.\n\n @see av_opt_find()."] - pub fn sws_get_class() -> *const AVClass; -} -pub type __builtin_va_list = [__va_list_tag; 1usize]; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __va_list_tag { - pub gp_offset: ::std::os::raw::c_uint, - pub fp_offset: ::std::os::raw::c_uint, - pub overflow_arg_area: *mut ::std::os::raw::c_void, - pub reg_save_area: *mut ::std::os::raw::c_void, -} -#[test] -fn bindgen_test_layout___va_list_tag() { - const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__va_list_tag>(), - 24usize, - "Size of __va_list_tag" - ); - assert_eq!( - ::std::mem::align_of::<__va_list_tag>(), - 8usize, - "Alignment of __va_list_tag" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize }, - 0usize, - "Offset of field: __va_list_tag::gp_offset" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize }, - 4usize, - "Offset of field: __va_list_tag::fp_offset" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize }, - 8usize, - "Offset of field: __va_list_tag::overflow_arg_area" - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize }, - 16usize, - "Offset of field: __va_list_tag::reg_save_area" - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __locale_data { - pub _address: u8, -} +pub type __builtin_va_list = *mut ::std::os::raw::c_char; +pub type __uint128_t = u128; #[doc = " Private context used for internal data.\n\n Unlike priv_data, this is not codec-specific. It is used in general\n libavcodec functions."] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AVCodecInternal { pub _address: u8, } +#[doc = " @deprecated unused"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct AVFilterCommand {