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;
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 _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 31;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __LONG_DOUBLE_USES_FLOAT128: 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_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 __TIMESIZE: u32 = 64;
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 __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 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 const PacketCrypt_NUM_ANNS: u32 = 4;
pub const PacketCrypt_Coinbase_MAGIC: u32 = 34732297;
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],
}
#[test]
fn bindgen_test_layout___fsid_t() {
assert_eq!(
::std::mem::size_of::<__fsid_t>(),
8usize,
concat!("Size of: ", stringify!(__fsid_t))
);
assert_eq!(
::std::mem::align_of::<__fsid_t>(),
4usize,
concat!("Alignment of ", stringify!(__fsid_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__fsid_t),
"::",
stringify!(__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 __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;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PacketCrypt_BlockHeader_t {
pub version: u32,
pub hashPrevBlock: [u32; 8usize],
pub hashMerkleRoot: [u32; 8usize],
pub timeSeconds: u32,
pub workBits: u32,
pub nonce: u32,
}
#[test]
fn bindgen_test_layout_PacketCrypt_BlockHeader_t() {
assert_eq!(
::std::mem::size_of::<PacketCrypt_BlockHeader_t>(),
80usize,
concat!("Size of: ", stringify!(PacketCrypt_BlockHeader_t))
);
assert_eq!(
::std::mem::align_of::<PacketCrypt_BlockHeader_t>(),
4usize,
concat!("Alignment of ", stringify!(PacketCrypt_BlockHeader_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_BlockHeader_t>())).version as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_BlockHeader_t),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_BlockHeader_t>())).hashPrevBlock as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_BlockHeader_t),
"::",
stringify!(hashPrevBlock)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_BlockHeader_t>())).hashMerkleRoot as *const _
as usize
},
36usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_BlockHeader_t),
"::",
stringify!(hashMerkleRoot)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_BlockHeader_t>())).timeSeconds as *const _ as usize
},
68usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_BlockHeader_t),
"::",
stringify!(timeSeconds)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_BlockHeader_t>())).workBits as *const _ as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_BlockHeader_t),
"::",
stringify!(workBits)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<PacketCrypt_BlockHeader_t>())).nonce as *const _ as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_BlockHeader_t),
"::",
stringify!(nonce)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PacketCrypt_AnnounceHdr_t {
pub version: u8,
pub softNonce: [u8; 3usize],
pub hardNonce: u32,
pub workBits: u32,
pub parentBlockHeight: u32,
pub contentType: u32,
pub contentLength: u32,
pub contentHash: [u8; 32usize],
pub signingKey: [u8; 32usize],
}
#[test]
fn bindgen_test_layout_PacketCrypt_AnnounceHdr_t() {
assert_eq!(
::std::mem::size_of::<PacketCrypt_AnnounceHdr_t>(),
88usize,
concat!("Size of: ", stringify!(PacketCrypt_AnnounceHdr_t))
);
assert_eq!(
::std::mem::align_of::<PacketCrypt_AnnounceHdr_t>(),
4usize,
concat!("Alignment of ", stringify!(PacketCrypt_AnnounceHdr_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_AnnounceHdr_t>())).version as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_AnnounceHdr_t),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_AnnounceHdr_t>())).softNonce as *const _ as usize
},
1usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_AnnounceHdr_t),
"::",
stringify!(softNonce)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_AnnounceHdr_t>())).hardNonce as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_AnnounceHdr_t),
"::",
stringify!(hardNonce)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_AnnounceHdr_t>())).workBits as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_AnnounceHdr_t),
"::",
stringify!(workBits)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_AnnounceHdr_t>())).parentBlockHeight as *const _
as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_AnnounceHdr_t),
"::",
stringify!(parentBlockHeight)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_AnnounceHdr_t>())).contentType as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_AnnounceHdr_t),
"::",
stringify!(contentType)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_AnnounceHdr_t>())).contentLength as *const _ as usize
},
20usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_AnnounceHdr_t),
"::",
stringify!(contentLength)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_AnnounceHdr_t>())).contentHash as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_AnnounceHdr_t),
"::",
stringify!(contentHash)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_AnnounceHdr_t>())).signingKey as *const _ as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_AnnounceHdr_t),
"::",
stringify!(signingKey)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PacketCrypt_Announce_t {
pub hdr: PacketCrypt_AnnounceHdr_t,
pub proof: [u64; 117usize],
}
#[test]
fn bindgen_test_layout_PacketCrypt_Announce_t() {
assert_eq!(
::std::mem::size_of::<PacketCrypt_Announce_t>(),
1024usize,
concat!("Size of: ", stringify!(PacketCrypt_Announce_t))
);
assert_eq!(
::std::mem::align_of::<PacketCrypt_Announce_t>(),
8usize,
concat!("Alignment of ", stringify!(PacketCrypt_Announce_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<PacketCrypt_Announce_t>())).hdr as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_Announce_t),
"::",
stringify!(hdr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<PacketCrypt_Announce_t>())).proof as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_Announce_t),
"::",
stringify!(proof)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PacketCrypt_HeaderAndProof_t {
pub blockHeader: PacketCrypt_BlockHeader_t,
pub _pad: u32,
pub nonce2: u32,
pub announcements: [PacketCrypt_Announce_t; 4usize],
pub proof: [u8; 8usize],
}
#[test]
fn bindgen_test_layout_PacketCrypt_HeaderAndProof_t() {
assert_eq!(
::std::mem::size_of::<PacketCrypt_HeaderAndProof_t>(),
4192usize,
concat!("Size of: ", stringify!(PacketCrypt_HeaderAndProof_t))
);
assert_eq!(
::std::mem::align_of::<PacketCrypt_HeaderAndProof_t>(),
8usize,
concat!("Alignment of ", stringify!(PacketCrypt_HeaderAndProof_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_HeaderAndProof_t>())).blockHeader as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_HeaderAndProof_t),
"::",
stringify!(blockHeader)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_HeaderAndProof_t>()))._pad as *const _ as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_HeaderAndProof_t),
"::",
stringify!(_pad)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_HeaderAndProof_t>())).nonce2 as *const _ as usize
},
84usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_HeaderAndProof_t),
"::",
stringify!(nonce2)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_HeaderAndProof_t>())).announcements as *const _
as usize
},
88usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_HeaderAndProof_t),
"::",
stringify!(announcements)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_HeaderAndProof_t>())).proof as *const _ as usize
},
4184usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_HeaderAndProof_t),
"::",
stringify!(proof)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PacketCrypt_Coinbase_t {
pub magic: u32,
pub annLeastWorkTarget: u32,
pub merkleRoot: [u8; 32usize],
pub numAnns: u64,
}
#[test]
fn bindgen_test_layout_PacketCrypt_Coinbase_t() {
assert_eq!(
::std::mem::size_of::<PacketCrypt_Coinbase_t>(),
48usize,
concat!("Size of: ", stringify!(PacketCrypt_Coinbase_t))
);
assert_eq!(
::std::mem::align_of::<PacketCrypt_Coinbase_t>(),
8usize,
concat!("Alignment of ", stringify!(PacketCrypt_Coinbase_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<PacketCrypt_Coinbase_t>())).magic as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_Coinbase_t),
"::",
stringify!(magic)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_Coinbase_t>())).annLeastWorkTarget as *const _
as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_Coinbase_t),
"::",
stringify!(annLeastWorkTarget)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_Coinbase_t>())).merkleRoot as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_Coinbase_t),
"::",
stringify!(merkleRoot)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<PacketCrypt_Coinbase_t>())).numAnns as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_Coinbase_t),
"::",
stringify!(numAnns)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PacketCrypt_Find_t {
pub ptr: u64,
pub size: u64,
}
#[test]
fn bindgen_test_layout_PacketCrypt_Find_t() {
assert_eq!(
::std::mem::size_of::<PacketCrypt_Find_t>(),
16usize,
concat!("Size of: ", stringify!(PacketCrypt_Find_t))
);
assert_eq!(
::std::mem::align_of::<PacketCrypt_Find_t>(),
8usize,
concat!("Alignment of ", stringify!(PacketCrypt_Find_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<PacketCrypt_Find_t>())).ptr as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_Find_t),
"::",
stringify!(ptr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<PacketCrypt_Find_t>())).size as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_Find_t),
"::",
stringify!(size)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PacketCrypt_ValidateCtx_t {
pub progbuf: [u32; 2048usize],
pub progLen: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_PacketCrypt_ValidateCtx_t() {
assert_eq!(
::std::mem::size_of::<PacketCrypt_ValidateCtx_t>(),
8196usize,
concat!("Size of: ", stringify!(PacketCrypt_ValidateCtx_t))
);
assert_eq!(
::std::mem::align_of::<PacketCrypt_ValidateCtx_t>(),
4usize,
concat!("Alignment of ", stringify!(PacketCrypt_ValidateCtx_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_ValidateCtx_t>())).progbuf as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_ValidateCtx_t),
"::",
stringify!(progbuf)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<PacketCrypt_ValidateCtx_t>())).progLen as *const _ as usize
},
8192usize,
concat!(
"Offset of field: ",
stringify!(PacketCrypt_ValidateCtx_t),
"::",
stringify!(progLen)
)
);
}
pub const Validate_checkAnn_OK: _bindgen_ty_1 = 0;
pub const Validate_checkAnn_INVAL: _bindgen_ty_1 = 1;
pub const Validate_checkAnn_INVAL_ITEM4: _bindgen_ty_1 = 2;
pub const Validate_checkAnn_INSUF_POW: _bindgen_ty_1 = 3;
pub const Validate_checkAnn_SOFT_NONCE_HIGH: _bindgen_ty_1 = 4;
pub type _bindgen_ty_1 = u32;
extern "C" {
pub fn Validate_checkAnn_outToString(
code: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn Validate_checkAnn(
annHashOut: *mut u8,
pcAnn: *const PacketCrypt_Announce_t,
parentBlockHash: *const u8,
vctx: *mut PacketCrypt_ValidateCtx_t,
) -> ::std::os::raw::c_int;
}
pub const Validate_checkBlock_OK: _bindgen_ty_2 = 0;
pub const Validate_checkBlock_SHARE_OK: _bindgen_ty_2 = 256;
pub const Validate_checkBlock_ANN_INVALID_: _bindgen_ty_2 = 512;
pub const Validate_checkBlock_ANN_INSUF_POW_: _bindgen_ty_2 = 768;
pub const Validate_checkBlock_ANN_SIG_INVALID_: _bindgen_ty_2 = 1024;
pub const Validate_checkBlock_ANN_CONTENT_INVALID_: _bindgen_ty_2 = 1280;
pub const Validate_checkBlock_PCP_INVAL: _bindgen_ty_2 = 1536;
pub const Validate_checkBlock_PCP_MISMATCH: _bindgen_ty_2 = 1792;
pub const Validate_checkBlock_INSUF_POW: _bindgen_ty_2 = 2048;
pub const Validate_checkBlock_BAD_COINBASE: _bindgen_ty_2 = 2304;
pub type _bindgen_ty_2 = u32;
extern "C" {
pub fn Validate_checkBlock_outToString(
code: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn Validate_checkBlock(
hap: *const PacketCrypt_HeaderAndProof_t,
hapLen: u32,
blockHeight: u32,
shareTarget: u32,
coinbaseCommitment: *const PacketCrypt_Coinbase_t,
blockHashes: *const u8,
workHashOut: *mut u8,
vctx: *mut PacketCrypt_ValidateCtx_t,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AnnMiner_s {
_unused: [u8; 0],
}
pub type AnnMiner_t = AnnMiner_s;
pub type AnnMiner_Callback = ::std::option::Option<
unsafe extern "C" fn(callback_ctx: *mut ::std::os::raw::c_void, ann_buf: *mut u8),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AnnMiner_Request_s {
pub workTarget: u32,
pub parentBlockHeight: u32,
pub parentBlockHash: [u8; 32usize],
pub signingKey: [u8; 32usize],
pub maxAnnsPerSecond: u32,
pub contentType: u32,
pub contentLen: u32,
}
#[test]
fn bindgen_test_layout_AnnMiner_Request_s() {
assert_eq!(
::std::mem::size_of::<AnnMiner_Request_s>(),
84usize,
concat!("Size of: ", stringify!(AnnMiner_Request_s))
);
assert_eq!(
::std::mem::align_of::<AnnMiner_Request_s>(),
4usize,
concat!("Alignment of ", stringify!(AnnMiner_Request_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<AnnMiner_Request_s>())).workTarget as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(AnnMiner_Request_s),
"::",
stringify!(workTarget)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<AnnMiner_Request_s>())).parentBlockHeight as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(AnnMiner_Request_s),
"::",
stringify!(parentBlockHeight)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<AnnMiner_Request_s>())).parentBlockHash as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(AnnMiner_Request_s),
"::",
stringify!(parentBlockHash)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<AnnMiner_Request_s>())).signingKey as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(AnnMiner_Request_s),
"::",
stringify!(signingKey)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<AnnMiner_Request_s>())).maxAnnsPerSecond as *const _ as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(AnnMiner_Request_s),
"::",
stringify!(maxAnnsPerSecond)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<AnnMiner_Request_s>())).contentType as *const _ as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(AnnMiner_Request_s),
"::",
stringify!(contentType)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<AnnMiner_Request_s>())).contentLen as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(AnnMiner_Request_s),
"::",
stringify!(contentLen)
)
);
}
pub type AnnMiner_Request_t = AnnMiner_Request_s;
extern "C" {
pub fn AnnMiner_create(
minerId: u32,
threads: ::std::os::raw::c_int,
callback_ctx: *mut ::std::os::raw::c_void,
ann_found: AnnMiner_Callback,
) -> *mut AnnMiner_t;
}
extern "C" {
pub fn AnnMiner_start(
ctx: *mut AnnMiner_t,
req: *mut AnnMiner_Request_t,
version: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn AnnMiner_stop(miner: *mut AnnMiner_t);
}
extern "C" {
pub fn AnnMiner_free(miner: *mut AnnMiner_t);
}
extern "C" {
pub fn AnnMiner_getAnnsPerSecond(ctx: *const AnnMiner_t) -> f64;
}