/* automatically generated by rust-bindgen 0.72.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 _STDINT_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __GLIBC_USE_ISOC2Y: u32 = 0;
pub const __GLIBC_USE_ISOC23: 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;
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_TIME_BITS64: u32 = 1;
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_C23_STRTOL: u32 = 0;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 41;
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_C23: 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_C23: 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 INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
pub const INT_FAST32_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 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 INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
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 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;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
    pub __val: [::std::os::raw::c_int; 2usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of __fsid_t"][::std::mem::size_of::<__fsid_t>() - 8usize];
    ["Alignment of __fsid_t"][::std::mem::align_of::<__fsid_t>() - 4usize];
    ["Offset of field: __fsid_t::__val"][::std::mem::offset_of!(__fsid_t, __val) - 0usize];
};
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;
pub type u32_ = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct salt {
    pub salt_buf: [u32_; 64usize],
    pub salt_buf_pc: [u32_; 64usize],
    pub salt_len: u32_,
    pub salt_len_pc: u32_,
    pub salt_iter: u32_,
    pub salt_iter2: u32_,
    pub salt_dimy: u32_,
    pub salt_sign: [u32_; 2usize],
    pub salt_repeats: u32_,
    pub orig_pos: u32_,
    pub digests_cnt: u32_,
    pub digests_done: u32_,
    pub digests_offset: u32_,
    pub scrypt_N: u32_,
    pub scrypt_r: u32_,
    pub scrypt_p: u32_,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of salt"][::std::mem::size_of::<salt>() - 572usize];
    ["Alignment of salt"][::std::mem::align_of::<salt>() - 4usize];
    ["Offset of field: salt::salt_buf"][::std::mem::offset_of!(salt, salt_buf) - 0usize];
    ["Offset of field: salt::salt_buf_pc"][::std::mem::offset_of!(salt, salt_buf_pc) - 256usize];
    ["Offset of field: salt::salt_len"][::std::mem::offset_of!(salt, salt_len) - 512usize];
    ["Offset of field: salt::salt_len_pc"][::std::mem::offset_of!(salt, salt_len_pc) - 516usize];
    ["Offset of field: salt::salt_iter"][::std::mem::offset_of!(salt, salt_iter) - 520usize];
    ["Offset of field: salt::salt_iter2"][::std::mem::offset_of!(salt, salt_iter2) - 524usize];
    ["Offset of field: salt::salt_dimy"][::std::mem::offset_of!(salt, salt_dimy) - 528usize];
    ["Offset of field: salt::salt_sign"][::std::mem::offset_of!(salt, salt_sign) - 532usize];
    ["Offset of field: salt::salt_repeats"][::std::mem::offset_of!(salt, salt_repeats) - 540usize];
    ["Offset of field: salt::orig_pos"][::std::mem::offset_of!(salt, orig_pos) - 544usize];
    ["Offset of field: salt::digests_cnt"][::std::mem::offset_of!(salt, digests_cnt) - 548usize];
    ["Offset of field: salt::digests_done"][::std::mem::offset_of!(salt, digests_done) - 552usize];
    ["Offset of field: salt::digests_offset"]
        [::std::mem::offset_of!(salt, digests_offset) - 556usize];
    ["Offset of field: salt::scrypt_N"][::std::mem::offset_of!(salt, scrypt_N) - 560usize];
    ["Offset of field: salt::scrypt_r"][::std::mem::offset_of!(salt, scrypt_r) - 564usize];
    ["Offset of field: salt::scrypt_p"][::std::mem::offset_of!(salt, scrypt_p) - 568usize];
};
pub type salt_t = salt;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct generic_io_tmp_t {
    pub pw_buf: [u32_; 64usize],
    pub pw_len: u32_,
    pub out_buf: [[u32_; 64usize]; 32usize],
    pub out_len: [u32_; 32usize],
    pub out_cnt: u32_,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of generic_io_tmp_t"][::std::mem::size_of::<generic_io_tmp_t>() - 8584usize];
    ["Alignment of generic_io_tmp_t"][::std::mem::align_of::<generic_io_tmp_t>() - 4usize];
    ["Offset of field: generic_io_tmp_t::pw_buf"]
        [::std::mem::offset_of!(generic_io_tmp_t, pw_buf) - 0usize];
    ["Offset of field: generic_io_tmp_t::pw_len"]
        [::std::mem::offset_of!(generic_io_tmp_t, pw_len) - 256usize];
    ["Offset of field: generic_io_tmp_t::out_buf"]
        [::std::mem::offset_of!(generic_io_tmp_t, out_buf) - 260usize];
    ["Offset of field: generic_io_tmp_t::out_len"]
        [::std::mem::offset_of!(generic_io_tmp_t, out_len) - 8452usize];
    ["Offset of field: generic_io_tmp_t::out_cnt"]
        [::std::mem::offset_of!(generic_io_tmp_t, out_cnt) - 8580usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct generic_io_t {
    pub hash_buf: [u32_; 256usize],
    pub hash_len: u32_,
    pub salt_buf: [u32_; 256usize],
    pub salt_len: u32_,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of generic_io_t"][::std::mem::size_of::<generic_io_t>() - 2056usize];
    ["Alignment of generic_io_t"][::std::mem::align_of::<generic_io_t>() - 4usize];
    ["Offset of field: generic_io_t::hash_buf"]
        [::std::mem::offset_of!(generic_io_t, hash_buf) - 0usize];
    ["Offset of field: generic_io_t::hash_len"]
        [::std::mem::offset_of!(generic_io_t, hash_len) - 1024usize];
    ["Offset of field: generic_io_t::salt_buf"]
        [::std::mem::offset_of!(generic_io_t, salt_buf) - 1028usize];
    ["Offset of field: generic_io_t::salt_len"]
        [::std::mem::offset_of!(generic_io_t, salt_len) - 2052usize];
};
