1
2
3
4
5
/* automatically generated by rust-bindgen */

pub type FILE = libc::FILE;

# [ repr ( C ) ] # [ derive ( Default ) ] pub struct __IncompleteArrayField < T > ( :: std :: marker :: PhantomData < T > , [ T ; 0 ] ) ; impl < T > __IncompleteArrayField < T > { # [ inline ] pub fn new ( ) -> Self { __IncompleteArrayField ( :: std :: marker :: PhantomData , [ ] ) } # [ inline ] pub unsafe fn as_ptr ( & self ) -> * const T { :: std :: mem :: transmute ( self ) } # [ inline ] pub unsafe fn as_mut_ptr ( & mut self ) -> * mut T { :: std :: mem :: transmute ( self ) } # [ inline ] pub unsafe fn as_slice ( & self , len : usize ) -> & [ T ] { :: std :: slice :: from_raw_parts ( self . as_ptr ( ) , len ) } # [ inline ] pub unsafe fn as_mut_slice ( & mut self , len : usize ) -> & mut [ T ] { :: std :: slice :: from_raw_parts_mut ( self . as_mut_ptr ( ) , len ) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . write_str ( "__IncompleteArrayField" ) } } impl < T > :: std :: clone :: Clone for __IncompleteArrayField < T > { # [ inline ] fn clone ( & self ) -> Self { Self :: new ( ) } } pub const _ERRNO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; 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 _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 __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 27 ; 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 __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; 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 ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; 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 _STDINT_H : 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_FUNCS_EXT : 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 __FD_SETSIZE : u32 = 1024 ; 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 ____gwchar_t_defined : u32 = 1 ; pub const __PRI64_PREFIX : & 'static [ u8 ; 2usize ] = b"l\0" ; pub const __PRIPTR_PREFIX : & 'static [ u8 ; 2usize ] = b"l\0" ; pub const PRId8 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRId16 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRId32 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRId64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIdLEAST8 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRIdLEAST16 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRIdLEAST32 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRIdLEAST64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIdFAST8 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRIdFAST16 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIdFAST32 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIdFAST64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIi8 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIi16 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIi32 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIi64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIiLEAST8 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIiLEAST16 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIiLEAST32 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIiLEAST64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIiFAST8 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIiFAST16 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIiFAST32 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIiFAST64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIo8 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIo16 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIo32 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIo64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIoLEAST8 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIoLEAST16 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIoLEAST32 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIoLEAST64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIoFAST8 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIoFAST16 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIoFAST32 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIoFAST64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIu8 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIu16 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIu32 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIu64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIuLEAST8 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIuLEAST16 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIuLEAST32 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIuLEAST64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIuFAST8 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIuFAST16 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIuFAST32 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIuFAST64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIx8 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIx16 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIx32 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIx64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIxLEAST8 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIxLEAST16 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIxLEAST32 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIxLEAST64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIxFAST8 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIxFAST16 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIxFAST32 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIxFAST64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIX8 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIX16 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIX32 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIX64 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIXLEAST8 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIXLEAST16 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIXLEAST32 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIXLEAST64 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIXFAST8 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIXFAST16 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIXFAST32 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIXFAST64 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIdMAX : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIiMAX : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIoMAX : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIuMAX : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIxMAX : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIXMAX : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIdPTR : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIiPTR : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIoPTR : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIuPTR : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIxPTR : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIXPTR : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const SCNd8 : & 'static [ u8 ; 4usize ] = b"hhd\0" ; pub const SCNd16 : & 'static [ u8 ; 3usize ] = b"hd\0" ; pub const SCNd32 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const SCNd64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNdLEAST8 : & 'static [ u8 ; 4usize ] = b"hhd\0" ; pub const SCNdLEAST16 : & 'static [ u8 ; 3usize ] = b"hd\0" ; pub const SCNdLEAST32 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const SCNdLEAST64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNdFAST8 : & 'static [ u8 ; 4usize ] = b"hhd\0" ; pub const SCNdFAST16 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNdFAST32 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNdFAST64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNi8 : & 'static [ u8 ; 4usize ] = b"hhi\0" ; pub const SCNi16 : & 'static [ u8 ; 3usize ] = b"hi\0" ; pub const SCNi32 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const SCNi64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNiLEAST8 : & 'static [ u8 ; 4usize ] = b"hhi\0" ; pub const SCNiLEAST16 : & 'static [ u8 ; 3usize ] = b"hi\0" ; pub const SCNiLEAST32 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const SCNiLEAST64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNiFAST8 : & 'static [ u8 ; 4usize ] = b"hhi\0" ; pub const SCNiFAST16 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNiFAST32 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNiFAST64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNu8 : & 'static [ u8 ; 4usize ] = b"hhu\0" ; pub const SCNu16 : & 'static [ u8 ; 3usize ] = b"hu\0" ; pub const SCNu32 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const SCNu64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNuLEAST8 : & 'static [ u8 ; 4usize ] = b"hhu\0" ; pub const SCNuLEAST16 : & 'static [ u8 ; 3usize ] = b"hu\0" ; pub const SCNuLEAST32 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const SCNuLEAST64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNuFAST8 : & 'static [ u8 ; 4usize ] = b"hhu\0" ; pub const SCNuFAST16 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNuFAST32 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNuFAST64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNo8 : & 'static [ u8 ; 4usize ] = b"hho\0" ; pub const SCNo16 : & 'static [ u8 ; 3usize ] = b"ho\0" ; pub const SCNo32 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const SCNo64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNoLEAST8 : & 'static [ u8 ; 4usize ] = b"hho\0" ; pub const SCNoLEAST16 : & 'static [ u8 ; 3usize ] = b"ho\0" ; pub const SCNoLEAST32 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const SCNoLEAST64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNoFAST8 : & 'static [ u8 ; 4usize ] = b"hho\0" ; pub const SCNoFAST16 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNoFAST32 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNoFAST64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNx8 : & 'static [ u8 ; 4usize ] = b"hhx\0" ; pub const SCNx16 : & 'static [ u8 ; 3usize ] = b"hx\0" ; pub const SCNx32 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const SCNx64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNxLEAST8 : & 'static [ u8 ; 4usize ] = b"hhx\0" ; pub const SCNxLEAST16 : & 'static [ u8 ; 3usize ] = b"hx\0" ; pub const SCNxLEAST32 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const SCNxLEAST64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNxFAST8 : & 'static [ u8 ; 4usize ] = b"hhx\0" ; pub const SCNxFAST16 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNxFAST32 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNxFAST64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNdMAX : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNiMAX : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNoMAX : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNuMAX : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNxMAX : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNdPTR : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNiPTR : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNoPTR : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNuPTR : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNxPTR : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _STDIO_H : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const _BITS_LIBIO_H : u32 = 1 ; pub const _BITS_G_CONFIG_H : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _G_HAVE_MMAP : u32 = 1 ; pub const _G_HAVE_MREMAP : u32 = 1 ; pub const _G_IO_IO_FILE_VERSION : u32 = 131073 ; pub const _G_BUFSIZ : u32 = 8192 ; pub const _IO_BUFSIZ : u32 = 8192 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _IO_UNIFIED_JUMPTABLES : u32 = 1 ; pub const EOF : i32 = -1 ; pub const _IOS_INPUT : u32 = 1 ; pub const _IOS_OUTPUT : u32 = 2 ; pub const _IOS_ATEND : u32 = 4 ; pub const _IOS_APPEND : u32 = 8 ; pub const _IOS_TRUNC : u32 = 16 ; pub const _IOS_NOCREATE : u32 = 32 ; pub const _IOS_NOREPLACE : u32 = 64 ; pub const _IOS_BIN : u32 = 128 ; pub const _IO_MAGIC : u32 = 4222418944 ; pub const _OLD_STDIO_MAGIC : u32 = 4206624768 ; pub const _IO_MAGIC_MASK : u32 = 4294901760 ; pub const _IO_USER_BUF : u32 = 1 ; pub const _IO_UNBUFFERED : u32 = 2 ; pub const _IO_NO_READS : u32 = 4 ; pub const _IO_NO_WRITES : u32 = 8 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_DELETE_DONT_CLOSE : u32 = 64 ; pub const _IO_LINKED : u32 = 128 ; pub const _IO_IN_BACKUP : u32 = 256 ; pub const _IO_LINE_BUF : u32 = 512 ; pub const _IO_TIED_PUT_GET : u32 = 1024 ; pub const _IO_CURRENTLY_PUTTING : u32 = 2048 ; pub const _IO_IS_APPENDING : u32 = 4096 ; pub const _IO_IS_FILEBUF : u32 = 8192 ; pub const _IO_BAD_SEEN : u32 = 16384 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const _IO_FLAGS2_MMAP : u32 = 1 ; pub const _IO_FLAGS2_NOTCANCEL : u32 = 2 ; pub const _IO_FLAGS2_USER_WBUF : u32 = 8 ; pub const _IO_SKIPWS : u32 = 1 ; pub const _IO_LEFT : u32 = 2 ; pub const _IO_RIGHT : u32 = 4 ; pub const _IO_INTERNAL : u32 = 8 ; pub const _IO_DEC : u32 = 16 ; pub const _IO_OCT : u32 = 32 ; pub const _IO_HEX : u32 = 64 ; pub const _IO_SHOWBASE : u32 = 128 ; pub const _IO_SHOWPOINT : u32 = 256 ; pub const _IO_UPPERCASE : u32 = 512 ; pub const _IO_SHOWPOS : u32 = 1024 ; pub const _IO_SCIENTIFIC : u32 = 2048 ; pub const _IO_FIXED : u32 = 4096 ; pub const _IO_UNITBUF : u32 = 8192 ; pub const _IO_STDIO : u32 = 16384 ; pub const _IO_DONT_CLOSE : u32 = 32768 ; pub const _IO_BOOLALPHA : u32 = 65536 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & 'static [ u8 ; 5usize ] = b"/tmp\0" ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; 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 WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; 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 __ENUM_IDTYPE_T : u32 = 1 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; 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 __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 __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; 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 __FD_ZERO_STOS : & 'static [ u8 ; 6usize ] = b"stosq\0" ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const __timespec_defined : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _SYS_SYSMACROS_H : u32 = 1 ; pub const _BITS_SYSMACROS_H : u32 = 1 ; 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 __PTHREAD_MUTEX_LOCK_ELISION : u32 = 1 ; pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND : u32 = 0 ; pub const __PTHREAD_MUTEX_USE_UNION : u32 = 0 ; pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED : 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 PATH_SEPERATOR : u8 = 47u8 ; pub const MEDIA_SIZE : u32 = 512 ; pub const MAX_PATH : u32 = 1023 ; pub const OS_MODE_READ : & 'static [ u8 ; 3usize ] = b"rb\0" ; pub const OS_MODE_WRITE : & 'static [ u8 ; 3usize ] = b"wb\0" ; pub const OS_MODE_EDIT : & 'static [ u8 ; 4usize ] = b"rb+\0" ; pub const OS_PATH_SEPARATOR : & 'static [ u8 ; 2usize ] = b"/\0" ; pub const ACTION_INFO : u32 = 1 ; pub const ACTION_EXTRACT : u32 = 2 ; pub const ACTION_VERIFY : u32 = 4 ; pub const ACTION_RAW : u32 = 8 ; pub const ACTION_LISTROMFS : u32 = 16 ; pub const ACTION_DEV : u32 = 32 ; pub const ACTION_EXTRACTINI1 : u32 = 64 ; pub const ACTION_ONLYUPDATEDROMFS : u32 = 128 ; pub const ACTION_SAVEINIJSON : u32 = 256 ; 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 _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 _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_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; 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 MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE : i32 = -24704 ; pub const MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA : i32 = -24832 ; pub const MBEDTLS_ERR_CIPHER_ALLOC_FAILED : i32 = -24960 ; pub const MBEDTLS_ERR_CIPHER_INVALID_PADDING : i32 = -25088 ; pub const MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED : i32 = -25216 ; pub const MBEDTLS_ERR_CIPHER_AUTH_FAILED : i32 = -25344 ; pub const MBEDTLS_ERR_CIPHER_INVALID_CONTEXT : i32 = -25472 ; pub const MBEDTLS_CIPHER_VARIABLE_IV_LEN : u32 = 1 ; pub const MBEDTLS_CIPHER_VARIABLE_KEY_LEN : u32 = 2 ; pub const MBEDTLS_MAX_IV_LENGTH : u32 = 16 ; pub const MBEDTLS_MAX_BLOCK_LENGTH : u32 = 16 ; pub const MBEDTLS_AES_BLOCK_SIZE : u32 = 16 ; pub const MBEDTLS_DES3_BLOCK_SIZE : u32 = 8 ; pub const MBEDTLS_CIPHER_BLKSIZE_MAX : u32 = 16 ; pub const CJSON_VERSION_MAJOR : u32 = 1 ; pub const CJSON_VERSION_MINOR : u32 = 7 ; pub const CJSON_VERSION_PATCH : u32 = 6 ; pub const cJSON_Invalid : u32 = 0 ; pub const cJSON_False : u32 = 1 ; pub const cJSON_True : u32 = 2 ; pub const cJSON_NULL : u32 = 4 ; pub const cJSON_Number : u32 = 8 ; pub const cJSON_String : u32 = 16 ; pub const cJSON_Array : u32 = 32 ; pub const cJSON_Object : u32 = 64 ; pub const cJSON_Raw : u32 = 128 ; pub const cJSON_IsReference : u32 = 256 ; pub const cJSON_StringIsConst : u32 = 512 ; pub const CJSON_NESTING_LIMIT : u32 = 1000 ; pub const MAGIC_META : u32 = 1096041805 ; pub const MAGIC_ACID : u32 = 1145652033 ; pub const MAGIC_ACI0 : u32 = 810107713 ; pub const MAGIC_PFS0 : u32 = 810763856 ; pub const IVFC_HEADER_SIZE : u32 = 224 ; pub const IVFC_MAX_LEVEL : u32 = 6 ; pub const IVFC_MAX_BUFFERSIZE : u32 = 16384 ; pub const MAGIC_IVFC : u32 = 1128683081 ; pub const ROMFS_HEADER_SIZE : u32 = 80 ; pub const ROMFS_ENTRY_EMPTY : u32 = 4294967295 ; pub const NCA0_ROMFS_HEADER_SIZE : u32 = 40 ; pub const MAGIC_BKTR : u32 = 1381256002 ; pub const MAGIC_NCA3 : u32 = 859915086 ; pub const MAGIC_NCA2 : u32 = 843137870 ; pub const MAGIC_NCA0 : u32 = 809583438 ; pub const MAGIC_HFS0 : u32 = 810763848 ; pub const MAGIC_HEAD : u32 = 1145128264 ; pub const MAGIC_NAX0 : u32 = 811090254 ; pub const MAGIC_INI1 : u32 = 826887753 ; pub const MAGIC_KIP1 : u32 = 827345227 ; pub const INI1_MAX_KIPS : u32 = 80 ; pub const MAGIC_PK11 : u32 = 825314128 ; pub const MAGIC_PK21 : u32 = 825379664 ; pub const MAGIC_NSO0 : u32 = 810505038 ; extern "C" { pub fn __errno_location ( ) -> * mut :: std :: os :: raw :: c_int ; } 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 __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 , Default , 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 = :: std :: os :: raw :: c_schar ; pub type int_least16_t = :: std :: os :: raw :: c_short ; pub type int_least32_t = :: std :: os :: raw :: c_int ; pub type int_least64_t = :: std :: os :: raw :: c_long ; pub type uint_least8_t = :: std :: os :: raw :: c_uchar ; pub type uint_least16_t = :: std :: os :: raw :: c_ushort ; pub type uint_least32_t = :: std :: os :: raw :: c_uint ; pub type uint_least64_t = :: std :: os :: raw :: c_ulong ; 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 __gwchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct imaxdiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [ test ] fn bindgen_test_layout_imaxdiv_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < imaxdiv_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( imaxdiv_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < imaxdiv_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( imaxdiv_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < imaxdiv_t > ( ) ) ) . quot as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( imaxdiv_t ) , "::" , stringify ! ( quot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < imaxdiv_t > ( ) ) ) . rem as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( imaxdiv_t ) , "::" , stringify ! ( rem ) ) ) ; } extern "C" { pub fn imaxabs ( __n : intmax_t ) -> intmax_t ; } extern "C" { pub fn imaxdiv ( __numer : intmax_t , __denom : intmax_t ) -> imaxdiv_t ; } extern "C" { pub fn strtoimax ( __nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int ) -> intmax_t ; } extern "C" { pub fn strtoumax ( __nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int ) -> uintmax_t ; } extern "C" { pub fn wcstoimax ( __nptr : * const __gwchar_t , __endptr : * mut * mut __gwchar_t , __base : :: std :: os :: raw :: c_int ) -> intmax_t ; } extern "C" { pub fn wcstoumax ( __nptr : * const __gwchar_t , __endptr : * mut * mut __gwchar_t , __base : :: std :: os :: raw :: c_int ) -> uintmax_t ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ repr ( align ( 16 ) ) ] # [ derive ( Debug , Default , 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 , } # [ test ] fn bindgen_test_layout_max_align_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < max_align_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < max_align_t > ( ) , 16usize , concat ! ( "Alignment of " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce2 ) ) ) ; } pub type byte = u8 ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum validity_t { VALIDITY_UNCHECKED = 0 , VALIDITY_INVALID = 1 , VALIDITY_VALID = 2 , } pub type __FILE = _IO_FILE ; # [ 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 ] , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( __mbstate_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __mbstate_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t__bindgen_ty_1 > ( ) ) ) . __wch as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t__bindgen_ty_1 ) , "::" , stringify ! ( __wch ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t__bindgen_ty_1 > ( ) ) ) . __wchb as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t__bindgen_ty_1 ) , "::" , stringify ! ( __wchb ) ) ) ; } impl Default for __mbstate_t__bindgen_ty_1 { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ test ] fn bindgen_test_layout___mbstate_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __mbstate_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __mbstate_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __mbstate_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __mbstate_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t > ( ) ) ) . __count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t > ( ) ) ) . __value as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t ) , "::" , stringify ! ( __value ) ) ) ; } impl Default for __mbstate_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [ test ] fn bindgen_test_layout__G_fpos_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _G_fpos_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _G_fpos_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _G_fpos_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _G_fpos_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos_t > ( ) ) ) . __pos as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos_t ) , "::" , stringify ! ( __pos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos_t > ( ) ) ) . __state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos_t ) , "::" , stringify ! ( __state ) ) ) ; } impl Default for _G_fpos_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [ test ] fn bindgen_test_layout__G_fpos64_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _G_fpos64_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _G_fpos64_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _G_fpos64_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _G_fpos64_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos64_t > ( ) ) ) . __pos as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos64_t ) , "::" , stringify ! ( __pos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos64_t > ( ) ) ) . __state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos64_t ) , "::" , stringify ! ( __state ) ) ) ; } impl Default for _G_fpos64_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_jump_t { _unused : [ u8 ; 0 ] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_marker { pub _next : * mut _IO_marker , pub _sbuf : * mut _IO_FILE , pub _pos : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout__IO_marker ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _IO_marker > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _IO_marker ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _IO_marker > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _IO_marker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _sbuf as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _sbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _pos as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _pos ) ) ) ; } impl Default for _IO_marker { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum __codecvt_result { __codecvt_ok = 0 , __codecvt_partial = 1 , __codecvt_error = 2 , __codecvt_noconv = 3 , } # [ 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 __pad1 : * mut :: std :: os :: raw :: c_void , pub __pad2 : * mut :: std :: os :: raw :: c_void , pub __pad3 : * mut :: std :: os :: raw :: c_void , pub __pad4 : * mut :: std :: os :: raw :: c_void , pub __pad5 : usize , pub _mode : :: std :: os :: raw :: c_int , pub _unused2 : [ :: std :: os :: raw :: c_char ; 20usize ] , } # [ test ] fn bindgen_test_layout__IO_FILE ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _IO_FILE > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( _IO_FILE ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _IO_FILE > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _IO_FILE ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_end as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_base as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_base as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_ptr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_end as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_buf_base as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_buf_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_buf_end as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_buf_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_save_base as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_save_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_backup_base as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_backup_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_save_end as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_save_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _markers as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _markers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _chain as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _chain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _fileno as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _fileno ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _flags2 as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _flags2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _old_offset as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _old_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _cur_column as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _cur_column ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _vtable_offset as * const _ as usize } , 130usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _vtable_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _shortbuf as * const _ as usize } , 131usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _shortbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _lock as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _offset as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad1 as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad2 as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad3 as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad4 as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad5 as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _mode as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _unused2 as * const _ as usize } , 196usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _unused2 ) ) ) ; } impl Default for _IO_FILE { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_FILE_plus { _unused : [ u8 ; 0 ] , } extern "C" { # [ link_name = "\u{1}_IO_2_1_stdin_" ] pub static mut _IO_2_1_stdin_ : _IO_FILE_plus ; } extern "C" { # [ link_name = "\u{1}_IO_2_1_stdout_" ] pub static mut _IO_2_1_stdout_ : _IO_FILE_plus ; } extern "C" { # [ link_name = "\u{1}_IO_2_1_stderr_" ] pub static mut _IO_2_1_stderr_ : _IO_FILE_plus ; } pub type __io_read_fn = :: 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 __io_write_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __n : usize ) -> __ssize_t > ; pub type __io_seek_fn = :: 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 __io_close_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn __underflow ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __uflow ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow ( arg1 : * mut _IO_FILE , arg2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_getc ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_putc ( __c : :: std :: os :: raw :: c_int , __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_feof ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_ferror ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_peekc_locked ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_flockfile ( arg1 : * mut _IO_FILE ) ; } extern "C" { pub fn _IO_funlockfile ( arg1 : * mut _IO_FILE ) ; } extern "C" { pub fn _IO_ftrylockfile ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_vfscanf ( arg1 : * mut _IO_FILE , arg2 : * const :: std :: os :: raw :: c_char , arg3 : * mut __va_list_tag , arg4 : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_vfprintf ( arg1 : * mut _IO_FILE , arg2 : * const :: std :: os :: raw :: c_char , arg3 : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_padn ( arg1 : * mut _IO_FILE , arg2 : :: std :: os :: raw :: c_int , arg3 : __ssize_t ) -> __ssize_t ; } extern "C" { pub fn _IO_sgetn ( arg1 : * mut _IO_FILE , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : usize ) -> usize ; } extern "C" { pub fn _IO_seekoff ( arg1 : * mut _IO_FILE , arg2 : __off64_t , arg3 : :: std :: os :: raw :: c_int , arg4 : :: std :: os :: raw :: c_int ) -> __off64_t ; } extern "C" { pub fn _IO_seekpos ( arg1 : * mut _IO_FILE , arg2 : __off64_t , arg3 : :: std :: os :: raw :: c_int ) -> __off64_t ; } extern "C" { pub fn _IO_free_backup_area ( arg1 : * mut _IO_FILE ) ; } pub type off_t = __off_t ; pub type fpos_t = _G_fpos_t ; extern "C" { # [ link_name = "\u{1}stdin" ] pub static mut stdin : * mut _IO_FILE ; } extern "C" { # [ link_name = "\u{1}stdout" ] pub static mut stdout : * mut _IO_FILE ; } extern "C" { # [ link_name = "\u{1}stderr" ] pub static mut stderr : * mut _IO_FILE ; } extern "C" { pub fn remove ( __filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { 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 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 tmpfile ( ) -> * mut FILE ; } extern "C" { pub fn tmpnam ( __s : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r ( __s : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } 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 ; } extern "C" { pub fn fclose ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen ( __filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn freopen ( __filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE ) -> * mut FILE ; } extern "C" { pub fn fdopen ( __fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn fmemopen ( __s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn open_memstream ( __bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize ) -> * mut FILE ; } extern "C" { pub fn setbuf ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char ) ; } 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 ; } extern "C" { pub fn setbuffer ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize ) ; } extern "C" { pub fn setlinebuf ( __stream : * mut FILE ) ; } 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 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 : usize , __n : usize , __stream : * mut FILE ) -> usize ; } extern "C" { pub fn fwrite ( __ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __s : * mut FILE ) -> usize ; } 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" { # [ link_name = "\u{1}sys_nerr" ] pub static mut sys_nerr : :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}sys_errlist" ] pub static mut sys_errlist : [ * const :: std :: os :: raw :: c_char ; 0usize ] ; } 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 popen ( __command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn pclose ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } 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 ) ; } extern "C" { pub fn ftrylockfile ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile ( __stream : * mut FILE ) ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum idtype_t { P_ALL = 0 , P_PID = 1 , P_PGID = 2 , } pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; # [ repr ( C ) ] # [ derive ( Debug , Default , 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_div_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < div_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( div_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < div_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( div_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < div_t > ( ) ) ) . quot as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( div_t ) , "::" , stringify ! ( quot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < div_t > ( ) ) ) . rem as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( div_t ) , "::" , stringify ! ( rem ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ldiv_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ldiv_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ldiv_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ldiv_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ldiv_t > ( ) ) ) . quot as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ldiv_t ) , "::" , stringify ! ( quot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ldiv_t > ( ) ) ) . rem as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ldiv_t ) , "::" , stringify ! ( rem ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , 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_lldiv_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < lldiv_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( lldiv_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < lldiv_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( lldiv_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < lldiv_t > ( ) ) ) . quot as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( lldiv_t ) , "::" , stringify ! ( quot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < lldiv_t > ( ) ) ) . rem as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( lldiv_t ) , "::" , stringify ! ( rem ) ) ) ; } 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 = :: 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_ulong ; pub type register_t = :: std :: os :: raw :: c_long ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct __sigset_t { pub __val : [ :: std :: os :: raw :: c_ulong ; 16usize ] , } # [ test ] fn bindgen_test_layout___sigset_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __sigset_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __sigset_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __sigset_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __sigset_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type sigset_t = __sigset_t ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [ test ] fn bindgen_test_layout_timeval ( ) { assert_eq ! ( :: std :: mem :: size_of :: < timeval > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( timeval ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < timeval > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( timeval ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timeval > ( ) ) ) . tv_sec as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( timeval ) , "::" , stringify ! ( tv_sec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timeval > ( ) ) ) . tv_usec as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( timeval ) , "::" , stringify ! ( tv_usec ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [ test ] fn bindgen_test_layout_timespec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < timespec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( timespec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < timespec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( timespec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timespec > ( ) ) ) . tv_sec as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( timespec ) , "::" , stringify ! ( tv_sec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timespec > ( ) ) ) . tv_nsec as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( timespec ) , "::" , stringify ! ( tv_nsec ) ) ) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct fd_set { pub __fds_bits : [ __fd_mask ; 16usize ] , } # [ test ] fn bindgen_test_layout_fd_set ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fd_set > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( fd_set ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fd_set > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( fd_set ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fd_set > ( ) ) ) . __fds_bits as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( fd_set ) , "::" , stringify ! ( __fds_bits ) ) ) ; } 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 ; } extern "C" { pub fn gnu_dev_major ( __dev : __dev_t ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn gnu_dev_minor ( __dev : __dev_t ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn gnu_dev_makedev ( __major : :: std :: os :: raw :: c_uint , __minor : :: std :: os :: raw :: c_uint ) -> __dev_t ; } 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 ( Debug , Default , 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_rwlock_arch_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( __pthread_rwlock_arch_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_rwlock_arch_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_rwlock_arch_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __readers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __readers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __writers as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __writers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __wrphase_futex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __writers_futex as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __writers_futex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad3 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad4 as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __cur_writer as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __cur_writer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __shared as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __shared ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __rwelision as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __rwelision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad1 as * const _ as usize } , 33usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad2 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __flags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } impl Default for __pthread_internal_list { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type __pthread_list_t = __pthread_internal_list ; # [ 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } impl Default for __pthread_mutex_s { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_cond_s { pub __bindgen_anon_1 : __pthread_cond_s__bindgen_ty_1 , pub __bindgen_anon_2 : __pthread_cond_s__bindgen_ty_2 , 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 ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union __pthread_cond_s__bindgen_ty_1 { pub __wseq : :: std :: os :: raw :: c_ulonglong , pub __wseq32 : __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : u64 , } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . __low as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( __low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . __high as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( __high ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1 > ( ) ) ) . __wseq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) , "::" , stringify ! ( __wseq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1 > ( ) ) ) . __wseq32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) , "::" , stringify ! ( __wseq32 ) ) ) ; } impl Default for __pthread_cond_s__bindgen_ty_1 { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union __pthread_cond_s__bindgen_ty_2 { pub __g1_start : :: std :: os :: raw :: c_ulonglong , pub __g1_start32 : __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 , _bindgen_union_align : u64 , } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . __low as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( __low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . __high as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( __high ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2 > ( ) ) ) . __g1_start as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) , "::" , stringify ! ( __g1_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2 > ( ) ) ) . __g1_start32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) , "::" , stringify ! ( __g1_start32 ) ) ) ; } impl Default for __pthread_cond_s__bindgen_ty_2 { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ test ] fn bindgen_test_layout___pthread_cond_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_refs as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_refs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g1_orig_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __wrefs as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __wrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_signals as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_signals ) ) ) ; } impl Default for __pthread_cond_s { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } 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 , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_pthread_mutexattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutexattr_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( pthread_mutexattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutexattr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutexattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutexattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutexattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutexattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutexattr_t ) , "::" , stringify ! ( __align ) ) ) ; } impl Default for pthread_mutexattr_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ 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 , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_pthread_condattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_condattr_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( pthread_condattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_condattr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pthread_condattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_condattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_condattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_condattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_condattr_t ) , "::" , stringify ! ( __align ) ) ) ; } impl Default for pthread_condattr_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [ 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 , _bindgen_union_align : [ u64 ; 7usize ] , } # [ test ] fn bindgen_test_layout_pthread_attr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_attr_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( pthread_attr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_attr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_attr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_attr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_attr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_attr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_attr_t ) , "::" , stringify ! ( __align ) ) ) ; } impl Default for pthread_attr_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ 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 , _bindgen_union_align : [ u64 ; 5usize ] , } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } impl Default for pthread_mutex_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ 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 , _bindgen_union_align : [ u64 ; 6usize ] , } # [ test ] fn bindgen_test_layout_pthread_cond_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_cond_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( pthread_cond_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_cond_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_cond_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __align ) ) ) ; } impl Default for pthread_cond_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ 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 , _bindgen_union_align : [ u64 ; 7usize ] , } # [ test ] fn bindgen_test_layout_pthread_rwlock_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_rwlock_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( pthread_rwlock_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_rwlock_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_rwlock_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t ) , "::" , stringify ! ( __align ) ) ) ; } impl Default for pthread_rwlock_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ 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 , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_pthread_rwlockattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_rwlockattr_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( pthread_rwlockattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_rwlockattr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_rwlockattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlockattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlockattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlockattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlockattr_t ) , "::" , stringify ! ( __align ) ) ) ; } impl Default for pthread_rwlockattr_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } 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 , _bindgen_union_align : [ u64 ; 4usize ] , } # [ test ] fn bindgen_test_layout_pthread_barrier_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_barrier_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( pthread_barrier_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_barrier_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_barrier_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrier_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrier_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrier_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrier_t ) , "::" , stringify ! ( __align ) ) ) ; } impl Default for pthread_barrier_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ 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 , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_pthread_barrierattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_barrierattr_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( pthread_barrierattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_barrierattr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pthread_barrierattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrierattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrierattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrierattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrierattr_t ) , "::" , stringify ! ( __align ) ) ) ; } impl Default for pthread_barrierattr_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn random ( ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom ( __seed : :: std :: os :: raw :: c_uint ) ; } 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 ; } extern "C" { pub fn setstate ( __statebuf : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } # [ 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 , } # [ test ] fn bindgen_test_layout_random_data ( ) { assert_eq ! ( :: std :: mem :: size_of :: < random_data > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( random_data ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < random_data > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( random_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < random_data > ( ) ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( random_data ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < random_data > ( ) ) ) . rptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( random_data ) , "::" , stringify ! ( rptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < random_data > ( ) ) ) . state as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( random_data ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < random_data > ( ) ) ) . rand_type as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( random_data ) , "::" , stringify ! ( rand_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < random_data > ( ) ) ) . rand_deg as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( random_data ) , "::" , stringify ! ( rand_deg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < random_data > ( ) ) ) . rand_sep as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( random_data ) , "::" , stringify ! ( rand_sep ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < random_data > ( ) ) ) . end_ptr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( random_data ) , "::" , stringify ! ( end_ptr ) ) ) ; } impl Default for random_data { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn random_r ( __buf : * mut random_data , __result : * mut i32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r ( __seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data ) -> :: std :: os :: raw :: c_int ; } 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 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r ( __statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand ( __seed : :: std :: os :: raw :: c_uint ) ; } extern "C" { pub fn rand_r ( __seed : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 ( ) -> f64 ; } extern "C" { pub fn erand48 ( __xsubi : * mut :: std :: os :: raw :: c_ushort ) -> f64 ; } extern "C" { pub fn lrand48 ( ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 ( __xsubi : * mut :: std :: os :: raw :: c_ushort ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 ( ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 ( __xsubi : * mut :: std :: os :: raw :: c_ushort ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 ( __seedval : :: std :: os :: raw :: c_long ) ; } extern "C" { pub fn seed48 ( __seed16v : * mut :: std :: os :: raw :: c_ushort ) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 ( __param : * mut :: std :: os :: raw :: c_ushort ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , 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 , } # [ test ] fn bindgen_test_layout_drand48_data ( ) { assert_eq ! ( :: std :: mem :: size_of :: < drand48_data > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( drand48_data ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < drand48_data > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( drand48_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < drand48_data > ( ) ) ) . __x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( drand48_data ) , "::" , stringify ! ( __x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < drand48_data > ( ) ) ) . __old_x as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( drand48_data ) , "::" , stringify ! ( __old_x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < drand48_data > ( ) ) ) . __c as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( drand48_data ) , "::" , stringify ! ( __c ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < drand48_data > ( ) ) ) . __init as * const _ as usize } , 14usize , concat ! ( "Offset of field: " , stringify ! ( drand48_data ) , "::" , stringify ! ( __init ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < drand48_data > ( ) ) ) . __a as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( drand48_data ) , "::" , stringify ! ( __a ) ) ) ; } extern "C" { pub fn drand48_r ( __buffer : * mut drand48_data , __result : * mut f64 ) -> :: std :: os :: raw :: c_int ; } 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 ; } extern "C" { pub fn lrand48_r ( __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } 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 ; } extern "C" { pub fn mrand48_r ( __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long ) -> :: 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 ; } extern "C" { pub fn srand48_r ( __seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r ( __seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r ( __param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn malloc ( __size : :: std :: os :: raw :: c_ulong ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc ( __nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong ) -> * 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 free ( __ptr : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn alloca ( __size : :: std :: os :: raw :: c_ulong ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc ( __size : usize ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { 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 aligned_alloc ( __alignment : usize , __size : usize ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort ( ) ; } extern "C" { pub fn atexit ( __func : :: std :: option :: Option < unsafe extern "C" fn ( ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit ( __func : :: std :: option :: Option < unsafe extern "C" fn ( ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit ( __func : :: std :: option :: Option < unsafe extern "C" fn ( __func : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void ) > , __arg : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit ( __status : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn quick_exit ( __status : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn _Exit ( __status : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn getenv ( __name : * const :: 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 ; } 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 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv ( __name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp ( __template : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp ( __template : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps ( __template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: 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 ; } extern "C" { pub fn system ( __command : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } 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 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 ; } extern "C" { pub fn qsort ( __base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t ) ; } extern "C" { pub fn abs ( __x : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs ( __x : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs ( __x : :: std :: os :: raw :: c_longlong ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div ( __numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int ) -> div_t ; } extern "C" { pub fn ldiv ( __numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long ) -> ldiv_t ; } extern "C" { pub fn lldiv ( __numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong ) -> lldiv_t ; } 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 ; } 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 ; } 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 ; } 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 ; } 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 ; } 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 ; } 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 ) -> :: 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 ) -> :: 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 ; } 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 ; } extern "C" { pub fn mblen ( __s : * const :: std :: os :: raw :: c_char , __n : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc ( __pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize ) -> :: 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 ; } extern "C" { pub fn mbstowcs ( __pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize ) -> usize ; } extern "C" { pub fn wcstombs ( __s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize ) -> usize ; } extern "C" { pub fn rpmatch ( __response : * const :: std :: os :: raw :: c_char ) -> :: 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 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg ( __loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn align ( offset : u32 , alignment : u32 ) -> u32 ; } extern "C" { pub fn align64 ( offset : u64 , alignment : u64 ) -> u64 ; } extern "C" { pub fn print_magic ( prefix : * const :: std :: os :: raw :: c_char , magic : u32 ) ; } extern "C" { pub fn memdump ( f : * mut FILE , prefix : * const :: std :: os :: raw :: c_char , data : * const :: std :: os :: raw :: c_void , size : usize ) ; } extern "C" { pub fn _fsize ( filename : * const :: std :: os :: raw :: c_char ) -> u64 ; } extern "C" { pub fn save_file_section ( f_in : * mut FILE , ofs : u64 , total_size : u64 , filepath : * mut filepath ) ; } extern "C" { pub fn save_buffer_to_file ( buf : * mut :: std :: os :: raw :: c_void , size : u64 , filepath : * mut filepath ) ; } extern "C" { pub fn save_buffer_to_directory_file ( buf : * mut :: std :: os :: raw :: c_void , size : u64 , dirpath : * mut filepath , filename : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn get_key_revision_summary ( key_rev : u8 ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn open_key_file ( prefix : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn check_memory_hash_table ( f_in : * mut FILE , hash_table : * mut :: std :: os :: raw :: c_uchar , data_ofs : u64 , data_len : u64 , block_size : u64 , full_block : :: std :: os :: raw :: c_int ) -> validity_t ; } extern "C" { pub fn check_file_hash_table ( f_in : * mut FILE , hash_ofs : u64 , data_ofs : u64 , data_len : u64 , block_size : u64 , full_block : :: std :: os :: raw :: c_int ) -> validity_t ; } pub type utf16char_t = u16 ; pub type oschar_t = :: std :: os :: raw :: c_char ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct filepath { pub char_path : [ :: std :: os :: raw :: c_char ; 1023usize ] , pub os_path : [ oschar_t ; 1023usize ] , pub valid : validity_t , } # [ test ] fn bindgen_test_layout_filepath ( ) { assert_eq ! ( :: std :: mem :: size_of :: < filepath > ( ) , 2052usize , concat ! ( "Size of: " , stringify ! ( filepath ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < filepath > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( filepath ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < filepath > ( ) ) ) . char_path as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( filepath ) , "::" , stringify ! ( char_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < filepath > ( ) ) ) . os_path as * const _ as usize } , 1023usize , concat ! ( "Offset of field: " , stringify ! ( filepath ) , "::" , stringify ! ( os_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < filepath > ( ) ) ) . valid as * const _ as usize } , 2048usize , concat ! ( "Offset of field: " , stringify ! ( filepath ) , "::" , stringify ! ( valid ) ) ) ; } impl Default for filepath { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type filepath_t = filepath ; extern "C" { pub fn os_strcpy ( dst : * mut oschar_t , src : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn os_makedir ( dir : * const oschar_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn os_rmdir ( dir : * const oschar_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn filepath_init ( fpath : * mut filepath_t ) ; } extern "C" { pub fn filepath_copy ( fpath : * mut filepath_t , copy : * mut filepath_t ) ; } extern "C" { pub fn filepath_append ( fpath : * mut filepath_t , format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn filepath_append_n ( fpath : * mut filepath_t , n : u32 , format : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { pub fn filepath_set ( fpath : * mut filepath_t , path : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn filepath_get ( fpath : * mut filepath_t ) -> * mut oschar_t ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum keyset_variant_t { KEYSET_DEV = 0 , KEYSET_RETAIL = 1 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum hactool_basefile_t { BASEFILE_ROMFS = 0 , BASEFILE_NCA = 1 , BASEFILE_FAKE = 2 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct nca_keyset_t { pub secure_boot_key : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub tsec_key : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub keyblob_keys : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub keyblob_mac_keys : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub encrypted_keyblobs : [ [ :: std :: os :: raw :: c_uchar ; 176usize ] ; 32usize ] , pub keyblobs : [ [ :: std :: os :: raw :: c_uchar ; 144usize ] ; 32usize ] , pub keyblob_key_sources : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub keyblob_mac_key_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub tsec_root_kek : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub package1_mac_kek : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub package1_kek : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub tsec_auth_signatures : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub tsec_root_keys : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub master_kek_sources : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub master_keks : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub master_key_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub master_keys : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub package1_mac_keys : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub package1_keys : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub package2_keys : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub package2_key_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub aes_kek_generation_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub aes_key_generation_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub key_area_key_application_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub key_area_key_ocean_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub key_area_key_system_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub titlekek_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub header_kek_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub sd_card_kek_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub sd_card_key_sources : [ [ :: std :: os :: raw :: c_uchar ; 32usize ] ; 2usize ] , pub save_mac_kek_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub save_mac_key_source : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub header_key_source : [ :: std :: os :: raw :: c_uchar ; 32usize ] , pub header_key : [ :: std :: os :: raw :: c_uchar ; 32usize ] , pub titlekeks : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 32usize ] , pub key_area_keys : [ [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 3usize ] ; 32usize ] , pub sd_card_keys : [ [ :: std :: os :: raw :: c_uchar ; 32usize ] ; 2usize ] , pub nca_hdr_fixed_key_modulus : [ :: std :: os :: raw :: c_uchar ; 256usize ] , pub acid_fixed_key_modulus : [ :: std :: os :: raw :: c_uchar ; 256usize ] , pub package2_fixed_key_modulus : [ :: std :: os :: raw :: c_uchar ; 256usize ] , } # [ test ] fn bindgen_test_layout_nca_keyset_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_keyset_t > ( ) , 19168usize , concat ! ( "Size of: " , stringify ! ( nca_keyset_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_keyset_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nca_keyset_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . secure_boot_key as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( secure_boot_key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . tsec_key as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( tsec_key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . keyblob_keys as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( keyblob_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . keyblob_mac_keys as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( keyblob_mac_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . encrypted_keyblobs as * const _ as usize } , 1056usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( encrypted_keyblobs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . keyblobs as * const _ as usize } , 6688usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( keyblobs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . keyblob_key_sources as * const _ as usize } , 11296usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( keyblob_key_sources ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . keyblob_mac_key_source as * const _ as usize } , 11808usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( keyblob_mac_key_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . tsec_root_kek as * const _ as usize } , 11824usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( tsec_root_kek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . package1_mac_kek as * const _ as usize } , 11840usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( package1_mac_kek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . package1_kek as * const _ as usize } , 11856usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( package1_kek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . tsec_auth_signatures as * const _ as usize } , 11872usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( tsec_auth_signatures ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . tsec_root_keys as * const _ as usize } , 12384usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( tsec_root_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . master_kek_sources as * const _ as usize } , 12896usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( master_kek_sources ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . master_keks as * const _ as usize } , 13408usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( master_keks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . master_key_source as * const _ as usize } , 13920usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( master_key_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . master_keys as * const _ as usize } , 13936usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( master_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . package1_mac_keys as * const _ as usize } , 14448usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( package1_mac_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . package1_keys as * const _ as usize } , 14960usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( package1_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . package2_keys as * const _ as usize } , 15472usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( package2_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . package2_key_source as * const _ as usize } , 15984usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( package2_key_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . aes_kek_generation_source as * const _ as usize } , 16000usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( aes_kek_generation_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . aes_key_generation_source as * const _ as usize } , 16016usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( aes_key_generation_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . key_area_key_application_source as * const _ as usize } , 16032usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( key_area_key_application_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . key_area_key_ocean_source as * const _ as usize } , 16048usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( key_area_key_ocean_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . key_area_key_system_source as * const _ as usize } , 16064usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( key_area_key_system_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . titlekek_source as * const _ as usize } , 16080usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( titlekek_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . header_kek_source as * const _ as usize } , 16096usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( header_kek_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . sd_card_kek_source as * const _ as usize } , 16112usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( sd_card_kek_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . sd_card_key_sources as * const _ as usize } , 16128usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( sd_card_key_sources ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . save_mac_kek_source as * const _ as usize } , 16192usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( save_mac_kek_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . save_mac_key_source as * const _ as usize } , 16208usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( save_mac_key_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . header_key_source as * const _ as usize } , 16224usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( header_key_source ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . header_key as * const _ as usize } , 16256usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( header_key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . titlekeks as * const _ as usize } , 16288usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( titlekeks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . key_area_keys as * const _ as usize } , 16800usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( key_area_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . sd_card_keys as * const _ as usize } , 18336usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( sd_card_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . nca_hdr_fixed_key_modulus as * const _ as usize } , 18400usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( nca_hdr_fixed_key_modulus ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . acid_fixed_key_modulus as * const _ as usize } , 18656usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( acid_fixed_key_modulus ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_keyset_t > ( ) ) ) . package2_fixed_key_modulus as * const _ as usize } , 18912usize , concat ! ( "Offset of field: " , stringify ! ( nca_keyset_t ) , "::" , stringify ! ( package2_fixed_key_modulus ) ) ) ; } impl Default for nca_keyset_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct override_filepath_t { pub enabled : :: std :: os :: raw :: c_int , pub path : filepath_t , } # [ test ] fn bindgen_test_layout_override_filepath_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < override_filepath_t > ( ) , 2056usize , concat ! ( "Size of: " , stringify ! ( override_filepath_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < override_filepath_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( override_filepath_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < override_filepath_t > ( ) ) ) . enabled as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( override_filepath_t ) , "::" , stringify ! ( enabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < override_filepath_t > ( ) ) ) . path as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( override_filepath_t ) , "::" , stringify ! ( path ) ) ) ; } impl Default for override_filepath_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct titlekey_entry_t { pub rights_id : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub titlekey : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub dec_titlekey : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_titlekey_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < titlekey_entry_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( titlekey_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < titlekey_entry_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( titlekey_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < titlekey_entry_t > ( ) ) ) . rights_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( titlekey_entry_t ) , "::" , stringify ! ( rights_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < titlekey_entry_t > ( ) ) ) . titlekey as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( titlekey_entry_t ) , "::" , stringify ! ( titlekey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < titlekey_entry_t > ( ) ) ) . dec_titlekey as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( titlekey_entry_t ) , "::" , stringify ! ( dec_titlekey ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct known_titlekeys_t { pub count : :: std :: os :: raw :: c_uint , pub titlekeys : * mut titlekey_entry_t , } # [ test ] fn bindgen_test_layout_known_titlekeys_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < known_titlekeys_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( known_titlekeys_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < known_titlekeys_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( known_titlekeys_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < known_titlekeys_t > ( ) ) ) . count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( known_titlekeys_t ) , "::" , stringify ! ( count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < known_titlekeys_t > ( ) ) ) . titlekeys as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( known_titlekeys_t ) , "::" , stringify ! ( titlekeys ) ) ) ; } impl Default for known_titlekeys_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct hactool_settings_t { pub keyset : nca_keyset_t , pub skip_key_warnings : :: std :: os :: raw :: c_int , pub has_cli_titlekey : :: std :: os :: raw :: c_int , pub cli_titlekey : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub dec_cli_titlekey : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub known_titlekeys : known_titlekeys_t , pub has_cli_contentkey : :: std :: os :: raw :: c_int , pub cli_contentkey : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub has_sdseed : :: std :: os :: raw :: c_int , pub sdseed : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub keygen_sbk : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub keygen_tsec : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub section_paths : [ filepath_t ; 4usize ] , pub section_dir_paths : [ filepath_t ; 4usize ] , pub exefs_path : override_filepath_t , pub exefs_dir_path : override_filepath_t , pub romfs_path : override_filepath_t , pub romfs_dir_path : override_filepath_t , pub out_dir_path : override_filepath_t , pub pfs0_dir_path : filepath_t , pub hfs0_dir_path : filepath_t , pub pk11_dir_path : filepath_t , pub pk21_dir_path : filepath_t , pub ini1_dir_path : filepath_t , pub plaintext_path : filepath_t , pub uncompressed_path : filepath_t , pub rootpt_dir_path : filepath_t , pub update_dir_path : filepath_t , pub normal_dir_path : filepath_t , pub secure_dir_path : filepath_t , pub logo_dir_path : filepath_t , pub header_path : filepath_t , pub nax0_path : filepath_t , pub nax0_sd_path : filepath_t , pub npdm_json_path : filepath_t , } # [ test ] fn bindgen_test_layout_hactool_settings_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < hactool_settings_t > ( ) , 78824usize , concat ! ( "Size of: " , stringify ! ( hactool_settings_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < hactool_settings_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( hactool_settings_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . keyset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( keyset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . skip_key_warnings as * const _ as usize } , 19168usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( skip_key_warnings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . has_cli_titlekey as * const _ as usize } , 19172usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( has_cli_titlekey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . cli_titlekey as * const _ as usize } , 19176usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( cli_titlekey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . dec_cli_titlekey as * const _ as usize } , 19192usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( dec_cli_titlekey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . known_titlekeys as * const _ as usize } , 19208usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( known_titlekeys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . has_cli_contentkey as * const _ as usize } , 19224usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( has_cli_contentkey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . cli_contentkey as * const _ as usize } , 19228usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( cli_contentkey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . has_sdseed as * const _ as usize } , 19244usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( has_sdseed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . sdseed as * const _ as usize } , 19248usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( sdseed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . keygen_sbk as * const _ as usize } , 19264usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( keygen_sbk ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . keygen_tsec as * const _ as usize } , 19280usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( keygen_tsec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . section_paths as * const _ as usize } , 19296usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( section_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . section_dir_paths as * const _ as usize } , 27504usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( section_dir_paths ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . exefs_path as * const _ as usize } , 35712usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( exefs_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . exefs_dir_path as * const _ as usize } , 37768usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( exefs_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . romfs_path as * const _ as usize } , 39824usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( romfs_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . romfs_dir_path as * const _ as usize } , 41880usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( romfs_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . out_dir_path as * const _ as usize } , 43936usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( out_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . pfs0_dir_path as * const _ as usize } , 45992usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( pfs0_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . hfs0_dir_path as * const _ as usize } , 48044usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( hfs0_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . pk11_dir_path as * const _ as usize } , 50096usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( pk11_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . pk21_dir_path as * const _ as usize } , 52148usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( pk21_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . ini1_dir_path as * const _ as usize } , 54200usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( ini1_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . plaintext_path as * const _ as usize } , 56252usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( plaintext_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . uncompressed_path as * const _ as usize } , 58304usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( uncompressed_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . rootpt_dir_path as * const _ as usize } , 60356usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( rootpt_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . update_dir_path as * const _ as usize } , 62408usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( update_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . normal_dir_path as * const _ as usize } , 64460usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( normal_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . secure_dir_path as * const _ as usize } , 66512usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( secure_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . logo_dir_path as * const _ as usize } , 68564usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( logo_dir_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . header_path as * const _ as usize } , 70616usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( header_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . nax0_path as * const _ as usize } , 72668usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( nax0_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . nax0_sd_path as * const _ as usize } , 74720usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( nax0_sd_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_settings_t > ( ) ) ) . npdm_json_path as * const _ as usize } , 76772usize , concat ! ( "Offset of field: " , stringify ! ( hactool_settings_t ) , "::" , stringify ! ( npdm_json_path ) ) ) ; } impl Default for hactool_settings_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum hactool_file_type { FILETYPE_NCA = 0 , FILETYPE_PFS0 = 1 , FILETYPE_ROMFS = 2 , FILETYPE_NCA0_ROMFS = 3 , FILETYPE_HFS0 = 4 , FILETYPE_XCI = 5 , FILETYPE_NPDM = 6 , FILETYPE_PACKAGE1 = 7 , FILETYPE_PACKAGE2 = 8 , FILETYPE_INI1 = 9 , FILETYPE_KIP1 = 10 , FILETYPE_NSO0 = 11 , FILETYPE_NAX0 = 12 , FILETYPE_BOOT0 = 13 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct hactool_ctx_t { pub file_type : hactool_file_type , pub file : * mut FILE , pub base_file : * mut FILE , pub base_file_type : hactool_basefile_t , pub base_nca_ctx : * mut nca_ctx , pub settings : hactool_settings_t , pub action : u32 , } # [ test ] fn bindgen_test_layout_hactool_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < hactool_ctx_t > ( ) , 78872usize , concat ! ( "Size of: " , stringify ! ( hactool_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < hactool_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( hactool_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_ctx_t > ( ) ) ) . file_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hactool_ctx_t ) , "::" , stringify ! ( file_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_ctx_t > ( ) ) ) . file as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( hactool_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_ctx_t > ( ) ) ) . base_file as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( hactool_ctx_t ) , "::" , stringify ! ( base_file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_ctx_t > ( ) ) ) . base_file_type as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( hactool_ctx_t ) , "::" , stringify ! ( base_file_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_ctx_t > ( ) ) ) . base_nca_ctx as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( hactool_ctx_t ) , "::" , stringify ! ( base_nca_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_ctx_t > ( ) ) ) . settings as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( hactool_ctx_t ) , "::" , stringify ! ( settings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hactool_ctx_t > ( ) ) ) . action as * const _ as usize } , 78864usize , concat ! ( "Offset of field: " , stringify ! ( hactool_ctx_t ) , "::" , stringify ! ( action ) ) ) ; } impl Default for hactool_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } 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 ; } 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 ; } 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 : usize ) -> * mut :: std :: os :: raw :: c_void ; } 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 ; } 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 ) -> :: 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 ; } 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 ; } 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 ; } 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 ; } 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 ; } extern "C" { pub fn strcmp ( __s1 : * const :: std :: os :: raw :: c_char , __s2 : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { 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 strcoll ( __s1 : * const :: std :: os :: raw :: c_char , __s2 : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn strxfrm ( __dest : * mut :: std :: os :: raw :: c_char , __src : * const :: std :: os :: raw :: c_char , __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 ] , } # [ test ] fn bindgen_test_layout___locale_struct ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __locale_struct > ( ) , 232usize , concat ! ( "Size of: " , stringify ! ( __locale_struct ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __locale_struct > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __locale_struct ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __locale_struct > ( ) ) ) . __locales as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __locale_struct ) , "::" , stringify ! ( __locales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __locale_struct > ( ) ) ) . __ctype_b as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( __locale_struct ) , "::" , stringify ! ( __ctype_b ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __locale_struct > ( ) ) ) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( __locale_struct ) , "::" , stringify ! ( __ctype_tolower ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __locale_struct > ( ) ) ) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( __locale_struct ) , "::" , stringify ! ( __ctype_toupper ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __locale_struct > ( ) ) ) . __names as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( __locale_struct ) , "::" , stringify ! ( __names ) ) ) ; } impl Default for __locale_struct { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn strcoll_l ( __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 , __src : * const :: std :: os :: raw :: c_char , __n : usize , __l : locale_t ) -> usize ; } extern "C" { pub fn strdup ( __s : * const :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn strndup ( __string : * 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 ; } extern "C" { pub fn strrchr ( __s : * const :: std :: os :: raw :: c_char , __c : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn strcspn ( __s : * const :: std :: os :: raw :: c_char , __reject : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strspn ( __s : * const :: std :: os :: raw :: c_char , __accept : * 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 ) -> * 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 ) -> * 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 ; } 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 ; } extern "C" { pub fn strlen ( __s : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strnlen ( __string : * const :: std :: os :: raw :: c_char , __maxlen : usize ) -> usize ; } extern "C" { pub fn strerror ( __errnum : :: 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 ; } extern "C" { pub fn strerror_l ( __errnum : :: std :: os :: raw :: c_int , __l : locale_t ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn bcmp ( __s1 : * const :: std :: os :: raw :: c_void , __s2 : * const :: std :: os :: raw :: c_void , __n : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn bcopy ( __src : * const :: std :: os :: raw :: c_void , __dest : * mut :: std :: os :: raw :: c_void , __n : usize ) ; } extern "C" { pub fn bzero ( __s : * mut :: std :: os :: raw :: c_void , __n : :: std :: os :: raw :: c_ulong ) ; } extern "C" { pub fn index ( __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 ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ffs ( __i : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ffsl ( __l : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ffsll ( __ll : :: std :: os :: raw :: c_longlong ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn strcasecmp ( __s1 : * const :: std :: os :: raw :: c_char , __s2 : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } 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 ; } extern "C" { pub fn strcasecmp_l ( __s1 : * const :: std :: os :: raw :: c_char , __s2 : * const :: std :: os :: raw :: c_char , __loc : locale_t ) -> :: 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 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn explicit_bzero ( __s : * mut :: std :: os :: raw :: c_void , __n : usize ) ; } 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 ; } extern "C" { pub fn strsignal ( __sig : :: 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 ) -> * 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 ) -> * 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 ; } 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 ; } extern "C" { pub fn pki_derive_keys ( keyset : * mut nca_keyset_t ) ; } extern "C" { pub fn pki_print_keys ( keyset : * mut nca_keyset_t ) ; } extern "C" { pub fn pki_initialize_keyset ( keyset : * mut nca_keyset_t , variant : keyset_variant_t ) ; } extern "C" { pub fn pki_get_beta_nca0_modulus ( ) -> * const :: std :: os :: raw :: c_uchar ; } extern "C" { pub fn pki_set_beta_nca0_exponent ( exponent : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn pki_get_beta_nca0_exponent ( ) -> * const :: std :: os :: raw :: c_uchar ; } extern "C" { pub fn pki_get_beta_nca0_label_hash ( ) -> * const :: std :: os :: raw :: c_uchar ; } pub type mbedtls_iso_c_forbids_empty_translation_units = :: std :: os :: raw :: c_int ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum mbedtls_cipher_id_t { MBEDTLS_CIPHER_ID_NONE = 0 , MBEDTLS_CIPHER_ID_NULL = 1 , MBEDTLS_CIPHER_ID_AES = 2 , MBEDTLS_CIPHER_ID_DES = 3 , MBEDTLS_CIPHER_ID_3DES = 4 , MBEDTLS_CIPHER_ID_CAMELLIA = 5 , MBEDTLS_CIPHER_ID_BLOWFISH = 6 , MBEDTLS_CIPHER_ID_ARC4 = 7 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum mbedtls_cipher_type_t { MBEDTLS_CIPHER_NONE = 0 , MBEDTLS_CIPHER_NULL = 1 , MBEDTLS_CIPHER_AES_128_ECB = 2 , MBEDTLS_CIPHER_AES_192_ECB = 3 , MBEDTLS_CIPHER_AES_256_ECB = 4 , MBEDTLS_CIPHER_AES_128_CBC = 5 , MBEDTLS_CIPHER_AES_192_CBC = 6 , MBEDTLS_CIPHER_AES_256_CBC = 7 , MBEDTLS_CIPHER_AES_128_CFB128 = 8 , MBEDTLS_CIPHER_AES_192_CFB128 = 9 , MBEDTLS_CIPHER_AES_256_CFB128 = 10 , MBEDTLS_CIPHER_AES_128_CTR = 11 , MBEDTLS_CIPHER_AES_192_CTR = 12 , MBEDTLS_CIPHER_AES_256_CTR = 13 , MBEDTLS_CIPHER_AES_128_GCM = 14 , MBEDTLS_CIPHER_AES_192_GCM = 15 , MBEDTLS_CIPHER_AES_256_GCM = 16 , MBEDTLS_CIPHER_CAMELLIA_128_ECB = 17 , MBEDTLS_CIPHER_CAMELLIA_192_ECB = 18 , MBEDTLS_CIPHER_CAMELLIA_256_ECB = 19 , MBEDTLS_CIPHER_CAMELLIA_128_CBC = 20 , MBEDTLS_CIPHER_CAMELLIA_192_CBC = 21 , MBEDTLS_CIPHER_CAMELLIA_256_CBC = 22 , MBEDTLS_CIPHER_CAMELLIA_128_CFB128 = 23 , MBEDTLS_CIPHER_CAMELLIA_192_CFB128 = 24 , MBEDTLS_CIPHER_CAMELLIA_256_CFB128 = 25 , MBEDTLS_CIPHER_CAMELLIA_128_CTR = 26 , MBEDTLS_CIPHER_CAMELLIA_192_CTR = 27 , MBEDTLS_CIPHER_CAMELLIA_256_CTR = 28 , MBEDTLS_CIPHER_CAMELLIA_128_GCM = 29 , MBEDTLS_CIPHER_CAMELLIA_192_GCM = 30 , MBEDTLS_CIPHER_CAMELLIA_256_GCM = 31 , MBEDTLS_CIPHER_DES_ECB = 32 , MBEDTLS_CIPHER_DES_CBC = 33 , MBEDTLS_CIPHER_DES_EDE_ECB = 34 , MBEDTLS_CIPHER_DES_EDE_CBC = 35 , MBEDTLS_CIPHER_DES_EDE3_ECB = 36 , MBEDTLS_CIPHER_DES_EDE3_CBC = 37 , MBEDTLS_CIPHER_BLOWFISH_ECB = 38 , MBEDTLS_CIPHER_BLOWFISH_CBC = 39 , MBEDTLS_CIPHER_BLOWFISH_CFB64 = 40 , MBEDTLS_CIPHER_BLOWFISH_CTR = 41 , MBEDTLS_CIPHER_ARC4_128 = 42 , MBEDTLS_CIPHER_AES_128_CCM = 43 , MBEDTLS_CIPHER_AES_192_CCM = 44 , MBEDTLS_CIPHER_AES_256_CCM = 45 , MBEDTLS_CIPHER_CAMELLIA_128_CCM = 46 , MBEDTLS_CIPHER_CAMELLIA_192_CCM = 47 , MBEDTLS_CIPHER_CAMELLIA_256_CCM = 48 , MBEDTLS_CIPHER_AES_128_XEX = 49 , MBEDTLS_CIPHER_AES_192_XEX = 50 , MBEDTLS_CIPHER_AES_256_XEX = 51 , MBEDTLS_CIPHER_AES_128_XTS = 52 , MBEDTLS_CIPHER_AES_192_XTS = 53 , MBEDTLS_CIPHER_AES_256_XTS = 54 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum mbedtls_cipher_mode_t { MBEDTLS_MODE_NONE = 0 , MBEDTLS_MODE_ECB = 1 , MBEDTLS_MODE_CBC = 2 , MBEDTLS_MODE_CFB = 3 , MBEDTLS_MODE_OFB = 4 , MBEDTLS_MODE_CTR = 5 , MBEDTLS_MODE_GCM = 6 , MBEDTLS_MODE_STREAM = 7 , MBEDTLS_MODE_CCM = 8 , MBEDTLS_MODE_XEX = 9 , MBEDTLS_MODE_XTS = 10 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum mbedtls_cipher_padding_t { # [ doc = "< PKCS7 padding (default)" ] MBEDTLS_PADDING_PKCS7 = 0 , # [ doc = "< ISO/IEC 7816-4 padding" ] MBEDTLS_PADDING_ONE_AND_ZEROS = 1 , # [ doc = "< ANSI X.923 padding" ] MBEDTLS_PADDING_ZEROS_AND_LEN = 2 , # [ doc = "< zero padding (not reversible!)" ] MBEDTLS_PADDING_ZEROS = 3 , # [ doc = "< never pad (full blocks only)" ] MBEDTLS_PADDING_NONE = 4 , } # [ repr ( i32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum mbedtls_operation_t { MBEDTLS_OPERATION_NONE = -1 , MBEDTLS_DECRYPT = 0 , MBEDTLS_ENCRYPT = 1 , } pub const MBEDTLS_KEY_LENGTH_NONE : _bindgen_ty_1 = _bindgen_ty_1 :: MBEDTLS_KEY_LENGTH_NONE ; pub const MBEDTLS_KEY_LENGTH_DES : _bindgen_ty_1 = _bindgen_ty_1 :: MBEDTLS_KEY_LENGTH_DES ; pub const MBEDTLS_KEY_LENGTH_DES_EDE : _bindgen_ty_1 = _bindgen_ty_1 :: MBEDTLS_KEY_LENGTH_DES_EDE ; pub const MBEDTLS_KEY_LENGTH_DES_EDE3 : _bindgen_ty_1 = _bindgen_ty_1 :: MBEDTLS_KEY_LENGTH_DES_EDE3 ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum _bindgen_ty_1 { # [ doc = " Undefined key length" ] MBEDTLS_KEY_LENGTH_NONE = 0 , # [ doc = " Key length, in bits (including parity), for DES keys" ] MBEDTLS_KEY_LENGTH_DES = 64 , # [ doc = " Key length, in bits (including parity), for DES in two key EDE" ] MBEDTLS_KEY_LENGTH_DES_EDE = 128 , # [ doc = " Key length, in bits (including parity), for DES in three-key EDE" ] MBEDTLS_KEY_LENGTH_DES_EDE3 = 192 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct mbedtls_cipher_base_t { _unused : [ u8 ; 0 ] , } # [ doc = " Cipher information. Allows cipher functions to be called in a generic way." ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct mbedtls_cipher_info_t { # [ doc = " Full cipher identifier (e.g. MBEDTLS_CIPHER_AES_256_CBC)" ] pub type_ : mbedtls_cipher_type_t , # [ doc = " Cipher mode (e.g. MBEDTLS_MODE_CBC)" ] pub mode : mbedtls_cipher_mode_t , # [ doc = " Cipher key length, in bits (default length for variable sized ciphers)" ] # [ doc = "  (Includes parity bits for ciphers like DES)" ] pub key_bitlen : :: std :: os :: raw :: c_uint , # [ doc = " Name of the cipher" ] pub name : * const :: std :: os :: raw :: c_char , # [ doc = " IV/NONCE size, in bytes." ] # [ doc = "  For cipher that accept many sizes: recommended size" ] pub iv_size : :: std :: os :: raw :: c_uint , # [ doc = " Flags for variable IV size, variable key size, etc." ] pub flags : :: std :: os :: raw :: c_int , # [ doc = " block size, in bytes" ] pub block_size : :: std :: os :: raw :: c_uint , # [ doc = " Base cipher information and functions" ] pub base : * const mbedtls_cipher_base_t , } # [ test ] fn bindgen_test_layout_mbedtls_cipher_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < mbedtls_cipher_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( mbedtls_cipher_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < mbedtls_cipher_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( mbedtls_cipher_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_info_t > ( ) ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_info_t ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_info_t > ( ) ) ) . mode as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_info_t ) , "::" , stringify ! ( mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_info_t > ( ) ) ) . key_bitlen as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_info_t ) , "::" , stringify ! ( key_bitlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_info_t > ( ) ) ) . name as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_info_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_info_t > ( ) ) ) . iv_size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_info_t ) , "::" , stringify ! ( iv_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_info_t > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_info_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_info_t > ( ) ) ) . block_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_info_t ) , "::" , stringify ! ( block_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_info_t > ( ) ) ) . base as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_info_t ) , "::" , stringify ! ( base ) ) ) ; } impl Default for mbedtls_cipher_info_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ doc = " Generic cipher context." ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct mbedtls_cipher_context_t { # [ doc = " Information about the associated cipher" ] pub cipher_info : * const mbedtls_cipher_info_t , # [ doc = " Key length to use" ] pub key_bitlen : :: std :: os :: raw :: c_int , # [ doc = " Operation that the context\'s key has been initialised for" ] pub operation : mbedtls_operation_t , # [ doc = " Padding functions to use, if relevant for cipher mode" ] pub add_padding : :: std :: option :: Option < unsafe extern "C" fn ( output : * mut :: std :: os :: raw :: c_uchar , olen : usize , data_len : usize ) > , pub get_padding : :: std :: option :: Option < unsafe extern "C" fn ( input : * mut :: std :: os :: raw :: c_uchar , ilen : usize , data_len : * mut usize ) -> :: std :: os :: raw :: c_int > , # [ doc = " Buffer for data that hasn\'t been encrypted yet" ] pub unprocessed_data : [ :: std :: os :: raw :: c_uchar ; 16usize ] , # [ doc = " Number of bytes that still need processing" ] pub unprocessed_len : usize , # [ doc = " Current IV or NONCE_COUNTER for CTR-mode" ] pub iv : [ :: std :: os :: raw :: c_uchar ; 16usize ] , # [ doc = " IV size in bytes (for ciphers with variable-length IVs)" ] pub iv_size : usize , # [ doc = " Cipher-specific context" ] pub cipher_ctx : * mut :: std :: os :: raw :: c_void , # [ doc = " XEX/XTS Tweak context" ] pub tweak_ctx : * mut :: std :: os :: raw :: c_void , # [ doc = " CMAC Specific context" ] pub cmac_ctx : * mut mbedtls_cmac_context_t , } # [ test ] fn bindgen_test_layout_mbedtls_cipher_context_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < mbedtls_cipher_context_t > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( mbedtls_cipher_context_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < mbedtls_cipher_context_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( mbedtls_cipher_context_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . cipher_info as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( cipher_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . key_bitlen as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( key_bitlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . operation as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( operation ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . add_padding as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( add_padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . get_padding as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( get_padding ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . unprocessed_data as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( unprocessed_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . unprocessed_len as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( unprocessed_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . iv as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( iv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . iv_size as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( iv_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . cipher_ctx as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( cipher_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . tweak_ctx as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( tweak_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cipher_context_t > ( ) ) ) . cmac_ctx as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cipher_context_t ) , "::" , stringify ! ( cmac_ctx ) ) ) ; } impl Default for mbedtls_cipher_context_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { # [ doc = " \\brief Returns the list of ciphers supported by the generic cipher module." ] # [ doc = "" ] # [ doc = " \\return              a statically allocated array of ciphers, the last entry" ] # [ doc = "                      is 0." ] pub fn mbedtls_cipher_list ( ) -> * const :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Returns the cipher information structure associated" ] # [ doc = "                      with the given cipher name." ] # [ doc = "" ] # [ doc = " \\param cipher_name   Name of the cipher to search for." ] # [ doc = "" ] # [ doc = " \\return              the cipher information structure associated with the" ] # [ doc = "                      given cipher_name, or NULL if not found." ] pub fn mbedtls_cipher_info_from_string ( cipher_name : * const :: std :: os :: raw :: c_char ) -> * const mbedtls_cipher_info_t ; } extern "C" { # [ doc = " \\brief               Returns the cipher information structure associated" ] # [ doc = "                      with the given cipher type." ] # [ doc = "" ] # [ doc = " \\param cipher_type   Type of the cipher to search for." ] # [ doc = "" ] # [ doc = " \\return              the cipher information structure associated with the" ] # [ doc = "                      given cipher_type, or NULL if not found." ] pub fn mbedtls_cipher_info_from_type ( cipher_type : mbedtls_cipher_type_t ) -> * const mbedtls_cipher_info_t ; } extern "C" { # [ doc = " \\brief               Returns the cipher information structure associated" ] # [ doc = "                      with the given cipher id, key size and mode." ] # [ doc = "" ] # [ doc = " \\param cipher_id     Id of the cipher to search for" ] # [ doc = "                      (e.g. MBEDTLS_CIPHER_ID_AES)" ] # [ doc = " \\param key_bitlen    Length of the key in bits" ] # [ doc = " \\param mode          Cipher mode (e.g. MBEDTLS_MODE_CBC)" ] # [ doc = "" ] # [ doc = " \\return              the cipher information structure associated with the" ] # [ doc = "                      given cipher_type, or NULL if not found." ] pub fn mbedtls_cipher_info_from_values ( cipher_id : mbedtls_cipher_id_t , key_bitlen : :: std :: os :: raw :: c_int , mode : mbedtls_cipher_mode_t ) -> * const mbedtls_cipher_info_t ; } extern "C" { # [ doc = " \\brief               Initialize a cipher_context (as NONE)" ] pub fn mbedtls_cipher_init ( ctx : * mut mbedtls_cipher_context_t ) ; } extern "C" { # [ doc = " \\brief               Free and clear the cipher-specific context of ctx." ] # [ doc = "                      Freeing ctx itself remains the responsibility of the" ] # [ doc = "                      caller." ] pub fn mbedtls_cipher_free ( ctx : * mut mbedtls_cipher_context_t ) ; } extern "C" { # [ doc = " \\brief               Initialises and fills the cipher context structure with" ] # [ doc = "                      the appropriate values." ] # [ doc = "" ] # [ doc = " \\note                Currently also clears structure. In future versions you" ] # [ doc = "                      will be required to call mbedtls_cipher_init() on the structure" ] # [ doc = "                      first." ] # [ doc = "" ] # [ doc = " \\param ctx           context to initialise. May not be NULL." ] # [ doc = " \\param cipher_info   cipher to use." ] # [ doc = "" ] # [ doc = " \\return              0 on success," ] # [ doc = "                      MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA on parameter failure," ] # [ doc = "                      MBEDTLS_ERR_CIPHER_ALLOC_FAILED if allocation of the" ] # [ doc = "                      cipher-specific context failed." ] pub fn mbedtls_cipher_setup ( ctx : * mut mbedtls_cipher_context_t , cipher_info : * const mbedtls_cipher_info_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Set the key to use with the given context." ] # [ doc = "" ] # [ doc = " \\param ctx           generic cipher context. May not be NULL. Must have been" ] # [ doc = "                      initialised using cipher_context_from_type or" ] # [ doc = "                      cipher_context_from_string." ] # [ doc = " \\param key           The key to use." ] # [ doc = " \\param key_bitlen    key length to use, in bits." ] # [ doc = " \\param operation     Operation that the key will be used for, either" ] # [ doc = "                      MBEDTLS_ENCRYPT or MBEDTLS_DECRYPT." ] # [ doc = "" ] # [ doc = " \\returns             0 on success, MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA if" ] # [ doc = "                      parameter verification fails or a cipher specific" ] # [ doc = "                      error code." ] pub fn mbedtls_cipher_setkey ( ctx : * mut mbedtls_cipher_context_t , key : * const :: std :: os :: raw :: c_uchar , key_bitlen : :: std :: os :: raw :: c_int , operation : mbedtls_operation_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Set padding mode, for cipher modes that use padding." ] # [ doc = "                      (Default: PKCS7 padding.)" ] # [ doc = "" ] # [ doc = " \\param ctx           generic cipher context" ] # [ doc = " \\param mode          padding mode" ] # [ doc = "" ] # [ doc = " \\returns             0 on success, MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE" ] # [ doc = "                      if selected padding mode is not supported, or" ] # [ doc = "                      MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA if the cipher mode" ] # [ doc = "                      does not support padding." ] pub fn mbedtls_cipher_set_padding_mode ( ctx : * mut mbedtls_cipher_context_t , mode : mbedtls_cipher_padding_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Set the initialization vector (IV) or nonce" ] # [ doc = "" ] # [ doc = " \\param ctx           generic cipher context" ] # [ doc = " \\param iv            IV to use (or NONCE_COUNTER for CTR-mode ciphers)" ] # [ doc = " \\param iv_len        IV length for ciphers with variable-size IV;" ] # [ doc = "                      discarded by ciphers with fixed-size IV." ] # [ doc = "" ] # [ doc = " \\returns             0 on success, or MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA" ] # [ doc = "" ] # [ doc = " \\note                Some ciphers don\'t use IVs nor NONCE. For these" ] # [ doc = "                      ciphers, this function has no effect." ] pub fn mbedtls_cipher_set_iv ( ctx : * mut mbedtls_cipher_context_t , iv : * const :: std :: os :: raw :: c_uchar , iv_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Finish preparation of the given context" ] # [ doc = "" ] # [ doc = " \\param ctx           generic cipher context" ] # [ doc = "" ] # [ doc = " \\returns             0 on success, MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA" ] # [ doc = "                      if parameter verification fails." ] pub fn mbedtls_cipher_reset ( ctx : * mut mbedtls_cipher_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Add additional data (for AEAD ciphers)." ] # [ doc = "                      Currently only supported with GCM." ] # [ doc = "                      Must be called exactly once, after mbedtls_cipher_reset()." ] # [ doc = "" ] # [ doc = " \\param ctx           generic cipher context" ] # [ doc = " \\param ad            Additional data to use." ] # [ doc = " \\param ad_len        Length of ad." ] # [ doc = "" ] # [ doc = " \\return              0 on success, or a specific error code." ] pub fn mbedtls_cipher_update_ad ( ctx : * mut mbedtls_cipher_context_t , ad : * const :: std :: os :: raw :: c_uchar , ad_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Generic cipher update function. Encrypts/decrypts" ] # [ doc = "                      using the given cipher context. Writes as many block" ] # [ doc = "                      size\'d blocks of data as possible to output. Any data" ] # [ doc = "                      that cannot be written immediately will either be added" ] # [ doc = "                      to the next block, or flushed when cipher_final is" ] # [ doc = "                      called." ] # [ doc = "                      Exception: for MBEDTLS_MODE_ECB, expects single block" ] # [ doc = "                                 in size (e.g. 16 bytes for AES)" ] # [ doc = "" ] # [ doc = " \\param ctx           generic cipher context" ] # [ doc = " \\param input         buffer holding the input data" ] # [ doc = " \\param ilen          length of the input data" ] # [ doc = " \\param output        buffer for the output data. Should be able to hold at" ] # [ doc = "                      least ilen + block_size. Cannot be the same buffer as" ] # [ doc = "                      input!" ] # [ doc = " \\param olen          length of the output data, will be filled with the" ] # [ doc = "                      actual number of bytes written." ] # [ doc = "" ] # [ doc = " \\returns             0 on success, MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA if" ] # [ doc = "                      parameter verification fails," ] # [ doc = "                      MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE on an" ] # [ doc = "                      unsupported mode for a cipher or a cipher specific" ] # [ doc = "                      error code." ] # [ doc = "" ] # [ doc = " \\note                If the underlying cipher is GCM, all calls to this" ] # [ doc = "                      function, except the last one before mbedtls_cipher_finish()," ] # [ doc = "                      must have ilen a multiple of the block size." ] pub fn mbedtls_cipher_update ( ctx : * mut mbedtls_cipher_context_t , input : * const :: std :: os :: raw :: c_uchar , ilen : usize , output : * mut :: std :: os :: raw :: c_uchar , olen : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Generic cipher finalisation function. If data still" ] # [ doc = "                      needs to be flushed from an incomplete block, data" ] # [ doc = "                      contained within it will be padded with the size of" ] # [ doc = "                      the last block, and written to the output buffer." ] # [ doc = "" ] # [ doc = " \\param ctx           Generic cipher context" ] # [ doc = " \\param output        buffer to write data to. Needs block_size available." ] # [ doc = " \\param olen          length of the data written to the output buffer." ] # [ doc = "" ] # [ doc = " \\returns             0 on success, MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA if" ] # [ doc = "                      parameter verification fails," ] # [ doc = "                      MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED if decryption" ] # [ doc = "                      expected a full block but was not provided one," ] # [ doc = "                      MBEDTLS_ERR_CIPHER_INVALID_PADDING on invalid padding" ] # [ doc = "                      while decrypting or a cipher specific error code." ] pub fn mbedtls_cipher_finish ( ctx : * mut mbedtls_cipher_context_t , output : * mut :: std :: os :: raw :: c_uchar , olen : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Write tag for AEAD ciphers." ] # [ doc = "                      Currently only supported with GCM." ] # [ doc = "                      Must be called after mbedtls_cipher_finish()." ] # [ doc = "" ] # [ doc = " \\param ctx           Generic cipher context" ] # [ doc = " \\param tag           buffer to write the tag" ] # [ doc = " \\param tag_len       Length of the tag to write" ] # [ doc = "" ] # [ doc = " \\return              0 on success, or a specific error code." ] pub fn mbedtls_cipher_write_tag ( ctx : * mut mbedtls_cipher_context_t , tag : * mut :: std :: os :: raw :: c_uchar , tag_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Check tag for AEAD ciphers." ] # [ doc = "                      Currently only supported with GCM." ] # [ doc = "                      Must be called after mbedtls_cipher_finish()." ] # [ doc = "" ] # [ doc = " \\param ctx           Generic cipher context" ] # [ doc = " \\param tag           Buffer holding the tag" ] # [ doc = " \\param tag_len       Length of the tag to check" ] # [ doc = "" ] # [ doc = " \\return              0 on success, or a specific error code." ] pub fn mbedtls_cipher_check_tag ( ctx : * mut mbedtls_cipher_context_t , tag : * const :: std :: os :: raw :: c_uchar , tag_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Generic all-in-one encryption/decryption" ] # [ doc = "                      (for all ciphers except AEAD constructs)." ] # [ doc = "" ] # [ doc = " \\param ctx           generic cipher context" ] # [ doc = " \\param iv            IV to use (or NONCE_COUNTER for CTR-mode ciphers)" ] # [ doc = " \\param iv_len        IV length for ciphers with variable-size IV;" ] # [ doc = "                      discarded by ciphers with fixed-size IV." ] # [ doc = " \\param input         buffer holding the input data" ] # [ doc = " \\param ilen          length of the input data" ] # [ doc = " \\param output        buffer for the output data. Should be able to hold at" ] # [ doc = "                      least ilen + block_size. Cannot be the same buffer as" ] # [ doc = "                      input!" ] # [ doc = " \\param olen          length of the output data, will be filled with the" ] # [ doc = "                      actual number of bytes written." ] # [ doc = "" ] # [ doc = " \\note                Some ciphers don\'t use IVs nor NONCE. For these" ] # [ doc = "                      ciphers, use iv = NULL and iv_len = 0." ] # [ doc = "" ] # [ doc = " \\returns             0 on success, or" ] # [ doc = "                      MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA, or" ] # [ doc = "                      MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED if decryption" ] # [ doc = "                      expected a full block but was not provided one, or" ] # [ doc = "                      MBEDTLS_ERR_CIPHER_INVALID_PADDING on invalid padding" ] # [ doc = "                      while decrypting, or" ] # [ doc = "                      a cipher specific error code." ] pub fn mbedtls_cipher_crypt ( ctx : * mut mbedtls_cipher_context_t , iv : * const :: std :: os :: raw :: c_uchar , iv_len : usize , input : * const :: std :: os :: raw :: c_uchar , ilen : usize , output : * mut :: std :: os :: raw :: c_uchar , olen : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Generic autenticated encryption (AEAD ciphers)." ] # [ doc = "" ] # [ doc = " \\param ctx           generic cipher context" ] # [ doc = " \\param iv            IV to use (or NONCE_COUNTER for CTR-mode ciphers)" ] # [ doc = " \\param iv_len        IV length for ciphers with variable-size IV;" ] # [ doc = "                      discarded by ciphers with fixed-size IV." ] # [ doc = " \\param ad            Additional data to authenticate." ] # [ doc = " \\param ad_len        Length of ad." ] # [ doc = " \\param input         buffer holding the input data" ] # [ doc = " \\param ilen          length of the input data" ] # [ doc = " \\param output        buffer for the output data." ] # [ doc = "                      Should be able to hold at least ilen." ] # [ doc = " \\param olen          length of the output data, will be filled with the" ] # [ doc = "                      actual number of bytes written." ] # [ doc = " \\param tag           buffer for the authentication tag" ] # [ doc = " \\param tag_len       desired tag length" ] # [ doc = "" ] # [ doc = " \\returns             0 on success, or" ] # [ doc = "                      MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA, or" ] # [ doc = "                      a cipher specific error code." ] pub fn mbedtls_cipher_auth_encrypt ( ctx : * mut mbedtls_cipher_context_t , iv : * const :: std :: os :: raw :: c_uchar , iv_len : usize , ad : * const :: std :: os :: raw :: c_uchar , ad_len : usize , input : * const :: std :: os :: raw :: c_uchar , ilen : usize , output : * mut :: std :: os :: raw :: c_uchar , olen : * mut usize , tag : * mut :: std :: os :: raw :: c_uchar , tag_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Generic autenticated decryption (AEAD ciphers)." ] # [ doc = "" ] # [ doc = " \\param ctx           generic cipher context" ] # [ doc = " \\param iv            IV to use (or NONCE_COUNTER for CTR-mode ciphers)" ] # [ doc = " \\param iv_len        IV length for ciphers with variable-size IV;" ] # [ doc = "                      discarded by ciphers with fixed-size IV." ] # [ doc = " \\param ad            Additional data to be authenticated." ] # [ doc = " \\param ad_len        Length of ad." ] # [ doc = " \\param input         buffer holding the input data" ] # [ doc = " \\param ilen          length of the input data" ] # [ doc = " \\param output        buffer for the output data." ] # [ doc = "                      Should be able to hold at least ilen." ] # [ doc = " \\param olen          length of the output data, will be filled with the" ] # [ doc = "                      actual number of bytes written." ] # [ doc = " \\param tag           buffer holding the authentication tag" ] # [ doc = " \\param tag_len       length of the authentication tag" ] # [ doc = "" ] # [ doc = " \\returns             0 on success, or" ] # [ doc = "                      MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA, or" ] # [ doc = "                      MBEDTLS_ERR_CIPHER_AUTH_FAILED if data isn\'t authentic," ] # [ doc = "                      or a cipher specific error code." ] # [ doc = "" ] # [ doc = " \\note                If the data is not authentic, then the output buffer" ] # [ doc = "                      is zeroed out to prevent the unauthentic plaintext to" ] # [ doc = "                      be used by mistake, making this interface safer." ] pub fn mbedtls_cipher_auth_decrypt ( ctx : * mut mbedtls_cipher_context_t , iv : * const :: std :: os :: raw :: c_uchar , iv_len : usize , ad : * const :: std :: os :: raw :: c_uchar , ad_len : usize , input : * const :: std :: os :: raw :: c_uchar , ilen : usize , output : * mut :: std :: os :: raw :: c_uchar , olen : * mut usize , tag : * const :: std :: os :: raw :: c_uchar , tag_len : usize ) -> :: std :: os :: raw :: c_int ; } # [ doc = " CMAC context structure - Contains internal state information only" ] # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct mbedtls_cmac_context_t { # [ doc = " Internal state of the CMAC algorithm" ] pub state : [ :: std :: os :: raw :: c_uchar ; 16usize ] , # [ doc = " Unprocessed data - either data that was not block aligned and is still" ] # [ doc = "  pending to be processed, or the final block" ] pub unprocessed_block : [ :: std :: os :: raw :: c_uchar ; 16usize ] , # [ doc = " Length of data pending to be processed" ] pub unprocessed_len : usize , } # [ test ] fn bindgen_test_layout_mbedtls_cmac_context_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < mbedtls_cmac_context_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( mbedtls_cmac_context_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < mbedtls_cmac_context_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( mbedtls_cmac_context_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cmac_context_t > ( ) ) ) . state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cmac_context_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cmac_context_t > ( ) ) ) . unprocessed_block as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cmac_context_t ) , "::" , stringify ! ( unprocessed_block ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mbedtls_cmac_context_t > ( ) ) ) . unprocessed_len as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( mbedtls_cmac_context_t ) , "::" , stringify ! ( unprocessed_len ) ) ) ; } extern "C" { # [ doc = " \\brief               Set the CMAC key and prepare to authenticate the input" ] # [ doc = "                      data." ] # [ doc = "                      Should be called with an initialized cipher context." ] # [ doc = "" ] # [ doc = " \\param ctx           Cipher context. This should be a cipher context," ] # [ doc = "                      initialized to be one of the following types:" ] # [ doc = "                      MBEDTLS_CIPHER_AES_128_ECB, MBEDTLS_CIPHER_AES_192_ECB," ] # [ doc = "                      MBEDTLS_CIPHER_AES_256_ECB or" ] # [ doc = "                      MBEDTLS_CIPHER_DES_EDE3_ECB." ] # [ doc = " \\param key           CMAC key" ] # [ doc = " \\param keybits       length of the CMAC key in bits" ] # [ doc = "                      (must be acceptable by the cipher)" ] # [ doc = "" ] # [ doc = " \\return              0 if successful, or a cipher specific error code" ] pub fn mbedtls_cipher_cmac_starts ( ctx : * mut mbedtls_cipher_context_t , key : * const :: std :: os :: raw :: c_uchar , keybits : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Generic CMAC process buffer." ] # [ doc = "                      Called between mbedtls_cipher_cmac_starts() or" ] # [ doc = "                      mbedtls_cipher_cmac_reset() and" ] # [ doc = "                      mbedtls_cipher_cmac_finish()." ] # [ doc = "                      May be called repeatedly." ] # [ doc = "" ] # [ doc = " \\param ctx           CMAC context" ] # [ doc = " \\param input         buffer holding the  data" ] # [ doc = " \\param ilen          length of the input data" ] # [ doc = "" ] # [ doc = " \\returns             0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter" ] # [ doc = "                      verification fails." ] pub fn mbedtls_cipher_cmac_update ( ctx : * mut mbedtls_cipher_context_t , input : * const :: std :: os :: raw :: c_uchar , ilen : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Output CMAC." ] # [ doc = "                      Called after mbedtls_cipher_cmac_update()." ] # [ doc = "                      Usually followed by mbedtls_cipher_cmac_reset(), then" ] # [ doc = "                      mbedtls_cipher_cmac_starts(), or mbedtls_cipher_free()." ] # [ doc = "" ] # [ doc = " \\param ctx           CMAC context" ] # [ doc = " \\param output        Generic CMAC checksum result" ] # [ doc = "" ] # [ doc = " \\returns             0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter" ] # [ doc = "                      verification fails." ] pub fn mbedtls_cipher_cmac_finish ( ctx : * mut mbedtls_cipher_context_t , output : * mut :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Prepare to authenticate a new message with the same key." ] # [ doc = "                      Called after mbedtls_cipher_cmac_finish() and before" ] # [ doc = "                      mbedtls_cipher_cmac_update()." ] # [ doc = "" ] # [ doc = " \\param ctx           CMAC context to be reset" ] # [ doc = "" ] # [ doc = " \\returns             0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter" ] # [ doc = "                      verification fails." ] pub fn mbedtls_cipher_cmac_reset ( ctx : * mut mbedtls_cipher_context_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief               Output = Generic_CMAC( cmac key, input buffer )" ] # [ doc = "" ] # [ doc = " \\param cipher_info   message digest info" ] # [ doc = " \\param key           CMAC key" ] # [ doc = " \\param keylen        length of the CMAC key in bits" ] # [ doc = " \\param input         buffer holding the  data" ] # [ doc = " \\param ilen          length of the input data" ] # [ doc = " \\param output        Generic CMAC-result" ] # [ doc = "" ] # [ doc = " \\returns             0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter" ] # [ doc = "                      verification fails." ] pub fn mbedtls_cipher_cmac ( cipher_info : * const mbedtls_cipher_info_t , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , input : * const :: std :: os :: raw :: c_uchar , ilen : usize , output : * mut :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief           AES-CMAC-128-PRF" ] # [ doc = "                  Implementation of (AES-CMAC-PRF-128), as defined in RFC 4615" ] # [ doc = "" ] # [ doc = " \\param key       PRF key" ] # [ doc = " \\param key_len   PRF key length in bytes" ] # [ doc = " \\param input     buffer holding the input data" ] # [ doc = " \\param in_len    length of the input data in bytes" ] # [ doc = " \\param output    buffer holding the generated pseudorandom output (16 bytes)" ] # [ doc = "" ] # [ doc = " \\return          0 if successful" ] pub fn mbedtls_aes_cmac_prf_128 ( key : * const :: std :: os :: raw :: c_uchar , key_len : usize , input : * const :: std :: os :: raw :: c_uchar , in_len : usize , output : * mut :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " \\brief          Checkup routine" ] # [ doc = "" ] # [ doc = " \\return         0 if successful, or 1 if the test failed" ] pub fn mbedtls_cmac_self_test ( verbose : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum aes_mode_t { AES_MODE_ECB = 2 , AES_MODE_CTR = 11 , AES_MODE_XTS = 52 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum aes_operation_t { AES_DECRYPT = 0 , AES_ENCRYPT = 1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct aes_ctx_t { pub cipher_enc : mbedtls_cipher_context_t , pub cipher_dec : mbedtls_cipher_context_t , } # [ test ] fn bindgen_test_layout_aes_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < aes_ctx_t > ( ) , 208usize , concat ! ( "Size of: " , stringify ! ( aes_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < aes_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( aes_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aes_ctx_t > ( ) ) ) . cipher_enc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( aes_ctx_t ) , "::" , stringify ! ( cipher_enc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < aes_ctx_t > ( ) ) ) . cipher_dec as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( aes_ctx_t ) , "::" , stringify ! ( cipher_dec ) ) ) ; } impl Default for aes_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn new_aes_ctx ( key : * const :: std :: os :: raw :: c_void , key_size : :: std :: os :: raw :: c_uint , mode : aes_mode_t ) -> * mut aes_ctx_t ; } extern "C" { pub fn free_aes_ctx ( ctx : * mut aes_ctx_t ) ; } extern "C" { pub fn aes_setiv ( ctx : * mut aes_ctx_t , iv : * const :: std :: os :: raw :: c_void , l : usize ) ; } extern "C" { pub fn aes_encrypt ( ctx : * mut aes_ctx_t , dst : * mut :: std :: os :: raw :: c_void , src : * const :: std :: os :: raw :: c_void , l : usize ) ; } extern "C" { pub fn aes_decrypt ( ctx : * mut aes_ctx_t , dst : * mut :: std :: os :: raw :: c_void , src : * const :: std :: os :: raw :: c_void , l : usize ) ; } extern "C" { pub fn aes_calculate_cmac ( dst : * mut :: std :: os :: raw :: c_void , src : * mut :: std :: os :: raw :: c_void , size : usize , key : * const :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn aes_xts_encrypt ( ctx : * mut aes_ctx_t , dst : * mut :: std :: os :: raw :: c_void , src : * const :: std :: os :: raw :: c_void , l : usize , sector : usize , sector_size : usize ) ; } extern "C" { pub fn aes_xts_decrypt ( ctx : * mut aes_ctx_t , dst : * mut :: std :: os :: raw :: c_void , src : * const :: std :: os :: raw :: c_void , l : usize , sector : usize , sector_size : usize ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct cJSON { pub next : * mut cJSON , pub prev : * mut cJSON , pub child : * mut cJSON , pub type_ : :: std :: os :: raw :: c_int , pub valuestring : * mut :: std :: os :: raw :: c_char , pub valueint : :: std :: os :: raw :: c_int , pub valuedouble : f64 , pub string : * mut :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_cJSON ( ) { assert_eq ! ( :: std :: mem :: size_of :: < cJSON > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( cJSON ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < cJSON > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( cJSON ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON > ( ) ) ) . next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( cJSON ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON > ( ) ) ) . prev as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( cJSON ) , "::" , stringify ! ( prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON > ( ) ) ) . child as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( cJSON ) , "::" , stringify ! ( child ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON > ( ) ) ) . type_ as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( cJSON ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON > ( ) ) ) . valuestring as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( cJSON ) , "::" , stringify ! ( valuestring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON > ( ) ) ) . valueint as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( cJSON ) , "::" , stringify ! ( valueint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON > ( ) ) ) . valuedouble as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( cJSON ) , "::" , stringify ! ( valuedouble ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON > ( ) ) ) . string as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( cJSON ) , "::" , stringify ! ( string ) ) ) ; } impl Default for cJSON { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct cJSON_Hooks { pub malloc_fn : :: std :: option :: Option < unsafe extern "C" fn ( sz : usize ) -> * mut :: std :: os :: raw :: c_void > , pub free_fn : :: std :: option :: Option < unsafe extern "C" fn ( ptr : * mut :: std :: os :: raw :: c_void ) > , } # [ test ] fn bindgen_test_layout_cJSON_Hooks ( ) { assert_eq ! ( :: std :: mem :: size_of :: < cJSON_Hooks > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( cJSON_Hooks ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < cJSON_Hooks > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( cJSON_Hooks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON_Hooks > ( ) ) ) . malloc_fn as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( cJSON_Hooks ) , "::" , stringify ! ( malloc_fn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cJSON_Hooks > ( ) ) ) . free_fn as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( cJSON_Hooks ) , "::" , stringify ! ( free_fn ) ) ) ; } impl Default for cJSON_Hooks { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type cJSON_bool = :: std :: os :: raw :: c_int ; extern "C" { pub fn cJSON_Version ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn cJSON_InitHooks ( hooks : * mut cJSON_Hooks ) ; } extern "C" { pub fn cJSON_Parse ( value : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_ParseWithOpts ( value : * const :: std :: os :: raw :: c_char , return_parse_end : * mut * const :: std :: os :: raw :: c_char , require_null_terminated : cJSON_bool ) -> * mut cJSON ; } extern "C" { pub fn cJSON_Print ( item : * const cJSON ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn cJSON_PrintUnformatted ( item : * const cJSON ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn cJSON_PrintBuffered ( item : * const cJSON , prebuffer : :: std :: os :: raw :: c_int , fmt : cJSON_bool ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn cJSON_PrintPreallocated ( item : * mut cJSON , buffer : * mut :: std :: os :: raw :: c_char , length : :: std :: os :: raw :: c_int , format : cJSON_bool ) -> cJSON_bool ; } extern "C" { pub fn cJSON_Delete ( c : * mut cJSON ) ; } extern "C" { pub fn cJSON_GetArraySize ( array : * const cJSON ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn cJSON_GetArrayItem ( array : * const cJSON , index : :: std :: os :: raw :: c_int ) -> * mut cJSON ; } extern "C" { pub fn cJSON_GetObjectItem ( object : * const cJSON , string : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_GetObjectItemCaseSensitive ( object : * const cJSON , string : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_HasObjectItem ( object : * const cJSON , string : * const :: std :: os :: raw :: c_char ) -> cJSON_bool ; } extern "C" { pub fn cJSON_GetErrorPtr ( ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn cJSON_GetStringValue ( item : * mut cJSON ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn cJSON_IsInvalid ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_IsFalse ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_IsTrue ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_IsBool ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_IsNull ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_IsNumber ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_IsString ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_IsArray ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_IsObject ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_IsRaw ( item : * const cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_CreateNull ( ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateTrue ( ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateFalse ( ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateBool ( boolean : cJSON_bool ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateNumber ( num : f64 ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateString ( string : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateRaw ( raw : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateArray ( ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateObject ( ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateStringReference ( string : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateObjectReference ( child : * const cJSON ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateArrayReference ( child : * const cJSON ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateIntArray ( numbers : * const :: std :: os :: raw :: c_int , count : :: std :: os :: raw :: c_int ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateFloatArray ( numbers : * const f32 , count : :: std :: os :: raw :: c_int ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateDoubleArray ( numbers : * const f64 , count : :: std :: os :: raw :: c_int ) -> * mut cJSON ; } extern "C" { pub fn cJSON_CreateStringArray ( strings : * mut * const :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_int ) -> * mut cJSON ; } extern "C" { pub fn cJSON_AddItemToArray ( array : * mut cJSON , item : * mut cJSON ) ; } extern "C" { pub fn cJSON_AddItemToObject ( object : * mut cJSON , string : * const :: std :: os :: raw :: c_char , item : * mut cJSON ) ; } extern "C" { pub fn cJSON_AddItemToObjectCS ( object : * mut cJSON , string : * const :: std :: os :: raw :: c_char , item : * mut cJSON ) ; } extern "C" { pub fn cJSON_AddItemReferenceToArray ( array : * mut cJSON , item : * mut cJSON ) ; } extern "C" { pub fn cJSON_AddItemReferenceToObject ( object : * mut cJSON , string : * const :: std :: os :: raw :: c_char , item : * mut cJSON ) ; } extern "C" { pub fn cJSON_DetachItemViaPointer ( parent : * mut cJSON , item : * mut cJSON ) -> * mut cJSON ; } extern "C" { pub fn cJSON_DetachItemFromArray ( array : * mut cJSON , which : :: std :: os :: raw :: c_int ) -> * mut cJSON ; } extern "C" { pub fn cJSON_DeleteItemFromArray ( array : * mut cJSON , which : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn cJSON_DetachItemFromObject ( object : * mut cJSON , string : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_DetachItemFromObjectCaseSensitive ( object : * mut cJSON , string : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_DeleteItemFromObject ( object : * mut cJSON , string : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn cJSON_DeleteItemFromObjectCaseSensitive ( object : * mut cJSON , string : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn cJSON_InsertItemInArray ( array : * mut cJSON , which : :: std :: os :: raw :: c_int , newitem : * mut cJSON ) ; } extern "C" { pub fn cJSON_ReplaceItemViaPointer ( parent : * mut cJSON , item : * mut cJSON , replacement : * mut cJSON ) -> cJSON_bool ; } extern "C" { pub fn cJSON_ReplaceItemInArray ( array : * mut cJSON , which : :: std :: os :: raw :: c_int , newitem : * mut cJSON ) ; } extern "C" { pub fn cJSON_ReplaceItemInObject ( object : * mut cJSON , string : * const :: std :: os :: raw :: c_char , newitem : * mut cJSON ) ; } extern "C" { pub fn cJSON_ReplaceItemInObjectCaseSensitive ( object : * mut cJSON , string : * const :: std :: os :: raw :: c_char , newitem : * mut cJSON ) ; } extern "C" { pub fn cJSON_Duplicate ( item : * const cJSON , recurse : cJSON_bool ) -> * mut cJSON ; } extern "C" { pub fn cJSON_Compare ( a : * const cJSON , b : * const cJSON , case_sensitive : cJSON_bool ) -> cJSON_bool ; } extern "C" { pub fn cJSON_Minify ( json : * mut :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn cJSON_AddNullToObject ( object : * mut cJSON , name : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_AddTrueToObject ( object : * mut cJSON , name : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_AddFalseToObject ( object : * mut cJSON , name : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_AddBoolToObject ( object : * mut cJSON , name : * const :: std :: os :: raw :: c_char , boolean : cJSON_bool ) -> * mut cJSON ; } extern "C" { pub fn cJSON_AddNumberToObject ( object : * mut cJSON , name : * const :: std :: os :: raw :: c_char , number : f64 ) -> * mut cJSON ; } extern "C" { pub fn cJSON_AddStringToObject ( object : * mut cJSON , name : * const :: std :: os :: raw :: c_char , string : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_AddRawToObject ( object : * mut cJSON , name : * const :: std :: os :: raw :: c_char , raw : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_AddObjectToObject ( object : * mut cJSON , name : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_AddArrayToObject ( object : * mut cJSON , name : * const :: std :: os :: raw :: c_char ) -> * mut cJSON ; } extern "C" { pub fn cJSON_SetNumberHelper ( object : * mut cJSON , number : f64 ) -> f64 ; } extern "C" { pub fn cJSON_malloc ( size : usize ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn cJSON_free ( object : * mut :: std :: os :: raw :: c_void ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct kac_mmio { pub address : u64 , pub size : u64 , pub is_ro : :: std :: os :: raw :: c_int , pub is_norm : :: std :: os :: raw :: c_int , pub next : * mut kac_mmio , } # [ test ] fn bindgen_test_layout_kac_mmio ( ) { assert_eq ! ( :: std :: mem :: size_of :: < kac_mmio > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( kac_mmio ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < kac_mmio > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( kac_mmio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_mmio > ( ) ) ) . address as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( kac_mmio ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_mmio > ( ) ) ) . size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( kac_mmio ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_mmio > ( ) ) ) . is_ro as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( kac_mmio ) , "::" , stringify ! ( is_ro ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_mmio > ( ) ) ) . is_norm as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( kac_mmio ) , "::" , stringify ! ( is_norm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_mmio > ( ) ) ) . next as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( kac_mmio ) , "::" , stringify ! ( next ) ) ) ; } impl Default for kac_mmio { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type kac_mmio_t = kac_mmio ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct kac_irq { pub irq0 : u32 , pub irq1 : u32 , pub next : * mut kac_irq , } # [ test ] fn bindgen_test_layout_kac_irq ( ) { assert_eq ! ( :: std :: mem :: size_of :: < kac_irq > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( kac_irq ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < kac_irq > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( kac_irq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_irq > ( ) ) ) . irq0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( kac_irq ) , "::" , stringify ! ( irq0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_irq > ( ) ) ) . irq1 as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( kac_irq ) , "::" , stringify ! ( irq1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_irq > ( ) ) ) . next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( kac_irq ) , "::" , stringify ! ( next ) ) ) ; } impl Default for kac_irq { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type kac_irq_t = kac_irq ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct kac_t { pub has_kern_flags : :: std :: os :: raw :: c_int , pub lowest_thread_prio : u32 , pub highest_thread_prio : u32 , pub lowest_cpu_id : u32 , pub highest_cpu_id : u32 , pub svcs_allowed : [ u8 ; 128usize ] , pub mmio : * mut kac_mmio_t , pub irqs : * mut kac_irq_t , pub has_app_type : :: std :: os :: raw :: c_int , pub application_type : u32 , pub has_kern_ver : :: std :: os :: raw :: c_int , pub kernel_release_version : u32 , pub has_handle_table_size : :: std :: os :: raw :: c_int , pub handle_table_size : u32 , pub has_debug_flags : :: std :: os :: raw :: c_int , pub allow_debug : :: std :: os :: raw :: c_int , pub force_debug : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_kac_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < kac_t > ( ) , 208usize , concat ! ( "Size of: " , stringify ! ( kac_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < kac_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( kac_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . has_kern_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( has_kern_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . lowest_thread_prio as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( lowest_thread_prio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . highest_thread_prio as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( highest_thread_prio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . lowest_cpu_id as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( lowest_cpu_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . highest_cpu_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( highest_cpu_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . svcs_allowed as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( svcs_allowed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . mmio as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( mmio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . irqs as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( irqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . has_app_type as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( has_app_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . application_type as * const _ as usize } , 172usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( application_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . has_kern_ver as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( has_kern_ver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . kernel_release_version as * const _ as usize } , 180usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( kernel_release_version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . has_handle_table_size as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( has_handle_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . handle_table_size as * const _ as usize } , 188usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( handle_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . has_debug_flags as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( has_debug_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . allow_debug as * const _ as usize } , 196usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( allow_debug ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kac_t > ( ) ) ) . force_debug as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( kac_t ) , "::" , stringify ! ( force_debug ) ) ) ; } impl Default for kac_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sac_entry { pub service : [ :: std :: os :: raw :: c_char ; 17usize ] , pub valid : :: std :: os :: raw :: c_int , pub next : * mut sac_entry , } # [ test ] fn bindgen_test_layout_sac_entry ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sac_entry > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sac_entry ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sac_entry > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sac_entry ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sac_entry > ( ) ) ) . service as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sac_entry ) , "::" , stringify ! ( service ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sac_entry > ( ) ) ) . valid as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sac_entry ) , "::" , stringify ! ( valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sac_entry > ( ) ) ) . next as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sac_entry ) , "::" , stringify ! ( next ) ) ) ; } impl Default for sac_entry { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sac_entry_t = sac_entry ; # [ repr ( C , packed ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct fac_t { pub version : u32 , pub perms : u64 , pub _0xC : [ u8 ; 32usize ] , } # [ test ] fn bindgen_test_layout_fac_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fac_t > ( ) , 44usize , concat ! ( "Size of: " , stringify ! ( fac_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fac_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( fac_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fac_t > ( ) ) ) . version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( fac_t ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fac_t > ( ) ) ) . perms as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( fac_t ) , "::" , stringify ! ( perms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fac_t > ( ) ) ) . _0xC as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( fac_t ) , "::" , stringify ! ( _0xC ) ) ) ; } # [ repr ( C , packed ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct fah_t { pub version : u32 , pub perms : u64 , pub _0xC : u32 , pub _0x10 : u32 , pub _0x14 : u32 , pub _0x18 : u32 , } # [ test ] fn bindgen_test_layout_fah_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fah_t > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( fah_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fah_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( fah_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fah_t > ( ) ) ) . version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( fah_t ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fah_t > ( ) ) ) . perms as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( fah_t ) , "::" , stringify ! ( perms ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fah_t > ( ) ) ) . _0xC as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( fah_t ) , "::" , stringify ! ( _0xC ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fah_t > ( ) ) ) . _0x10 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( fah_t ) , "::" , stringify ! ( _0x10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fah_t > ( ) ) ) . _0x14 as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( fah_t ) , "::" , stringify ! ( _0x14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fah_t > ( ) ) ) . _0x18 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( fah_t ) , "::" , stringify ! ( _0x18 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct fs_perm_t { pub name : * const :: std :: os :: raw :: c_char , pub mask : u64 , } # [ test ] fn bindgen_test_layout_fs_perm_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fs_perm_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( fs_perm_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fs_perm_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( fs_perm_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fs_perm_t > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( fs_perm_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fs_perm_t > ( ) ) ) . mask as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( fs_perm_t ) , "::" , stringify ! ( mask ) ) ) ; } impl Default for fs_perm_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct npdm_aci0_t { pub magic : u32 , pub _0x4 : [ u8 ; 12usize ] , pub title_id : u64 , pub _0x18 : u64 , pub fah_offset : u32 , pub fah_size : u32 , pub sac_offset : u32 , pub sac_size : u32 , pub kac_offset : u32 , pub kac_size : u32 , pub padding : u64 , } # [ test ] fn bindgen_test_layout_npdm_aci0_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < npdm_aci0_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( npdm_aci0_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < npdm_aci0_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( npdm_aci0_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . magic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . _0x4 as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( _0x4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . title_id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( title_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . _0x18 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( _0x18 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . fah_offset as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( fah_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . fah_size as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( fah_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . sac_offset as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( sac_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . sac_size as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( sac_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . kac_offset as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( kac_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . kac_size as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( kac_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_aci0_t > ( ) ) ) . padding as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( npdm_aci0_t ) , "::" , stringify ! ( padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct npdm_acid_t { pub signature : [ u8 ; 256usize ] , pub modulus : [ u8 ; 256usize ] , pub magic : u32 , pub size : u32 , pub _0x208 : u32 , pub flags : u32 , pub title_id_range_min : u64 , pub title_id_range_max : u64 , pub fac_offset : u32 , pub fac_size : u32 , pub sac_offset : u32 , pub sac_size : u32 , pub kac_offset : u32 , pub kac_size : u32 , pub padding : u64 , } # [ test ] fn bindgen_test_layout_npdm_acid_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < npdm_acid_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( npdm_acid_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < npdm_acid_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( npdm_acid_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . signature as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( signature ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . modulus as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( modulus ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . magic as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . size as * const _ as usize } , 516usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . _0x208 as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( _0x208 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . flags as * const _ as usize } , 524usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . title_id_range_min as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( title_id_range_min ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . title_id_range_max as * const _ as usize } , 536usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( title_id_range_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . fac_offset as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( fac_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . fac_size as * const _ as usize } , 548usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( fac_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . sac_offset as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( sac_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . sac_size as * const _ as usize } , 556usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( sac_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . kac_offset as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( kac_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . kac_size as * const _ as usize } , 564usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( kac_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_acid_t > ( ) ) ) . padding as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( npdm_acid_t ) , "::" , stringify ! ( padding ) ) ) ; } impl Default for npdm_acid_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct npdm_t { pub magic : u32 , pub _0x4 : u32 , pub _0x8 : u32 , pub mmu_flags : u8 , pub _0xD : u8 , pub main_thread_prio : u8 , pub default_cpuid : u8 , pub _0x10 : u64 , pub process_category : u32 , pub main_stack_size : u32 , pub title_name : [ :: std :: os :: raw :: c_char ; 80usize ] , pub aci0_offset : u32 , pub aci0_size : u32 , pub acid_offset : u32 , pub acid_size : u32 , } # [ test ] fn bindgen_test_layout_npdm_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < npdm_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( npdm_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < npdm_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( npdm_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . magic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . _0x4 as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( _0x4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . _0x8 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( _0x8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . mmu_flags as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( mmu_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . _0xD as * const _ as usize } , 13usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( _0xD ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . main_thread_prio as * const _ as usize } , 14usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( main_thread_prio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . default_cpuid as * const _ as usize } , 15usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( default_cpuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . _0x10 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( _0x10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . process_category as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( process_category ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . main_stack_size as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( main_stack_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . title_name as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( title_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . aci0_offset as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( aci0_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . aci0_size as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( aci0_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . acid_offset as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( acid_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < npdm_t > ( ) ) ) . acid_size as * const _ as usize } , 124usize , concat ! ( "Offset of field: " , stringify ! ( npdm_t ) , "::" , stringify ! ( acid_size ) ) ) ; } impl Default for npdm_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn npdm_process ( npdm : * mut npdm_t , tool_ctx : * mut hactool_ctx_t ) ; } extern "C" { pub fn npdm_print ( npdm : * mut npdm_t , tool_ctx : * mut hactool_ctx_t ) ; } extern "C" { pub fn npdm_save ( npdm : * mut npdm_t , tool_ctx : * mut hactool_ctx_t ) ; } extern "C" { pub fn npdm_get_proc_category ( process_category : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn kac_print ( descriptors : * const u32 , num_descriptors : u32 ) ; } extern "C" { pub fn npdm_get_json ( npdm : * mut npdm_t ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn cJSON_AddU8ToObject ( obj : * mut cJSON , name : * const :: std :: os :: raw :: c_char , val : u8 ) ; } extern "C" { pub fn cJSON_AddU16ToObject ( obj : * mut cJSON , name : * const :: std :: os :: raw :: c_char , val : u16 ) ; } extern "C" { pub fn cJSON_AddU32ToObject ( obj : * mut cJSON , name : * const :: std :: os :: raw :: c_char , val : u32 ) ; } extern "C" { pub fn cJSON_AddU64ToObject ( obj : * mut cJSON , name : * const :: std :: os :: raw :: c_char , val : u64 ) ; } extern "C" { pub fn kac_get_json ( descriptors : * const u32 , num_descriptors : u32 ) -> * mut cJSON ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct pfs0_header_t { pub magic : u32 , pub num_files : u32 , pub string_table_size : u32 , pub reserved : u32 , } # [ test ] fn bindgen_test_layout_pfs0_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pfs0_header_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( pfs0_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pfs0_header_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pfs0_header_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_header_t > ( ) ) ) . magic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_header_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_header_t > ( ) ) ) . num_files as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_header_t ) , "::" , stringify ! ( num_files ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_header_t > ( ) ) ) . string_table_size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_header_t ) , "::" , stringify ! ( string_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_header_t > ( ) ) ) . reserved as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_header_t ) , "::" , stringify ! ( reserved ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct pfs0_file_entry_t { pub offset : u64 , pub size : u64 , pub string_table_offset : u32 , pub reserved : u32 , } # [ test ] fn bindgen_test_layout_pfs0_file_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pfs0_file_entry_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( pfs0_file_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pfs0_file_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pfs0_file_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_file_entry_t > ( ) ) ) . offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_file_entry_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_file_entry_t > ( ) ) ) . size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_file_entry_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_file_entry_t > ( ) ) ) . string_table_offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_file_entry_t ) , "::" , stringify ! ( string_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_file_entry_t > ( ) ) ) . reserved as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_file_entry_t ) , "::" , stringify ! ( reserved ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct pfs0_superblock_t { pub master_hash : [ u8 ; 32usize ] , pub block_size : u32 , pub always_2 : u32 , pub hash_table_offset : u64 , pub hash_table_size : u64 , pub pfs0_offset : u64 , pub pfs0_size : u64 , pub _0x48 : [ u8 ; 240usize ] , } # [ test ] fn bindgen_test_layout_pfs0_superblock_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pfs0_superblock_t > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( pfs0_superblock_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pfs0_superblock_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pfs0_superblock_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_superblock_t > ( ) ) ) . master_hash as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_superblock_t ) , "::" , stringify ! ( master_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_superblock_t > ( ) ) ) . block_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_superblock_t ) , "::" , stringify ! ( block_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_superblock_t > ( ) ) ) . always_2 as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_superblock_t ) , "::" , stringify ! ( always_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_superblock_t > ( ) ) ) . hash_table_offset as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_superblock_t ) , "::" , stringify ! ( hash_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_superblock_t > ( ) ) ) . hash_table_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_superblock_t ) , "::" , stringify ! ( hash_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_superblock_t > ( ) ) ) . pfs0_offset as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_superblock_t ) , "::" , stringify ! ( pfs0_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_superblock_t > ( ) ) ) . pfs0_size as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_superblock_t ) , "::" , stringify ! ( pfs0_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_superblock_t > ( ) ) ) . _0x48 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_superblock_t ) , "::" , stringify ! ( _0x48 ) ) ) ; } impl Default for pfs0_superblock_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pfs0_ctx_t { pub superblock : * mut pfs0_superblock_t , pub file : * mut FILE , pub tool_ctx : * mut hactool_ctx_t , pub superblock_hash_validity : validity_t , pub hash_table_validity : validity_t , pub is_exefs : :: std :: os :: raw :: c_int , pub npdm : * mut npdm_t , pub header : * mut pfs0_header_t , } # [ test ] fn bindgen_test_layout_pfs0_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pfs0_ctx_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( pfs0_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pfs0_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pfs0_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_ctx_t > ( ) ) ) . superblock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_ctx_t ) , "::" , stringify ! ( superblock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_ctx_t > ( ) ) ) . file as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_ctx_t > ( ) ) ) . superblock_hash_validity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_ctx_t ) , "::" , stringify ! ( superblock_hash_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_ctx_t > ( ) ) ) . hash_table_validity as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_ctx_t ) , "::" , stringify ! ( hash_table_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_ctx_t > ( ) ) ) . is_exefs as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_ctx_t ) , "::" , stringify ! ( is_exefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_ctx_t > ( ) ) ) . npdm as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_ctx_t ) , "::" , stringify ! ( npdm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pfs0_ctx_t > ( ) ) ) . header as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( pfs0_ctx_t ) , "::" , stringify ! ( header ) ) ) ; } impl Default for pfs0_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn pfs0_process ( ctx : * mut pfs0_ctx_t ) ; } extern "C" { pub fn pfs0_save ( ctx : * mut pfs0_ctx_t ) ; } extern "C" { pub fn pfs0_print ( ctx : * mut pfs0_ctx_t ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ivfc_level_hdr_t { pub logical_offset : u64 , pub hash_data_size : u64 , pub block_size : u32 , pub reserved : u32 , } # [ test ] fn bindgen_test_layout_ivfc_level_hdr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ivfc_level_hdr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ivfc_level_hdr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ivfc_level_hdr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ivfc_level_hdr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_level_hdr_t > ( ) ) ) . logical_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_level_hdr_t ) , "::" , stringify ! ( logical_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_level_hdr_t > ( ) ) ) . hash_data_size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_level_hdr_t ) , "::" , stringify ! ( hash_data_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_level_hdr_t > ( ) ) ) . block_size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_level_hdr_t ) , "::" , stringify ! ( block_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_level_hdr_t > ( ) ) ) . reserved as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_level_hdr_t ) , "::" , stringify ! ( reserved ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ivfc_level_ctx_t { pub data_offset : u64 , pub data_size : u64 , pub hash_offset : u64 , pub hash_block_size : u32 , pub hash_validity : validity_t , } # [ test ] fn bindgen_test_layout_ivfc_level_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ivfc_level_ctx_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ivfc_level_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ivfc_level_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ivfc_level_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_level_ctx_t > ( ) ) ) . data_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_level_ctx_t ) , "::" , stringify ! ( data_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_level_ctx_t > ( ) ) ) . data_size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_level_ctx_t ) , "::" , stringify ! ( data_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_level_ctx_t > ( ) ) ) . hash_offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_level_ctx_t ) , "::" , stringify ! ( hash_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_level_ctx_t > ( ) ) ) . hash_block_size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_level_ctx_t ) , "::" , stringify ! ( hash_block_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_level_ctx_t > ( ) ) ) . hash_validity as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_level_ctx_t ) , "::" , stringify ! ( hash_validity ) ) ) ; } impl Default for ivfc_level_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ivfc_hdr_t { pub magic : u32 , pub id : u32 , pub master_hash_size : u32 , pub num_levels : u32 , pub level_headers : [ ivfc_level_hdr_t ; 6usize ] , pub _0xA0 : [ u8 ; 32usize ] , pub master_hash : [ u8 ; 32usize ] , } # [ test ] fn bindgen_test_layout_ivfc_hdr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ivfc_hdr_t > ( ) , 224usize , concat ! ( "Size of: " , stringify ! ( ivfc_hdr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ivfc_hdr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ivfc_hdr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_hdr_t > ( ) ) ) . magic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_hdr_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_hdr_t > ( ) ) ) . id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_hdr_t ) , "::" , stringify ! ( id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_hdr_t > ( ) ) ) . master_hash_size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_hdr_t ) , "::" , stringify ! ( master_hash_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_hdr_t > ( ) ) ) . num_levels as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_hdr_t ) , "::" , stringify ! ( num_levels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_hdr_t > ( ) ) ) . level_headers as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_hdr_t ) , "::" , stringify ! ( level_headers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_hdr_t > ( ) ) ) . _0xA0 as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_hdr_t ) , "::" , stringify ! ( _0xA0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ivfc_hdr_t > ( ) ) ) . master_hash as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( ivfc_hdr_t ) , "::" , stringify ! ( master_hash ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct romfs_hdr_t { pub header_size : u64 , pub dir_hash_table_offset : u64 , pub dir_hash_table_size : u64 , pub dir_meta_table_offset : u64 , pub dir_meta_table_size : u64 , pub file_hash_table_offset : u64 , pub file_hash_table_size : u64 , pub file_meta_table_offset : u64 , pub file_meta_table_size : u64 , pub data_offset : u64 , } # [ test ] fn bindgen_test_layout_romfs_hdr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < romfs_hdr_t > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( romfs_hdr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < romfs_hdr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( romfs_hdr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . header_size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( header_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . dir_hash_table_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( dir_hash_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . dir_hash_table_size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( dir_hash_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . dir_meta_table_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( dir_meta_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . dir_meta_table_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( dir_meta_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . file_hash_table_offset as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( file_hash_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . file_hash_table_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( file_hash_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . file_meta_table_offset as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( file_meta_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . file_meta_table_size as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( file_meta_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_hdr_t > ( ) ) ) . data_offset as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( romfs_hdr_t ) , "::" , stringify ! ( data_offset ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default ) ] pub struct romfs_direntry_t { pub parent : u32 , pub sibling : u32 , pub child : u32 , pub file : u32 , pub hash : u32 , pub name_size : u32 , pub name : __IncompleteArrayField < :: std :: os :: raw :: c_char > , } # [ test ] fn bindgen_test_layout_romfs_direntry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < romfs_direntry_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( romfs_direntry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < romfs_direntry_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( romfs_direntry_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default ) ] pub struct romfs_fentry_t { pub parent : u32 , pub sibling : u32 , pub offset : u64 , pub size : u64 , pub hash : u32 , pub name_size : u32 , pub name : __IncompleteArrayField < :: std :: os :: raw :: c_char > , } # [ test ] fn bindgen_test_layout_romfs_fentry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < romfs_fentry_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( romfs_fentry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < romfs_fentry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( romfs_fentry_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct romfs_superblock_t { pub ivfc_header : ivfc_hdr_t , pub _0xE0 : [ u8 ; 88usize ] , } # [ test ] fn bindgen_test_layout_romfs_superblock_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < romfs_superblock_t > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( romfs_superblock_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < romfs_superblock_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( romfs_superblock_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_superblock_t > ( ) ) ) . ivfc_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( romfs_superblock_t ) , "::" , stringify ! ( ivfc_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_superblock_t > ( ) ) ) . _0xE0 as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( romfs_superblock_t ) , "::" , stringify ! ( _0xE0 ) ) ) ; } impl Default for romfs_superblock_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct romfs_ctx_t { pub superblock : * mut romfs_superblock_t , pub file : * mut FILE , pub tool_ctx : * mut hactool_ctx_t , pub superblock_hash_validity : validity_t , pub ivfc_levels : [ ivfc_level_ctx_t ; 6usize ] , pub romfs_offset : u64 , pub header : romfs_hdr_t , pub directories : * mut romfs_direntry_t , pub files : * mut romfs_fentry_t , } # [ test ] fn bindgen_test_layout_romfs_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < romfs_ctx_t > ( ) , 328usize , concat ! ( "Size of: " , stringify ! ( romfs_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < romfs_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( romfs_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_ctx_t > ( ) ) ) . superblock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( romfs_ctx_t ) , "::" , stringify ! ( superblock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_ctx_t > ( ) ) ) . file as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( romfs_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( romfs_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_ctx_t > ( ) ) ) . superblock_hash_validity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( romfs_ctx_t ) , "::" , stringify ! ( superblock_hash_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_ctx_t > ( ) ) ) . ivfc_levels as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( romfs_ctx_t ) , "::" , stringify ! ( ivfc_levels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_ctx_t > ( ) ) ) . romfs_offset as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( romfs_ctx_t ) , "::" , stringify ! ( romfs_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_ctx_t > ( ) ) ) . header as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( romfs_ctx_t ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_ctx_t > ( ) ) ) . directories as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( romfs_ctx_t ) , "::" , stringify ! ( directories ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < romfs_ctx_t > ( ) ) ) . files as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( romfs_ctx_t ) , "::" , stringify ! ( files ) ) ) ; } impl Default for romfs_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn romfs_process ( ctx : * mut romfs_ctx_t ) ; } extern "C" { pub fn romfs_save ( ctx : * mut romfs_ctx_t ) ; } extern "C" { pub fn romfs_print ( ctx : * mut romfs_ctx_t ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct nca0_romfs_hdr_t { pub header_size : u32 , pub dir_hash_table_offset : u32 , pub dir_hash_table_size : u32 , pub dir_meta_table_offset : u32 , pub dir_meta_table_size : u32 , pub file_hash_table_offset : u32 , pub file_hash_table_size : u32 , pub file_meta_table_offset : u32 , pub file_meta_table_size : u32 , pub data_offset : u32 , } # [ test ] fn bindgen_test_layout_nca0_romfs_hdr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca0_romfs_hdr_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nca0_romfs_hdr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca0_romfs_hdr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nca0_romfs_hdr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . header_size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( header_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . dir_hash_table_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( dir_hash_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . dir_hash_table_size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( dir_hash_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . dir_meta_table_offset as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( dir_meta_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . dir_meta_table_size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( dir_meta_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . file_hash_table_offset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( file_hash_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . file_hash_table_size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( file_hash_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . file_meta_table_offset as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( file_meta_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . file_meta_table_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( file_meta_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_hdr_t > ( ) ) ) . data_offset as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_hdr_t ) , "::" , stringify ! ( data_offset ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct nca0_romfs_superblock_t { pub master_hash : [ u8 ; 32usize ] , pub block_size : u32 , pub always_2 : u32 , pub hash_table_offset : u64 , pub hash_table_size : u64 , pub romfs_offset : u64 , pub romfs_size : u64 , pub _0x48 : [ u8 ; 240usize ] , } # [ test ] fn bindgen_test_layout_nca0_romfs_superblock_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca0_romfs_superblock_t > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( nca0_romfs_superblock_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca0_romfs_superblock_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nca0_romfs_superblock_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_superblock_t > ( ) ) ) . master_hash as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_superblock_t ) , "::" , stringify ! ( master_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_superblock_t > ( ) ) ) . block_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_superblock_t ) , "::" , stringify ! ( block_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_superblock_t > ( ) ) ) . always_2 as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_superblock_t ) , "::" , stringify ! ( always_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_superblock_t > ( ) ) ) . hash_table_offset as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_superblock_t ) , "::" , stringify ! ( hash_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_superblock_t > ( ) ) ) . hash_table_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_superblock_t ) , "::" , stringify ! ( hash_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_superblock_t > ( ) ) ) . romfs_offset as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_superblock_t ) , "::" , stringify ! ( romfs_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_superblock_t > ( ) ) ) . romfs_size as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_superblock_t ) , "::" , stringify ! ( romfs_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_superblock_t > ( ) ) ) . _0x48 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_superblock_t ) , "::" , stringify ! ( _0x48 ) ) ) ; } impl Default for nca0_romfs_superblock_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nca0_romfs_ctx_t { pub superblock : * mut nca0_romfs_superblock_t , pub file : * mut FILE , pub tool_ctx : * mut hactool_ctx_t , pub superblock_hash_validity : validity_t , pub hash_table_validity : validity_t , pub romfs_offset : u64 , pub header : nca0_romfs_hdr_t , pub directories : * mut romfs_direntry_t , pub files : * mut romfs_fentry_t , } # [ test ] fn bindgen_test_layout_nca0_romfs_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca0_romfs_ctx_t > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( nca0_romfs_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca0_romfs_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nca0_romfs_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_ctx_t > ( ) ) ) . superblock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_ctx_t ) , "::" , stringify ! ( superblock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_ctx_t > ( ) ) ) . file as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_ctx_t > ( ) ) ) . superblock_hash_validity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_ctx_t ) , "::" , stringify ! ( superblock_hash_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_ctx_t > ( ) ) ) . hash_table_validity as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_ctx_t ) , "::" , stringify ! ( hash_table_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_ctx_t > ( ) ) ) . romfs_offset as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_ctx_t ) , "::" , stringify ! ( romfs_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_ctx_t > ( ) ) ) . header as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_ctx_t ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_ctx_t > ( ) ) ) . directories as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_ctx_t ) , "::" , stringify ! ( directories ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca0_romfs_ctx_t > ( ) ) ) . files as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( nca0_romfs_ctx_t ) , "::" , stringify ! ( files ) ) ) ; } impl Default for nca0_romfs_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn nca0_romfs_process ( ctx : * mut nca0_romfs_ctx_t ) ; } extern "C" { pub fn nca0_romfs_save ( ctx : * mut nca0_romfs_ctx_t ) ; } extern "C" { pub fn nca0_romfs_print ( ctx : * mut nca0_romfs_ctx_t ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct bktr_header_t { pub offset : u64 , pub size : u64 , pub magic : u32 , pub _0x14 : u32 , pub num_entries : u32 , pub _0x1C : u32 , } # [ test ] fn bindgen_test_layout_bktr_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bktr_header_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( bktr_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bktr_header_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( bktr_header_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_header_t > ( ) ) ) . offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bktr_header_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_header_t > ( ) ) ) . size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bktr_header_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_header_t > ( ) ) ) . magic as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( bktr_header_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_header_t > ( ) ) ) . _0x14 as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( bktr_header_t ) , "::" , stringify ! ( _0x14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_header_t > ( ) ) ) . num_entries as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( bktr_header_t ) , "::" , stringify ! ( num_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_header_t > ( ) ) ) . _0x1C as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( bktr_header_t ) , "::" , stringify ! ( _0x1C ) ) ) ; } # [ repr ( C , packed ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct bktr_relocation_entry_t { pub virt_offset : u64 , pub phys_offset : u64 , pub is_patch : u32 , } # [ test ] fn bindgen_test_layout_bktr_relocation_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bktr_relocation_entry_t > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( bktr_relocation_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bktr_relocation_entry_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( bktr_relocation_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_relocation_entry_t > ( ) ) ) . virt_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bktr_relocation_entry_t ) , "::" , stringify ! ( virt_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_relocation_entry_t > ( ) ) ) . phys_offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bktr_relocation_entry_t ) , "::" , stringify ! ( phys_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_relocation_entry_t > ( ) ) ) . is_patch as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( bktr_relocation_entry_t ) , "::" , stringify ! ( is_patch ) ) ) ; } # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct bktr_relocation_bucket_t { pub _0x0 : u32 , pub num_entries : u32 , pub virtual_offset_end : u64 , pub entries : [ bktr_relocation_entry_t ; 818usize ] , pub padding : [ u8 ; 8usize ] , } # [ test ] fn bindgen_test_layout_bktr_relocation_bucket_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bktr_relocation_bucket_t > ( ) , 16384usize , concat ! ( "Size of: " , stringify ! ( bktr_relocation_bucket_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bktr_relocation_bucket_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( bktr_relocation_bucket_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_relocation_bucket_t > ( ) ) ) . _0x0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bktr_relocation_bucket_t ) , "::" , stringify ! ( _0x0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_relocation_bucket_t > ( ) ) ) . num_entries as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( bktr_relocation_bucket_t ) , "::" , stringify ! ( num_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_relocation_bucket_t > ( ) ) ) . virtual_offset_end as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bktr_relocation_bucket_t ) , "::" , stringify ! ( virtual_offset_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_relocation_bucket_t > ( ) ) ) . entries as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( bktr_relocation_bucket_t ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_relocation_bucket_t > ( ) ) ) . padding as * const _ as usize } , 16376usize , concat ! ( "Offset of field: " , stringify ! ( bktr_relocation_bucket_t ) , "::" , stringify ! ( padding ) ) ) ; } impl Default for bktr_relocation_bucket_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C , packed ) ] pub struct bktr_relocation_block_t { pub _0x0 : u32 , pub num_buckets : u32 , pub total_size : u64 , pub bucket_virtual_offsets : [ u64 ; 2046usize ] , pub buckets : __IncompleteArrayField < bktr_relocation_bucket_t > , } # [ test ] fn bindgen_test_layout_bktr_relocation_block_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bktr_relocation_block_t > ( ) , 16384usize , concat ! ( "Size of: " , stringify ! ( bktr_relocation_block_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bktr_relocation_block_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( bktr_relocation_block_t ) ) ) ; } impl Default for bktr_relocation_block_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C , packed ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct bktr_subsection_entry_t { pub offset : u64 , pub _0x8 : u32 , pub ctr_val : u32 , } # [ test ] fn bindgen_test_layout_bktr_subsection_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bktr_subsection_entry_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( bktr_subsection_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bktr_subsection_entry_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( bktr_subsection_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_subsection_entry_t > ( ) ) ) . offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bktr_subsection_entry_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_subsection_entry_t > ( ) ) ) . _0x8 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bktr_subsection_entry_t ) , "::" , stringify ! ( _0x8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_subsection_entry_t > ( ) ) ) . ctr_val as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( bktr_subsection_entry_t ) , "::" , stringify ! ( ctr_val ) ) ) ; } # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct bktr_subsection_bucket_t { pub _0x0 : u32 , pub num_entries : u32 , pub physical_offset_end : u64 , pub entries : [ bktr_subsection_entry_t ; 1023usize ] , } # [ test ] fn bindgen_test_layout_bktr_subsection_bucket_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bktr_subsection_bucket_t > ( ) , 16384usize , concat ! ( "Size of: " , stringify ! ( bktr_subsection_bucket_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bktr_subsection_bucket_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( bktr_subsection_bucket_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_subsection_bucket_t > ( ) ) ) . _0x0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bktr_subsection_bucket_t ) , "::" , stringify ! ( _0x0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_subsection_bucket_t > ( ) ) ) . num_entries as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( bktr_subsection_bucket_t ) , "::" , stringify ! ( num_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_subsection_bucket_t > ( ) ) ) . physical_offset_end as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bktr_subsection_bucket_t ) , "::" , stringify ! ( physical_offset_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_subsection_bucket_t > ( ) ) ) . entries as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( bktr_subsection_bucket_t ) , "::" , stringify ! ( entries ) ) ) ; } impl Default for bktr_subsection_bucket_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C , packed ) ] pub struct bktr_subsection_block_t { pub _0x0 : u32 , pub num_buckets : u32 , pub total_size : u64 , pub bucket_physical_offsets : [ u64 ; 2046usize ] , pub buckets : __IncompleteArrayField < bktr_subsection_bucket_t > , } # [ test ] fn bindgen_test_layout_bktr_subsection_block_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bktr_subsection_block_t > ( ) , 16384usize , concat ! ( "Size of: " , stringify ! ( bktr_subsection_block_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bktr_subsection_block_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( bktr_subsection_block_t ) ) ) ; } impl Default for bktr_subsection_block_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn bktr_get_relocation_bucket ( block : * mut bktr_relocation_block_t , i : u32 ) -> * mut bktr_relocation_bucket_t ; } extern "C" { pub fn bktr_get_relocation ( block : * mut bktr_relocation_block_t , offset : u64 ) -> * mut bktr_relocation_entry_t ; } extern "C" { pub fn bktr_get_subsection_bucket ( block : * mut bktr_subsection_block_t , i : u32 ) -> * mut bktr_subsection_bucket_t ; } extern "C" { pub fn bktr_get_subsection ( block : * mut bktr_subsection_block_t , offset : u64 ) -> * mut bktr_subsection_entry_t ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct nca_section_entry_t { pub media_start_offset : u32 , pub media_end_offset : u32 , pub _0x8 : [ u8 ; 8usize ] , } # [ test ] fn bindgen_test_layout_nca_section_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_section_entry_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nca_section_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_section_entry_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nca_section_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_entry_t > ( ) ) ) . media_start_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_entry_t ) , "::" , stringify ! ( media_start_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_entry_t > ( ) ) ) . media_end_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_entry_t ) , "::" , stringify ! ( media_end_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_entry_t > ( ) ) ) . _0x8 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_entry_t ) , "::" , stringify ! ( _0x8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct bktr_superblock_t { pub ivfc_header : ivfc_hdr_t , pub _0xE0 : [ u8 ; 24usize ] , pub relocation_header : bktr_header_t , pub subsection_header : bktr_header_t , } # [ test ] fn bindgen_test_layout_bktr_superblock_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bktr_superblock_t > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( bktr_superblock_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bktr_superblock_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( bktr_superblock_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_superblock_t > ( ) ) ) . ivfc_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bktr_superblock_t ) , "::" , stringify ! ( ivfc_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_superblock_t > ( ) ) ) . _0xE0 as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( bktr_superblock_t ) , "::" , stringify ! ( _0xE0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_superblock_t > ( ) ) ) . relocation_header as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( bktr_superblock_t ) , "::" , stringify ! ( relocation_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_superblock_t > ( ) ) ) . subsection_header as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( bktr_superblock_t ) , "::" , stringify ! ( subsection_header ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct bktr_section_ctx_t { pub superblock : * mut bktr_superblock_t , pub file : * mut FILE , pub superblock_hash_validity : validity_t , pub relocation_block : * mut bktr_relocation_block_t , pub subsection_block : * mut bktr_subsection_block_t , pub ivfc_levels : [ ivfc_level_ctx_t ; 6usize ] , pub romfs_offset : u64 , pub header : romfs_hdr_t , pub directories : * mut romfs_direntry_t , pub files : * mut romfs_fentry_t , pub virtual_seek : u64 , pub bktr_seek : u64 , pub base_seek : u64 , } # [ test ] fn bindgen_test_layout_bktr_section_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bktr_section_ctx_t > ( ) , 360usize , concat ! ( "Size of: " , stringify ! ( bktr_section_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bktr_section_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( bktr_section_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . superblock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( superblock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . file as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . superblock_hash_validity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( superblock_hash_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . relocation_block as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( relocation_block ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . subsection_block as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( subsection_block ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . ivfc_levels as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( ivfc_levels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . romfs_offset as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( romfs_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . header as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . directories as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( directories ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . files as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( files ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . virtual_seek as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( virtual_seek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . bktr_seek as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( bktr_seek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bktr_section_ctx_t > ( ) ) ) . base_seek as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( bktr_section_ctx_t ) , "::" , stringify ! ( base_seek ) ) ) ; } impl Default for bktr_section_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum section_partition_type_t { PARTITION_ROMFS = 0 , PARTITION_PFS0 = 1 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum section_fs_type_t { FS_TYPE_PFS0 = 2 , FS_TYPE_ROMFS = 3 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum section_crypt_type_t { CRYPT_NONE = 1 , CRYPT_XTS = 2 , CRYPT_CTR = 3 , CRYPT_BKTR = 4 , CRYPT_NCA0 = 809583438 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct nca_fs_header_t { pub _0x0 : u8 , pub _0x1 : u8 , pub partition_type : u8 , pub fs_type : u8 , pub crypt_type : u8 , pub _0x5 : [ u8 ; 3usize ] , pub __bindgen_anon_1 : nca_fs_header_t__bindgen_ty_1 , pub __bindgen_anon_2 : nca_fs_header_t__bindgen_ty_2 , pub _0x148 : [ u8 ; 184usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union nca_fs_header_t__bindgen_ty_1 { pub pfs0_superblock : pfs0_superblock_t , pub romfs_superblock : romfs_superblock_t , pub nca0_romfs_superblock : nca0_romfs_superblock_t , pub bktr_superblock : bktr_superblock_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_nca_fs_header_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_fs_header_t__bindgen_ty_1 > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( nca_fs_header_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_fs_header_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nca_fs_header_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t__bindgen_ty_1 > ( ) ) ) . pfs0_superblock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t__bindgen_ty_1 ) , "::" , stringify ! ( pfs0_superblock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t__bindgen_ty_1 > ( ) ) ) . romfs_superblock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t__bindgen_ty_1 ) , "::" , stringify ! ( romfs_superblock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t__bindgen_ty_1 > ( ) ) ) . nca0_romfs_superblock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t__bindgen_ty_1 ) , "::" , stringify ! ( nca0_romfs_superblock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t__bindgen_ty_1 > ( ) ) ) . bktr_superblock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t__bindgen_ty_1 ) , "::" , stringify ! ( bktr_superblock ) ) ) ; } impl Default for nca_fs_header_t__bindgen_ty_1 { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union nca_fs_header_t__bindgen_ty_2 { pub section_ctr : [ u8 ; 8usize ] , pub __bindgen_anon_1 : nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 , _bindgen_union_align : [ u32 ; 2usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 { pub section_ctr_low : u32 , pub section_ctr_high : u32 , } # [ test ] fn bindgen_test_layout_nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . section_ctr_low as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( section_ctr_low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . section_ctr_high as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( section_ctr_high ) ) ) ; } # [ test ] fn bindgen_test_layout_nca_fs_header_t__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_fs_header_t__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nca_fs_header_t__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_fs_header_t__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nca_fs_header_t__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t__bindgen_ty_2 > ( ) ) ) . section_ctr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t__bindgen_ty_2 ) , "::" , stringify ! ( section_ctr ) ) ) ; } impl Default for nca_fs_header_t__bindgen_ty_2 { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ test ] fn bindgen_test_layout_nca_fs_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_fs_header_t > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( nca_fs_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_fs_header_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nca_fs_header_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t > ( ) ) ) . _0x0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t ) , "::" , stringify ! ( _0x0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t > ( ) ) ) . _0x1 as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t ) , "::" , stringify ! ( _0x1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t > ( ) ) ) . partition_type as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t ) , "::" , stringify ! ( partition_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t > ( ) ) ) . fs_type as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t ) , "::" , stringify ! ( fs_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t > ( ) ) ) . crypt_type as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t ) , "::" , stringify ! ( crypt_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t > ( ) ) ) . _0x5 as * const _ as usize } , 5usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t ) , "::" , stringify ! ( _0x5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_fs_header_t > ( ) ) ) . _0x148 as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( nca_fs_header_t ) , "::" , stringify ! ( _0x148 ) ) ) ; } impl Default for nca_fs_header_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct nca_header_t { pub fixed_key_sig : [ u8 ; 256usize ] , pub npdm_key_sig : [ u8 ; 256usize ] , pub magic : u32 , pub distribution : u8 , pub content_type : u8 , pub crypto_type : u8 , pub kaek_ind : u8 , pub nca_size : u64 , pub title_id : u64 , pub _0x218 : [ u8 ; 4usize ] , pub __bindgen_anon_1 : nca_header_t__bindgen_ty_1 , pub crypto_type2 : u8 , pub _0x221 : [ u8 ; 15usize ] , pub rights_id : [ u8 ; 16usize ] , pub section_entries : [ nca_section_entry_t ; 4usize ] , pub section_hashes : [ [ u8 ; 32usize ] ; 4usize ] , pub encrypted_keys : [ [ u8 ; 16usize ] ; 4usize ] , pub _0x340 : [ u8 ; 192usize ] , pub fs_headers : [ nca_fs_header_t ; 4usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union nca_header_t__bindgen_ty_1 { pub sdk_version : u32 , pub __bindgen_anon_1 : nca_header_t__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : u32 , } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct nca_header_t__bindgen_ty_1__bindgen_ty_1 { pub sdk_revision : u8 , pub sdk_micro : u8 , pub sdk_minor : u8 , pub sdk_major : u8 , } # [ test ] fn bindgen_test_layout_nca_header_t__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_header_t__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nca_header_t__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_header_t__bindgen_ty_1__bindgen_ty_1 > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nca_header_t__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . sdk_revision as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( sdk_revision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . sdk_micro as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( sdk_micro ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . sdk_minor as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( sdk_minor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . sdk_major as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( sdk_major ) ) ) ; } # [ test ] fn bindgen_test_layout_nca_header_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_header_t__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nca_header_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_header_t__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nca_header_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t__bindgen_ty_1 > ( ) ) ) . sdk_version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t__bindgen_ty_1 ) , "::" , stringify ! ( sdk_version ) ) ) ; } impl Default for nca_header_t__bindgen_ty_1 { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ test ] fn bindgen_test_layout_nca_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_header_t > ( ) , 3072usize , concat ! ( "Size of: " , stringify ! ( nca_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_header_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nca_header_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . fixed_key_sig as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( fixed_key_sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . npdm_key_sig as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( npdm_key_sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . magic as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . distribution as * const _ as usize } , 516usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( distribution ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . content_type as * const _ as usize } , 517usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( content_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . crypto_type as * const _ as usize } , 518usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( crypto_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . kaek_ind as * const _ as usize } , 519usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( kaek_ind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . nca_size as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( nca_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . title_id as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( title_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . _0x218 as * const _ as usize } , 536usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( _0x218 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . crypto_type2 as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( crypto_type2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . _0x221 as * const _ as usize } , 545usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( _0x221 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . rights_id as * const _ as usize } , 560usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( rights_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . section_entries as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( section_entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . section_hashes as * const _ as usize } , 640usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( section_hashes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . encrypted_keys as * const _ as usize } , 768usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( encrypted_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . _0x340 as * const _ as usize } , 832usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( _0x340 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_header_t > ( ) ) ) . fs_headers as * const _ as usize } , 1024usize , concat ! ( "Offset of field: " , stringify ! ( nca_header_t ) , "::" , stringify ! ( fs_headers ) ) ) ; } impl Default for nca_header_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nca_section_type { PFS0 = 0 , ROMFS = 1 , BKTR = 2 , NCA0_ROMFS = 3 , INVALID = 4 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nca_version { NCAVERSION_UNKNOWN = 0 , NCAVERSION_NCA0_BETA = 1 , NCAVERSION_NCA0 = 2 , NCAVERSION_NCA2 = 3 , NCAVERSION_NCA3 = 4 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct nca_section_ctx_t { pub is_present : :: std :: os :: raw :: c_int , pub type_ : nca_section_type , pub file : * mut FILE , pub offset : u64 , pub size : u64 , pub section_num : u32 , pub header : * mut nca_fs_header_t , pub is_decrypted : :: std :: os :: raw :: c_int , pub sector_size : u64 , pub sector_mask : u64 , pub aes : * mut aes_ctx_t , pub tool_ctx : * mut hactool_ctx_t , pub __bindgen_anon_1 : nca_section_ctx_t__bindgen_ty_1 , pub superblock_hash_validity : validity_t , pub ctr : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub cur_seek : u64 , pub sector_num : usize , pub sector_ofs : u32 , pub physical_reads : :: std :: os :: raw :: c_int , pub crypt_type : section_crypt_type_t , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union nca_section_ctx_t__bindgen_ty_1 { pub pfs0_ctx : pfs0_ctx_t , pub romfs_ctx : romfs_ctx_t , pub nca0_romfs_ctx : nca0_romfs_ctx_t , pub bktr_ctx : bktr_section_ctx_t , _bindgen_union_align : [ u64 ; 45usize ] , } # [ test ] fn bindgen_test_layout_nca_section_ctx_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_section_ctx_t__bindgen_ty_1 > ( ) , 360usize , concat ! ( "Size of: " , stringify ! ( nca_section_ctx_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_section_ctx_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nca_section_ctx_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t__bindgen_ty_1 > ( ) ) ) . pfs0_ctx as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t__bindgen_ty_1 ) , "::" , stringify ! ( pfs0_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t__bindgen_ty_1 > ( ) ) ) . romfs_ctx as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t__bindgen_ty_1 ) , "::" , stringify ! ( romfs_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t__bindgen_ty_1 > ( ) ) ) . nca0_romfs_ctx as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t__bindgen_ty_1 ) , "::" , stringify ! ( nca0_romfs_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t__bindgen_ty_1 > ( ) ) ) . bktr_ctx as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t__bindgen_ty_1 ) , "::" , stringify ! ( bktr_ctx ) ) ) ; } impl Default for nca_section_ctx_t__bindgen_ty_1 { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ test ] fn bindgen_test_layout_nca_section_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_section_ctx_t > ( ) , 504usize , concat ! ( "Size of: " , stringify ! ( nca_section_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_section_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nca_section_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . is_present as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( is_present ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . type_ as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . file as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . section_num as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( section_num ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . header as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . is_decrypted as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( is_decrypted ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . sector_size as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( sector_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . sector_mask as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( sector_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . aes as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( aes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . superblock_hash_validity as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( superblock_hash_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . ctr as * const _ as usize } , 452usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( ctr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . cur_seek as * const _ as usize } , 472usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( cur_seek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . sector_num as * const _ as usize } , 480usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( sector_num ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . sector_ofs as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( sector_ofs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . physical_reads as * const _ as usize } , 492usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( physical_reads ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_section_ctx_t > ( ) ) ) . crypt_type as * const _ as usize } , 496usize , concat ! ( "Offset of field: " , stringify ! ( nca_section_ctx_t ) , "::" , stringify ! ( crypt_type ) ) ) ; } impl Default for nca_section_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct nca_ctx { pub file : * mut FILE , pub file_size : usize , pub crypto_type : :: std :: os :: raw :: c_uchar , pub has_rights_id : :: std :: os :: raw :: c_int , pub is_decrypted : :: std :: os :: raw :: c_int , pub is_cli_target : :: std :: os :: raw :: c_int , pub format_version : nca_version , pub fixed_sig_validity : validity_t , pub npdm_sig_validity : validity_t , pub tool_ctx : * mut hactool_ctx_t , pub decrypted_keys : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 4usize ] , pub title_key : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub section_contexts : [ nca_section_ctx_t ; 4usize ] , pub npdm : * mut npdm_t , pub header : nca_header_t , } # [ test ] fn bindgen_test_layout_nca_ctx ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nca_ctx > ( ) , 5232usize , concat ! ( "Size of: " , stringify ! ( nca_ctx ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nca_ctx > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nca_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . file as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . file_size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( file_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . crypto_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( crypto_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . has_rights_id as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( has_rights_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . is_decrypted as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( is_decrypted ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . is_cli_target as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( is_cli_target ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . format_version as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( format_version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . fixed_sig_validity as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( fixed_sig_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . npdm_sig_validity as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( npdm_sig_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . tool_ctx as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . decrypted_keys as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( decrypted_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . title_key as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( title_key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . section_contexts as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( section_contexts ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . npdm as * const _ as usize } , 2152usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( npdm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nca_ctx > ( ) ) ) . header as * const _ as usize } , 2160usize , concat ! ( "Offset of field: " , stringify ! ( nca_ctx ) , "::" , stringify ! ( header ) ) ) ; } impl Default for nca_ctx { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type nca_ctx_t = nca_ctx ; extern "C" { pub fn nca_init ( ctx : * mut nca_ctx_t ) ; } extern "C" { pub fn nca_process ( ctx : * mut nca_ctx_t ) ; } extern "C" { pub fn nca_decrypt_header ( ctx : * mut nca_ctx_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nca_decrypt_key_area ( ctx : * mut nca_ctx_t ) ; } extern "C" { pub fn nca_print ( ctx : * mut nca_ctx_t ) ; } extern "C" { pub fn nca_free_section_contexts ( ctx : * mut nca_ctx_t ) ; } extern "C" { pub fn nca_section_fseek ( ctx : * mut nca_section_ctx_t , offset : u64 ) ; } extern "C" { pub fn nca_section_fread ( ctx : * mut nca_section_ctx_t , buffer : * mut :: std :: os :: raw :: c_void , count : usize ) -> usize ; } extern "C" { pub fn nca_save_section_file ( ctx : * mut nca_section_ctx_t , ofs : u64 , total_size : u64 , filepath : * mut filepath_t ) ; } extern "C" { pub fn nca_process_pfs0_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_process_ivfc_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_process_nca0_romfs_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_process_bktr_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_print_pfs0_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_print_ivfc_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_print_nca0_romfs_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_print_bktr_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_save_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_save_pfs0_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_save_ivfc_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_save_nca0_romfs_section ( ctx : * mut nca_section_ctx_t ) ; } extern "C" { pub fn nca_save_bktr_section ( ctx : * mut nca_section_ctx_t ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct hfs0_header_t { pub magic : u32 , pub num_files : u32 , pub string_table_size : u32 , pub reserved : u32 , } # [ test ] fn bindgen_test_layout_hfs0_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < hfs0_header_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( hfs0_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < hfs0_header_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( hfs0_header_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_header_t > ( ) ) ) . magic as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_header_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_header_t > ( ) ) ) . num_files as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_header_t ) , "::" , stringify ! ( num_files ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_header_t > ( ) ) ) . string_table_size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_header_t ) , "::" , stringify ! ( string_table_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_header_t > ( ) ) ) . reserved as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_header_t ) , "::" , stringify ! ( reserved ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct hfs0_file_entry_t { pub offset : u64 , pub size : u64 , pub string_table_offset : u32 , pub hashed_size : u32 , pub reserved : u64 , pub hash : [ :: std :: os :: raw :: c_uchar ; 32usize ] , } # [ test ] fn bindgen_test_layout_hfs0_file_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < hfs0_file_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( hfs0_file_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < hfs0_file_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( hfs0_file_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_file_entry_t > ( ) ) ) . offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_file_entry_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_file_entry_t > ( ) ) ) . size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_file_entry_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_file_entry_t > ( ) ) ) . string_table_offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_file_entry_t ) , "::" , stringify ! ( string_table_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_file_entry_t > ( ) ) ) . hashed_size as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_file_entry_t ) , "::" , stringify ! ( hashed_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_file_entry_t > ( ) ) ) . reserved as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_file_entry_t ) , "::" , stringify ! ( reserved ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_file_entry_t > ( ) ) ) . hash as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_file_entry_t ) , "::" , stringify ! ( hash ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct hfs0_ctx_t { pub file : * mut FILE , pub offset : u64 , pub size : u64 , pub tool_ctx : * mut hactool_ctx_t , pub header : * mut hfs0_header_t , pub name : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_hfs0_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < hfs0_ctx_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( hfs0_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < hfs0_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( hfs0_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_ctx_t > ( ) ) ) . file as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_ctx_t > ( ) ) ) . offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_ctx_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_ctx_t > ( ) ) ) . size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_ctx_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_ctx_t > ( ) ) ) . header as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_ctx_t ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hfs0_ctx_t > ( ) ) ) . name as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( hfs0_ctx_t ) , "::" , stringify ! ( name ) ) ) ; } impl Default for hfs0_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn hfs0_process ( ctx : * mut hfs0_ctx_t ) ; } extern "C" { pub fn hfs0_save ( ctx : * mut hfs0_ctx_t ) ; } extern "C" { pub fn hfs0_print ( ctx : * mut hfs0_ctx_t ) ; } extern "C" { pub fn hfs0_save_file ( ctx : * mut hfs0_ctx_t , i : u32 , dirpath : * mut filepath_t ) ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum cartridge_type_t { CARTSIZE_1GB = 250 , CARTSIZE_2GB = 248 , CARTSIZE_4GB = 240 , CARTSIZE_8GB = 224 , CARTSIZE_16GB = 225 , CARTSIZE_32GB = 226 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct xci_header_t { pub header_sig : [ u8 ; 256usize ] , pub magic : u32 , pub secure_offset : u32 , pub _0x108 : u32 , pub _0x10C : u8 , pub cart_type : u8 , pub _0x10E : u8 , pub _0x10F : u8 , pub _0x110 : u64 , pub cart_size : u64 , pub reversed_iv : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub hfs0_offset : u64 , pub hfs0_header_size : u64 , pub hfs0_header_hash : [ :: std :: os :: raw :: c_uchar ; 32usize ] , pub crypto_header_hash : [ :: std :: os :: raw :: c_uchar ; 32usize ] , pub _0x180 : u32 , pub _0x184 : u32 , pub _0x188 : u32 , pub _0x18C : u32 , pub encrypted_data : [ :: std :: os :: raw :: c_uchar ; 112usize ] , } # [ test ] fn bindgen_test_layout_xci_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < xci_header_t > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( xci_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < xci_header_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( xci_header_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . header_sig as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( header_sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . magic as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . secure_offset as * const _ as usize } , 260usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( secure_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . _0x108 as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( _0x108 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . _0x10C as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( _0x10C ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . cart_type as * const _ as usize } , 269usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( cart_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . _0x10E as * const _ as usize } , 270usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( _0x10E ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . _0x10F as * const _ as usize } , 271usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( _0x10F ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . _0x110 as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( _0x110 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . cart_size as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( cart_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . reversed_iv as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( reversed_iv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . hfs0_offset as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( hfs0_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . hfs0_header_size as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( hfs0_header_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . hfs0_header_hash as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( hfs0_header_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . crypto_header_hash as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( crypto_header_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . _0x180 as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( _0x180 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . _0x184 as * const _ as usize } , 388usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( _0x184 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . _0x188 as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( _0x188 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . _0x18C as * const _ as usize } , 396usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( _0x18C ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_header_t > ( ) ) ) . encrypted_data as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( xci_header_t ) , "::" , stringify ! ( encrypted_data ) ) ) ; } impl Default for xci_header_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct xci_ctx_t { pub file : * mut FILE , pub header_sig_validity : validity_t , pub cert_sig_validity : validity_t , pub hfs0_hash_validity : validity_t , pub partition_ctx : hfs0_ctx_t , pub normal_ctx : hfs0_ctx_t , pub update_ctx : hfs0_ctx_t , pub secure_ctx : hfs0_ctx_t , pub logo_ctx : hfs0_ctx_t , pub tool_ctx : * mut hactool_ctx_t , pub iv : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub header : xci_header_t , } # [ test ] fn bindgen_test_layout_xci_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < xci_ctx_t > ( ) , 800usize , concat ! ( "Size of: " , stringify ! ( xci_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < xci_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( xci_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . file as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . header_sig_validity as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( header_sig_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . cert_sig_validity as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( cert_sig_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . hfs0_hash_validity as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( hfs0_hash_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . partition_ctx as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( partition_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . normal_ctx as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( normal_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . update_ctx as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( update_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . secure_ctx as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( secure_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . logo_ctx as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( logo_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . iv as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( iv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < xci_ctx_t > ( ) ) ) . header as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( xci_ctx_t ) , "::" , stringify ! ( header ) ) ) ; } impl Default for xci_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn xci_process ( ctx : * mut xci_ctx_t ) ; } extern "C" { pub fn xci_save ( ctx : * mut xci_ctx_t ) ; } extern "C" { pub fn xci_print ( ctx : * mut xci_ctx_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct nax0_header_t { pub hmac_header : [ u8 ; 32usize ] , pub magic : u32 , pub _0x24 : u32 , pub keys : [ [ u8 ; 16usize ] ; 2usize ] , pub size : u64 , pub _0x50 : [ u8 ; 48usize ] , } # [ test ] fn bindgen_test_layout_nax0_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nax0_header_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( nax0_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nax0_header_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nax0_header_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_header_t > ( ) ) ) . hmac_header as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nax0_header_t ) , "::" , stringify ! ( hmac_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_header_t > ( ) ) ) . magic as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( nax0_header_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_header_t > ( ) ) ) . _0x24 as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( nax0_header_t ) , "::" , stringify ! ( _0x24 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_header_t > ( ) ) ) . keys as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( nax0_header_t ) , "::" , stringify ! ( keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_header_t > ( ) ) ) . size as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( nax0_header_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_header_t > ( ) ) ) . _0x50 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( nax0_header_t ) , "::" , stringify ! ( _0x50 ) ) ) ; } impl Default for nax0_header_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct nax0_ctx_t { pub base_path : filepath_t , pub tool_ctx : * mut hactool_ctx_t , pub aes_ctx : * mut aes_ctx_t , pub files : * mut * mut FILE , pub num_files : :: std :: os :: raw :: c_uint , pub k : :: std :: os :: raw :: c_uint , pub encrypted_keys : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 2usize ] , pub header : nax0_header_t , } # [ test ] fn bindgen_test_layout_nax0_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nax0_ctx_t > ( ) , 2248usize , concat ! ( "Size of: " , stringify ! ( nax0_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nax0_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nax0_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_ctx_t > ( ) ) ) . base_path as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nax0_ctx_t ) , "::" , stringify ! ( base_path ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 2056usize , concat ! ( "Offset of field: " , stringify ! ( nax0_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_ctx_t > ( ) ) ) . aes_ctx as * const _ as usize } , 2064usize , concat ! ( "Offset of field: " , stringify ! ( nax0_ctx_t ) , "::" , stringify ! ( aes_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_ctx_t > ( ) ) ) . files as * const _ as usize } , 2072usize , concat ! ( "Offset of field: " , stringify ! ( nax0_ctx_t ) , "::" , stringify ! ( files ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_ctx_t > ( ) ) ) . num_files as * const _ as usize } , 2080usize , concat ! ( "Offset of field: " , stringify ! ( nax0_ctx_t ) , "::" , stringify ! ( num_files ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_ctx_t > ( ) ) ) . k as * const _ as usize } , 2084usize , concat ! ( "Offset of field: " , stringify ! ( nax0_ctx_t ) , "::" , stringify ! ( k ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_ctx_t > ( ) ) ) . encrypted_keys as * const _ as usize } , 2088usize , concat ! ( "Offset of field: " , stringify ! ( nax0_ctx_t ) , "::" , stringify ! ( encrypted_keys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nax0_ctx_t > ( ) ) ) . header as * const _ as usize } , 2120usize , concat ! ( "Offset of field: " , stringify ! ( nax0_ctx_t ) , "::" , stringify ! ( header ) ) ) ; } impl Default for nax0_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn nax0_process ( ctx : * mut nax0_ctx_t ) ; } extern "C" { pub fn nax0_save ( ctx : * mut nax0_ctx_t ) ; } extern "C" { pub fn nax0_print ( ctx : * mut nax0_ctx_t ) ; } extern "C" { pub fn parse_hex_key ( key : * mut :: std :: os :: raw :: c_uchar , hex : * const :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_uint ) ; } extern "C" { pub fn extkeys_initialize_settings ( settings : * mut hactool_settings_t , f : * mut FILE ) ; } extern "C" { pub fn extkeys_parse_titlekeys ( settings : * mut hactool_settings_t , f : * mut FILE ) ; } extern "C" { pub fn settings_has_titlekey ( settings : * mut hactool_settings_t , rights_id : * const :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn settings_add_titlekey ( settings : * mut hactool_settings_t , rights_id : * const :: std :: os :: raw :: c_uchar , titlekey : * const :: std :: os :: raw :: c_uchar ) ; } extern "C" { pub fn settings_get_titlekey ( settings : * mut hactool_settings_t , rights_id : * const :: std :: os :: raw :: c_uchar ) -> * mut titlekey_entry_t ; } # [ repr ( C ) ] # [ derive ( Debug , Default ) ] pub struct ini1_header_t { pub magic : u32 , pub size : u32 , pub num_processes : u32 , pub _0xC : u32 , pub kip_data : __IncompleteArrayField < :: std :: os :: raw :: c_char > , } # [ test ] fn bindgen_test_layout_ini1_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ini1_header_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ini1_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ini1_header_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ini1_header_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct kip_section_header_t { pub out_offset : u32 , pub out_size : u32 , pub compressed_size : u32 , pub attribute : u32 , } # [ test ] fn bindgen_test_layout_kip_section_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < kip_section_header_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( kip_section_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < kip_section_header_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( kip_section_header_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kip_section_header_t > ( ) ) ) . out_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( kip_section_header_t ) , "::" , stringify ! ( out_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kip_section_header_t > ( ) ) ) . out_size as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( kip_section_header_t ) , "::" , stringify ! ( out_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kip_section_header_t > ( ) ) ) . compressed_size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( kip_section_header_t ) , "::" , stringify ! ( compressed_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kip_section_header_t > ( ) ) ) . attribute as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( kip_section_header_t ) , "::" , stringify ! ( attribute ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default ) ] pub struct kip1_header_t { pub magic : u32 , pub name : [ :: std :: os :: raw :: c_char ; 12usize ] , pub title_id : u64 , pub process_category : u32 , pub main_thread_priority : u8 , pub default_core : u8 , pub _0x1E : u8 , pub flags : u8 , pub section_headers : [ kip_section_header_t ; 6usize ] , pub capabilities : [ u32 ; 32usize ] , pub data : __IncompleteArrayField < :: std :: os :: raw :: c_uchar > , } # [ test ] fn bindgen_test_layout_kip1_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < kip1_header_t > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( kip1_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < kip1_header_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( kip1_header_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct kip1_ctx_t { pub file : * mut FILE , pub tool_ctx : * mut hactool_ctx_t , pub header : * mut kip1_header_t , } # [ test ] fn bindgen_test_layout_kip1_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < kip1_ctx_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( kip1_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < kip1_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( kip1_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kip1_ctx_t > ( ) ) ) . file as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( kip1_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kip1_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( kip1_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < kip1_ctx_t > ( ) ) ) . header as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( kip1_ctx_t ) , "::" , stringify ! ( header ) ) ) ; } impl Default for kip1_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ini1_ctx_t { pub file : * mut FILE , pub tool_ctx : * mut hactool_ctx_t , pub header : * mut ini1_header_t , pub kips : [ kip1_ctx_t ; 80usize ] , } # [ test ] fn bindgen_test_layout_ini1_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ini1_ctx_t > ( ) , 1944usize , concat ! ( "Size of: " , stringify ! ( ini1_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ini1_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ini1_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ini1_ctx_t > ( ) ) ) . file as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ini1_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ini1_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ini1_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ini1_ctx_t > ( ) ) ) . header as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ini1_ctx_t ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ini1_ctx_t > ( ) ) ) . kips as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ini1_ctx_t ) , "::" , stringify ! ( kips ) ) ) ; } impl Default for ini1_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn ini1_process ( ctx : * mut ini1_ctx_t ) ; } extern "C" { pub fn ini1_print ( ctx : * mut ini1_ctx_t ) ; } extern "C" { pub fn ini1_save ( ctx : * mut ini1_ctx_t ) ; } extern "C" { pub fn kip1_get_json ( ctx : * mut kip1_ctx_t ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn kip1_process ( ctx : * mut kip1_ctx_t ) ; } extern "C" { pub fn kip1_print ( ctx : * mut kip1_ctx_t , suppress : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn kip1_save ( ctx : * mut kip1_ctx_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct pk11_stage1_t { pub build_hash : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub build_date : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub stage1 : [ :: std :: os :: raw :: c_uchar ; 16320usize ] , pub pk11_size : u32 , pub _0x3FE4 : [ :: std :: os :: raw :: c_uchar ; 12usize ] , pub ctr : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_pk11_stage1_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pk11_stage1_t > ( ) , 16384usize , concat ! ( "Size of: " , stringify ! ( pk11_stage1_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pk11_stage1_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pk11_stage1_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_stage1_t > ( ) ) ) . build_hash as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pk11_stage1_t ) , "::" , stringify ! ( build_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_stage1_t > ( ) ) ) . build_date as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( pk11_stage1_t ) , "::" , stringify ! ( build_date ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_stage1_t > ( ) ) ) . stage1 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( pk11_stage1_t ) , "::" , stringify ! ( stage1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_stage1_t > ( ) ) ) . pk11_size as * const _ as usize } , 16352usize , concat ! ( "Offset of field: " , stringify ! ( pk11_stage1_t ) , "::" , stringify ! ( pk11_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_stage1_t > ( ) ) ) . _0x3FE4 as * const _ as usize } , 16356usize , concat ! ( "Offset of field: " , stringify ! ( pk11_stage1_t ) , "::" , stringify ! ( _0x3FE4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_stage1_t > ( ) ) ) . ctr as * const _ as usize } , 16368usize , concat ! ( "Offset of field: " , stringify ! ( pk11_stage1_t ) , "::" , stringify ! ( ctr ) ) ) ; } impl Default for pk11_stage1_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Default ) ] pub struct pk11_t { pub magic : u32 , pub warmboot_size : u32 , pub _0x8 : u32 , pub _0xC : u32 , pub nx_bootloader_size : u32 , pub _0x14 : u32 , pub secmon_size : u32 , pub _0x1C : u32 , pub data : __IncompleteArrayField < :: std :: os :: raw :: c_uchar > , } # [ test ] fn bindgen_test_layout_pk11_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pk11_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( pk11_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pk11_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pk11_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct pk11_ctx_t { pub file : * mut FILE , pub tool_ctx : * mut hactool_ctx_t , pub is_pilot : :: std :: os :: raw :: c_int , pub key_rev : :: std :: os :: raw :: c_uint , pub stage1 : pk11_stage1_t , pub pk11 : * mut pk11_t , } # [ test ] fn bindgen_test_layout_pk11_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pk11_ctx_t > ( ) , 16416usize , concat ! ( "Size of: " , stringify ! ( pk11_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pk11_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pk11_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_ctx_t > ( ) ) ) . file as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pk11_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( pk11_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_ctx_t > ( ) ) ) . is_pilot as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( pk11_ctx_t ) , "::" , stringify ! ( is_pilot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_ctx_t > ( ) ) ) . key_rev as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( pk11_ctx_t ) , "::" , stringify ! ( key_rev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_ctx_t > ( ) ) ) . stage1 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( pk11_ctx_t ) , "::" , stringify ! ( stage1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk11_ctx_t > ( ) ) ) . pk11 as * const _ as usize } , 16408usize , concat ! ( "Offset of field: " , stringify ! ( pk11_ctx_t ) , "::" , stringify ! ( pk11 ) ) ) ; } impl Default for pk11_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn pk11_process ( ctx : * mut pk11_ctx_t ) ; } extern "C" { pub fn pk11_print ( ctx : * mut pk11_ctx_t ) ; } extern "C" { pub fn pk11_save ( ctx : * mut pk11_ctx_t ) ; } # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub struct pk21_header_t { pub signature : [ :: std :: os :: raw :: c_uchar ; 256usize ] , pub __bindgen_anon_1 : pk21_header_t__bindgen_ty_1 , pub section_ctrs : [ [ :: std :: os :: raw :: c_uchar ; 16usize ] ; 4usize ] , pub magic : u32 , pub base_offset : u32 , pub _0x58 : u32 , pub version_max : u8 , pub version_min : u8 , pub _0x5E : u16 , pub section_sizes : [ u32 ; 4usize ] , pub section_offsets : [ u32 ; 4usize ] , pub section_hashes : [ [ :: std :: os :: raw :: c_uchar ; 32usize ] ; 4usize ] , } # [ repr ( C , packed ) ] # [ derive ( Copy , Clone ) ] pub union pk21_header_t__bindgen_ty_1 { pub ctr : [ :: std :: os :: raw :: c_uchar ; 16usize ] , pub ctr_dwords : [ u32 ; 4usize ] , _bindgen_union_align : [ u8 ; 16usize ] , } # [ test ] fn bindgen_test_layout_pk21_header_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pk21_header_t__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( pk21_header_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pk21_header_t__bindgen_ty_1 > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( pk21_header_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t__bindgen_ty_1 > ( ) ) ) . ctr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t__bindgen_ty_1 ) , "::" , stringify ! ( ctr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t__bindgen_ty_1 > ( ) ) ) . ctr_dwords as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t__bindgen_ty_1 ) , "::" , stringify ! ( ctr_dwords ) ) ) ; } impl Default for pk21_header_t__bindgen_ty_1 { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ test ] fn bindgen_test_layout_pk21_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pk21_header_t > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( pk21_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pk21_header_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( pk21_header_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . signature as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( signature ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . section_ctrs as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( section_ctrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . magic as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( magic ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . base_offset as * const _ as usize } , 340usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( base_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . _0x58 as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( _0x58 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . version_max as * const _ as usize } , 348usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( version_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . version_min as * const _ as usize } , 349usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( version_min ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . _0x5E as * const _ as usize } , 350usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( _0x5E ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . section_sizes as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( section_sizes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . section_offsets as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( section_offsets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_header_t > ( ) ) ) . section_hashes as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( pk21_header_t ) , "::" , stringify ! ( section_hashes ) ) ) ; } impl Default for pk21_header_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct pk21_ctx_t { pub file : * mut FILE , pub tool_ctx : * mut hactool_ctx_t , pub key_rev : :: std :: os :: raw :: c_uint , pub package_size : u32 , pub signature_validity : validity_t , pub section_validities : [ validity_t ; 4usize ] , pub sections : * mut :: std :: os :: raw :: c_uchar , pub header : pk21_header_t , pub ini1_ctx : ini1_ctx_t , } # [ test ] fn bindgen_test_layout_pk21_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pk21_ctx_t > ( ) , 2512usize , concat ! ( "Size of: " , stringify ! ( pk21_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pk21_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pk21_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_ctx_t > ( ) ) ) . file as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pk21_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( pk21_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_ctx_t > ( ) ) ) . key_rev as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( pk21_ctx_t ) , "::" , stringify ! ( key_rev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_ctx_t > ( ) ) ) . package_size as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( pk21_ctx_t ) , "::" , stringify ! ( package_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_ctx_t > ( ) ) ) . signature_validity as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( pk21_ctx_t ) , "::" , stringify ! ( signature_validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_ctx_t > ( ) ) ) . section_validities as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( pk21_ctx_t ) , "::" , stringify ! ( section_validities ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_ctx_t > ( ) ) ) . sections as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( pk21_ctx_t ) , "::" , stringify ! ( sections ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_ctx_t > ( ) ) ) . header as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( pk21_ctx_t ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pk21_ctx_t > ( ) ) ) . ini1_ctx as * const _ as usize } , 568usize , concat ! ( "Offset of field: " , stringify ! ( pk21_ctx_t ) , "::" , stringify ! ( ini1_ctx ) ) ) ; } impl Default for pk21_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn pk21_process ( ctx : * mut pk21_ctx_t ) ; } extern "C" { pub fn pk21_print ( ctx : * mut pk21_ctx_t ) ; } extern "C" { pub fn pk21_save ( ctx : * mut pk21_ctx_t ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct nso0_segment_t { pub file_off : u32 , pub dst_off : u32 , pub decomp_size : u32 , pub align_or_total_size : u32 , } # [ test ] fn bindgen_test_layout_nso0_segment_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nso0_segment_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nso0_segment_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nso0_segment_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nso0_segment_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nso0_segment_t > ( ) ) ) . file_off as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nso0_segment_t ) , "::" , stringify ! ( file_off ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nso0_segment_t > ( ) ) ) . dst_off as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( nso0_segment_t ) , "::" , stringify ! ( dst_off ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nso0_segment_t > ( ) ) ) . decomp_size as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( nso0_segment_t ) , "::" , stringify ! ( decomp_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nso0_segment_t > ( ) ) ) . align_or_total_size as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( nso0_segment_t ) , "::" , stringify ! ( align_or_total_size ) ) ) ; } # [ repr ( C ) ] pub struct nso0_header_t { pub magic : u32 , pub _0x4 : u32 , pub _0x8 : u32 , pub flags : u32 , pub segments : [ nso0_segment_t ; 3usize ] , pub build_id : [ u8 ; 32usize ] , pub compressed_sizes : [ u32 ; 3usize ] , pub _0x6C : [ u8 ; 36usize ] , pub dynstr_extents : u64 , pub dynsym_extents : u64 , pub section_hashes : [ [ u8 ; 32usize ] ; 3usize ] , pub data : __IncompleteArrayField < :: std :: os :: raw :: c_uchar > , } # [ test ] fn bindgen_test_layout_nso0_header_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nso0_header_t > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( nso0_header_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nso0_header_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nso0_header_t ) ) ) ; } impl Default for nso0_header_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nso0_ctx_t { pub file : * mut FILE , pub tool_ctx : * mut hactool_ctx_t , pub header : * mut nso0_header_t , pub uncompressed_header : * mut nso0_header_t , pub segment_validities : [ validity_t ; 3usize ] , } # [ test ] fn bindgen_test_layout_nso0_ctx_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nso0_ctx_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nso0_ctx_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nso0_ctx_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nso0_ctx_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nso0_ctx_t > ( ) ) ) . file as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( nso0_ctx_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nso0_ctx_t > ( ) ) ) . tool_ctx as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( nso0_ctx_t ) , "::" , stringify ! ( tool_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nso0_ctx_t > ( ) ) ) . header as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( nso0_ctx_t ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nso0_ctx_t > ( ) ) ) . uncompressed_header as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( nso0_ctx_t ) , "::" , stringify ! ( uncompressed_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < nso0_ctx_t > ( ) ) ) . segment_validities as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( nso0_ctx_t ) , "::" , stringify ! ( segment_validities ) ) ) ; } impl Default for nso0_ctx_t { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } extern "C" { pub fn nso0_process ( ctx : * mut nso0_ctx_t ) ; } extern "C" { pub fn nso0_print ( ctx : * mut nso0_ctx_t ) ; } extern "C" { pub fn nso0_save ( ctx : * mut nso0_ctx_t ) ; } 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __va_list_tag > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __va_list_tag > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . gp_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( gp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . fp_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( fp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . overflow_arg_area as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( overflow_arg_area ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . reg_save_area as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( reg_save_area ) ) ) ; } impl Default for __va_list_tag { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct __locale_data { pub _address : u8 , }