nostrdb-rs

nostrdb in rust!
git clone git://jb55.com/nostrdb-rs
Log | Files | Refs | Submodules | README | LICENSE

bindings.rs (181149B)


      1 /* automatically generated by rust-bindgen 0.69.2 */
      2 
      3 #[repr(C)]
      4 #[derive(Default)]
      5 pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
      6 impl<T> __IncompleteArrayField<T> {
      7     #[inline]
      8     pub const fn new() -> Self {
      9         __IncompleteArrayField(::std::marker::PhantomData, [])
     10     }
     11     #[inline]
     12     pub fn as_ptr(&self) -> *const T {
     13         self as *const _ as *const T
     14     }
     15     #[inline]
     16     pub fn as_mut_ptr(&mut self) -> *mut T {
     17         self as *mut _ as *mut T
     18     }
     19     #[inline]
     20     pub unsafe fn as_slice(&self, len: usize) -> &[T] {
     21         ::std::slice::from_raw_parts(self.as_ptr(), len)
     22     }
     23     #[inline]
     24     pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
     25         ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
     26     }
     27 }
     28 impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
     29     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
     30         fmt.write_str("__IncompleteArrayField")
     31     }
     32 }
     33 pub const __PRI_8_LENGTH_MODIFIER__: &[u8; 3] = b"hh\0";
     34 pub const __PRI_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0";
     35 pub const __SCN_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0";
     36 pub const __PRI_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0";
     37 pub const __SCN_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0";
     38 pub const PRId8: &[u8; 4] = b"hhd\0";
     39 pub const PRIi8: &[u8; 4] = b"hhi\0";
     40 pub const PRIo8: &[u8; 4] = b"hho\0";
     41 pub const PRIu8: &[u8; 4] = b"hhu\0";
     42 pub const PRIx8: &[u8; 4] = b"hhx\0";
     43 pub const PRIX8: &[u8; 4] = b"hhX\0";
     44 pub const PRId16: &[u8; 3] = b"hd\0";
     45 pub const PRIi16: &[u8; 3] = b"hi\0";
     46 pub const PRIo16: &[u8; 3] = b"ho\0";
     47 pub const PRIu16: &[u8; 3] = b"hu\0";
     48 pub const PRIx16: &[u8; 3] = b"hx\0";
     49 pub const PRIX16: &[u8; 3] = b"hX\0";
     50 pub const PRId32: &[u8; 2] = b"d\0";
     51 pub const PRIi32: &[u8; 2] = b"i\0";
     52 pub const PRIo32: &[u8; 2] = b"o\0";
     53 pub const PRIu32: &[u8; 2] = b"u\0";
     54 pub const PRIx32: &[u8; 2] = b"x\0";
     55 pub const PRIX32: &[u8; 2] = b"X\0";
     56 pub const PRId64: &[u8; 4] = b"lld\0";
     57 pub const PRIi64: &[u8; 4] = b"lli\0";
     58 pub const PRIo64: &[u8; 4] = b"llo\0";
     59 pub const PRIu64: &[u8; 4] = b"llu\0";
     60 pub const PRIx64: &[u8; 4] = b"llx\0";
     61 pub const PRIX64: &[u8; 4] = b"llX\0";
     62 pub const PRIdLEAST8: &[u8; 4] = b"hhd\0";
     63 pub const PRIiLEAST8: &[u8; 4] = b"hhi\0";
     64 pub const PRIoLEAST8: &[u8; 4] = b"hho\0";
     65 pub const PRIuLEAST8: &[u8; 4] = b"hhu\0";
     66 pub const PRIxLEAST8: &[u8; 4] = b"hhx\0";
     67 pub const PRIXLEAST8: &[u8; 4] = b"hhX\0";
     68 pub const PRIdLEAST16: &[u8; 3] = b"hd\0";
     69 pub const PRIiLEAST16: &[u8; 3] = b"hi\0";
     70 pub const PRIoLEAST16: &[u8; 3] = b"ho\0";
     71 pub const PRIuLEAST16: &[u8; 3] = b"hu\0";
     72 pub const PRIxLEAST16: &[u8; 3] = b"hx\0";
     73 pub const PRIXLEAST16: &[u8; 3] = b"hX\0";
     74 pub const PRIdLEAST32: &[u8; 2] = b"d\0";
     75 pub const PRIiLEAST32: &[u8; 2] = b"i\0";
     76 pub const PRIoLEAST32: &[u8; 2] = b"o\0";
     77 pub const PRIuLEAST32: &[u8; 2] = b"u\0";
     78 pub const PRIxLEAST32: &[u8; 2] = b"x\0";
     79 pub const PRIXLEAST32: &[u8; 2] = b"X\0";
     80 pub const PRIdLEAST64: &[u8; 4] = b"lld\0";
     81 pub const PRIiLEAST64: &[u8; 4] = b"lli\0";
     82 pub const PRIoLEAST64: &[u8; 4] = b"llo\0";
     83 pub const PRIuLEAST64: &[u8; 4] = b"llu\0";
     84 pub const PRIxLEAST64: &[u8; 4] = b"llx\0";
     85 pub const PRIXLEAST64: &[u8; 4] = b"llX\0";
     86 pub const PRIdFAST8: &[u8; 4] = b"hhd\0";
     87 pub const PRIiFAST8: &[u8; 4] = b"hhi\0";
     88 pub const PRIoFAST8: &[u8; 4] = b"hho\0";
     89 pub const PRIuFAST8: &[u8; 4] = b"hhu\0";
     90 pub const PRIxFAST8: &[u8; 4] = b"hhx\0";
     91 pub const PRIXFAST8: &[u8; 4] = b"hhX\0";
     92 pub const PRIdFAST16: &[u8; 3] = b"hd\0";
     93 pub const PRIiFAST16: &[u8; 3] = b"hi\0";
     94 pub const PRIoFAST16: &[u8; 3] = b"ho\0";
     95 pub const PRIuFAST16: &[u8; 3] = b"hu\0";
     96 pub const PRIxFAST16: &[u8; 3] = b"hx\0";
     97 pub const PRIXFAST16: &[u8; 3] = b"hX\0";
     98 pub const PRIdFAST32: &[u8; 2] = b"d\0";
     99 pub const PRIiFAST32: &[u8; 2] = b"i\0";
    100 pub const PRIoFAST32: &[u8; 2] = b"o\0";
    101 pub const PRIuFAST32: &[u8; 2] = b"u\0";
    102 pub const PRIxFAST32: &[u8; 2] = b"x\0";
    103 pub const PRIXFAST32: &[u8; 2] = b"X\0";
    104 pub const PRIdFAST64: &[u8; 4] = b"lld\0";
    105 pub const PRIiFAST64: &[u8; 4] = b"lli\0";
    106 pub const PRIoFAST64: &[u8; 4] = b"llo\0";
    107 pub const PRIuFAST64: &[u8; 4] = b"llu\0";
    108 pub const PRIxFAST64: &[u8; 4] = b"llx\0";
    109 pub const PRIXFAST64: &[u8; 4] = b"llX\0";
    110 pub const PRIdPTR: &[u8; 3] = b"ld\0";
    111 pub const PRIiPTR: &[u8; 3] = b"li\0";
    112 pub const PRIoPTR: &[u8; 3] = b"lo\0";
    113 pub const PRIuPTR: &[u8; 3] = b"lu\0";
    114 pub const PRIxPTR: &[u8; 3] = b"lx\0";
    115 pub const PRIXPTR: &[u8; 3] = b"lX\0";
    116 pub const PRIdMAX: &[u8; 3] = b"jd\0";
    117 pub const PRIiMAX: &[u8; 3] = b"ji\0";
    118 pub const PRIoMAX: &[u8; 3] = b"jo\0";
    119 pub const PRIuMAX: &[u8; 3] = b"ju\0";
    120 pub const PRIxMAX: &[u8; 3] = b"jx\0";
    121 pub const PRIXMAX: &[u8; 3] = b"jX\0";
    122 pub const SCNd8: &[u8; 4] = b"hhd\0";
    123 pub const SCNi8: &[u8; 4] = b"hhi\0";
    124 pub const SCNo8: &[u8; 4] = b"hho\0";
    125 pub const SCNu8: &[u8; 4] = b"hhu\0";
    126 pub const SCNx8: &[u8; 4] = b"hhx\0";
    127 pub const SCNd16: &[u8; 3] = b"hd\0";
    128 pub const SCNi16: &[u8; 3] = b"hi\0";
    129 pub const SCNo16: &[u8; 3] = b"ho\0";
    130 pub const SCNu16: &[u8; 3] = b"hu\0";
    131 pub const SCNx16: &[u8; 3] = b"hx\0";
    132 pub const SCNd32: &[u8; 2] = b"d\0";
    133 pub const SCNi32: &[u8; 2] = b"i\0";
    134 pub const SCNo32: &[u8; 2] = b"o\0";
    135 pub const SCNu32: &[u8; 2] = b"u\0";
    136 pub const SCNx32: &[u8; 2] = b"x\0";
    137 pub const SCNd64: &[u8; 4] = b"lld\0";
    138 pub const SCNi64: &[u8; 4] = b"lli\0";
    139 pub const SCNo64: &[u8; 4] = b"llo\0";
    140 pub const SCNu64: &[u8; 4] = b"llu\0";
    141 pub const SCNx64: &[u8; 4] = b"llx\0";
    142 pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
    143 pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
    144 pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
    145 pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
    146 pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
    147 pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
    148 pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
    149 pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
    150 pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
    151 pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
    152 pub const SCNdLEAST32: &[u8; 2] = b"d\0";
    153 pub const SCNiLEAST32: &[u8; 2] = b"i\0";
    154 pub const SCNoLEAST32: &[u8; 2] = b"o\0";
    155 pub const SCNuLEAST32: &[u8; 2] = b"u\0";
    156 pub const SCNxLEAST32: &[u8; 2] = b"x\0";
    157 pub const SCNdLEAST64: &[u8; 4] = b"lld\0";
    158 pub const SCNiLEAST64: &[u8; 4] = b"lli\0";
    159 pub const SCNoLEAST64: &[u8; 4] = b"llo\0";
    160 pub const SCNuLEAST64: &[u8; 4] = b"llu\0";
    161 pub const SCNxLEAST64: &[u8; 4] = b"llx\0";
    162 pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
    163 pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
    164 pub const SCNoFAST8: &[u8; 4] = b"hho\0";
    165 pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
    166 pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
    167 pub const SCNdFAST16: &[u8; 3] = b"hd\0";
    168 pub const SCNiFAST16: &[u8; 3] = b"hi\0";
    169 pub const SCNoFAST16: &[u8; 3] = b"ho\0";
    170 pub const SCNuFAST16: &[u8; 3] = b"hu\0";
    171 pub const SCNxFAST16: &[u8; 3] = b"hx\0";
    172 pub const SCNdFAST32: &[u8; 2] = b"d\0";
    173 pub const SCNiFAST32: &[u8; 2] = b"i\0";
    174 pub const SCNoFAST32: &[u8; 2] = b"o\0";
    175 pub const SCNuFAST32: &[u8; 2] = b"u\0";
    176 pub const SCNxFAST32: &[u8; 2] = b"x\0";
    177 pub const SCNdFAST64: &[u8; 4] = b"lld\0";
    178 pub const SCNiFAST64: &[u8; 4] = b"lli\0";
    179 pub const SCNoFAST64: &[u8; 4] = b"llo\0";
    180 pub const SCNuFAST64: &[u8; 4] = b"llu\0";
    181 pub const SCNxFAST64: &[u8; 4] = b"llx\0";
    182 pub const SCNdPTR: &[u8; 3] = b"ld\0";
    183 pub const SCNiPTR: &[u8; 3] = b"li\0";
    184 pub const SCNoPTR: &[u8; 3] = b"lo\0";
    185 pub const SCNuPTR: &[u8; 3] = b"lu\0";
    186 pub const SCNxPTR: &[u8; 3] = b"lx\0";
    187 pub const SCNdMAX: &[u8; 3] = b"jd\0";
    188 pub const SCNiMAX: &[u8; 3] = b"ji\0";
    189 pub const SCNoMAX: &[u8; 3] = b"jo\0";
    190 pub const SCNuMAX: &[u8; 3] = b"ju\0";
    191 pub const SCNxMAX: &[u8; 3] = b"jx\0";
    192 pub const __has_safe_buffers: u32 = 1;
    193 pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
    194 pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
    195 pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
    196 pub const __DARWIN_UNIX03: u32 = 1;
    197 pub const __DARWIN_64_BIT_INO_T: u32 = 1;
    198 pub const __DARWIN_VERS_1050: u32 = 1;
    199 pub const __DARWIN_NON_CANCELABLE: u32 = 0;
    200 pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
    201 pub const __DARWIN_C_ANSI: u32 = 4096;
    202 pub const __DARWIN_C_FULL: u32 = 900000;
    203 pub const __DARWIN_C_LEVEL: u32 = 900000;
    204 pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
    205 pub const __DARWIN_NO_LONG_LONG: u32 = 0;
    206 pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
    207 pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
    208 pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
    209 pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
    210 pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
    211 pub const __has_ptrcheck: u32 = 0;
    212 pub const __API_TO_BE_DEPRECATED: u32 = 100000;
    213 pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000;
    214 pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000;
    215 pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000;
    216 pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000;
    217 pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000;
    218 pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000;
    219 pub const __API_TO_BE_DEPRECATED_VISIONOS: u32 = 100000;
    220 pub const __MAC_10_0: u32 = 1000;
    221 pub const __MAC_10_1: u32 = 1010;
    222 pub const __MAC_10_2: u32 = 1020;
    223 pub const __MAC_10_3: u32 = 1030;
    224 pub const __MAC_10_4: u32 = 1040;
    225 pub const __MAC_10_5: u32 = 1050;
    226 pub const __MAC_10_6: u32 = 1060;
    227 pub const __MAC_10_7: u32 = 1070;
    228 pub const __MAC_10_8: u32 = 1080;
    229 pub const __MAC_10_9: u32 = 1090;
    230 pub const __MAC_10_10: u32 = 101000;
    231 pub const __MAC_10_10_2: u32 = 101002;
    232 pub const __MAC_10_10_3: u32 = 101003;
    233 pub const __MAC_10_11: u32 = 101100;
    234 pub const __MAC_10_11_2: u32 = 101102;
    235 pub const __MAC_10_11_3: u32 = 101103;
    236 pub const __MAC_10_11_4: u32 = 101104;
    237 pub const __MAC_10_12: u32 = 101200;
    238 pub const __MAC_10_12_1: u32 = 101201;
    239 pub const __MAC_10_12_2: u32 = 101202;
    240 pub const __MAC_10_12_4: u32 = 101204;
    241 pub const __MAC_10_13: u32 = 101300;
    242 pub const __MAC_10_13_1: u32 = 101301;
    243 pub const __MAC_10_13_2: u32 = 101302;
    244 pub const __MAC_10_13_4: u32 = 101304;
    245 pub const __MAC_10_14: u32 = 101400;
    246 pub const __MAC_10_14_1: u32 = 101401;
    247 pub const __MAC_10_14_4: u32 = 101404;
    248 pub const __MAC_10_14_5: u32 = 101405;
    249 pub const __MAC_10_14_6: u32 = 101406;
    250 pub const __MAC_10_15: u32 = 101500;
    251 pub const __MAC_10_15_1: u32 = 101501;
    252 pub const __MAC_10_15_4: u32 = 101504;
    253 pub const __MAC_10_16: u32 = 101600;
    254 pub const __MAC_11_0: u32 = 110000;
    255 pub const __MAC_11_1: u32 = 110100;
    256 pub const __MAC_11_3: u32 = 110300;
    257 pub const __MAC_11_4: u32 = 110400;
    258 pub const __MAC_11_5: u32 = 110500;
    259 pub const __MAC_11_6: u32 = 110600;
    260 pub const __MAC_12_0: u32 = 120000;
    261 pub const __MAC_12_1: u32 = 120100;
    262 pub const __MAC_12_2: u32 = 120200;
    263 pub const __MAC_12_3: u32 = 120300;
    264 pub const __MAC_12_4: u32 = 120400;
    265 pub const __MAC_12_5: u32 = 120500;
    266 pub const __MAC_12_6: u32 = 120600;
    267 pub const __MAC_12_7: u32 = 120700;
    268 pub const __MAC_13_0: u32 = 130000;
    269 pub const __MAC_13_1: u32 = 130100;
    270 pub const __MAC_13_2: u32 = 130200;
    271 pub const __MAC_13_3: u32 = 130300;
    272 pub const __MAC_13_4: u32 = 130400;
    273 pub const __MAC_13_5: u32 = 130500;
    274 pub const __MAC_13_6: u32 = 130600;
    275 pub const __MAC_14_0: u32 = 140000;
    276 pub const __MAC_14_1: u32 = 140100;
    277 pub const __MAC_14_2: u32 = 140200;
    278 pub const __MAC_14_3: u32 = 140300;
    279 pub const __MAC_14_4: u32 = 140400;
    280 pub const __MAC_14_5: u32 = 140500;
    281 pub const __MAC_15_0: u32 = 150000;
    282 pub const __IPHONE_2_0: u32 = 20000;
    283 pub const __IPHONE_2_1: u32 = 20100;
    284 pub const __IPHONE_2_2: u32 = 20200;
    285 pub const __IPHONE_3_0: u32 = 30000;
    286 pub const __IPHONE_3_1: u32 = 30100;
    287 pub const __IPHONE_3_2: u32 = 30200;
    288 pub const __IPHONE_4_0: u32 = 40000;
    289 pub const __IPHONE_4_1: u32 = 40100;
    290 pub const __IPHONE_4_2: u32 = 40200;
    291 pub const __IPHONE_4_3: u32 = 40300;
    292 pub const __IPHONE_5_0: u32 = 50000;
    293 pub const __IPHONE_5_1: u32 = 50100;
    294 pub const __IPHONE_6_0: u32 = 60000;
    295 pub const __IPHONE_6_1: u32 = 60100;
    296 pub const __IPHONE_7_0: u32 = 70000;
    297 pub const __IPHONE_7_1: u32 = 70100;
    298 pub const __IPHONE_8_0: u32 = 80000;
    299 pub const __IPHONE_8_1: u32 = 80100;
    300 pub const __IPHONE_8_2: u32 = 80200;
    301 pub const __IPHONE_8_3: u32 = 80300;
    302 pub const __IPHONE_8_4: u32 = 80400;
    303 pub const __IPHONE_9_0: u32 = 90000;
    304 pub const __IPHONE_9_1: u32 = 90100;
    305 pub const __IPHONE_9_2: u32 = 90200;
    306 pub const __IPHONE_9_3: u32 = 90300;
    307 pub const __IPHONE_10_0: u32 = 100000;
    308 pub const __IPHONE_10_1: u32 = 100100;
    309 pub const __IPHONE_10_2: u32 = 100200;
    310 pub const __IPHONE_10_3: u32 = 100300;
    311 pub const __IPHONE_11_0: u32 = 110000;
    312 pub const __IPHONE_11_1: u32 = 110100;
    313 pub const __IPHONE_11_2: u32 = 110200;
    314 pub const __IPHONE_11_3: u32 = 110300;
    315 pub const __IPHONE_11_4: u32 = 110400;
    316 pub const __IPHONE_12_0: u32 = 120000;
    317 pub const __IPHONE_12_1: u32 = 120100;
    318 pub const __IPHONE_12_2: u32 = 120200;
    319 pub const __IPHONE_12_3: u32 = 120300;
    320 pub const __IPHONE_12_4: u32 = 120400;
    321 pub const __IPHONE_13_0: u32 = 130000;
    322 pub const __IPHONE_13_1: u32 = 130100;
    323 pub const __IPHONE_13_2: u32 = 130200;
    324 pub const __IPHONE_13_3: u32 = 130300;
    325 pub const __IPHONE_13_4: u32 = 130400;
    326 pub const __IPHONE_13_5: u32 = 130500;
    327 pub const __IPHONE_13_6: u32 = 130600;
    328 pub const __IPHONE_13_7: u32 = 130700;
    329 pub const __IPHONE_14_0: u32 = 140000;
    330 pub const __IPHONE_14_1: u32 = 140100;
    331 pub const __IPHONE_14_2: u32 = 140200;
    332 pub const __IPHONE_14_3: u32 = 140300;
    333 pub const __IPHONE_14_5: u32 = 140500;
    334 pub const __IPHONE_14_4: u32 = 140400;
    335 pub const __IPHONE_14_6: u32 = 140600;
    336 pub const __IPHONE_14_7: u32 = 140700;
    337 pub const __IPHONE_14_8: u32 = 140800;
    338 pub const __IPHONE_15_0: u32 = 150000;
    339 pub const __IPHONE_15_1: u32 = 150100;
    340 pub const __IPHONE_15_2: u32 = 150200;
    341 pub const __IPHONE_15_3: u32 = 150300;
    342 pub const __IPHONE_15_4: u32 = 150400;
    343 pub const __IPHONE_15_5: u32 = 150500;
    344 pub const __IPHONE_15_6: u32 = 150600;
    345 pub const __IPHONE_15_7: u32 = 150700;
    346 pub const __IPHONE_15_8: u32 = 150800;
    347 pub const __IPHONE_16_0: u32 = 160000;
    348 pub const __IPHONE_16_1: u32 = 160100;
    349 pub const __IPHONE_16_2: u32 = 160200;
    350 pub const __IPHONE_16_3: u32 = 160300;
    351 pub const __IPHONE_16_4: u32 = 160400;
    352 pub const __IPHONE_16_5: u32 = 160500;
    353 pub const __IPHONE_16_6: u32 = 160600;
    354 pub const __IPHONE_16_7: u32 = 160700;
    355 pub const __IPHONE_17_0: u32 = 170000;
    356 pub const __IPHONE_17_1: u32 = 170100;
    357 pub const __IPHONE_17_2: u32 = 170200;
    358 pub const __IPHONE_17_3: u32 = 170300;
    359 pub const __IPHONE_17_4: u32 = 170400;
    360 pub const __IPHONE_17_5: u32 = 170500;
    361 pub const __IPHONE_18_0: u32 = 180000;
    362 pub const __WATCHOS_1_0: u32 = 10000;
    363 pub const __WATCHOS_2_0: u32 = 20000;
    364 pub const __WATCHOS_2_1: u32 = 20100;
    365 pub const __WATCHOS_2_2: u32 = 20200;
    366 pub const __WATCHOS_3_0: u32 = 30000;
    367 pub const __WATCHOS_3_1: u32 = 30100;
    368 pub const __WATCHOS_3_1_1: u32 = 30101;
    369 pub const __WATCHOS_3_2: u32 = 30200;
    370 pub const __WATCHOS_4_0: u32 = 40000;
    371 pub const __WATCHOS_4_1: u32 = 40100;
    372 pub const __WATCHOS_4_2: u32 = 40200;
    373 pub const __WATCHOS_4_3: u32 = 40300;
    374 pub const __WATCHOS_5_0: u32 = 50000;
    375 pub const __WATCHOS_5_1: u32 = 50100;
    376 pub const __WATCHOS_5_2: u32 = 50200;
    377 pub const __WATCHOS_5_3: u32 = 50300;
    378 pub const __WATCHOS_6_0: u32 = 60000;
    379 pub const __WATCHOS_6_1: u32 = 60100;
    380 pub const __WATCHOS_6_2: u32 = 60200;
    381 pub const __WATCHOS_7_0: u32 = 70000;
    382 pub const __WATCHOS_7_1: u32 = 70100;
    383 pub const __WATCHOS_7_2: u32 = 70200;
    384 pub const __WATCHOS_7_3: u32 = 70300;
    385 pub const __WATCHOS_7_4: u32 = 70400;
    386 pub const __WATCHOS_7_5: u32 = 70500;
    387 pub const __WATCHOS_7_6: u32 = 70600;
    388 pub const __WATCHOS_8_0: u32 = 80000;
    389 pub const __WATCHOS_8_1: u32 = 80100;
    390 pub const __WATCHOS_8_3: u32 = 80300;
    391 pub const __WATCHOS_8_4: u32 = 80400;
    392 pub const __WATCHOS_8_5: u32 = 80500;
    393 pub const __WATCHOS_8_6: u32 = 80600;
    394 pub const __WATCHOS_8_7: u32 = 80700;
    395 pub const __WATCHOS_8_8: u32 = 80800;
    396 pub const __WATCHOS_9_0: u32 = 90000;
    397 pub const __WATCHOS_9_1: u32 = 90100;
    398 pub const __WATCHOS_9_2: u32 = 90200;
    399 pub const __WATCHOS_9_3: u32 = 90300;
    400 pub const __WATCHOS_9_4: u32 = 90400;
    401 pub const __WATCHOS_9_5: u32 = 90500;
    402 pub const __WATCHOS_9_6: u32 = 90600;
    403 pub const __WATCHOS_10_0: u32 = 100000;
    404 pub const __WATCHOS_10_1: u32 = 100100;
    405 pub const __WATCHOS_10_2: u32 = 100200;
    406 pub const __WATCHOS_10_3: u32 = 100300;
    407 pub const __WATCHOS_10_4: u32 = 100400;
    408 pub const __WATCHOS_10_5: u32 = 100500;
    409 pub const __WATCHOS_11_0: u32 = 110000;
    410 pub const __TVOS_9_0: u32 = 90000;
    411 pub const __TVOS_9_1: u32 = 90100;
    412 pub const __TVOS_9_2: u32 = 90200;
    413 pub const __TVOS_10_0: u32 = 100000;
    414 pub const __TVOS_10_0_1: u32 = 100001;
    415 pub const __TVOS_10_1: u32 = 100100;
    416 pub const __TVOS_10_2: u32 = 100200;
    417 pub const __TVOS_11_0: u32 = 110000;
    418 pub const __TVOS_11_1: u32 = 110100;
    419 pub const __TVOS_11_2: u32 = 110200;
    420 pub const __TVOS_11_3: u32 = 110300;
    421 pub const __TVOS_11_4: u32 = 110400;
    422 pub const __TVOS_12_0: u32 = 120000;
    423 pub const __TVOS_12_1: u32 = 120100;
    424 pub const __TVOS_12_2: u32 = 120200;
    425 pub const __TVOS_12_3: u32 = 120300;
    426 pub const __TVOS_12_4: u32 = 120400;
    427 pub const __TVOS_13_0: u32 = 130000;
    428 pub const __TVOS_13_2: u32 = 130200;
    429 pub const __TVOS_13_3: u32 = 130300;
    430 pub const __TVOS_13_4: u32 = 130400;
    431 pub const __TVOS_14_0: u32 = 140000;
    432 pub const __TVOS_14_1: u32 = 140100;
    433 pub const __TVOS_14_2: u32 = 140200;
    434 pub const __TVOS_14_3: u32 = 140300;
    435 pub const __TVOS_14_5: u32 = 140500;
    436 pub const __TVOS_14_6: u32 = 140600;
    437 pub const __TVOS_14_7: u32 = 140700;
    438 pub const __TVOS_15_0: u32 = 150000;
    439 pub const __TVOS_15_1: u32 = 150100;
    440 pub const __TVOS_15_2: u32 = 150200;
    441 pub const __TVOS_15_3: u32 = 150300;
    442 pub const __TVOS_15_4: u32 = 150400;
    443 pub const __TVOS_15_5: u32 = 150500;
    444 pub const __TVOS_15_6: u32 = 150600;
    445 pub const __TVOS_16_0: u32 = 160000;
    446 pub const __TVOS_16_1: u32 = 160100;
    447 pub const __TVOS_16_2: u32 = 160200;
    448 pub const __TVOS_16_3: u32 = 160300;
    449 pub const __TVOS_16_4: u32 = 160400;
    450 pub const __TVOS_16_5: u32 = 160500;
    451 pub const __TVOS_16_6: u32 = 160600;
    452 pub const __TVOS_17_0: u32 = 170000;
    453 pub const __TVOS_17_1: u32 = 170100;
    454 pub const __TVOS_17_2: u32 = 170200;
    455 pub const __TVOS_17_3: u32 = 170300;
    456 pub const __TVOS_17_4: u32 = 170400;
    457 pub const __TVOS_17_5: u32 = 170500;
    458 pub const __TVOS_18_0: u32 = 180000;
    459 pub const __BRIDGEOS_2_0: u32 = 20000;
    460 pub const __BRIDGEOS_3_0: u32 = 30000;
    461 pub const __BRIDGEOS_3_1: u32 = 30100;
    462 pub const __BRIDGEOS_3_4: u32 = 30400;
    463 pub const __BRIDGEOS_4_0: u32 = 40000;
    464 pub const __BRIDGEOS_4_1: u32 = 40100;
    465 pub const __BRIDGEOS_5_0: u32 = 50000;
    466 pub const __BRIDGEOS_5_1: u32 = 50100;
    467 pub const __BRIDGEOS_5_3: u32 = 50300;
    468 pub const __BRIDGEOS_6_0: u32 = 60000;
    469 pub const __BRIDGEOS_6_2: u32 = 60200;
    470 pub const __BRIDGEOS_6_4: u32 = 60400;
    471 pub const __BRIDGEOS_6_5: u32 = 60500;
    472 pub const __BRIDGEOS_6_6: u32 = 60600;
    473 pub const __BRIDGEOS_7_0: u32 = 70000;
    474 pub const __BRIDGEOS_7_1: u32 = 70100;
    475 pub const __BRIDGEOS_7_2: u32 = 70200;
    476 pub const __BRIDGEOS_7_3: u32 = 70300;
    477 pub const __BRIDGEOS_7_4: u32 = 70400;
    478 pub const __BRIDGEOS_7_6: u32 = 70600;
    479 pub const __BRIDGEOS_8_0: u32 = 80000;
    480 pub const __BRIDGEOS_8_1: u32 = 80100;
    481 pub const __BRIDGEOS_8_2: u32 = 80200;
    482 pub const __BRIDGEOS_8_3: u32 = 80300;
    483 pub const __BRIDGEOS_8_4: u32 = 80400;
    484 pub const __BRIDGEOS_8_5: u32 = 80500;
    485 pub const __BRIDGEOS_9_0: u32 = 90000;
    486 pub const __DRIVERKIT_19_0: u32 = 190000;
    487 pub const __DRIVERKIT_20_0: u32 = 200000;
    488 pub const __DRIVERKIT_21_0: u32 = 210000;
    489 pub const __DRIVERKIT_22_0: u32 = 220000;
    490 pub const __DRIVERKIT_22_4: u32 = 220400;
    491 pub const __DRIVERKIT_22_5: u32 = 220500;
    492 pub const __DRIVERKIT_22_6: u32 = 220600;
    493 pub const __DRIVERKIT_23_0: u32 = 230000;
    494 pub const __DRIVERKIT_23_1: u32 = 230100;
    495 pub const __DRIVERKIT_23_2: u32 = 230200;
    496 pub const __DRIVERKIT_23_3: u32 = 230300;
    497 pub const __DRIVERKIT_23_4: u32 = 230400;
    498 pub const __DRIVERKIT_23_5: u32 = 230500;
    499 pub const __DRIVERKIT_24_0: u32 = 240000;
    500 pub const __VISIONOS_1_0: u32 = 10000;
    501 pub const __VISIONOS_1_1: u32 = 10100;
    502 pub const __VISIONOS_1_2: u32 = 10200;
    503 pub const __VISIONOS_2_0: u32 = 20000;
    504 pub const MAC_OS_X_VERSION_10_0: u32 = 1000;
    505 pub const MAC_OS_X_VERSION_10_1: u32 = 1010;
    506 pub const MAC_OS_X_VERSION_10_2: u32 = 1020;
    507 pub const MAC_OS_X_VERSION_10_3: u32 = 1030;
    508 pub const MAC_OS_X_VERSION_10_4: u32 = 1040;
    509 pub const MAC_OS_X_VERSION_10_5: u32 = 1050;
    510 pub const MAC_OS_X_VERSION_10_6: u32 = 1060;
    511 pub const MAC_OS_X_VERSION_10_7: u32 = 1070;
    512 pub const MAC_OS_X_VERSION_10_8: u32 = 1080;
    513 pub const MAC_OS_X_VERSION_10_9: u32 = 1090;
    514 pub const MAC_OS_X_VERSION_10_10: u32 = 101000;
    515 pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002;
    516 pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003;
    517 pub const MAC_OS_X_VERSION_10_11: u32 = 101100;
    518 pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102;
    519 pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103;
    520 pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104;
    521 pub const MAC_OS_X_VERSION_10_12: u32 = 101200;
    522 pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201;
    523 pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202;
    524 pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204;
    525 pub const MAC_OS_X_VERSION_10_13: u32 = 101300;
    526 pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301;
    527 pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302;
    528 pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304;
    529 pub const MAC_OS_X_VERSION_10_14: u32 = 101400;
    530 pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401;
    531 pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404;
    532 pub const MAC_OS_X_VERSION_10_14_5: u32 = 101405;
    533 pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406;
    534 pub const MAC_OS_X_VERSION_10_15: u32 = 101500;
    535 pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501;
    536 pub const MAC_OS_X_VERSION_10_15_4: u32 = 101504;
    537 pub const MAC_OS_X_VERSION_10_16: u32 = 101600;
    538 pub const MAC_OS_VERSION_11_0: u32 = 110000;
    539 pub const MAC_OS_VERSION_11_1: u32 = 110100;
    540 pub const MAC_OS_VERSION_11_3: u32 = 110300;
    541 pub const MAC_OS_VERSION_11_4: u32 = 110400;
    542 pub const MAC_OS_VERSION_11_5: u32 = 110500;
    543 pub const MAC_OS_VERSION_11_6: u32 = 110600;
    544 pub const MAC_OS_VERSION_12_0: u32 = 120000;
    545 pub const MAC_OS_VERSION_12_1: u32 = 120100;
    546 pub const MAC_OS_VERSION_12_2: u32 = 120200;
    547 pub const MAC_OS_VERSION_12_3: u32 = 120300;
    548 pub const MAC_OS_VERSION_12_4: u32 = 120400;
    549 pub const MAC_OS_VERSION_12_5: u32 = 120500;
    550 pub const MAC_OS_VERSION_12_6: u32 = 120600;
    551 pub const MAC_OS_VERSION_12_7: u32 = 120700;
    552 pub const MAC_OS_VERSION_13_0: u32 = 130000;
    553 pub const MAC_OS_VERSION_13_1: u32 = 130100;
    554 pub const MAC_OS_VERSION_13_2: u32 = 130200;
    555 pub const MAC_OS_VERSION_13_3: u32 = 130300;
    556 pub const MAC_OS_VERSION_13_4: u32 = 130400;
    557 pub const MAC_OS_VERSION_13_5: u32 = 130500;
    558 pub const MAC_OS_VERSION_13_6: u32 = 130600;
    559 pub const MAC_OS_VERSION_14_0: u32 = 140000;
    560 pub const MAC_OS_VERSION_14_1: u32 = 140100;
    561 pub const MAC_OS_VERSION_14_2: u32 = 140200;
    562 pub const MAC_OS_VERSION_14_3: u32 = 140300;
    563 pub const MAC_OS_VERSION_14_4: u32 = 140400;
    564 pub const MAC_OS_VERSION_14_5: u32 = 140500;
    565 pub const MAC_OS_VERSION_15_0: u32 = 150000;
    566 pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 150000;
    567 pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1;
    568 pub const __PTHREAD_SIZE__: u32 = 8176;
    569 pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
    570 pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
    571 pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
    572 pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
    573 pub const __PTHREAD_COND_SIZE__: u32 = 40;
    574 pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
    575 pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
    576 pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
    577 pub const __DARWIN_WCHAR_MIN: i32 = -2147483648;
    578 pub const _FORTIFY_SOURCE: u32 = 2;
    579 pub const __WORDSIZE: u32 = 64;
    580 pub const INT8_MAX: u32 = 127;
    581 pub const INT16_MAX: u32 = 32767;
    582 pub const INT32_MAX: u32 = 2147483647;
    583 pub const INT64_MAX: u64 = 9223372036854775807;
    584 pub const INT8_MIN: i32 = -128;
    585 pub const INT16_MIN: i32 = -32768;
    586 pub const INT32_MIN: i32 = -2147483648;
    587 pub const INT64_MIN: i64 = -9223372036854775808;
    588 pub const UINT8_MAX: u32 = 255;
    589 pub const UINT16_MAX: u32 = 65535;
    590 pub const UINT32_MAX: u32 = 4294967295;
    591 pub const UINT64_MAX: i32 = -1;
    592 pub const INT_LEAST8_MIN: i32 = -128;
    593 pub const INT_LEAST16_MIN: i32 = -32768;
    594 pub const INT_LEAST32_MIN: i32 = -2147483648;
    595 pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
    596 pub const INT_LEAST8_MAX: u32 = 127;
    597 pub const INT_LEAST16_MAX: u32 = 32767;
    598 pub const INT_LEAST32_MAX: u32 = 2147483647;
    599 pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
    600 pub const UINT_LEAST8_MAX: u32 = 255;
    601 pub const UINT_LEAST16_MAX: u32 = 65535;
    602 pub const UINT_LEAST32_MAX: u32 = 4294967295;
    603 pub const UINT_LEAST64_MAX: i32 = -1;
    604 pub const INT_FAST8_MIN: i32 = -128;
    605 pub const INT_FAST16_MIN: i32 = -32768;
    606 pub const INT_FAST32_MIN: i32 = -2147483648;
    607 pub const INT_FAST64_MIN: i64 = -9223372036854775808;
    608 pub const INT_FAST8_MAX: u32 = 127;
    609 pub const INT_FAST16_MAX: u32 = 32767;
    610 pub const INT_FAST32_MAX: u32 = 2147483647;
    611 pub const INT_FAST64_MAX: u64 = 9223372036854775807;
    612 pub const UINT_FAST8_MAX: u32 = 255;
    613 pub const UINT_FAST16_MAX: u32 = 65535;
    614 pub const UINT_FAST32_MAX: u32 = 4294967295;
    615 pub const UINT_FAST64_MAX: i32 = -1;
    616 pub const INTPTR_MAX: u64 = 9223372036854775807;
    617 pub const INTPTR_MIN: i64 = -9223372036854775808;
    618 pub const UINTPTR_MAX: i32 = -1;
    619 pub const SIZE_MAX: i32 = -1;
    620 pub const RSIZE_MAX: i32 = -1;
    621 pub const WINT_MIN: i32 = -2147483648;
    622 pub const WINT_MAX: u32 = 2147483647;
    623 pub const SIG_ATOMIC_MIN: i32 = -2147483648;
    624 pub const SIG_ATOMIC_MAX: u32 = 2147483647;
    625 pub const CCAN_COMPILER: &[u8; 3] = b"cc\0";
    626 pub const CCAN_CFLAGS : & [u8 ; 111] = b"-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition\0" ;
    627 pub const CCAN_OUTPUT_EXE_CFLAG: &[u8; 3] = b"-o\0";
    628 pub const HAVE_CCAN: u32 = 1;
    629 pub const HAVE_UNALIGNED_ACCESS: u32 = 1;
    630 pub const HAVE_TYPEOF: u32 = 1;
    631 pub const HAVE_BIG_ENDIAN: u32 = 0;
    632 pub const HAVE_BYTESWAP_H: u32 = 0;
    633 pub const HAVE_BSWAP_64: u32 = 0;
    634 pub const HAVE_LITTLE_ENDIAN: u32 = 1;
    635 pub const __bool_true_false_are_defined: u32 = 1;
    636 pub const true_: u32 = 1;
    637 pub const false_: u32 = 0;
    638 pub const RENAME_SECLUDE: u32 = 1;
    639 pub const RENAME_SWAP: u32 = 2;
    640 pub const RENAME_EXCL: u32 = 4;
    641 pub const RENAME_RESERVED1: u32 = 8;
    642 pub const RENAME_NOFOLLOW_ANY: u32 = 16;
    643 pub const SEEK_SET: u32 = 0;
    644 pub const SEEK_CUR: u32 = 1;
    645 pub const SEEK_END: u32 = 2;
    646 pub const SEEK_HOLE: u32 = 3;
    647 pub const SEEK_DATA: u32 = 4;
    648 pub const __SLBF: u32 = 1;
    649 pub const __SNBF: u32 = 2;
    650 pub const __SRD: u32 = 4;
    651 pub const __SWR: u32 = 8;
    652 pub const __SRW: u32 = 16;
    653 pub const __SEOF: u32 = 32;
    654 pub const __SERR: u32 = 64;
    655 pub const __SMBF: u32 = 128;
    656 pub const __SAPP: u32 = 256;
    657 pub const __SSTR: u32 = 512;
    658 pub const __SOPT: u32 = 1024;
    659 pub const __SNPT: u32 = 2048;
    660 pub const __SOFF: u32 = 4096;
    661 pub const __SMOD: u32 = 8192;
    662 pub const __SALC: u32 = 16384;
    663 pub const __SIGN: u32 = 32768;
    664 pub const _IOFBF: u32 = 0;
    665 pub const _IOLBF: u32 = 1;
    666 pub const _IONBF: u32 = 2;
    667 pub const BUFSIZ: u32 = 1024;
    668 pub const EOF: i32 = -1;
    669 pub const FOPEN_MAX: u32 = 20;
    670 pub const FILENAME_MAX: u32 = 1024;
    671 pub const P_tmpdir: &[u8; 10] = b"/var/tmp/\0";
    672 pub const L_tmpnam: u32 = 1024;
    673 pub const TMP_MAX: u32 = 308915776;
    674 pub const L_ctermid: u32 = 1024;
    675 pub const _USE_FORTIFY_LEVEL: u32 = 2;
    676 pub const _CACHED_RUNES: u32 = 256;
    677 pub const _CRMASK: i32 = -256;
    678 pub const _RUNE_MAGIC_A: &[u8; 9] = b"RuneMagA\0";
    679 pub const _CTYPE_A: u32 = 256;
    680 pub const _CTYPE_C: u32 = 512;
    681 pub const _CTYPE_D: u32 = 1024;
    682 pub const _CTYPE_G: u32 = 2048;
    683 pub const _CTYPE_L: u32 = 4096;
    684 pub const _CTYPE_P: u32 = 8192;
    685 pub const _CTYPE_S: u32 = 16384;
    686 pub const _CTYPE_U: u32 = 32768;
    687 pub const _CTYPE_X: u32 = 65536;
    688 pub const _CTYPE_B: u32 = 131072;
    689 pub const _CTYPE_R: u32 = 262144;
    690 pub const _CTYPE_I: u32 = 524288;
    691 pub const _CTYPE_T: u32 = 1048576;
    692 pub const _CTYPE_Q: u32 = 2097152;
    693 pub const _CTYPE_SW0: u32 = 536870912;
    694 pub const _CTYPE_SW1: u32 = 1073741824;
    695 pub const _CTYPE_SW2: u32 = 2147483648;
    696 pub const _CTYPE_SW3: u32 = 3221225472;
    697 pub const _CTYPE_SWM: u32 = 3758096384;
    698 pub const _CTYPE_SWS: u32 = 30;
    699 pub const __HAS_FIXED_CHK_PROTOTYPES: u32 = 1;
    700 pub const NDB_PACKED_STR: u32 = 1;
    701 pub const NDB_PACKED_ID: u32 = 2;
    702 pub const NDB_FLAG_NOMIGRATE: u32 = 1;
    703 pub const NDB_FLAG_SKIP_NOTE_VERIFY: u32 = 2;
    704 pub const NDB_NUM_FILTERS: u32 = 7;
    705 pub const MAX_TEXT_SEARCH_RESULTS: u32 = 128;
    706 pub const MAX_TEXT_SEARCH_WORDS: u32 = 8;
    707 pub const NDB_NUM_BLOCK_TYPES: u32 = 6;
    708 pub const NDB_MAX_RELAYS: u32 = 24;
    709 pub const NOSTR_BECH32_KNOWN_TYPES: u32 = 7;
    710 pub type __int8_t = ::std::os::raw::c_schar;
    711 pub type __uint8_t = ::std::os::raw::c_uchar;
    712 pub type __int16_t = ::std::os::raw::c_short;
    713 pub type __uint16_t = ::std::os::raw::c_ushort;
    714 pub type __int32_t = ::std::os::raw::c_int;
    715 pub type __uint32_t = ::std::os::raw::c_uint;
    716 pub type __int64_t = ::std::os::raw::c_longlong;
    717 pub type __uint64_t = ::std::os::raw::c_ulonglong;
    718 pub type __darwin_intptr_t = ::std::os::raw::c_long;
    719 pub type __darwin_natural_t = ::std::os::raw::c_uint;
    720 pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
    721 #[repr(C)]
    722 #[derive(Copy, Clone)]
    723 pub union __mbstate_t {
    724     pub __mbstate8: [::std::os::raw::c_char; 128usize],
    725     pub _mbstateL: ::std::os::raw::c_longlong,
    726 }
    727 #[test]
    728 fn bindgen_test_layout___mbstate_t() {
    729     const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit();
    730     let ptr = UNINIT.as_ptr();
    731     assert_eq!(
    732         ::std::mem::size_of::<__mbstate_t>(),
    733         128usize,
    734         concat!("Size of: ", stringify!(__mbstate_t))
    735     );
    736     assert_eq!(
    737         ::std::mem::align_of::<__mbstate_t>(),
    738         8usize,
    739         concat!("Alignment of ", stringify!(__mbstate_t))
    740     );
    741     assert_eq!(
    742         unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize },
    743         0usize,
    744         concat!(
    745             "Offset of field: ",
    746             stringify!(__mbstate_t),
    747             "::",
    748             stringify!(__mbstate8)
    749         )
    750     );
    751     assert_eq!(
    752         unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize },
    753         0usize,
    754         concat!(
    755             "Offset of field: ",
    756             stringify!(__mbstate_t),
    757             "::",
    758             stringify!(_mbstateL)
    759         )
    760     );
    761 }
    762 pub type __darwin_mbstate_t = __mbstate_t;
    763 pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
    764 pub type __darwin_size_t = ::std::os::raw::c_ulong;
    765 pub type __darwin_va_list = __builtin_va_list;
    766 pub type __darwin_wchar_t = ::std::os::raw::c_int;
    767 pub type __darwin_rune_t = __darwin_wchar_t;
    768 pub type __darwin_wint_t = ::std::os::raw::c_int;
    769 pub type __darwin_clock_t = ::std::os::raw::c_ulong;
    770 pub type __darwin_socklen_t = __uint32_t;
    771 pub type __darwin_ssize_t = ::std::os::raw::c_long;
    772 pub type __darwin_time_t = ::std::os::raw::c_long;
    773 pub type __darwin_blkcnt_t = __int64_t;
    774 pub type __darwin_blksize_t = __int32_t;
    775 pub type __darwin_dev_t = __int32_t;
    776 pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
    777 pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
    778 pub type __darwin_gid_t = __uint32_t;
    779 pub type __darwin_id_t = __uint32_t;
    780 pub type __darwin_ino64_t = __uint64_t;
    781 pub type __darwin_ino_t = __darwin_ino64_t;
    782 pub type __darwin_mach_port_name_t = __darwin_natural_t;
    783 pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
    784 pub type __darwin_mode_t = __uint16_t;
    785 pub type __darwin_off_t = __int64_t;
    786 pub type __darwin_pid_t = __int32_t;
    787 pub type __darwin_sigset_t = __uint32_t;
    788 pub type __darwin_suseconds_t = __int32_t;
    789 pub type __darwin_uid_t = __uint32_t;
    790 pub type __darwin_useconds_t = __uint32_t;
    791 pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
    792 pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
    793 #[repr(C)]
    794 #[derive(Debug, Copy, Clone)]
    795 pub struct __darwin_pthread_handler_rec {
    796     pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    797     pub __arg: *mut ::std::os::raw::c_void,
    798     pub __next: *mut __darwin_pthread_handler_rec,
    799 }
    800 #[test]
    801 fn bindgen_test_layout___darwin_pthread_handler_rec() {
    802     const UNINIT: ::std::mem::MaybeUninit<__darwin_pthread_handler_rec> =
    803         ::std::mem::MaybeUninit::uninit();
    804     let ptr = UNINIT.as_ptr();
    805     assert_eq!(
    806         ::std::mem::size_of::<__darwin_pthread_handler_rec>(),
    807         24usize,
    808         concat!("Size of: ", stringify!(__darwin_pthread_handler_rec))
    809     );
    810     assert_eq!(
    811         ::std::mem::align_of::<__darwin_pthread_handler_rec>(),
    812         8usize,
    813         concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec))
    814     );
    815     assert_eq!(
    816         unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize },
    817         0usize,
    818         concat!(
    819             "Offset of field: ",
    820             stringify!(__darwin_pthread_handler_rec),
    821             "::",
    822             stringify!(__routine)
    823         )
    824     );
    825     assert_eq!(
    826         unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize },
    827         8usize,
    828         concat!(
    829             "Offset of field: ",
    830             stringify!(__darwin_pthread_handler_rec),
    831             "::",
    832             stringify!(__arg)
    833         )
    834     );
    835     assert_eq!(
    836         unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
    837         16usize,
    838         concat!(
    839             "Offset of field: ",
    840             stringify!(__darwin_pthread_handler_rec),
    841             "::",
    842             stringify!(__next)
    843         )
    844     );
    845 }
    846 #[repr(C)]
    847 #[derive(Debug, Copy, Clone)]
    848 pub struct _opaque_pthread_attr_t {
    849     pub __sig: ::std::os::raw::c_long,
    850     pub __opaque: [::std::os::raw::c_char; 56usize],
    851 }
    852 #[test]
    853 fn bindgen_test_layout__opaque_pthread_attr_t() {
    854     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_attr_t> =
    855         ::std::mem::MaybeUninit::uninit();
    856     let ptr = UNINIT.as_ptr();
    857     assert_eq!(
    858         ::std::mem::size_of::<_opaque_pthread_attr_t>(),
    859         64usize,
    860         concat!("Size of: ", stringify!(_opaque_pthread_attr_t))
    861     );
    862     assert_eq!(
    863         ::std::mem::align_of::<_opaque_pthread_attr_t>(),
    864         8usize,
    865         concat!("Alignment of ", stringify!(_opaque_pthread_attr_t))
    866     );
    867     assert_eq!(
    868         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
    869         0usize,
    870         concat!(
    871             "Offset of field: ",
    872             stringify!(_opaque_pthread_attr_t),
    873             "::",
    874             stringify!(__sig)
    875         )
    876     );
    877     assert_eq!(
    878         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
    879         8usize,
    880         concat!(
    881             "Offset of field: ",
    882             stringify!(_opaque_pthread_attr_t),
    883             "::",
    884             stringify!(__opaque)
    885         )
    886     );
    887 }
    888 #[repr(C)]
    889 #[derive(Debug, Copy, Clone)]
    890 pub struct _opaque_pthread_cond_t {
    891     pub __sig: ::std::os::raw::c_long,
    892     pub __opaque: [::std::os::raw::c_char; 40usize],
    893 }
    894 #[test]
    895 fn bindgen_test_layout__opaque_pthread_cond_t() {
    896     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_cond_t> =
    897         ::std::mem::MaybeUninit::uninit();
    898     let ptr = UNINIT.as_ptr();
    899     assert_eq!(
    900         ::std::mem::size_of::<_opaque_pthread_cond_t>(),
    901         48usize,
    902         concat!("Size of: ", stringify!(_opaque_pthread_cond_t))
    903     );
    904     assert_eq!(
    905         ::std::mem::align_of::<_opaque_pthread_cond_t>(),
    906         8usize,
    907         concat!("Alignment of ", stringify!(_opaque_pthread_cond_t))
    908     );
    909     assert_eq!(
    910         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
    911         0usize,
    912         concat!(
    913             "Offset of field: ",
    914             stringify!(_opaque_pthread_cond_t),
    915             "::",
    916             stringify!(__sig)
    917         )
    918     );
    919     assert_eq!(
    920         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
    921         8usize,
    922         concat!(
    923             "Offset of field: ",
    924             stringify!(_opaque_pthread_cond_t),
    925             "::",
    926             stringify!(__opaque)
    927         )
    928     );
    929 }
    930 #[repr(C)]
    931 #[derive(Debug, Copy, Clone)]
    932 pub struct _opaque_pthread_condattr_t {
    933     pub __sig: ::std::os::raw::c_long,
    934     pub __opaque: [::std::os::raw::c_char; 8usize],
    935 }
    936 #[test]
    937 fn bindgen_test_layout__opaque_pthread_condattr_t() {
    938     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_condattr_t> =
    939         ::std::mem::MaybeUninit::uninit();
    940     let ptr = UNINIT.as_ptr();
    941     assert_eq!(
    942         ::std::mem::size_of::<_opaque_pthread_condattr_t>(),
    943         16usize,
    944         concat!("Size of: ", stringify!(_opaque_pthread_condattr_t))
    945     );
    946     assert_eq!(
    947         ::std::mem::align_of::<_opaque_pthread_condattr_t>(),
    948         8usize,
    949         concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t))
    950     );
    951     assert_eq!(
    952         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
    953         0usize,
    954         concat!(
    955             "Offset of field: ",
    956             stringify!(_opaque_pthread_condattr_t),
    957             "::",
    958             stringify!(__sig)
    959         )
    960     );
    961     assert_eq!(
    962         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
    963         8usize,
    964         concat!(
    965             "Offset of field: ",
    966             stringify!(_opaque_pthread_condattr_t),
    967             "::",
    968             stringify!(__opaque)
    969         )
    970     );
    971 }
    972 #[repr(C)]
    973 #[derive(Debug, Copy, Clone)]
    974 pub struct _opaque_pthread_mutex_t {
    975     pub __sig: ::std::os::raw::c_long,
    976     pub __opaque: [::std::os::raw::c_char; 56usize],
    977 }
    978 #[test]
    979 fn bindgen_test_layout__opaque_pthread_mutex_t() {
    980     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutex_t> =
    981         ::std::mem::MaybeUninit::uninit();
    982     let ptr = UNINIT.as_ptr();
    983     assert_eq!(
    984         ::std::mem::size_of::<_opaque_pthread_mutex_t>(),
    985         64usize,
    986         concat!("Size of: ", stringify!(_opaque_pthread_mutex_t))
    987     );
    988     assert_eq!(
    989         ::std::mem::align_of::<_opaque_pthread_mutex_t>(),
    990         8usize,
    991         concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t))
    992     );
    993     assert_eq!(
    994         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
    995         0usize,
    996         concat!(
    997             "Offset of field: ",
    998             stringify!(_opaque_pthread_mutex_t),
    999             "::",
   1000             stringify!(__sig)
   1001         )
   1002     );
   1003     assert_eq!(
   1004         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
   1005         8usize,
   1006         concat!(
   1007             "Offset of field: ",
   1008             stringify!(_opaque_pthread_mutex_t),
   1009             "::",
   1010             stringify!(__opaque)
   1011         )
   1012     );
   1013 }
   1014 #[repr(C)]
   1015 #[derive(Debug, Copy, Clone)]
   1016 pub struct _opaque_pthread_mutexattr_t {
   1017     pub __sig: ::std::os::raw::c_long,
   1018     pub __opaque: [::std::os::raw::c_char; 8usize],
   1019 }
   1020 #[test]
   1021 fn bindgen_test_layout__opaque_pthread_mutexattr_t() {
   1022     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutexattr_t> =
   1023         ::std::mem::MaybeUninit::uninit();
   1024     let ptr = UNINIT.as_ptr();
   1025     assert_eq!(
   1026         ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(),
   1027         16usize,
   1028         concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t))
   1029     );
   1030     assert_eq!(
   1031         ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(),
   1032         8usize,
   1033         concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t))
   1034     );
   1035     assert_eq!(
   1036         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
   1037         0usize,
   1038         concat!(
   1039             "Offset of field: ",
   1040             stringify!(_opaque_pthread_mutexattr_t),
   1041             "::",
   1042             stringify!(__sig)
   1043         )
   1044     );
   1045     assert_eq!(
   1046         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
   1047         8usize,
   1048         concat!(
   1049             "Offset of field: ",
   1050             stringify!(_opaque_pthread_mutexattr_t),
   1051             "::",
   1052             stringify!(__opaque)
   1053         )
   1054     );
   1055 }
   1056 #[repr(C)]
   1057 #[derive(Debug, Copy, Clone)]
   1058 pub struct _opaque_pthread_once_t {
   1059     pub __sig: ::std::os::raw::c_long,
   1060     pub __opaque: [::std::os::raw::c_char; 8usize],
   1061 }
   1062 #[test]
   1063 fn bindgen_test_layout__opaque_pthread_once_t() {
   1064     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_once_t> =
   1065         ::std::mem::MaybeUninit::uninit();
   1066     let ptr = UNINIT.as_ptr();
   1067     assert_eq!(
   1068         ::std::mem::size_of::<_opaque_pthread_once_t>(),
   1069         16usize,
   1070         concat!("Size of: ", stringify!(_opaque_pthread_once_t))
   1071     );
   1072     assert_eq!(
   1073         ::std::mem::align_of::<_opaque_pthread_once_t>(),
   1074         8usize,
   1075         concat!("Alignment of ", stringify!(_opaque_pthread_once_t))
   1076     );
   1077     assert_eq!(
   1078         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
   1079         0usize,
   1080         concat!(
   1081             "Offset of field: ",
   1082             stringify!(_opaque_pthread_once_t),
   1083             "::",
   1084             stringify!(__sig)
   1085         )
   1086     );
   1087     assert_eq!(
   1088         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
   1089         8usize,
   1090         concat!(
   1091             "Offset of field: ",
   1092             stringify!(_opaque_pthread_once_t),
   1093             "::",
   1094             stringify!(__opaque)
   1095         )
   1096     );
   1097 }
   1098 #[repr(C)]
   1099 #[derive(Debug, Copy, Clone)]
   1100 pub struct _opaque_pthread_rwlock_t {
   1101     pub __sig: ::std::os::raw::c_long,
   1102     pub __opaque: [::std::os::raw::c_char; 192usize],
   1103 }
   1104 #[test]
   1105 fn bindgen_test_layout__opaque_pthread_rwlock_t() {
   1106     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlock_t> =
   1107         ::std::mem::MaybeUninit::uninit();
   1108     let ptr = UNINIT.as_ptr();
   1109     assert_eq!(
   1110         ::std::mem::size_of::<_opaque_pthread_rwlock_t>(),
   1111         200usize,
   1112         concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t))
   1113     );
   1114     assert_eq!(
   1115         ::std::mem::align_of::<_opaque_pthread_rwlock_t>(),
   1116         8usize,
   1117         concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t))
   1118     );
   1119     assert_eq!(
   1120         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
   1121         0usize,
   1122         concat!(
   1123             "Offset of field: ",
   1124             stringify!(_opaque_pthread_rwlock_t),
   1125             "::",
   1126             stringify!(__sig)
   1127         )
   1128     );
   1129     assert_eq!(
   1130         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
   1131         8usize,
   1132         concat!(
   1133             "Offset of field: ",
   1134             stringify!(_opaque_pthread_rwlock_t),
   1135             "::",
   1136             stringify!(__opaque)
   1137         )
   1138     );
   1139 }
   1140 #[repr(C)]
   1141 #[derive(Debug, Copy, Clone)]
   1142 pub struct _opaque_pthread_rwlockattr_t {
   1143     pub __sig: ::std::os::raw::c_long,
   1144     pub __opaque: [::std::os::raw::c_char; 16usize],
   1145 }
   1146 #[test]
   1147 fn bindgen_test_layout__opaque_pthread_rwlockattr_t() {
   1148     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> =
   1149         ::std::mem::MaybeUninit::uninit();
   1150     let ptr = UNINIT.as_ptr();
   1151     assert_eq!(
   1152         ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(),
   1153         24usize,
   1154         concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t))
   1155     );
   1156     assert_eq!(
   1157         ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(),
   1158         8usize,
   1159         concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t))
   1160     );
   1161     assert_eq!(
   1162         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
   1163         0usize,
   1164         concat!(
   1165             "Offset of field: ",
   1166             stringify!(_opaque_pthread_rwlockattr_t),
   1167             "::",
   1168             stringify!(__sig)
   1169         )
   1170     );
   1171     assert_eq!(
   1172         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
   1173         8usize,
   1174         concat!(
   1175             "Offset of field: ",
   1176             stringify!(_opaque_pthread_rwlockattr_t),
   1177             "::",
   1178             stringify!(__opaque)
   1179         )
   1180     );
   1181 }
   1182 #[repr(C)]
   1183 #[derive(Debug, Copy, Clone)]
   1184 pub struct _opaque_pthread_t {
   1185     pub __sig: ::std::os::raw::c_long,
   1186     pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
   1187     pub __opaque: [::std::os::raw::c_char; 8176usize],
   1188 }
   1189 #[test]
   1190 fn bindgen_test_layout__opaque_pthread_t() {
   1191     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_t> = ::std::mem::MaybeUninit::uninit();
   1192     let ptr = UNINIT.as_ptr();
   1193     assert_eq!(
   1194         ::std::mem::size_of::<_opaque_pthread_t>(),
   1195         8192usize,
   1196         concat!("Size of: ", stringify!(_opaque_pthread_t))
   1197     );
   1198     assert_eq!(
   1199         ::std::mem::align_of::<_opaque_pthread_t>(),
   1200         8usize,
   1201         concat!("Alignment of ", stringify!(_opaque_pthread_t))
   1202     );
   1203     assert_eq!(
   1204         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
   1205         0usize,
   1206         concat!(
   1207             "Offset of field: ",
   1208             stringify!(_opaque_pthread_t),
   1209             "::",
   1210             stringify!(__sig)
   1211         )
   1212     );
   1213     assert_eq!(
   1214         unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize },
   1215         8usize,
   1216         concat!(
   1217             "Offset of field: ",
   1218             stringify!(_opaque_pthread_t),
   1219             "::",
   1220             stringify!(__cleanup_stack)
   1221         )
   1222     );
   1223     assert_eq!(
   1224         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
   1225         16usize,
   1226         concat!(
   1227             "Offset of field: ",
   1228             stringify!(_opaque_pthread_t),
   1229             "::",
   1230             stringify!(__opaque)
   1231         )
   1232     );
   1233 }
   1234 pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
   1235 pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
   1236 pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
   1237 pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
   1238 pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
   1239 pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
   1240 pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
   1241 pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
   1242 pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
   1243 pub type __darwin_pthread_t = *mut _opaque_pthread_t;
   1244 pub type __darwin_nl_item = ::std::os::raw::c_int;
   1245 pub type __darwin_wctrans_t = ::std::os::raw::c_int;
   1246 pub type __darwin_wctype_t = __uint32_t;
   1247 pub type wchar_t = __darwin_wchar_t;
   1248 pub type int_least8_t = i8;
   1249 pub type int_least16_t = i16;
   1250 pub type int_least32_t = i32;
   1251 pub type int_least64_t = i64;
   1252 pub type uint_least8_t = u8;
   1253 pub type uint_least16_t = u16;
   1254 pub type uint_least32_t = u32;
   1255 pub type uint_least64_t = u64;
   1256 pub type int_fast8_t = i8;
   1257 pub type int_fast16_t = i16;
   1258 pub type int_fast32_t = i32;
   1259 pub type int_fast64_t = i64;
   1260 pub type uint_fast8_t = u8;
   1261 pub type uint_fast16_t = u16;
   1262 pub type uint_fast32_t = u32;
   1263 pub type uint_fast64_t = u64;
   1264 pub type intmax_t = ::std::os::raw::c_long;
   1265 pub type uintmax_t = ::std::os::raw::c_ulong;
   1266 extern "C" {
   1267     pub fn imaxabs(j: intmax_t) -> intmax_t;
   1268 }
   1269 #[repr(C)]
   1270 #[derive(Debug, Copy, Clone)]
   1271 pub struct imaxdiv_t {
   1272     pub quot: intmax_t,
   1273     pub rem: intmax_t,
   1274 }
   1275 #[test]
   1276 fn bindgen_test_layout_imaxdiv_t() {
   1277     const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
   1278     let ptr = UNINIT.as_ptr();
   1279     assert_eq!(
   1280         ::std::mem::size_of::<imaxdiv_t>(),
   1281         16usize,
   1282         concat!("Size of: ", stringify!(imaxdiv_t))
   1283     );
   1284     assert_eq!(
   1285         ::std::mem::align_of::<imaxdiv_t>(),
   1286         8usize,
   1287         concat!("Alignment of ", stringify!(imaxdiv_t))
   1288     );
   1289     assert_eq!(
   1290         unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
   1291         0usize,
   1292         concat!(
   1293             "Offset of field: ",
   1294             stringify!(imaxdiv_t),
   1295             "::",
   1296             stringify!(quot)
   1297         )
   1298     );
   1299     assert_eq!(
   1300         unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
   1301         8usize,
   1302         concat!(
   1303             "Offset of field: ",
   1304             stringify!(imaxdiv_t),
   1305             "::",
   1306             stringify!(rem)
   1307         )
   1308     );
   1309 }
   1310 extern "C" {
   1311     pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
   1312 }
   1313 extern "C" {
   1314     pub fn strtoimax(
   1315         __nptr: *const ::std::os::raw::c_char,
   1316         __endptr: *mut *mut ::std::os::raw::c_char,
   1317         __base: ::std::os::raw::c_int,
   1318     ) -> intmax_t;
   1319 }
   1320 extern "C" {
   1321     pub fn strtoumax(
   1322         __nptr: *const ::std::os::raw::c_char,
   1323         __endptr: *mut *mut ::std::os::raw::c_char,
   1324         __base: ::std::os::raw::c_int,
   1325     ) -> uintmax_t;
   1326 }
   1327 extern "C" {
   1328     pub fn wcstoimax(
   1329         __nptr: *const wchar_t,
   1330         __endptr: *mut *mut wchar_t,
   1331         __base: ::std::os::raw::c_int,
   1332     ) -> intmax_t;
   1333 }
   1334 extern "C" {
   1335     pub fn wcstoumax(
   1336         __nptr: *const wchar_t,
   1337         __endptr: *mut *mut wchar_t,
   1338         __base: ::std::os::raw::c_int,
   1339     ) -> uintmax_t;
   1340 }
   1341 pub type u_int8_t = ::std::os::raw::c_uchar;
   1342 pub type u_int16_t = ::std::os::raw::c_ushort;
   1343 pub type u_int32_t = ::std::os::raw::c_uint;
   1344 pub type u_int64_t = ::std::os::raw::c_ulonglong;
   1345 pub type register_t = i64;
   1346 pub type user_addr_t = u_int64_t;
   1347 pub type user_size_t = u_int64_t;
   1348 pub type user_ssize_t = i64;
   1349 pub type user_long_t = i64;
   1350 pub type user_ulong_t = u_int64_t;
   1351 pub type user_time_t = i64;
   1352 pub type user_off_t = i64;
   1353 pub type syscall_arg_t = u_int64_t;
   1354 pub type va_list = __darwin_va_list;
   1355 extern "C" {
   1356     pub fn renameat(
   1357         arg1: ::std::os::raw::c_int,
   1358         arg2: *const ::std::os::raw::c_char,
   1359         arg3: ::std::os::raw::c_int,
   1360         arg4: *const ::std::os::raw::c_char,
   1361     ) -> ::std::os::raw::c_int;
   1362 }
   1363 extern "C" {
   1364     pub fn renamex_np(
   1365         arg1: *const ::std::os::raw::c_char,
   1366         arg2: *const ::std::os::raw::c_char,
   1367         arg3: ::std::os::raw::c_uint,
   1368     ) -> ::std::os::raw::c_int;
   1369 }
   1370 extern "C" {
   1371     pub fn renameatx_np(
   1372         arg1: ::std::os::raw::c_int,
   1373         arg2: *const ::std::os::raw::c_char,
   1374         arg3: ::std::os::raw::c_int,
   1375         arg4: *const ::std::os::raw::c_char,
   1376         arg5: ::std::os::raw::c_uint,
   1377     ) -> ::std::os::raw::c_int;
   1378 }
   1379 extern "C" {
   1380     pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
   1381 }
   1382 pub type fpos_t = __darwin_off_t;
   1383 #[repr(C)]
   1384 #[derive(Debug, Copy, Clone)]
   1385 pub struct __sbuf {
   1386     pub _base: *mut ::std::os::raw::c_uchar,
   1387     pub _size: ::std::os::raw::c_int,
   1388 }
   1389 #[test]
   1390 fn bindgen_test_layout___sbuf() {
   1391     const UNINIT: ::std::mem::MaybeUninit<__sbuf> = ::std::mem::MaybeUninit::uninit();
   1392     let ptr = UNINIT.as_ptr();
   1393     assert_eq!(
   1394         ::std::mem::size_of::<__sbuf>(),
   1395         16usize,
   1396         concat!("Size of: ", stringify!(__sbuf))
   1397     );
   1398     assert_eq!(
   1399         ::std::mem::align_of::<__sbuf>(),
   1400         8usize,
   1401         concat!("Alignment of ", stringify!(__sbuf))
   1402     );
   1403     assert_eq!(
   1404         unsafe { ::std::ptr::addr_of!((*ptr)._base) as usize - ptr as usize },
   1405         0usize,
   1406         concat!(
   1407             "Offset of field: ",
   1408             stringify!(__sbuf),
   1409             "::",
   1410             stringify!(_base)
   1411         )
   1412     );
   1413     assert_eq!(
   1414         unsafe { ::std::ptr::addr_of!((*ptr)._size) as usize - ptr as usize },
   1415         8usize,
   1416         concat!(
   1417             "Offset of field: ",
   1418             stringify!(__sbuf),
   1419             "::",
   1420             stringify!(_size)
   1421         )
   1422     );
   1423 }
   1424 #[repr(C)]
   1425 #[derive(Debug, Copy, Clone)]
   1426 pub struct __sFILEX {
   1427     _unused: [u8; 0],
   1428 }
   1429 #[repr(C)]
   1430 #[derive(Debug, Copy, Clone)]
   1431 pub struct __sFILE {
   1432     pub _p: *mut ::std::os::raw::c_uchar,
   1433     pub _r: ::std::os::raw::c_int,
   1434     pub _w: ::std::os::raw::c_int,
   1435     pub _flags: ::std::os::raw::c_short,
   1436     pub _file: ::std::os::raw::c_short,
   1437     pub _bf: __sbuf,
   1438     pub _lbfsize: ::std::os::raw::c_int,
   1439     pub _cookie: *mut ::std::os::raw::c_void,
   1440     pub _close: ::std::option::Option<
   1441         unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
   1442     >,
   1443     pub _read: ::std::option::Option<
   1444         unsafe extern "C" fn(
   1445             arg1: *mut ::std::os::raw::c_void,
   1446             arg2: *mut ::std::os::raw::c_char,
   1447             arg3: ::std::os::raw::c_int,
   1448         ) -> ::std::os::raw::c_int,
   1449     >,
   1450     pub _seek: ::std::option::Option<
   1451         unsafe extern "C" fn(
   1452             arg1: *mut ::std::os::raw::c_void,
   1453             arg2: fpos_t,
   1454             arg3: ::std::os::raw::c_int,
   1455         ) -> fpos_t,
   1456     >,
   1457     pub _write: ::std::option::Option<
   1458         unsafe extern "C" fn(
   1459             arg1: *mut ::std::os::raw::c_void,
   1460             arg2: *const ::std::os::raw::c_char,
   1461             arg3: ::std::os::raw::c_int,
   1462         ) -> ::std::os::raw::c_int,
   1463     >,
   1464     pub _ub: __sbuf,
   1465     pub _extra: *mut __sFILEX,
   1466     pub _ur: ::std::os::raw::c_int,
   1467     pub _ubuf: [::std::os::raw::c_uchar; 3usize],
   1468     pub _nbuf: [::std::os::raw::c_uchar; 1usize],
   1469     pub _lb: __sbuf,
   1470     pub _blksize: ::std::os::raw::c_int,
   1471     pub _offset: fpos_t,
   1472 }
   1473 #[test]
   1474 fn bindgen_test_layout___sFILE() {
   1475     const UNINIT: ::std::mem::MaybeUninit<__sFILE> = ::std::mem::MaybeUninit::uninit();
   1476     let ptr = UNINIT.as_ptr();
   1477     assert_eq!(
   1478         ::std::mem::size_of::<__sFILE>(),
   1479         152usize,
   1480         concat!("Size of: ", stringify!(__sFILE))
   1481     );
   1482     assert_eq!(
   1483         ::std::mem::align_of::<__sFILE>(),
   1484         8usize,
   1485         concat!("Alignment of ", stringify!(__sFILE))
   1486     );
   1487     assert_eq!(
   1488         unsafe { ::std::ptr::addr_of!((*ptr)._p) as usize - ptr as usize },
   1489         0usize,
   1490         concat!(
   1491             "Offset of field: ",
   1492             stringify!(__sFILE),
   1493             "::",
   1494             stringify!(_p)
   1495         )
   1496     );
   1497     assert_eq!(
   1498         unsafe { ::std::ptr::addr_of!((*ptr)._r) as usize - ptr as usize },
   1499         8usize,
   1500         concat!(
   1501             "Offset of field: ",
   1502             stringify!(__sFILE),
   1503             "::",
   1504             stringify!(_r)
   1505         )
   1506     );
   1507     assert_eq!(
   1508         unsafe { ::std::ptr::addr_of!((*ptr)._w) as usize - ptr as usize },
   1509         12usize,
   1510         concat!(
   1511             "Offset of field: ",
   1512             stringify!(__sFILE),
   1513             "::",
   1514             stringify!(_w)
   1515         )
   1516     );
   1517     assert_eq!(
   1518         unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
   1519         16usize,
   1520         concat!(
   1521             "Offset of field: ",
   1522             stringify!(__sFILE),
   1523             "::",
   1524             stringify!(_flags)
   1525         )
   1526     );
   1527     assert_eq!(
   1528         unsafe { ::std::ptr::addr_of!((*ptr)._file) as usize - ptr as usize },
   1529         18usize,
   1530         concat!(
   1531             "Offset of field: ",
   1532             stringify!(__sFILE),
   1533             "::",
   1534             stringify!(_file)
   1535         )
   1536     );
   1537     assert_eq!(
   1538         unsafe { ::std::ptr::addr_of!((*ptr)._bf) as usize - ptr as usize },
   1539         24usize,
   1540         concat!(
   1541             "Offset of field: ",
   1542             stringify!(__sFILE),
   1543             "::",
   1544             stringify!(_bf)
   1545         )
   1546     );
   1547     assert_eq!(
   1548         unsafe { ::std::ptr::addr_of!((*ptr)._lbfsize) as usize - ptr as usize },
   1549         40usize,
   1550         concat!(
   1551             "Offset of field: ",
   1552             stringify!(__sFILE),
   1553             "::",
   1554             stringify!(_lbfsize)
   1555         )
   1556     );
   1557     assert_eq!(
   1558         unsafe { ::std::ptr::addr_of!((*ptr)._cookie) as usize - ptr as usize },
   1559         48usize,
   1560         concat!(
   1561             "Offset of field: ",
   1562             stringify!(__sFILE),
   1563             "::",
   1564             stringify!(_cookie)
   1565         )
   1566     );
   1567     assert_eq!(
   1568         unsafe { ::std::ptr::addr_of!((*ptr)._close) as usize - ptr as usize },
   1569         56usize,
   1570         concat!(
   1571             "Offset of field: ",
   1572             stringify!(__sFILE),
   1573             "::",
   1574             stringify!(_close)
   1575         )
   1576     );
   1577     assert_eq!(
   1578         unsafe { ::std::ptr::addr_of!((*ptr)._read) as usize - ptr as usize },
   1579         64usize,
   1580         concat!(
   1581             "Offset of field: ",
   1582             stringify!(__sFILE),
   1583             "::",
   1584             stringify!(_read)
   1585         )
   1586     );
   1587     assert_eq!(
   1588         unsafe { ::std::ptr::addr_of!((*ptr)._seek) as usize - ptr as usize },
   1589         72usize,
   1590         concat!(
   1591             "Offset of field: ",
   1592             stringify!(__sFILE),
   1593             "::",
   1594             stringify!(_seek)
   1595         )
   1596     );
   1597     assert_eq!(
   1598         unsafe { ::std::ptr::addr_of!((*ptr)._write) as usize - ptr as usize },
   1599         80usize,
   1600         concat!(
   1601             "Offset of field: ",
   1602             stringify!(__sFILE),
   1603             "::",
   1604             stringify!(_write)
   1605         )
   1606     );
   1607     assert_eq!(
   1608         unsafe { ::std::ptr::addr_of!((*ptr)._ub) as usize - ptr as usize },
   1609         88usize,
   1610         concat!(
   1611             "Offset of field: ",
   1612             stringify!(__sFILE),
   1613             "::",
   1614             stringify!(_ub)
   1615         )
   1616     );
   1617     assert_eq!(
   1618         unsafe { ::std::ptr::addr_of!((*ptr)._extra) as usize - ptr as usize },
   1619         104usize,
   1620         concat!(
   1621             "Offset of field: ",
   1622             stringify!(__sFILE),
   1623             "::",
   1624             stringify!(_extra)
   1625         )
   1626     );
   1627     assert_eq!(
   1628         unsafe { ::std::ptr::addr_of!((*ptr)._ur) as usize - ptr as usize },
   1629         112usize,
   1630         concat!(
   1631             "Offset of field: ",
   1632             stringify!(__sFILE),
   1633             "::",
   1634             stringify!(_ur)
   1635         )
   1636     );
   1637     assert_eq!(
   1638         unsafe { ::std::ptr::addr_of!((*ptr)._ubuf) as usize - ptr as usize },
   1639         116usize,
   1640         concat!(
   1641             "Offset of field: ",
   1642             stringify!(__sFILE),
   1643             "::",
   1644             stringify!(_ubuf)
   1645         )
   1646     );
   1647     assert_eq!(
   1648         unsafe { ::std::ptr::addr_of!((*ptr)._nbuf) as usize - ptr as usize },
   1649         119usize,
   1650         concat!(
   1651             "Offset of field: ",
   1652             stringify!(__sFILE),
   1653             "::",
   1654             stringify!(_nbuf)
   1655         )
   1656     );
   1657     assert_eq!(
   1658         unsafe { ::std::ptr::addr_of!((*ptr)._lb) as usize - ptr as usize },
   1659         120usize,
   1660         concat!(
   1661             "Offset of field: ",
   1662             stringify!(__sFILE),
   1663             "::",
   1664             stringify!(_lb)
   1665         )
   1666     );
   1667     assert_eq!(
   1668         unsafe { ::std::ptr::addr_of!((*ptr)._blksize) as usize - ptr as usize },
   1669         136usize,
   1670         concat!(
   1671             "Offset of field: ",
   1672             stringify!(__sFILE),
   1673             "::",
   1674             stringify!(_blksize)
   1675         )
   1676     );
   1677     assert_eq!(
   1678         unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
   1679         144usize,
   1680         concat!(
   1681             "Offset of field: ",
   1682             stringify!(__sFILE),
   1683             "::",
   1684             stringify!(_offset)
   1685         )
   1686     );
   1687 }
   1688 pub type FILE = __sFILE;
   1689 extern "C" {
   1690     pub static mut __stdinp: *mut FILE;
   1691 }
   1692 extern "C" {
   1693     pub static mut __stdoutp: *mut FILE;
   1694 }
   1695 extern "C" {
   1696     pub static mut __stderrp: *mut FILE;
   1697 }
   1698 extern "C" {
   1699     pub fn clearerr(arg1: *mut FILE);
   1700 }
   1701 extern "C" {
   1702     pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1703 }
   1704 extern "C" {
   1705     pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1706 }
   1707 extern "C" {
   1708     pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1709 }
   1710 extern "C" {
   1711     pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1712 }
   1713 extern "C" {
   1714     pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1715 }
   1716 extern "C" {
   1717     pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int;
   1718 }
   1719 extern "C" {
   1720     pub fn fgets(
   1721         arg1: *mut ::std::os::raw::c_char,
   1722         arg2: ::std::os::raw::c_int,
   1723         arg3: *mut FILE,
   1724     ) -> *mut ::std::os::raw::c_char;
   1725 }
   1726 extern "C" {
   1727     pub fn fopen(
   1728         __filename: *const ::std::os::raw::c_char,
   1729         __mode: *const ::std::os::raw::c_char,
   1730     ) -> *mut FILE;
   1731 }
   1732 extern "C" {
   1733     pub fn fprintf(
   1734         arg1: *mut FILE,
   1735         arg2: *const ::std::os::raw::c_char,
   1736         ...
   1737     ) -> ::std::os::raw::c_int;
   1738 }
   1739 extern "C" {
   1740     pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
   1741 }
   1742 extern "C" {
   1743     pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int;
   1744 }
   1745 extern "C" {
   1746     pub fn fread(
   1747         __ptr: *mut ::std::os::raw::c_void,
   1748         __size: ::std::os::raw::c_ulong,
   1749         __nitems: ::std::os::raw::c_ulong,
   1750         __stream: *mut FILE,
   1751     ) -> ::std::os::raw::c_ulong;
   1752 }
   1753 extern "C" {
   1754     pub fn freopen(
   1755         arg1: *const ::std::os::raw::c_char,
   1756         arg2: *const ::std::os::raw::c_char,
   1757         arg3: *mut FILE,
   1758     ) -> *mut FILE;
   1759 }
   1760 extern "C" {
   1761     pub fn fscanf(
   1762         arg1: *mut FILE,
   1763         arg2: *const ::std::os::raw::c_char,
   1764         ...
   1765     ) -> ::std::os::raw::c_int;
   1766 }
   1767 extern "C" {
   1768     pub fn fseek(
   1769         arg1: *mut FILE,
   1770         arg2: ::std::os::raw::c_long,
   1771         arg3: ::std::os::raw::c_int,
   1772     ) -> ::std::os::raw::c_int;
   1773 }
   1774 extern "C" {
   1775     pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int;
   1776 }
   1777 extern "C" {
   1778     pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long;
   1779 }
   1780 extern "C" {
   1781     pub fn fwrite(
   1782         __ptr: *const ::std::os::raw::c_void,
   1783         __size: ::std::os::raw::c_ulong,
   1784         __nitems: ::std::os::raw::c_ulong,
   1785         __stream: *mut FILE,
   1786     ) -> ::std::os::raw::c_ulong;
   1787 }
   1788 extern "C" {
   1789     pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1790 }
   1791 extern "C" {
   1792     pub fn getchar() -> ::std::os::raw::c_int;
   1793 }
   1794 extern "C" {
   1795     pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   1796 }
   1797 extern "C" {
   1798     pub fn perror(arg1: *const ::std::os::raw::c_char);
   1799 }
   1800 extern "C" {
   1801     pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
   1802 }
   1803 extern "C" {
   1804     pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1805 }
   1806 extern "C" {
   1807     pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
   1808 }
   1809 extern "C" {
   1810     pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
   1811 }
   1812 extern "C" {
   1813     pub fn rename(
   1814         __old: *const ::std::os::raw::c_char,
   1815         __new: *const ::std::os::raw::c_char,
   1816     ) -> ::std::os::raw::c_int;
   1817 }
   1818 extern "C" {
   1819     pub fn rewind(arg1: *mut FILE);
   1820 }
   1821 extern "C" {
   1822     pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
   1823 }
   1824 extern "C" {
   1825     pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char);
   1826 }
   1827 extern "C" {
   1828     pub fn setvbuf(
   1829         arg1: *mut FILE,
   1830         arg2: *mut ::std::os::raw::c_char,
   1831         arg3: ::std::os::raw::c_int,
   1832         arg4: usize,
   1833     ) -> ::std::os::raw::c_int;
   1834 }
   1835 extern "C" {
   1836     pub fn sprintf(
   1837         arg1: *mut ::std::os::raw::c_char,
   1838         arg2: *const ::std::os::raw::c_char,
   1839         ...
   1840     ) -> ::std::os::raw::c_int;
   1841 }
   1842 extern "C" {
   1843     pub fn sscanf(
   1844         arg1: *const ::std::os::raw::c_char,
   1845         arg2: *const ::std::os::raw::c_char,
   1846         ...
   1847     ) -> ::std::os::raw::c_int;
   1848 }
   1849 extern "C" {
   1850     pub fn tmpfile() -> *mut FILE;
   1851 }
   1852 extern "C" {
   1853     pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   1854 }
   1855 extern "C" {
   1856     pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
   1857 }
   1858 extern "C" {
   1859     pub fn vfprintf(
   1860         arg1: *mut FILE,
   1861         arg2: *const ::std::os::raw::c_char,
   1862         arg3: __builtin_va_list,
   1863     ) -> ::std::os::raw::c_int;
   1864 }
   1865 extern "C" {
   1866     pub fn vprintf(
   1867         arg1: *const ::std::os::raw::c_char,
   1868         arg2: __builtin_va_list,
   1869     ) -> ::std::os::raw::c_int;
   1870 }
   1871 extern "C" {
   1872     pub fn vsprintf(
   1873         arg1: *mut ::std::os::raw::c_char,
   1874         arg2: *const ::std::os::raw::c_char,
   1875         arg3: __builtin_va_list,
   1876     ) -> ::std::os::raw::c_int;
   1877 }
   1878 extern "C" {
   1879     pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   1880 }
   1881 extern "C" {
   1882     pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE;
   1883 }
   1884 extern "C" {
   1885     pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1886 }
   1887 extern "C" {
   1888     pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1889 }
   1890 extern "C" {
   1891     pub fn popen(
   1892         arg1: *const ::std::os::raw::c_char,
   1893         arg2: *const ::std::os::raw::c_char,
   1894     ) -> *mut FILE;
   1895 }
   1896 extern "C" {
   1897     pub fn __srget(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1898 }
   1899 extern "C" {
   1900     pub fn __svfscanf(
   1901         arg1: *mut FILE,
   1902         arg2: *const ::std::os::raw::c_char,
   1903         arg3: va_list,
   1904     ) -> ::std::os::raw::c_int;
   1905 }
   1906 extern "C" {
   1907     pub fn __swbuf(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
   1908 }
   1909 extern "C" {
   1910     pub fn flockfile(arg1: *mut FILE);
   1911 }
   1912 extern "C" {
   1913     pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1914 }
   1915 extern "C" {
   1916     pub fn funlockfile(arg1: *mut FILE);
   1917 }
   1918 extern "C" {
   1919     pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1920 }
   1921 extern "C" {
   1922     pub fn getchar_unlocked() -> ::std::os::raw::c_int;
   1923 }
   1924 extern "C" {
   1925     pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
   1926 }
   1927 extern "C" {
   1928     pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1929 }
   1930 extern "C" {
   1931     pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int;
   1932 }
   1933 extern "C" {
   1934     pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
   1935 }
   1936 extern "C" {
   1937     pub fn tempnam(
   1938         __dir: *const ::std::os::raw::c_char,
   1939         __prefix: *const ::std::os::raw::c_char,
   1940     ) -> *mut ::std::os::raw::c_char;
   1941 }
   1942 pub type off_t = __darwin_off_t;
   1943 extern "C" {
   1944     pub fn fseeko(
   1945         __stream: *mut FILE,
   1946         __offset: off_t,
   1947         __whence: ::std::os::raw::c_int,
   1948     ) -> ::std::os::raw::c_int;
   1949 }
   1950 extern "C" {
   1951     pub fn ftello(__stream: *mut FILE) -> off_t;
   1952 }
   1953 extern "C" {
   1954     pub fn snprintf(
   1955         __str: *mut ::std::os::raw::c_char,
   1956         __size: ::std::os::raw::c_ulong,
   1957         __format: *const ::std::os::raw::c_char,
   1958         ...
   1959     ) -> ::std::os::raw::c_int;
   1960 }
   1961 extern "C" {
   1962     pub fn vfscanf(
   1963         __stream: *mut FILE,
   1964         __format: *const ::std::os::raw::c_char,
   1965         arg1: __builtin_va_list,
   1966     ) -> ::std::os::raw::c_int;
   1967 }
   1968 extern "C" {
   1969     pub fn vscanf(
   1970         __format: *const ::std::os::raw::c_char,
   1971         arg1: __builtin_va_list,
   1972     ) -> ::std::os::raw::c_int;
   1973 }
   1974 extern "C" {
   1975     pub fn vsnprintf(
   1976         __str: *mut ::std::os::raw::c_char,
   1977         __size: ::std::os::raw::c_ulong,
   1978         __format: *const ::std::os::raw::c_char,
   1979         arg1: __builtin_va_list,
   1980     ) -> ::std::os::raw::c_int;
   1981 }
   1982 extern "C" {
   1983     pub fn vsscanf(
   1984         __str: *const ::std::os::raw::c_char,
   1985         __format: *const ::std::os::raw::c_char,
   1986         arg1: __builtin_va_list,
   1987     ) -> ::std::os::raw::c_int;
   1988 }
   1989 extern "C" {
   1990     pub fn dprintf(
   1991         arg1: ::std::os::raw::c_int,
   1992         arg2: *const ::std::os::raw::c_char,
   1993         ...
   1994     ) -> ::std::os::raw::c_int;
   1995 }
   1996 extern "C" {
   1997     pub fn vdprintf(
   1998         arg1: ::std::os::raw::c_int,
   1999         arg2: *const ::std::os::raw::c_char,
   2000         arg3: va_list,
   2001     ) -> ::std::os::raw::c_int;
   2002 }
   2003 extern "C" {
   2004     pub fn getdelim(
   2005         __linep: *mut *mut ::std::os::raw::c_char,
   2006         __linecapp: *mut usize,
   2007         __delimiter: ::std::os::raw::c_int,
   2008         __stream: *mut FILE,
   2009     ) -> isize;
   2010 }
   2011 extern "C" {
   2012     pub fn getline(
   2013         __linep: *mut *mut ::std::os::raw::c_char,
   2014         __linecapp: *mut usize,
   2015         __stream: *mut FILE,
   2016     ) -> isize;
   2017 }
   2018 extern "C" {
   2019     pub fn fmemopen(
   2020         __buf: *mut ::std::os::raw::c_void,
   2021         __size: usize,
   2022         __mode: *const ::std::os::raw::c_char,
   2023     ) -> *mut FILE;
   2024 }
   2025 extern "C" {
   2026     pub fn open_memstream(
   2027         __bufp: *mut *mut ::std::os::raw::c_char,
   2028         __sizep: *mut usize,
   2029     ) -> *mut FILE;
   2030 }
   2031 extern "C" {
   2032     pub static sys_nerr: ::std::os::raw::c_int;
   2033 }
   2034 extern "C" {
   2035     pub static sys_errlist: [*const ::std::os::raw::c_char; 0usize];
   2036 }
   2037 extern "C" {
   2038     pub fn asprintf(
   2039         arg1: *mut *mut ::std::os::raw::c_char,
   2040         arg2: *const ::std::os::raw::c_char,
   2041         ...
   2042     ) -> ::std::os::raw::c_int;
   2043 }
   2044 extern "C" {
   2045     pub fn ctermid_r(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2046 }
   2047 extern "C" {
   2048     pub fn fgetln(arg1: *mut FILE, arg2: *mut usize) -> *mut ::std::os::raw::c_char;
   2049 }
   2050 extern "C" {
   2051     pub fn fmtcheck(
   2052         arg1: *const ::std::os::raw::c_char,
   2053         arg2: *const ::std::os::raw::c_char,
   2054     ) -> *const ::std::os::raw::c_char;
   2055 }
   2056 extern "C" {
   2057     pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int;
   2058 }
   2059 extern "C" {
   2060     pub fn setbuffer(
   2061         arg1: *mut FILE,
   2062         arg2: *mut ::std::os::raw::c_char,
   2063         arg3: ::std::os::raw::c_int,
   2064     );
   2065 }
   2066 extern "C" {
   2067     pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int;
   2068 }
   2069 extern "C" {
   2070     pub fn vasprintf(
   2071         arg1: *mut *mut ::std::os::raw::c_char,
   2072         arg2: *const ::std::os::raw::c_char,
   2073         arg3: va_list,
   2074     ) -> ::std::os::raw::c_int;
   2075 }
   2076 extern "C" {
   2077     pub fn funopen(
   2078         arg1: *const ::std::os::raw::c_void,
   2079         arg2: ::std::option::Option<
   2080             unsafe extern "C" fn(
   2081                 arg1: *mut ::std::os::raw::c_void,
   2082                 arg2: *mut ::std::os::raw::c_char,
   2083                 arg3: ::std::os::raw::c_int,
   2084             ) -> ::std::os::raw::c_int,
   2085         >,
   2086         arg3: ::std::option::Option<
   2087             unsafe extern "C" fn(
   2088                 arg1: *mut ::std::os::raw::c_void,
   2089                 arg2: *const ::std::os::raw::c_char,
   2090                 arg3: ::std::os::raw::c_int,
   2091             ) -> ::std::os::raw::c_int,
   2092         >,
   2093         arg4: ::std::option::Option<
   2094             unsafe extern "C" fn(
   2095                 arg1: *mut ::std::os::raw::c_void,
   2096                 arg2: fpos_t,
   2097                 arg3: ::std::os::raw::c_int,
   2098             ) -> fpos_t,
   2099         >,
   2100         arg5: ::std::option::Option<
   2101             unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
   2102         >,
   2103     ) -> *mut FILE;
   2104 }
   2105 extern "C" {
   2106     pub fn __sprintf_chk(
   2107         arg1: *mut ::std::os::raw::c_char,
   2108         arg2: ::std::os::raw::c_int,
   2109         arg3: usize,
   2110         arg4: *const ::std::os::raw::c_char,
   2111         ...
   2112     ) -> ::std::os::raw::c_int;
   2113 }
   2114 extern "C" {
   2115     pub fn __snprintf_chk(
   2116         arg1: *mut ::std::os::raw::c_char,
   2117         arg2: usize,
   2118         arg3: ::std::os::raw::c_int,
   2119         arg4: usize,
   2120         arg5: *const ::std::os::raw::c_char,
   2121         ...
   2122     ) -> ::std::os::raw::c_int;
   2123 }
   2124 extern "C" {
   2125     pub fn __vsprintf_chk(
   2126         arg1: *mut ::std::os::raw::c_char,
   2127         arg2: ::std::os::raw::c_int,
   2128         arg3: usize,
   2129         arg4: *const ::std::os::raw::c_char,
   2130         arg5: va_list,
   2131     ) -> ::std::os::raw::c_int;
   2132 }
   2133 extern "C" {
   2134     pub fn __vsnprintf_chk(
   2135         arg1: *mut ::std::os::raw::c_char,
   2136         arg2: usize,
   2137         arg3: ::std::os::raw::c_int,
   2138         arg4: usize,
   2139         arg5: *const ::std::os::raw::c_char,
   2140         arg6: va_list,
   2141     ) -> ::std::os::raw::c_int;
   2142 }
   2143 pub type ct_rune_t = __darwin_ct_rune_t;
   2144 pub type rune_t = __darwin_rune_t;
   2145 pub type wint_t = __darwin_wint_t;
   2146 #[repr(C)]
   2147 #[derive(Debug, Copy, Clone)]
   2148 pub struct _RuneEntry {
   2149     pub __min: __darwin_rune_t,
   2150     pub __max: __darwin_rune_t,
   2151     pub __map: __darwin_rune_t,
   2152     pub __types: *mut __uint32_t,
   2153 }
   2154 #[test]
   2155 fn bindgen_test_layout__RuneEntry() {
   2156     const UNINIT: ::std::mem::MaybeUninit<_RuneEntry> = ::std::mem::MaybeUninit::uninit();
   2157     let ptr = UNINIT.as_ptr();
   2158     assert_eq!(
   2159         ::std::mem::size_of::<_RuneEntry>(),
   2160         24usize,
   2161         concat!("Size of: ", stringify!(_RuneEntry))
   2162     );
   2163     assert_eq!(
   2164         ::std::mem::align_of::<_RuneEntry>(),
   2165         8usize,
   2166         concat!("Alignment of ", stringify!(_RuneEntry))
   2167     );
   2168     assert_eq!(
   2169         unsafe { ::std::ptr::addr_of!((*ptr).__min) as usize - ptr as usize },
   2170         0usize,
   2171         concat!(
   2172             "Offset of field: ",
   2173             stringify!(_RuneEntry),
   2174             "::",
   2175             stringify!(__min)
   2176         )
   2177     );
   2178     assert_eq!(
   2179         unsafe { ::std::ptr::addr_of!((*ptr).__max) as usize - ptr as usize },
   2180         4usize,
   2181         concat!(
   2182             "Offset of field: ",
   2183             stringify!(_RuneEntry),
   2184             "::",
   2185             stringify!(__max)
   2186         )
   2187     );
   2188     assert_eq!(
   2189         unsafe { ::std::ptr::addr_of!((*ptr).__map) as usize - ptr as usize },
   2190         8usize,
   2191         concat!(
   2192             "Offset of field: ",
   2193             stringify!(_RuneEntry),
   2194             "::",
   2195             stringify!(__map)
   2196         )
   2197     );
   2198     assert_eq!(
   2199         unsafe { ::std::ptr::addr_of!((*ptr).__types) as usize - ptr as usize },
   2200         16usize,
   2201         concat!(
   2202             "Offset of field: ",
   2203             stringify!(_RuneEntry),
   2204             "::",
   2205             stringify!(__types)
   2206         )
   2207     );
   2208 }
   2209 #[repr(C)]
   2210 #[derive(Debug, Copy, Clone)]
   2211 pub struct _RuneRange {
   2212     pub __nranges: ::std::os::raw::c_int,
   2213     pub __ranges: *mut _RuneEntry,
   2214 }
   2215 #[test]
   2216 fn bindgen_test_layout__RuneRange() {
   2217     const UNINIT: ::std::mem::MaybeUninit<_RuneRange> = ::std::mem::MaybeUninit::uninit();
   2218     let ptr = UNINIT.as_ptr();
   2219     assert_eq!(
   2220         ::std::mem::size_of::<_RuneRange>(),
   2221         16usize,
   2222         concat!("Size of: ", stringify!(_RuneRange))
   2223     );
   2224     assert_eq!(
   2225         ::std::mem::align_of::<_RuneRange>(),
   2226         8usize,
   2227         concat!("Alignment of ", stringify!(_RuneRange))
   2228     );
   2229     assert_eq!(
   2230         unsafe { ::std::ptr::addr_of!((*ptr).__nranges) as usize - ptr as usize },
   2231         0usize,
   2232         concat!(
   2233             "Offset of field: ",
   2234             stringify!(_RuneRange),
   2235             "::",
   2236             stringify!(__nranges)
   2237         )
   2238     );
   2239     assert_eq!(
   2240         unsafe { ::std::ptr::addr_of!((*ptr).__ranges) as usize - ptr as usize },
   2241         8usize,
   2242         concat!(
   2243             "Offset of field: ",
   2244             stringify!(_RuneRange),
   2245             "::",
   2246             stringify!(__ranges)
   2247         )
   2248     );
   2249 }
   2250 #[repr(C)]
   2251 #[derive(Debug, Copy, Clone)]
   2252 pub struct _RuneCharClass {
   2253     pub __name: [::std::os::raw::c_char; 14usize],
   2254     pub __mask: __uint32_t,
   2255 }
   2256 #[test]
   2257 fn bindgen_test_layout__RuneCharClass() {
   2258     const UNINIT: ::std::mem::MaybeUninit<_RuneCharClass> = ::std::mem::MaybeUninit::uninit();
   2259     let ptr = UNINIT.as_ptr();
   2260     assert_eq!(
   2261         ::std::mem::size_of::<_RuneCharClass>(),
   2262         20usize,
   2263         concat!("Size of: ", stringify!(_RuneCharClass))
   2264     );
   2265     assert_eq!(
   2266         ::std::mem::align_of::<_RuneCharClass>(),
   2267         4usize,
   2268         concat!("Alignment of ", stringify!(_RuneCharClass))
   2269     );
   2270     assert_eq!(
   2271         unsafe { ::std::ptr::addr_of!((*ptr).__name) as usize - ptr as usize },
   2272         0usize,
   2273         concat!(
   2274             "Offset of field: ",
   2275             stringify!(_RuneCharClass),
   2276             "::",
   2277             stringify!(__name)
   2278         )
   2279     );
   2280     assert_eq!(
   2281         unsafe { ::std::ptr::addr_of!((*ptr).__mask) as usize - ptr as usize },
   2282         16usize,
   2283         concat!(
   2284             "Offset of field: ",
   2285             stringify!(_RuneCharClass),
   2286             "::",
   2287             stringify!(__mask)
   2288         )
   2289     );
   2290 }
   2291 #[repr(C)]
   2292 #[derive(Debug, Copy, Clone)]
   2293 pub struct _RuneLocale {
   2294     pub __magic: [::std::os::raw::c_char; 8usize],
   2295     pub __encoding: [::std::os::raw::c_char; 32usize],
   2296     pub __sgetrune: ::std::option::Option<
   2297         unsafe extern "C" fn(
   2298             arg1: *const ::std::os::raw::c_char,
   2299             arg2: __darwin_size_t,
   2300             arg3: *mut *const ::std::os::raw::c_char,
   2301         ) -> __darwin_rune_t,
   2302     >,
   2303     pub __sputrune: ::std::option::Option<
   2304         unsafe extern "C" fn(
   2305             arg1: __darwin_rune_t,
   2306             arg2: *mut ::std::os::raw::c_char,
   2307             arg3: __darwin_size_t,
   2308             arg4: *mut *mut ::std::os::raw::c_char,
   2309         ) -> ::std::os::raw::c_int,
   2310     >,
   2311     pub __invalid_rune: __darwin_rune_t,
   2312     pub __runetype: [__uint32_t; 256usize],
   2313     pub __maplower: [__darwin_rune_t; 256usize],
   2314     pub __mapupper: [__darwin_rune_t; 256usize],
   2315     pub __runetype_ext: _RuneRange,
   2316     pub __maplower_ext: _RuneRange,
   2317     pub __mapupper_ext: _RuneRange,
   2318     pub __variable: *mut ::std::os::raw::c_void,
   2319     pub __variable_len: ::std::os::raw::c_int,
   2320     pub __ncharclasses: ::std::os::raw::c_int,
   2321     pub __charclasses: *mut _RuneCharClass,
   2322 }
   2323 #[test]
   2324 fn bindgen_test_layout__RuneLocale() {
   2325     const UNINIT: ::std::mem::MaybeUninit<_RuneLocale> = ::std::mem::MaybeUninit::uninit();
   2326     let ptr = UNINIT.as_ptr();
   2327     assert_eq!(
   2328         ::std::mem::size_of::<_RuneLocale>(),
   2329         3208usize,
   2330         concat!("Size of: ", stringify!(_RuneLocale))
   2331     );
   2332     assert_eq!(
   2333         ::std::mem::align_of::<_RuneLocale>(),
   2334         8usize,
   2335         concat!("Alignment of ", stringify!(_RuneLocale))
   2336     );
   2337     assert_eq!(
   2338         unsafe { ::std::ptr::addr_of!((*ptr).__magic) as usize - ptr as usize },
   2339         0usize,
   2340         concat!(
   2341             "Offset of field: ",
   2342             stringify!(_RuneLocale),
   2343             "::",
   2344             stringify!(__magic)
   2345         )
   2346     );
   2347     assert_eq!(
   2348         unsafe { ::std::ptr::addr_of!((*ptr).__encoding) as usize - ptr as usize },
   2349         8usize,
   2350         concat!(
   2351             "Offset of field: ",
   2352             stringify!(_RuneLocale),
   2353             "::",
   2354             stringify!(__encoding)
   2355         )
   2356     );
   2357     assert_eq!(
   2358         unsafe { ::std::ptr::addr_of!((*ptr).__sgetrune) as usize - ptr as usize },
   2359         40usize,
   2360         concat!(
   2361             "Offset of field: ",
   2362             stringify!(_RuneLocale),
   2363             "::",
   2364             stringify!(__sgetrune)
   2365         )
   2366     );
   2367     assert_eq!(
   2368         unsafe { ::std::ptr::addr_of!((*ptr).__sputrune) as usize - ptr as usize },
   2369         48usize,
   2370         concat!(
   2371             "Offset of field: ",
   2372             stringify!(_RuneLocale),
   2373             "::",
   2374             stringify!(__sputrune)
   2375         )
   2376     );
   2377     assert_eq!(
   2378         unsafe { ::std::ptr::addr_of!((*ptr).__invalid_rune) as usize - ptr as usize },
   2379         56usize,
   2380         concat!(
   2381             "Offset of field: ",
   2382             stringify!(_RuneLocale),
   2383             "::",
   2384             stringify!(__invalid_rune)
   2385         )
   2386     );
   2387     assert_eq!(
   2388         unsafe { ::std::ptr::addr_of!((*ptr).__runetype) as usize - ptr as usize },
   2389         60usize,
   2390         concat!(
   2391             "Offset of field: ",
   2392             stringify!(_RuneLocale),
   2393             "::",
   2394             stringify!(__runetype)
   2395         )
   2396     );
   2397     assert_eq!(
   2398         unsafe { ::std::ptr::addr_of!((*ptr).__maplower) as usize - ptr as usize },
   2399         1084usize,
   2400         concat!(
   2401             "Offset of field: ",
   2402             stringify!(_RuneLocale),
   2403             "::",
   2404             stringify!(__maplower)
   2405         )
   2406     );
   2407     assert_eq!(
   2408         unsafe { ::std::ptr::addr_of!((*ptr).__mapupper) as usize - ptr as usize },
   2409         2108usize,
   2410         concat!(
   2411             "Offset of field: ",
   2412             stringify!(_RuneLocale),
   2413             "::",
   2414             stringify!(__mapupper)
   2415         )
   2416     );
   2417     assert_eq!(
   2418         unsafe { ::std::ptr::addr_of!((*ptr).__runetype_ext) as usize - ptr as usize },
   2419         3136usize,
   2420         concat!(
   2421             "Offset of field: ",
   2422             stringify!(_RuneLocale),
   2423             "::",
   2424             stringify!(__runetype_ext)
   2425         )
   2426     );
   2427     assert_eq!(
   2428         unsafe { ::std::ptr::addr_of!((*ptr).__maplower_ext) as usize - ptr as usize },
   2429         3152usize,
   2430         concat!(
   2431             "Offset of field: ",
   2432             stringify!(_RuneLocale),
   2433             "::",
   2434             stringify!(__maplower_ext)
   2435         )
   2436     );
   2437     assert_eq!(
   2438         unsafe { ::std::ptr::addr_of!((*ptr).__mapupper_ext) as usize - ptr as usize },
   2439         3168usize,
   2440         concat!(
   2441             "Offset of field: ",
   2442             stringify!(_RuneLocale),
   2443             "::",
   2444             stringify!(__mapupper_ext)
   2445         )
   2446     );
   2447     assert_eq!(
   2448         unsafe { ::std::ptr::addr_of!((*ptr).__variable) as usize - ptr as usize },
   2449         3184usize,
   2450         concat!(
   2451             "Offset of field: ",
   2452             stringify!(_RuneLocale),
   2453             "::",
   2454             stringify!(__variable)
   2455         )
   2456     );
   2457     assert_eq!(
   2458         unsafe { ::std::ptr::addr_of!((*ptr).__variable_len) as usize - ptr as usize },
   2459         3192usize,
   2460         concat!(
   2461             "Offset of field: ",
   2462             stringify!(_RuneLocale),
   2463             "::",
   2464             stringify!(__variable_len)
   2465         )
   2466     );
   2467     assert_eq!(
   2468         unsafe { ::std::ptr::addr_of!((*ptr).__ncharclasses) as usize - ptr as usize },
   2469         3196usize,
   2470         concat!(
   2471             "Offset of field: ",
   2472             stringify!(_RuneLocale),
   2473             "::",
   2474             stringify!(__ncharclasses)
   2475         )
   2476     );
   2477     assert_eq!(
   2478         unsafe { ::std::ptr::addr_of!((*ptr).__charclasses) as usize - ptr as usize },
   2479         3200usize,
   2480         concat!(
   2481             "Offset of field: ",
   2482             stringify!(_RuneLocale),
   2483             "::",
   2484             stringify!(__charclasses)
   2485         )
   2486     );
   2487 }
   2488 extern "C" {
   2489     pub static mut _DefaultRuneLocale: _RuneLocale;
   2490 }
   2491 extern "C" {
   2492     pub static mut _CurrentRuneLocale: *mut _RuneLocale;
   2493 }
   2494 extern "C" {
   2495     pub fn ___runetype(arg1: __darwin_ct_rune_t) -> ::std::os::raw::c_ulong;
   2496 }
   2497 extern "C" {
   2498     pub fn ___tolower(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
   2499 }
   2500 extern "C" {
   2501     pub fn ___toupper(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
   2502 }
   2503 extern "C" {
   2504     pub fn __maskrune(
   2505         arg1: __darwin_ct_rune_t,
   2506         arg2: ::std::os::raw::c_ulong,
   2507     ) -> ::std::os::raw::c_int;
   2508 }
   2509 extern "C" {
   2510     pub fn __toupper(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
   2511 }
   2512 extern "C" {
   2513     pub fn __tolower(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
   2514 }
   2515 extern "C" {
   2516     pub fn __assert_rtn(
   2517         arg1: *const ::std::os::raw::c_char,
   2518         arg2: *const ::std::os::raw::c_char,
   2519         arg3: ::std::os::raw::c_int,
   2520         arg4: *const ::std::os::raw::c_char,
   2521     ) -> !;
   2522 }
   2523 extern "C" {
   2524     pub fn memchr(
   2525         __s: *const ::std::os::raw::c_void,
   2526         __c: ::std::os::raw::c_int,
   2527         __n: ::std::os::raw::c_ulong,
   2528     ) -> *mut ::std::os::raw::c_void;
   2529 }
   2530 extern "C" {
   2531     pub fn memcmp(
   2532         __s1: *const ::std::os::raw::c_void,
   2533         __s2: *const ::std::os::raw::c_void,
   2534         __n: ::std::os::raw::c_ulong,
   2535     ) -> ::std::os::raw::c_int;
   2536 }
   2537 extern "C" {
   2538     pub fn memcpy(
   2539         __dst: *mut ::std::os::raw::c_void,
   2540         __src: *const ::std::os::raw::c_void,
   2541         __n: ::std::os::raw::c_ulong,
   2542     ) -> *mut ::std::os::raw::c_void;
   2543 }
   2544 extern "C" {
   2545     pub fn memmove(
   2546         __dst: *mut ::std::os::raw::c_void,
   2547         __src: *const ::std::os::raw::c_void,
   2548         __len: ::std::os::raw::c_ulong,
   2549     ) -> *mut ::std::os::raw::c_void;
   2550 }
   2551 extern "C" {
   2552     pub fn memset(
   2553         __b: *mut ::std::os::raw::c_void,
   2554         __c: ::std::os::raw::c_int,
   2555         __len: ::std::os::raw::c_ulong,
   2556     ) -> *mut ::std::os::raw::c_void;
   2557 }
   2558 extern "C" {
   2559     pub fn strcat(
   2560         __s1: *mut ::std::os::raw::c_char,
   2561         __s2: *const ::std::os::raw::c_char,
   2562     ) -> *mut ::std::os::raw::c_char;
   2563 }
   2564 extern "C" {
   2565     pub fn strchr(
   2566         __s: *const ::std::os::raw::c_char,
   2567         __c: ::std::os::raw::c_int,
   2568     ) -> *mut ::std::os::raw::c_char;
   2569 }
   2570 extern "C" {
   2571     pub fn strcmp(
   2572         __s1: *const ::std::os::raw::c_char,
   2573         __s2: *const ::std::os::raw::c_char,
   2574     ) -> ::std::os::raw::c_int;
   2575 }
   2576 extern "C" {
   2577     pub fn strcoll(
   2578         __s1: *const ::std::os::raw::c_char,
   2579         __s2: *const ::std::os::raw::c_char,
   2580     ) -> ::std::os::raw::c_int;
   2581 }
   2582 extern "C" {
   2583     pub fn strcpy(
   2584         __dst: *mut ::std::os::raw::c_char,
   2585         __src: *const ::std::os::raw::c_char,
   2586     ) -> *mut ::std::os::raw::c_char;
   2587 }
   2588 extern "C" {
   2589     pub fn strcspn(
   2590         __s: *const ::std::os::raw::c_char,
   2591         __charset: *const ::std::os::raw::c_char,
   2592     ) -> ::std::os::raw::c_ulong;
   2593 }
   2594 extern "C" {
   2595     pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
   2596 }
   2597 extern "C" {
   2598     pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
   2599 }
   2600 extern "C" {
   2601     pub fn strncat(
   2602         __s1: *mut ::std::os::raw::c_char,
   2603         __s2: *const ::std::os::raw::c_char,
   2604         __n: ::std::os::raw::c_ulong,
   2605     ) -> *mut ::std::os::raw::c_char;
   2606 }
   2607 extern "C" {
   2608     pub fn strncmp(
   2609         __s1: *const ::std::os::raw::c_char,
   2610         __s2: *const ::std::os::raw::c_char,
   2611         __n: ::std::os::raw::c_ulong,
   2612     ) -> ::std::os::raw::c_int;
   2613 }
   2614 extern "C" {
   2615     pub fn strncpy(
   2616         __dst: *mut ::std::os::raw::c_char,
   2617         __src: *const ::std::os::raw::c_char,
   2618         __n: ::std::os::raw::c_ulong,
   2619     ) -> *mut ::std::os::raw::c_char;
   2620 }
   2621 extern "C" {
   2622     pub fn strpbrk(
   2623         __s: *const ::std::os::raw::c_char,
   2624         __charset: *const ::std::os::raw::c_char,
   2625     ) -> *mut ::std::os::raw::c_char;
   2626 }
   2627 extern "C" {
   2628     pub fn strrchr(
   2629         __s: *const ::std::os::raw::c_char,
   2630         __c: ::std::os::raw::c_int,
   2631     ) -> *mut ::std::os::raw::c_char;
   2632 }
   2633 extern "C" {
   2634     pub fn strspn(
   2635         __s: *const ::std::os::raw::c_char,
   2636         __charset: *const ::std::os::raw::c_char,
   2637     ) -> ::std::os::raw::c_ulong;
   2638 }
   2639 extern "C" {
   2640     pub fn strstr(
   2641         __big: *const ::std::os::raw::c_char,
   2642         __little: *const ::std::os::raw::c_char,
   2643     ) -> *mut ::std::os::raw::c_char;
   2644 }
   2645 extern "C" {
   2646     pub fn strtok(
   2647         __str: *mut ::std::os::raw::c_char,
   2648         __sep: *const ::std::os::raw::c_char,
   2649     ) -> *mut ::std::os::raw::c_char;
   2650 }
   2651 extern "C" {
   2652     pub fn strxfrm(
   2653         __s1: *mut ::std::os::raw::c_char,
   2654         __s2: *const ::std::os::raw::c_char,
   2655         __n: ::std::os::raw::c_ulong,
   2656     ) -> ::std::os::raw::c_ulong;
   2657 }
   2658 extern "C" {
   2659     pub fn strtok_r(
   2660         __str: *mut ::std::os::raw::c_char,
   2661         __sep: *const ::std::os::raw::c_char,
   2662         __lasts: *mut *mut ::std::os::raw::c_char,
   2663     ) -> *mut ::std::os::raw::c_char;
   2664 }
   2665 extern "C" {
   2666     pub fn strerror_r(
   2667         __errnum: ::std::os::raw::c_int,
   2668         __strerrbuf: *mut ::std::os::raw::c_char,
   2669         __buflen: usize,
   2670     ) -> ::std::os::raw::c_int;
   2671 }
   2672 extern "C" {
   2673     pub fn strdup(__s1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2674 }
   2675 extern "C" {
   2676     pub fn memccpy(
   2677         __dst: *mut ::std::os::raw::c_void,
   2678         __src: *const ::std::os::raw::c_void,
   2679         __c: ::std::os::raw::c_int,
   2680         __n: ::std::os::raw::c_ulong,
   2681     ) -> *mut ::std::os::raw::c_void;
   2682 }
   2683 extern "C" {
   2684     pub fn stpcpy(
   2685         __dst: *mut ::std::os::raw::c_char,
   2686         __src: *const ::std::os::raw::c_char,
   2687     ) -> *mut ::std::os::raw::c_char;
   2688 }
   2689 extern "C" {
   2690     pub fn stpncpy(
   2691         __dst: *mut ::std::os::raw::c_char,
   2692         __src: *const ::std::os::raw::c_char,
   2693         __n: ::std::os::raw::c_ulong,
   2694     ) -> *mut ::std::os::raw::c_char;
   2695 }
   2696 extern "C" {
   2697     pub fn strndup(
   2698         __s1: *const ::std::os::raw::c_char,
   2699         __n: ::std::os::raw::c_ulong,
   2700     ) -> *mut ::std::os::raw::c_char;
   2701 }
   2702 extern "C" {
   2703     pub fn strnlen(__s1: *const ::std::os::raw::c_char, __n: usize) -> usize;
   2704 }
   2705 extern "C" {
   2706     pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
   2707 }
   2708 pub type rsize_t = __darwin_size_t;
   2709 pub type errno_t = ::std::os::raw::c_int;
   2710 extern "C" {
   2711     pub fn memset_s(
   2712         __s: *mut ::std::os::raw::c_void,
   2713         __smax: rsize_t,
   2714         __c: ::std::os::raw::c_int,
   2715         __n: rsize_t,
   2716     ) -> errno_t;
   2717 }
   2718 extern "C" {
   2719     pub fn memmem(
   2720         __big: *const ::std::os::raw::c_void,
   2721         __big_len: usize,
   2722         __little: *const ::std::os::raw::c_void,
   2723         __little_len: usize,
   2724     ) -> *mut ::std::os::raw::c_void;
   2725 }
   2726 extern "C" {
   2727     pub fn memset_pattern4(
   2728         __b: *mut ::std::os::raw::c_void,
   2729         __pattern4: *const ::std::os::raw::c_void,
   2730         __len: usize,
   2731     );
   2732 }
   2733 extern "C" {
   2734     pub fn memset_pattern8(
   2735         __b: *mut ::std::os::raw::c_void,
   2736         __pattern8: *const ::std::os::raw::c_void,
   2737         __len: usize,
   2738     );
   2739 }
   2740 extern "C" {
   2741     pub fn memset_pattern16(
   2742         __b: *mut ::std::os::raw::c_void,
   2743         __pattern16: *const ::std::os::raw::c_void,
   2744         __len: usize,
   2745     );
   2746 }
   2747 extern "C" {
   2748     pub fn strcasestr(
   2749         __big: *const ::std::os::raw::c_char,
   2750         __little: *const ::std::os::raw::c_char,
   2751     ) -> *mut ::std::os::raw::c_char;
   2752 }
   2753 extern "C" {
   2754     pub fn strnstr(
   2755         __big: *const ::std::os::raw::c_char,
   2756         __little: *const ::std::os::raw::c_char,
   2757         __len: usize,
   2758     ) -> *mut ::std::os::raw::c_char;
   2759 }
   2760 extern "C" {
   2761     pub fn strlcat(
   2762         __dst: *mut ::std::os::raw::c_char,
   2763         __source: *const ::std::os::raw::c_char,
   2764         __size: ::std::os::raw::c_ulong,
   2765     ) -> ::std::os::raw::c_ulong;
   2766 }
   2767 extern "C" {
   2768     pub fn strlcpy(
   2769         __dst: *mut ::std::os::raw::c_char,
   2770         __source: *const ::std::os::raw::c_char,
   2771         __size: ::std::os::raw::c_ulong,
   2772     ) -> ::std::os::raw::c_ulong;
   2773 }
   2774 extern "C" {
   2775     pub fn strmode(__mode: ::std::os::raw::c_int, __bp: *mut ::std::os::raw::c_char);
   2776 }
   2777 extern "C" {
   2778     pub fn strsep(
   2779         __stringp: *mut *mut ::std::os::raw::c_char,
   2780         __delim: *const ::std::os::raw::c_char,
   2781     ) -> *mut ::std::os::raw::c_char;
   2782 }
   2783 extern "C" {
   2784     pub fn swab(
   2785         arg1: *const ::std::os::raw::c_void,
   2786         arg2: *mut ::std::os::raw::c_void,
   2787         arg3: isize,
   2788     );
   2789 }
   2790 extern "C" {
   2791     pub fn timingsafe_bcmp(
   2792         __b1: *const ::std::os::raw::c_void,
   2793         __b2: *const ::std::os::raw::c_void,
   2794         __len: usize,
   2795     ) -> ::std::os::raw::c_int;
   2796 }
   2797 extern "C" {
   2798     pub fn strsignal_r(
   2799         __sig: ::std::os::raw::c_int,
   2800         __strsignalbuf: *mut ::std::os::raw::c_char,
   2801         __buflen: usize,
   2802     ) -> ::std::os::raw::c_int;
   2803 }
   2804 extern "C" {
   2805     pub fn bcmp(
   2806         arg1: *const ::std::os::raw::c_void,
   2807         arg2: *const ::std::os::raw::c_void,
   2808         arg3: ::std::os::raw::c_ulong,
   2809     ) -> ::std::os::raw::c_int;
   2810 }
   2811 extern "C" {
   2812     pub fn bcopy(
   2813         arg1: *const ::std::os::raw::c_void,
   2814         arg2: *mut ::std::os::raw::c_void,
   2815         arg3: usize,
   2816     );
   2817 }
   2818 extern "C" {
   2819     pub fn bzero(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_ulong);
   2820 }
   2821 extern "C" {
   2822     pub fn index(
   2823         arg1: *const ::std::os::raw::c_char,
   2824         arg2: ::std::os::raw::c_int,
   2825     ) -> *mut ::std::os::raw::c_char;
   2826 }
   2827 extern "C" {
   2828     pub fn rindex(
   2829         arg1: *const ::std::os::raw::c_char,
   2830         arg2: ::std::os::raw::c_int,
   2831     ) -> *mut ::std::os::raw::c_char;
   2832 }
   2833 extern "C" {
   2834     pub fn ffs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   2835 }
   2836 extern "C" {
   2837     pub fn strcasecmp(
   2838         arg1: *const ::std::os::raw::c_char,
   2839         arg2: *const ::std::os::raw::c_char,
   2840     ) -> ::std::os::raw::c_int;
   2841 }
   2842 extern "C" {
   2843     pub fn strncasecmp(
   2844         arg1: *const ::std::os::raw::c_char,
   2845         arg2: *const ::std::os::raw::c_char,
   2846         arg3: ::std::os::raw::c_ulong,
   2847     ) -> ::std::os::raw::c_int;
   2848 }
   2849 extern "C" {
   2850     pub fn ffsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
   2851 }
   2852 extern "C" {
   2853     pub fn ffsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
   2854 }
   2855 extern "C" {
   2856     pub fn fls(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   2857 }
   2858 extern "C" {
   2859     pub fn flsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
   2860 }
   2861 extern "C" {
   2862     pub fn flsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
   2863 }
   2864 #[repr(C)]
   2865 #[derive(Debug, Copy, Clone)]
   2866 pub struct cursor {
   2867     pub start: *mut ::std::os::raw::c_uchar,
   2868     pub p: *mut ::std::os::raw::c_uchar,
   2869     pub end: *mut ::std::os::raw::c_uchar,
   2870 }
   2871 #[test]
   2872 fn bindgen_test_layout_cursor() {
   2873     const UNINIT: ::std::mem::MaybeUninit<cursor> = ::std::mem::MaybeUninit::uninit();
   2874     let ptr = UNINIT.as_ptr();
   2875     assert_eq!(
   2876         ::std::mem::size_of::<cursor>(),
   2877         24usize,
   2878         concat!("Size of: ", stringify!(cursor))
   2879     );
   2880     assert_eq!(
   2881         ::std::mem::align_of::<cursor>(),
   2882         8usize,
   2883         concat!("Alignment of ", stringify!(cursor))
   2884     );
   2885     assert_eq!(
   2886         unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
   2887         0usize,
   2888         concat!(
   2889             "Offset of field: ",
   2890             stringify!(cursor),
   2891             "::",
   2892             stringify!(start)
   2893         )
   2894     );
   2895     assert_eq!(
   2896         unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
   2897         8usize,
   2898         concat!("Offset of field: ", stringify!(cursor), "::", stringify!(p))
   2899     );
   2900     assert_eq!(
   2901         unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
   2902         16usize,
   2903         concat!(
   2904             "Offset of field: ",
   2905             stringify!(cursor),
   2906             "::",
   2907             stringify!(end)
   2908         )
   2909     );
   2910 }
   2911 #[repr(C)]
   2912 #[derive(Debug, Copy, Clone)]
   2913 pub struct ndb_str_block {
   2914     pub str_: *const ::std::os::raw::c_char,
   2915     pub len: u32,
   2916 }
   2917 #[test]
   2918 fn bindgen_test_layout_ndb_str_block() {
   2919     const UNINIT: ::std::mem::MaybeUninit<ndb_str_block> = ::std::mem::MaybeUninit::uninit();
   2920     let ptr = UNINIT.as_ptr();
   2921     assert_eq!(
   2922         ::std::mem::size_of::<ndb_str_block>(),
   2923         16usize,
   2924         concat!("Size of: ", stringify!(ndb_str_block))
   2925     );
   2926     assert_eq!(
   2927         ::std::mem::align_of::<ndb_str_block>(),
   2928         8usize,
   2929         concat!("Alignment of ", stringify!(ndb_str_block))
   2930     );
   2931     assert_eq!(
   2932         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   2933         0usize,
   2934         concat!(
   2935             "Offset of field: ",
   2936             stringify!(ndb_str_block),
   2937             "::",
   2938             stringify!(str_)
   2939         )
   2940     );
   2941     assert_eq!(
   2942         unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
   2943         8usize,
   2944         concat!(
   2945             "Offset of field: ",
   2946             stringify!(ndb_str_block),
   2947             "::",
   2948             stringify!(len)
   2949         )
   2950     );
   2951 }
   2952 pub type str_block_t = ndb_str_block;
   2953 #[repr(C)]
   2954 #[derive(Debug, Copy, Clone)]
   2955 pub struct ndb_json_parser {
   2956     _unused: [u8; 0],
   2957 }
   2958 #[repr(C)]
   2959 #[derive(Debug, Copy, Clone)]
   2960 pub struct ndb {
   2961     _unused: [u8; 0],
   2962 }
   2963 #[repr(C)]
   2964 #[derive(Debug, Copy, Clone)]
   2965 pub struct ndb_blocks {
   2966     _unused: [u8; 0],
   2967 }
   2968 #[repr(C)]
   2969 #[derive(Debug, Copy, Clone)]
   2970 pub struct ndb_note {
   2971     _unused: [u8; 0],
   2972 }
   2973 #[repr(C)]
   2974 #[derive(Debug, Copy, Clone)]
   2975 pub struct ndb_tag {
   2976     _unused: [u8; 0],
   2977 }
   2978 #[repr(C)]
   2979 #[derive(Debug, Copy, Clone)]
   2980 pub struct ndb_tags {
   2981     _unused: [u8; 0],
   2982 }
   2983 #[repr(C)]
   2984 #[derive(Debug, Copy, Clone)]
   2985 pub struct ndb_lmdb {
   2986     _unused: [u8; 0],
   2987 }
   2988 #[repr(C)]
   2989 #[derive(Copy, Clone)]
   2990 pub struct ndb_packed_str {
   2991     _unused: [u8; 0],
   2992 }
   2993 #[repr(C)]
   2994 #[derive(Debug, Copy, Clone)]
   2995 pub struct bolt11 {
   2996     _unused: [u8; 0],
   2997 }
   2998 #[repr(C)]
   2999 #[derive(Debug, Copy, Clone)]
   3000 pub struct ndb_tag_ptr {
   3001     pub ptr: *mut ndb_tag,
   3002 }
   3003 #[test]
   3004 fn bindgen_test_layout_ndb_tag_ptr() {
   3005     const UNINIT: ::std::mem::MaybeUninit<ndb_tag_ptr> = ::std::mem::MaybeUninit::uninit();
   3006     let ptr = UNINIT.as_ptr();
   3007     assert_eq!(
   3008         ::std::mem::size_of::<ndb_tag_ptr>(),
   3009         8usize,
   3010         concat!("Size of: ", stringify!(ndb_tag_ptr))
   3011     );
   3012     assert_eq!(
   3013         ::std::mem::align_of::<ndb_tag_ptr>(),
   3014         8usize,
   3015         concat!("Alignment of ", stringify!(ndb_tag_ptr))
   3016     );
   3017     assert_eq!(
   3018         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   3019         0usize,
   3020         concat!(
   3021             "Offset of field: ",
   3022             stringify!(ndb_tag_ptr),
   3023             "::",
   3024             stringify!(ptr)
   3025         )
   3026     );
   3027 }
   3028 #[repr(C)]
   3029 #[derive(Debug, Copy, Clone)]
   3030 pub struct ndb_tags_ptr {
   3031     pub ptr: *mut ndb_tags,
   3032 }
   3033 #[test]
   3034 fn bindgen_test_layout_ndb_tags_ptr() {
   3035     const UNINIT: ::std::mem::MaybeUninit<ndb_tags_ptr> = ::std::mem::MaybeUninit::uninit();
   3036     let ptr = UNINIT.as_ptr();
   3037     assert_eq!(
   3038         ::std::mem::size_of::<ndb_tags_ptr>(),
   3039         8usize,
   3040         concat!("Size of: ", stringify!(ndb_tags_ptr))
   3041     );
   3042     assert_eq!(
   3043         ::std::mem::align_of::<ndb_tags_ptr>(),
   3044         8usize,
   3045         concat!("Alignment of ", stringify!(ndb_tags_ptr))
   3046     );
   3047     assert_eq!(
   3048         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   3049         0usize,
   3050         concat!(
   3051             "Offset of field: ",
   3052             stringify!(ndb_tags_ptr),
   3053             "::",
   3054             stringify!(ptr)
   3055         )
   3056     );
   3057 }
   3058 #[repr(C)]
   3059 #[derive(Debug, Copy, Clone)]
   3060 pub struct ndb_block_ptr {
   3061     pub ptr: *mut ndb_block,
   3062 }
   3063 #[test]
   3064 fn bindgen_test_layout_ndb_block_ptr() {
   3065     const UNINIT: ::std::mem::MaybeUninit<ndb_block_ptr> = ::std::mem::MaybeUninit::uninit();
   3066     let ptr = UNINIT.as_ptr();
   3067     assert_eq!(
   3068         ::std::mem::size_of::<ndb_block_ptr>(),
   3069         8usize,
   3070         concat!("Size of: ", stringify!(ndb_block_ptr))
   3071     );
   3072     assert_eq!(
   3073         ::std::mem::align_of::<ndb_block_ptr>(),
   3074         8usize,
   3075         concat!("Alignment of ", stringify!(ndb_block_ptr))
   3076     );
   3077     assert_eq!(
   3078         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   3079         0usize,
   3080         concat!(
   3081             "Offset of field: ",
   3082             stringify!(ndb_block_ptr),
   3083             "::",
   3084             stringify!(ptr)
   3085         )
   3086     );
   3087 }
   3088 #[repr(C)]
   3089 #[derive(Debug, Copy, Clone)]
   3090 pub struct ndb_blocks_ptr {
   3091     pub ptr: *mut ndb_blocks,
   3092 }
   3093 #[test]
   3094 fn bindgen_test_layout_ndb_blocks_ptr() {
   3095     const UNINIT: ::std::mem::MaybeUninit<ndb_blocks_ptr> = ::std::mem::MaybeUninit::uninit();
   3096     let ptr = UNINIT.as_ptr();
   3097     assert_eq!(
   3098         ::std::mem::size_of::<ndb_blocks_ptr>(),
   3099         8usize,
   3100         concat!("Size of: ", stringify!(ndb_blocks_ptr))
   3101     );
   3102     assert_eq!(
   3103         ::std::mem::align_of::<ndb_blocks_ptr>(),
   3104         8usize,
   3105         concat!("Alignment of ", stringify!(ndb_blocks_ptr))
   3106     );
   3107     assert_eq!(
   3108         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   3109         0usize,
   3110         concat!(
   3111             "Offset of field: ",
   3112             stringify!(ndb_blocks_ptr),
   3113             "::",
   3114             stringify!(ptr)
   3115         )
   3116     );
   3117 }
   3118 #[repr(C)]
   3119 #[derive(Debug, Copy, Clone)]
   3120 pub struct ndb_note_ptr {
   3121     pub ptr: *mut ndb_note,
   3122 }
   3123 #[test]
   3124 fn bindgen_test_layout_ndb_note_ptr() {
   3125     const UNINIT: ::std::mem::MaybeUninit<ndb_note_ptr> = ::std::mem::MaybeUninit::uninit();
   3126     let ptr = UNINIT.as_ptr();
   3127     assert_eq!(
   3128         ::std::mem::size_of::<ndb_note_ptr>(),
   3129         8usize,
   3130         concat!("Size of: ", stringify!(ndb_note_ptr))
   3131     );
   3132     assert_eq!(
   3133         ::std::mem::align_of::<ndb_note_ptr>(),
   3134         8usize,
   3135         concat!("Alignment of ", stringify!(ndb_note_ptr))
   3136     );
   3137     assert_eq!(
   3138         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   3139         0usize,
   3140         concat!(
   3141             "Offset of field: ",
   3142             stringify!(ndb_note_ptr),
   3143             "::",
   3144             stringify!(ptr)
   3145         )
   3146     );
   3147 }
   3148 #[repr(C)]
   3149 #[derive(Debug, Copy, Clone)]
   3150 pub struct ndb_t {
   3151     pub ndb: *mut ndb,
   3152 }
   3153 #[test]
   3154 fn bindgen_test_layout_ndb_t() {
   3155     const UNINIT: ::std::mem::MaybeUninit<ndb_t> = ::std::mem::MaybeUninit::uninit();
   3156     let ptr = UNINIT.as_ptr();
   3157     assert_eq!(
   3158         ::std::mem::size_of::<ndb_t>(),
   3159         8usize,
   3160         concat!("Size of: ", stringify!(ndb_t))
   3161     );
   3162     assert_eq!(
   3163         ::std::mem::align_of::<ndb_t>(),
   3164         8usize,
   3165         concat!("Alignment of ", stringify!(ndb_t))
   3166     );
   3167     assert_eq!(
   3168         unsafe { ::std::ptr::addr_of!((*ptr).ndb) as usize - ptr as usize },
   3169         0usize,
   3170         concat!(
   3171             "Offset of field: ",
   3172             stringify!(ndb_t),
   3173             "::",
   3174             stringify!(ndb)
   3175         )
   3176     );
   3177 }
   3178 #[repr(C)]
   3179 #[derive(Copy, Clone)]
   3180 pub struct ndb_str {
   3181     pub flag: ::std::os::raw::c_uchar,
   3182     pub __bindgen_anon_1: ndb_str__bindgen_ty_1,
   3183 }
   3184 #[repr(C)]
   3185 #[derive(Copy, Clone)]
   3186 pub union ndb_str__bindgen_ty_1 {
   3187     pub str_: *const ::std::os::raw::c_char,
   3188     pub id: *mut ::std::os::raw::c_uchar,
   3189 }
   3190 #[test]
   3191 fn bindgen_test_layout_ndb_str__bindgen_ty_1() {
   3192     const UNINIT: ::std::mem::MaybeUninit<ndb_str__bindgen_ty_1> =
   3193         ::std::mem::MaybeUninit::uninit();
   3194     let ptr = UNINIT.as_ptr();
   3195     assert_eq!(
   3196         ::std::mem::size_of::<ndb_str__bindgen_ty_1>(),
   3197         8usize,
   3198         concat!("Size of: ", stringify!(ndb_str__bindgen_ty_1))
   3199     );
   3200     assert_eq!(
   3201         ::std::mem::align_of::<ndb_str__bindgen_ty_1>(),
   3202         8usize,
   3203         concat!("Alignment of ", stringify!(ndb_str__bindgen_ty_1))
   3204     );
   3205     assert_eq!(
   3206         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   3207         0usize,
   3208         concat!(
   3209             "Offset of field: ",
   3210             stringify!(ndb_str__bindgen_ty_1),
   3211             "::",
   3212             stringify!(str_)
   3213         )
   3214     );
   3215     assert_eq!(
   3216         unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
   3217         0usize,
   3218         concat!(
   3219             "Offset of field: ",
   3220             stringify!(ndb_str__bindgen_ty_1),
   3221             "::",
   3222             stringify!(id)
   3223         )
   3224     );
   3225 }
   3226 #[test]
   3227 fn bindgen_test_layout_ndb_str() {
   3228     const UNINIT: ::std::mem::MaybeUninit<ndb_str> = ::std::mem::MaybeUninit::uninit();
   3229     let ptr = UNINIT.as_ptr();
   3230     assert_eq!(
   3231         ::std::mem::size_of::<ndb_str>(),
   3232         16usize,
   3233         concat!("Size of: ", stringify!(ndb_str))
   3234     );
   3235     assert_eq!(
   3236         ::std::mem::align_of::<ndb_str>(),
   3237         8usize,
   3238         concat!("Alignment of ", stringify!(ndb_str))
   3239     );
   3240     assert_eq!(
   3241         unsafe { ::std::ptr::addr_of!((*ptr).flag) as usize - ptr as usize },
   3242         0usize,
   3243         concat!(
   3244             "Offset of field: ",
   3245             stringify!(ndb_str),
   3246             "::",
   3247             stringify!(flag)
   3248         )
   3249     );
   3250 }
   3251 #[repr(C)]
   3252 #[derive(Debug, Copy, Clone)]
   3253 pub struct ndb_keypair {
   3254     pub pubkey: [::std::os::raw::c_uchar; 32usize],
   3255     pub secret: [::std::os::raw::c_uchar; 32usize],
   3256     pub pair: [::std::os::raw::c_uchar; 96usize],
   3257 }
   3258 #[test]
   3259 fn bindgen_test_layout_ndb_keypair() {
   3260     const UNINIT: ::std::mem::MaybeUninit<ndb_keypair> = ::std::mem::MaybeUninit::uninit();
   3261     let ptr = UNINIT.as_ptr();
   3262     assert_eq!(
   3263         ::std::mem::size_of::<ndb_keypair>(),
   3264         160usize,
   3265         concat!("Size of: ", stringify!(ndb_keypair))
   3266     );
   3267     assert_eq!(
   3268         ::std::mem::align_of::<ndb_keypair>(),
   3269         1usize,
   3270         concat!("Alignment of ", stringify!(ndb_keypair))
   3271     );
   3272     assert_eq!(
   3273         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   3274         0usize,
   3275         concat!(
   3276             "Offset of field: ",
   3277             stringify!(ndb_keypair),
   3278             "::",
   3279             stringify!(pubkey)
   3280         )
   3281     );
   3282     assert_eq!(
   3283         unsafe { ::std::ptr::addr_of!((*ptr).secret) as usize - ptr as usize },
   3284         32usize,
   3285         concat!(
   3286             "Offset of field: ",
   3287             stringify!(ndb_keypair),
   3288             "::",
   3289             stringify!(secret)
   3290         )
   3291     );
   3292     assert_eq!(
   3293         unsafe { ::std::ptr::addr_of!((*ptr).pair) as usize - ptr as usize },
   3294         64usize,
   3295         concat!(
   3296             "Offset of field: ",
   3297             stringify!(ndb_keypair),
   3298             "::",
   3299             stringify!(pair)
   3300         )
   3301     );
   3302 }
   3303 pub type ndb_idres = i32;
   3304 pub type ndb_id_fn = ::std::option::Option<
   3305     unsafe extern "C" fn(
   3306         arg1: *mut ::std::os::raw::c_void,
   3307         arg2: *const ::std::os::raw::c_char,
   3308     ) -> ndb_idres,
   3309 >;
   3310 pub type ndb_sub_fn =
   3311     ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, subid: u64)>;
   3312 #[repr(C)]
   3313 #[derive(Debug, Copy, Clone)]
   3314 pub struct ndb_id_cb {
   3315     pub fn_: ndb_id_fn,
   3316     pub data: *mut ::std::os::raw::c_void,
   3317 }
   3318 #[test]
   3319 fn bindgen_test_layout_ndb_id_cb() {
   3320     const UNINIT: ::std::mem::MaybeUninit<ndb_id_cb> = ::std::mem::MaybeUninit::uninit();
   3321     let ptr = UNINIT.as_ptr();
   3322     assert_eq!(
   3323         ::std::mem::size_of::<ndb_id_cb>(),
   3324         16usize,
   3325         concat!("Size of: ", stringify!(ndb_id_cb))
   3326     );
   3327     assert_eq!(
   3328         ::std::mem::align_of::<ndb_id_cb>(),
   3329         8usize,
   3330         concat!("Alignment of ", stringify!(ndb_id_cb))
   3331     );
   3332     assert_eq!(
   3333         unsafe { ::std::ptr::addr_of!((*ptr).fn_) as usize - ptr as usize },
   3334         0usize,
   3335         concat!(
   3336             "Offset of field: ",
   3337             stringify!(ndb_id_cb),
   3338             "::",
   3339             stringify!(fn_)
   3340         )
   3341     );
   3342     assert_eq!(
   3343         unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
   3344         8usize,
   3345         concat!(
   3346             "Offset of field: ",
   3347             stringify!(ndb_id_cb),
   3348             "::",
   3349             stringify!(data)
   3350         )
   3351     );
   3352 }
   3353 #[repr(C)]
   3354 #[derive(Debug, Copy, Clone)]
   3355 pub struct ndb_txn {
   3356     pub lmdb: *mut ndb_lmdb,
   3357     pub mdb_txn: *mut ::std::os::raw::c_void,
   3358 }
   3359 #[test]
   3360 fn bindgen_test_layout_ndb_txn() {
   3361     const UNINIT: ::std::mem::MaybeUninit<ndb_txn> = ::std::mem::MaybeUninit::uninit();
   3362     let ptr = UNINIT.as_ptr();
   3363     assert_eq!(
   3364         ::std::mem::size_of::<ndb_txn>(),
   3365         16usize,
   3366         concat!("Size of: ", stringify!(ndb_txn))
   3367     );
   3368     assert_eq!(
   3369         ::std::mem::align_of::<ndb_txn>(),
   3370         8usize,
   3371         concat!("Alignment of ", stringify!(ndb_txn))
   3372     );
   3373     assert_eq!(
   3374         unsafe { ::std::ptr::addr_of!((*ptr).lmdb) as usize - ptr as usize },
   3375         0usize,
   3376         concat!(
   3377             "Offset of field: ",
   3378             stringify!(ndb_txn),
   3379             "::",
   3380             stringify!(lmdb)
   3381         )
   3382     );
   3383     assert_eq!(
   3384         unsafe { ::std::ptr::addr_of!((*ptr).mdb_txn) as usize - ptr as usize },
   3385         8usize,
   3386         concat!(
   3387             "Offset of field: ",
   3388             stringify!(ndb_txn),
   3389             "::",
   3390             stringify!(mdb_txn)
   3391         )
   3392     );
   3393 }
   3394 #[repr(C)]
   3395 #[derive(Debug, Copy, Clone)]
   3396 pub struct ndb_event {
   3397     pub note: *mut ndb_note,
   3398 }
   3399 #[test]
   3400 fn bindgen_test_layout_ndb_event() {
   3401     const UNINIT: ::std::mem::MaybeUninit<ndb_event> = ::std::mem::MaybeUninit::uninit();
   3402     let ptr = UNINIT.as_ptr();
   3403     assert_eq!(
   3404         ::std::mem::size_of::<ndb_event>(),
   3405         8usize,
   3406         concat!("Size of: ", stringify!(ndb_event))
   3407     );
   3408     assert_eq!(
   3409         ::std::mem::align_of::<ndb_event>(),
   3410         8usize,
   3411         concat!("Alignment of ", stringify!(ndb_event))
   3412     );
   3413     assert_eq!(
   3414         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   3415         0usize,
   3416         concat!(
   3417             "Offset of field: ",
   3418             stringify!(ndb_event),
   3419             "::",
   3420             stringify!(note)
   3421         )
   3422     );
   3423 }
   3424 #[repr(C)]
   3425 #[derive(Debug, Copy, Clone)]
   3426 pub struct ndb_command_result {
   3427     pub ok: ::std::os::raw::c_int,
   3428     pub msg: *const ::std::os::raw::c_char,
   3429     pub msglen: ::std::os::raw::c_int,
   3430 }
   3431 #[test]
   3432 fn bindgen_test_layout_ndb_command_result() {
   3433     const UNINIT: ::std::mem::MaybeUninit<ndb_command_result> = ::std::mem::MaybeUninit::uninit();
   3434     let ptr = UNINIT.as_ptr();
   3435     assert_eq!(
   3436         ::std::mem::size_of::<ndb_command_result>(),
   3437         24usize,
   3438         concat!("Size of: ", stringify!(ndb_command_result))
   3439     );
   3440     assert_eq!(
   3441         ::std::mem::align_of::<ndb_command_result>(),
   3442         8usize,
   3443         concat!("Alignment of ", stringify!(ndb_command_result))
   3444     );
   3445     assert_eq!(
   3446         unsafe { ::std::ptr::addr_of!((*ptr).ok) as usize - ptr as usize },
   3447         0usize,
   3448         concat!(
   3449             "Offset of field: ",
   3450             stringify!(ndb_command_result),
   3451             "::",
   3452             stringify!(ok)
   3453         )
   3454     );
   3455     assert_eq!(
   3456         unsafe { ::std::ptr::addr_of!((*ptr).msg) as usize - ptr as usize },
   3457         8usize,
   3458         concat!(
   3459             "Offset of field: ",
   3460             stringify!(ndb_command_result),
   3461             "::",
   3462             stringify!(msg)
   3463         )
   3464     );
   3465     assert_eq!(
   3466         unsafe { ::std::ptr::addr_of!((*ptr).msglen) as usize - ptr as usize },
   3467         16usize,
   3468         concat!(
   3469             "Offset of field: ",
   3470             stringify!(ndb_command_result),
   3471             "::",
   3472             stringify!(msglen)
   3473         )
   3474     );
   3475 }
   3476 pub const fce_type_NDB_FCE_EVENT: fce_type = 1;
   3477 pub type fce_type = ::std::os::raw::c_uint;
   3478 pub const tce_type_NDB_TCE_EVENT: tce_type = 1;
   3479 pub const tce_type_NDB_TCE_OK: tce_type = 2;
   3480 pub const tce_type_NDB_TCE_NOTICE: tce_type = 3;
   3481 pub const tce_type_NDB_TCE_EOSE: tce_type = 4;
   3482 pub const tce_type_NDB_TCE_AUTH: tce_type = 5;
   3483 pub type tce_type = ::std::os::raw::c_uint;
   3484 pub const ndb_ingest_filter_action_NDB_INGEST_REJECT: ndb_ingest_filter_action = 0;
   3485 pub const ndb_ingest_filter_action_NDB_INGEST_ACCEPT: ndb_ingest_filter_action = 1;
   3486 pub const ndb_ingest_filter_action_NDB_INGEST_SKIP_VALIDATION: ndb_ingest_filter_action = 2;
   3487 pub type ndb_ingest_filter_action = ::std::os::raw::c_uint;
   3488 #[repr(C)]
   3489 #[derive(Debug, Copy, Clone)]
   3490 pub struct ndb_search_key {
   3491     pub search: [::std::os::raw::c_char; 24usize],
   3492     pub id: [::std::os::raw::c_uchar; 32usize],
   3493     pub timestamp: u64,
   3494 }
   3495 #[test]
   3496 fn bindgen_test_layout_ndb_search_key() {
   3497     const UNINIT: ::std::mem::MaybeUninit<ndb_search_key> = ::std::mem::MaybeUninit::uninit();
   3498     let ptr = UNINIT.as_ptr();
   3499     assert_eq!(
   3500         ::std::mem::size_of::<ndb_search_key>(),
   3501         64usize,
   3502         concat!("Size of: ", stringify!(ndb_search_key))
   3503     );
   3504     assert_eq!(
   3505         ::std::mem::align_of::<ndb_search_key>(),
   3506         8usize,
   3507         concat!("Alignment of ", stringify!(ndb_search_key))
   3508     );
   3509     assert_eq!(
   3510         unsafe { ::std::ptr::addr_of!((*ptr).search) as usize - ptr as usize },
   3511         0usize,
   3512         concat!(
   3513             "Offset of field: ",
   3514             stringify!(ndb_search_key),
   3515             "::",
   3516             stringify!(search)
   3517         )
   3518     );
   3519     assert_eq!(
   3520         unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
   3521         24usize,
   3522         concat!(
   3523             "Offset of field: ",
   3524             stringify!(ndb_search_key),
   3525             "::",
   3526             stringify!(id)
   3527         )
   3528     );
   3529     assert_eq!(
   3530         unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
   3531         56usize,
   3532         concat!(
   3533             "Offset of field: ",
   3534             stringify!(ndb_search_key),
   3535             "::",
   3536             stringify!(timestamp)
   3537         )
   3538     );
   3539 }
   3540 #[repr(C)]
   3541 #[derive(Debug, Copy, Clone)]
   3542 pub struct ndb_search {
   3543     pub key: *mut ndb_search_key,
   3544     pub profile_key: u64,
   3545     pub cursor: *mut ::std::os::raw::c_void,
   3546 }
   3547 #[test]
   3548 fn bindgen_test_layout_ndb_search() {
   3549     const UNINIT: ::std::mem::MaybeUninit<ndb_search> = ::std::mem::MaybeUninit::uninit();
   3550     let ptr = UNINIT.as_ptr();
   3551     assert_eq!(
   3552         ::std::mem::size_of::<ndb_search>(),
   3553         24usize,
   3554         concat!("Size of: ", stringify!(ndb_search))
   3555     );
   3556     assert_eq!(
   3557         ::std::mem::align_of::<ndb_search>(),
   3558         8usize,
   3559         concat!("Alignment of ", stringify!(ndb_search))
   3560     );
   3561     assert_eq!(
   3562         unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
   3563         0usize,
   3564         concat!(
   3565             "Offset of field: ",
   3566             stringify!(ndb_search),
   3567             "::",
   3568             stringify!(key)
   3569         )
   3570     );
   3571     assert_eq!(
   3572         unsafe { ::std::ptr::addr_of!((*ptr).profile_key) as usize - ptr as usize },
   3573         8usize,
   3574         concat!(
   3575             "Offset of field: ",
   3576             stringify!(ndb_search),
   3577             "::",
   3578             stringify!(profile_key)
   3579         )
   3580     );
   3581     assert_eq!(
   3582         unsafe { ::std::ptr::addr_of!((*ptr).cursor) as usize - ptr as usize },
   3583         16usize,
   3584         concat!(
   3585             "Offset of field: ",
   3586             stringify!(ndb_search),
   3587             "::",
   3588             stringify!(cursor)
   3589         )
   3590     );
   3591 }
   3592 #[repr(C)]
   3593 #[derive(Copy, Clone)]
   3594 pub struct ndb_fce {
   3595     pub evtype: fce_type,
   3596     pub __bindgen_anon_1: ndb_fce__bindgen_ty_1,
   3597 }
   3598 #[repr(C)]
   3599 #[derive(Copy, Clone)]
   3600 pub union ndb_fce__bindgen_ty_1 {
   3601     pub event: ndb_event,
   3602 }
   3603 #[test]
   3604 fn bindgen_test_layout_ndb_fce__bindgen_ty_1() {
   3605     const UNINIT: ::std::mem::MaybeUninit<ndb_fce__bindgen_ty_1> =
   3606         ::std::mem::MaybeUninit::uninit();
   3607     let ptr = UNINIT.as_ptr();
   3608     assert_eq!(
   3609         ::std::mem::size_of::<ndb_fce__bindgen_ty_1>(),
   3610         8usize,
   3611         concat!("Size of: ", stringify!(ndb_fce__bindgen_ty_1))
   3612     );
   3613     assert_eq!(
   3614         ::std::mem::align_of::<ndb_fce__bindgen_ty_1>(),
   3615         8usize,
   3616         concat!("Alignment of ", stringify!(ndb_fce__bindgen_ty_1))
   3617     );
   3618     assert_eq!(
   3619         unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
   3620         0usize,
   3621         concat!(
   3622             "Offset of field: ",
   3623             stringify!(ndb_fce__bindgen_ty_1),
   3624             "::",
   3625             stringify!(event)
   3626         )
   3627     );
   3628 }
   3629 #[test]
   3630 fn bindgen_test_layout_ndb_fce() {
   3631     const UNINIT: ::std::mem::MaybeUninit<ndb_fce> = ::std::mem::MaybeUninit::uninit();
   3632     let ptr = UNINIT.as_ptr();
   3633     assert_eq!(
   3634         ::std::mem::size_of::<ndb_fce>(),
   3635         16usize,
   3636         concat!("Size of: ", stringify!(ndb_fce))
   3637     );
   3638     assert_eq!(
   3639         ::std::mem::align_of::<ndb_fce>(),
   3640         8usize,
   3641         concat!("Alignment of ", stringify!(ndb_fce))
   3642     );
   3643     assert_eq!(
   3644         unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
   3645         0usize,
   3646         concat!(
   3647             "Offset of field: ",
   3648             stringify!(ndb_fce),
   3649             "::",
   3650             stringify!(evtype)
   3651         )
   3652     );
   3653 }
   3654 #[repr(C)]
   3655 #[derive(Copy, Clone)]
   3656 pub struct ndb_tce {
   3657     pub evtype: tce_type,
   3658     pub subid: *const ::std::os::raw::c_char,
   3659     pub subid_len: ::std::os::raw::c_int,
   3660     pub __bindgen_anon_1: ndb_tce__bindgen_ty_1,
   3661 }
   3662 #[repr(C)]
   3663 #[derive(Copy, Clone)]
   3664 pub union ndb_tce__bindgen_ty_1 {
   3665     pub event: ndb_event,
   3666     pub command_result: ndb_command_result,
   3667 }
   3668 #[test]
   3669 fn bindgen_test_layout_ndb_tce__bindgen_ty_1() {
   3670     const UNINIT: ::std::mem::MaybeUninit<ndb_tce__bindgen_ty_1> =
   3671         ::std::mem::MaybeUninit::uninit();
   3672     let ptr = UNINIT.as_ptr();
   3673     assert_eq!(
   3674         ::std::mem::size_of::<ndb_tce__bindgen_ty_1>(),
   3675         24usize,
   3676         concat!("Size of: ", stringify!(ndb_tce__bindgen_ty_1))
   3677     );
   3678     assert_eq!(
   3679         ::std::mem::align_of::<ndb_tce__bindgen_ty_1>(),
   3680         8usize,
   3681         concat!("Alignment of ", stringify!(ndb_tce__bindgen_ty_1))
   3682     );
   3683     assert_eq!(
   3684         unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
   3685         0usize,
   3686         concat!(
   3687             "Offset of field: ",
   3688             stringify!(ndb_tce__bindgen_ty_1),
   3689             "::",
   3690             stringify!(event)
   3691         )
   3692     );
   3693     assert_eq!(
   3694         unsafe { ::std::ptr::addr_of!((*ptr).command_result) as usize - ptr as usize },
   3695         0usize,
   3696         concat!(
   3697             "Offset of field: ",
   3698             stringify!(ndb_tce__bindgen_ty_1),
   3699             "::",
   3700             stringify!(command_result)
   3701         )
   3702     );
   3703 }
   3704 #[test]
   3705 fn bindgen_test_layout_ndb_tce() {
   3706     const UNINIT: ::std::mem::MaybeUninit<ndb_tce> = ::std::mem::MaybeUninit::uninit();
   3707     let ptr = UNINIT.as_ptr();
   3708     assert_eq!(
   3709         ::std::mem::size_of::<ndb_tce>(),
   3710         48usize,
   3711         concat!("Size of: ", stringify!(ndb_tce))
   3712     );
   3713     assert_eq!(
   3714         ::std::mem::align_of::<ndb_tce>(),
   3715         8usize,
   3716         concat!("Alignment of ", stringify!(ndb_tce))
   3717     );
   3718     assert_eq!(
   3719         unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
   3720         0usize,
   3721         concat!(
   3722             "Offset of field: ",
   3723             stringify!(ndb_tce),
   3724             "::",
   3725             stringify!(evtype)
   3726         )
   3727     );
   3728     assert_eq!(
   3729         unsafe { ::std::ptr::addr_of!((*ptr).subid) as usize - ptr as usize },
   3730         8usize,
   3731         concat!(
   3732             "Offset of field: ",
   3733             stringify!(ndb_tce),
   3734             "::",
   3735             stringify!(subid)
   3736         )
   3737     );
   3738     assert_eq!(
   3739         unsafe { ::std::ptr::addr_of!((*ptr).subid_len) as usize - ptr as usize },
   3740         16usize,
   3741         concat!(
   3742             "Offset of field: ",
   3743             stringify!(ndb_tce),
   3744             "::",
   3745             stringify!(subid_len)
   3746         )
   3747     );
   3748 }
   3749 pub type ndb_ingest_filter_fn = ::std::option::Option<
   3750     unsafe extern "C" fn(
   3751         arg1: *mut ::std::os::raw::c_void,
   3752         arg2: *mut ndb_note,
   3753     ) -> ndb_ingest_filter_action,
   3754 >;
   3755 pub const ndb_filter_fieldtype_NDB_FILTER_IDS: ndb_filter_fieldtype = 1;
   3756 pub const ndb_filter_fieldtype_NDB_FILTER_AUTHORS: ndb_filter_fieldtype = 2;
   3757 pub const ndb_filter_fieldtype_NDB_FILTER_KINDS: ndb_filter_fieldtype = 3;
   3758 pub const ndb_filter_fieldtype_NDB_FILTER_TAGS: ndb_filter_fieldtype = 4;
   3759 pub const ndb_filter_fieldtype_NDB_FILTER_SINCE: ndb_filter_fieldtype = 5;
   3760 pub const ndb_filter_fieldtype_NDB_FILTER_UNTIL: ndb_filter_fieldtype = 6;
   3761 pub const ndb_filter_fieldtype_NDB_FILTER_LIMIT: ndb_filter_fieldtype = 7;
   3762 pub type ndb_filter_fieldtype = ::std::os::raw::c_uint;
   3763 pub const ndb_generic_element_type_NDB_ELEMENT_UNKNOWN: ndb_generic_element_type = 0;
   3764 pub const ndb_generic_element_type_NDB_ELEMENT_STRING: ndb_generic_element_type = 1;
   3765 pub const ndb_generic_element_type_NDB_ELEMENT_ID: ndb_generic_element_type = 2;
   3766 pub const ndb_generic_element_type_NDB_ELEMENT_INT: ndb_generic_element_type = 3;
   3767 pub type ndb_generic_element_type = ::std::os::raw::c_uint;
   3768 pub const ndb_search_order_NDB_ORDER_DESCENDING: ndb_search_order = 0;
   3769 pub const ndb_search_order_NDB_ORDER_ASCENDING: ndb_search_order = 1;
   3770 pub type ndb_search_order = ::std::os::raw::c_uint;
   3771 pub const ndb_dbs_NDB_DB_NOTE: ndb_dbs = 0;
   3772 pub const ndb_dbs_NDB_DB_META: ndb_dbs = 1;
   3773 pub const ndb_dbs_NDB_DB_PROFILE: ndb_dbs = 2;
   3774 pub const ndb_dbs_NDB_DB_NOTE_ID: ndb_dbs = 3;
   3775 pub const ndb_dbs_NDB_DB_PROFILE_PK: ndb_dbs = 4;
   3776 pub const ndb_dbs_NDB_DB_NDB_META: ndb_dbs = 5;
   3777 pub const ndb_dbs_NDB_DB_PROFILE_SEARCH: ndb_dbs = 6;
   3778 pub const ndb_dbs_NDB_DB_PROFILE_LAST_FETCH: ndb_dbs = 7;
   3779 pub const ndb_dbs_NDB_DB_NOTE_KIND: ndb_dbs = 8;
   3780 pub const ndb_dbs_NDB_DB_NOTE_TEXT: ndb_dbs = 9;
   3781 pub const ndb_dbs_NDB_DB_NOTE_BLOCKS: ndb_dbs = 10;
   3782 pub const ndb_dbs_NDB_DB_NOTE_TAGS: ndb_dbs = 11;
   3783 pub const ndb_dbs_NDB_DBS: ndb_dbs = 12;
   3784 pub type ndb_dbs = ::std::os::raw::c_uint;
   3785 pub const ndb_common_kind_NDB_CKIND_PROFILE: ndb_common_kind = 0;
   3786 pub const ndb_common_kind_NDB_CKIND_TEXT: ndb_common_kind = 1;
   3787 pub const ndb_common_kind_NDB_CKIND_CONTACTS: ndb_common_kind = 2;
   3788 pub const ndb_common_kind_NDB_CKIND_DM: ndb_common_kind = 3;
   3789 pub const ndb_common_kind_NDB_CKIND_DELETE: ndb_common_kind = 4;
   3790 pub const ndb_common_kind_NDB_CKIND_REPOST: ndb_common_kind = 5;
   3791 pub const ndb_common_kind_NDB_CKIND_REACTION: ndb_common_kind = 6;
   3792 pub const ndb_common_kind_NDB_CKIND_ZAP: ndb_common_kind = 7;
   3793 pub const ndb_common_kind_NDB_CKIND_ZAP_REQUEST: ndb_common_kind = 8;
   3794 pub const ndb_common_kind_NDB_CKIND_NWC_REQUEST: ndb_common_kind = 9;
   3795 pub const ndb_common_kind_NDB_CKIND_NWC_RESPONSE: ndb_common_kind = 10;
   3796 pub const ndb_common_kind_NDB_CKIND_HTTP_AUTH: ndb_common_kind = 11;
   3797 pub const ndb_common_kind_NDB_CKIND_LIST: ndb_common_kind = 12;
   3798 pub const ndb_common_kind_NDB_CKIND_LONGFORM: ndb_common_kind = 13;
   3799 pub const ndb_common_kind_NDB_CKIND_STATUS: ndb_common_kind = 14;
   3800 pub const ndb_common_kind_NDB_CKIND_COUNT: ndb_common_kind = 15;
   3801 pub type ndb_common_kind = ::std::os::raw::c_uint;
   3802 #[repr(C)]
   3803 #[derive(Debug, Copy, Clone)]
   3804 pub struct ndb_builder {
   3805     pub mem: cursor,
   3806     pub note_cur: cursor,
   3807     pub strings: cursor,
   3808     pub str_indices: cursor,
   3809     pub note: *mut ndb_note,
   3810     pub current_tag: *mut ndb_tag,
   3811 }
   3812 #[test]
   3813 fn bindgen_test_layout_ndb_builder() {
   3814     const UNINIT: ::std::mem::MaybeUninit<ndb_builder> = ::std::mem::MaybeUninit::uninit();
   3815     let ptr = UNINIT.as_ptr();
   3816     assert_eq!(
   3817         ::std::mem::size_of::<ndb_builder>(),
   3818         112usize,
   3819         concat!("Size of: ", stringify!(ndb_builder))
   3820     );
   3821     assert_eq!(
   3822         ::std::mem::align_of::<ndb_builder>(),
   3823         8usize,
   3824         concat!("Alignment of ", stringify!(ndb_builder))
   3825     );
   3826     assert_eq!(
   3827         unsafe { ::std::ptr::addr_of!((*ptr).mem) as usize - ptr as usize },
   3828         0usize,
   3829         concat!(
   3830             "Offset of field: ",
   3831             stringify!(ndb_builder),
   3832             "::",
   3833             stringify!(mem)
   3834         )
   3835     );
   3836     assert_eq!(
   3837         unsafe { ::std::ptr::addr_of!((*ptr).note_cur) as usize - ptr as usize },
   3838         24usize,
   3839         concat!(
   3840             "Offset of field: ",
   3841             stringify!(ndb_builder),
   3842             "::",
   3843             stringify!(note_cur)
   3844         )
   3845     );
   3846     assert_eq!(
   3847         unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
   3848         48usize,
   3849         concat!(
   3850             "Offset of field: ",
   3851             stringify!(ndb_builder),
   3852             "::",
   3853             stringify!(strings)
   3854         )
   3855     );
   3856     assert_eq!(
   3857         unsafe { ::std::ptr::addr_of!((*ptr).str_indices) as usize - ptr as usize },
   3858         72usize,
   3859         concat!(
   3860             "Offset of field: ",
   3861             stringify!(ndb_builder),
   3862             "::",
   3863             stringify!(str_indices)
   3864         )
   3865     );
   3866     assert_eq!(
   3867         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   3868         96usize,
   3869         concat!(
   3870             "Offset of field: ",
   3871             stringify!(ndb_builder),
   3872             "::",
   3873             stringify!(note)
   3874         )
   3875     );
   3876     assert_eq!(
   3877         unsafe { ::std::ptr::addr_of!((*ptr).current_tag) as usize - ptr as usize },
   3878         104usize,
   3879         concat!(
   3880             "Offset of field: ",
   3881             stringify!(ndb_builder),
   3882             "::",
   3883             stringify!(current_tag)
   3884         )
   3885     );
   3886 }
   3887 #[repr(C)]
   3888 #[derive(Debug, Copy, Clone)]
   3889 pub struct ndb_iterator {
   3890     pub note: *mut ndb_note,
   3891     pub tag: *mut ndb_tag,
   3892     pub index: ::std::os::raw::c_int,
   3893 }
   3894 #[test]
   3895 fn bindgen_test_layout_ndb_iterator() {
   3896     const UNINIT: ::std::mem::MaybeUninit<ndb_iterator> = ::std::mem::MaybeUninit::uninit();
   3897     let ptr = UNINIT.as_ptr();
   3898     assert_eq!(
   3899         ::std::mem::size_of::<ndb_iterator>(),
   3900         24usize,
   3901         concat!("Size of: ", stringify!(ndb_iterator))
   3902     );
   3903     assert_eq!(
   3904         ::std::mem::align_of::<ndb_iterator>(),
   3905         8usize,
   3906         concat!("Alignment of ", stringify!(ndb_iterator))
   3907     );
   3908     assert_eq!(
   3909         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   3910         0usize,
   3911         concat!(
   3912             "Offset of field: ",
   3913             stringify!(ndb_iterator),
   3914             "::",
   3915             stringify!(note)
   3916         )
   3917     );
   3918     assert_eq!(
   3919         unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
   3920         8usize,
   3921         concat!(
   3922             "Offset of field: ",
   3923             stringify!(ndb_iterator),
   3924             "::",
   3925             stringify!(tag)
   3926         )
   3927     );
   3928     assert_eq!(
   3929         unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
   3930         16usize,
   3931         concat!(
   3932             "Offset of field: ",
   3933             stringify!(ndb_iterator),
   3934             "::",
   3935             stringify!(index)
   3936         )
   3937     );
   3938 }
   3939 #[repr(C)]
   3940 #[derive(Debug, Copy, Clone)]
   3941 pub struct ndb_filter_string {
   3942     pub string: *const ::std::os::raw::c_char,
   3943     pub len: ::std::os::raw::c_int,
   3944 }
   3945 #[test]
   3946 fn bindgen_test_layout_ndb_filter_string() {
   3947     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_string> = ::std::mem::MaybeUninit::uninit();
   3948     let ptr = UNINIT.as_ptr();
   3949     assert_eq!(
   3950         ::std::mem::size_of::<ndb_filter_string>(),
   3951         16usize,
   3952         concat!("Size of: ", stringify!(ndb_filter_string))
   3953     );
   3954     assert_eq!(
   3955         ::std::mem::align_of::<ndb_filter_string>(),
   3956         8usize,
   3957         concat!("Alignment of ", stringify!(ndb_filter_string))
   3958     );
   3959     assert_eq!(
   3960         unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
   3961         0usize,
   3962         concat!(
   3963             "Offset of field: ",
   3964             stringify!(ndb_filter_string),
   3965             "::",
   3966             stringify!(string)
   3967         )
   3968     );
   3969     assert_eq!(
   3970         unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
   3971         8usize,
   3972         concat!(
   3973             "Offset of field: ",
   3974             stringify!(ndb_filter_string),
   3975             "::",
   3976             stringify!(len)
   3977         )
   3978     );
   3979 }
   3980 #[repr(C)]
   3981 #[derive(Copy, Clone)]
   3982 pub union ndb_filter_element {
   3983     pub string: ndb_filter_string,
   3984     pub id: *const ::std::os::raw::c_uchar,
   3985     pub integer: u64,
   3986 }
   3987 #[test]
   3988 fn bindgen_test_layout_ndb_filter_element() {
   3989     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_element> = ::std::mem::MaybeUninit::uninit();
   3990     let ptr = UNINIT.as_ptr();
   3991     assert_eq!(
   3992         ::std::mem::size_of::<ndb_filter_element>(),
   3993         16usize,
   3994         concat!("Size of: ", stringify!(ndb_filter_element))
   3995     );
   3996     assert_eq!(
   3997         ::std::mem::align_of::<ndb_filter_element>(),
   3998         8usize,
   3999         concat!("Alignment of ", stringify!(ndb_filter_element))
   4000     );
   4001     assert_eq!(
   4002         unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
   4003         0usize,
   4004         concat!(
   4005             "Offset of field: ",
   4006             stringify!(ndb_filter_element),
   4007             "::",
   4008             stringify!(string)
   4009         )
   4010     );
   4011     assert_eq!(
   4012         unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
   4013         0usize,
   4014         concat!(
   4015             "Offset of field: ",
   4016             stringify!(ndb_filter_element),
   4017             "::",
   4018             stringify!(id)
   4019         )
   4020     );
   4021     assert_eq!(
   4022         unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
   4023         0usize,
   4024         concat!(
   4025             "Offset of field: ",
   4026             stringify!(ndb_filter_element),
   4027             "::",
   4028             stringify!(integer)
   4029         )
   4030     );
   4031 }
   4032 #[repr(C)]
   4033 #[derive(Debug, Copy, Clone)]
   4034 pub struct ndb_filter_field {
   4035     pub type_: ndb_filter_fieldtype,
   4036     pub elem_type: ndb_generic_element_type,
   4037     pub tag: ::std::os::raw::c_char,
   4038 }
   4039 #[test]
   4040 fn bindgen_test_layout_ndb_filter_field() {
   4041     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_field> = ::std::mem::MaybeUninit::uninit();
   4042     let ptr = UNINIT.as_ptr();
   4043     assert_eq!(
   4044         ::std::mem::size_of::<ndb_filter_field>(),
   4045         12usize,
   4046         concat!("Size of: ", stringify!(ndb_filter_field))
   4047     );
   4048     assert_eq!(
   4049         ::std::mem::align_of::<ndb_filter_field>(),
   4050         4usize,
   4051         concat!("Alignment of ", stringify!(ndb_filter_field))
   4052     );
   4053     assert_eq!(
   4054         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   4055         0usize,
   4056         concat!(
   4057             "Offset of field: ",
   4058             stringify!(ndb_filter_field),
   4059             "::",
   4060             stringify!(type_)
   4061         )
   4062     );
   4063     assert_eq!(
   4064         unsafe { ::std::ptr::addr_of!((*ptr).elem_type) as usize - ptr as usize },
   4065         4usize,
   4066         concat!(
   4067             "Offset of field: ",
   4068             stringify!(ndb_filter_field),
   4069             "::",
   4070             stringify!(elem_type)
   4071         )
   4072     );
   4073     assert_eq!(
   4074         unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
   4075         8usize,
   4076         concat!(
   4077             "Offset of field: ",
   4078             stringify!(ndb_filter_field),
   4079             "::",
   4080             stringify!(tag)
   4081         )
   4082     );
   4083 }
   4084 #[repr(C)]
   4085 #[derive(Debug)]
   4086 pub struct ndb_filter_elements {
   4087     pub field: ndb_filter_field,
   4088     pub count: ::std::os::raw::c_int,
   4089     pub elements: __IncompleteArrayField<u64>,
   4090 }
   4091 #[test]
   4092 fn bindgen_test_layout_ndb_filter_elements() {
   4093     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_elements> = ::std::mem::MaybeUninit::uninit();
   4094     let ptr = UNINIT.as_ptr();
   4095     assert_eq!(
   4096         ::std::mem::size_of::<ndb_filter_elements>(),
   4097         16usize,
   4098         concat!("Size of: ", stringify!(ndb_filter_elements))
   4099     );
   4100     assert_eq!(
   4101         ::std::mem::align_of::<ndb_filter_elements>(),
   4102         8usize,
   4103         concat!("Alignment of ", stringify!(ndb_filter_elements))
   4104     );
   4105     assert_eq!(
   4106         unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
   4107         0usize,
   4108         concat!(
   4109             "Offset of field: ",
   4110             stringify!(ndb_filter_elements),
   4111             "::",
   4112             stringify!(field)
   4113         )
   4114     );
   4115     assert_eq!(
   4116         unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
   4117         12usize,
   4118         concat!(
   4119             "Offset of field: ",
   4120             stringify!(ndb_filter_elements),
   4121             "::",
   4122             stringify!(count)
   4123         )
   4124     );
   4125     assert_eq!(
   4126         unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
   4127         16usize,
   4128         concat!(
   4129             "Offset of field: ",
   4130             stringify!(ndb_filter_elements),
   4131             "::",
   4132             stringify!(elements)
   4133         )
   4134     );
   4135 }
   4136 #[repr(C)]
   4137 #[derive(Debug, Copy, Clone)]
   4138 pub struct ndb_filter {
   4139     pub elem_buf: cursor,
   4140     pub data_buf: cursor,
   4141     pub num_elements: ::std::os::raw::c_int,
   4142     pub finalized: ::std::os::raw::c_int,
   4143     pub current: ::std::os::raw::c_int,
   4144     pub elements: [::std::os::raw::c_int; 7usize],
   4145 }
   4146 #[test]
   4147 fn bindgen_test_layout_ndb_filter() {
   4148     const UNINIT: ::std::mem::MaybeUninit<ndb_filter> = ::std::mem::MaybeUninit::uninit();
   4149     let ptr = UNINIT.as_ptr();
   4150     assert_eq!(
   4151         ::std::mem::size_of::<ndb_filter>(),
   4152         88usize,
   4153         concat!("Size of: ", stringify!(ndb_filter))
   4154     );
   4155     assert_eq!(
   4156         ::std::mem::align_of::<ndb_filter>(),
   4157         8usize,
   4158         concat!("Alignment of ", stringify!(ndb_filter))
   4159     );
   4160     assert_eq!(
   4161         unsafe { ::std::ptr::addr_of!((*ptr).elem_buf) as usize - ptr as usize },
   4162         0usize,
   4163         concat!(
   4164             "Offset of field: ",
   4165             stringify!(ndb_filter),
   4166             "::",
   4167             stringify!(elem_buf)
   4168         )
   4169     );
   4170     assert_eq!(
   4171         unsafe { ::std::ptr::addr_of!((*ptr).data_buf) as usize - ptr as usize },
   4172         24usize,
   4173         concat!(
   4174             "Offset of field: ",
   4175             stringify!(ndb_filter),
   4176             "::",
   4177             stringify!(data_buf)
   4178         )
   4179     );
   4180     assert_eq!(
   4181         unsafe { ::std::ptr::addr_of!((*ptr).num_elements) as usize - ptr as usize },
   4182         48usize,
   4183         concat!(
   4184             "Offset of field: ",
   4185             stringify!(ndb_filter),
   4186             "::",
   4187             stringify!(num_elements)
   4188         )
   4189     );
   4190     assert_eq!(
   4191         unsafe { ::std::ptr::addr_of!((*ptr).finalized) as usize - ptr as usize },
   4192         52usize,
   4193         concat!(
   4194             "Offset of field: ",
   4195             stringify!(ndb_filter),
   4196             "::",
   4197             stringify!(finalized)
   4198         )
   4199     );
   4200     assert_eq!(
   4201         unsafe { ::std::ptr::addr_of!((*ptr).current) as usize - ptr as usize },
   4202         56usize,
   4203         concat!(
   4204             "Offset of field: ",
   4205             stringify!(ndb_filter),
   4206             "::",
   4207             stringify!(current)
   4208         )
   4209     );
   4210     assert_eq!(
   4211         unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
   4212         60usize,
   4213         concat!(
   4214             "Offset of field: ",
   4215             stringify!(ndb_filter),
   4216             "::",
   4217             stringify!(elements)
   4218         )
   4219     );
   4220 }
   4221 #[repr(C)]
   4222 #[derive(Debug, Copy, Clone)]
   4223 pub struct ndb_config {
   4224     pub flags: ::std::os::raw::c_int,
   4225     pub ingester_threads: ::std::os::raw::c_int,
   4226     pub mapsize: usize,
   4227     pub filter_context: *mut ::std::os::raw::c_void,
   4228     pub ingest_filter: ndb_ingest_filter_fn,
   4229     pub sub_cb_ctx: *mut ::std::os::raw::c_void,
   4230     pub sub_cb: ndb_sub_fn,
   4231 }
   4232 #[test]
   4233 fn bindgen_test_layout_ndb_config() {
   4234     const UNINIT: ::std::mem::MaybeUninit<ndb_config> = ::std::mem::MaybeUninit::uninit();
   4235     let ptr = UNINIT.as_ptr();
   4236     assert_eq!(
   4237         ::std::mem::size_of::<ndb_config>(),
   4238         48usize,
   4239         concat!("Size of: ", stringify!(ndb_config))
   4240     );
   4241     assert_eq!(
   4242         ::std::mem::align_of::<ndb_config>(),
   4243         8usize,
   4244         concat!("Alignment of ", stringify!(ndb_config))
   4245     );
   4246     assert_eq!(
   4247         unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
   4248         0usize,
   4249         concat!(
   4250             "Offset of field: ",
   4251             stringify!(ndb_config),
   4252             "::",
   4253             stringify!(flags)
   4254         )
   4255     );
   4256     assert_eq!(
   4257         unsafe { ::std::ptr::addr_of!((*ptr).ingester_threads) as usize - ptr as usize },
   4258         4usize,
   4259         concat!(
   4260             "Offset of field: ",
   4261             stringify!(ndb_config),
   4262             "::",
   4263             stringify!(ingester_threads)
   4264         )
   4265     );
   4266     assert_eq!(
   4267         unsafe { ::std::ptr::addr_of!((*ptr).mapsize) as usize - ptr as usize },
   4268         8usize,
   4269         concat!(
   4270             "Offset of field: ",
   4271             stringify!(ndb_config),
   4272             "::",
   4273             stringify!(mapsize)
   4274         )
   4275     );
   4276     assert_eq!(
   4277         unsafe { ::std::ptr::addr_of!((*ptr).filter_context) as usize - ptr as usize },
   4278         16usize,
   4279         concat!(
   4280             "Offset of field: ",
   4281             stringify!(ndb_config),
   4282             "::",
   4283             stringify!(filter_context)
   4284         )
   4285     );
   4286     assert_eq!(
   4287         unsafe { ::std::ptr::addr_of!((*ptr).ingest_filter) as usize - ptr as usize },
   4288         24usize,
   4289         concat!(
   4290             "Offset of field: ",
   4291             stringify!(ndb_config),
   4292             "::",
   4293             stringify!(ingest_filter)
   4294         )
   4295     );
   4296     assert_eq!(
   4297         unsafe { ::std::ptr::addr_of!((*ptr).sub_cb_ctx) as usize - ptr as usize },
   4298         32usize,
   4299         concat!(
   4300             "Offset of field: ",
   4301             stringify!(ndb_config),
   4302             "::",
   4303             stringify!(sub_cb_ctx)
   4304         )
   4305     );
   4306     assert_eq!(
   4307         unsafe { ::std::ptr::addr_of!((*ptr).sub_cb) as usize - ptr as usize },
   4308         40usize,
   4309         concat!(
   4310             "Offset of field: ",
   4311             stringify!(ndb_config),
   4312             "::",
   4313             stringify!(sub_cb)
   4314         )
   4315     );
   4316 }
   4317 #[repr(C)]
   4318 #[derive(Debug, Copy, Clone)]
   4319 pub struct ndb_text_search_config {
   4320     pub order: ndb_search_order,
   4321     pub limit: ::std::os::raw::c_int,
   4322 }
   4323 #[test]
   4324 fn bindgen_test_layout_ndb_text_search_config() {
   4325     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_config> =
   4326         ::std::mem::MaybeUninit::uninit();
   4327     let ptr = UNINIT.as_ptr();
   4328     assert_eq!(
   4329         ::std::mem::size_of::<ndb_text_search_config>(),
   4330         8usize,
   4331         concat!("Size of: ", stringify!(ndb_text_search_config))
   4332     );
   4333     assert_eq!(
   4334         ::std::mem::align_of::<ndb_text_search_config>(),
   4335         4usize,
   4336         concat!("Alignment of ", stringify!(ndb_text_search_config))
   4337     );
   4338     assert_eq!(
   4339         unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
   4340         0usize,
   4341         concat!(
   4342             "Offset of field: ",
   4343             stringify!(ndb_text_search_config),
   4344             "::",
   4345             stringify!(order)
   4346         )
   4347     );
   4348     assert_eq!(
   4349         unsafe { ::std::ptr::addr_of!((*ptr).limit) as usize - ptr as usize },
   4350         4usize,
   4351         concat!(
   4352             "Offset of field: ",
   4353             stringify!(ndb_text_search_config),
   4354             "::",
   4355             stringify!(limit)
   4356         )
   4357     );
   4358 }
   4359 #[repr(C)]
   4360 #[derive(Debug, Copy, Clone)]
   4361 pub struct ndb_stat_counts {
   4362     pub key_size: usize,
   4363     pub value_size: usize,
   4364     pub count: usize,
   4365 }
   4366 #[test]
   4367 fn bindgen_test_layout_ndb_stat_counts() {
   4368     const UNINIT: ::std::mem::MaybeUninit<ndb_stat_counts> = ::std::mem::MaybeUninit::uninit();
   4369     let ptr = UNINIT.as_ptr();
   4370     assert_eq!(
   4371         ::std::mem::size_of::<ndb_stat_counts>(),
   4372         24usize,
   4373         concat!("Size of: ", stringify!(ndb_stat_counts))
   4374     );
   4375     assert_eq!(
   4376         ::std::mem::align_of::<ndb_stat_counts>(),
   4377         8usize,
   4378         concat!("Alignment of ", stringify!(ndb_stat_counts))
   4379     );
   4380     assert_eq!(
   4381         unsafe { ::std::ptr::addr_of!((*ptr).key_size) as usize - ptr as usize },
   4382         0usize,
   4383         concat!(
   4384             "Offset of field: ",
   4385             stringify!(ndb_stat_counts),
   4386             "::",
   4387             stringify!(key_size)
   4388         )
   4389     );
   4390     assert_eq!(
   4391         unsafe { ::std::ptr::addr_of!((*ptr).value_size) as usize - ptr as usize },
   4392         8usize,
   4393         concat!(
   4394             "Offset of field: ",
   4395             stringify!(ndb_stat_counts),
   4396             "::",
   4397             stringify!(value_size)
   4398         )
   4399     );
   4400     assert_eq!(
   4401         unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
   4402         16usize,
   4403         concat!(
   4404             "Offset of field: ",
   4405             stringify!(ndb_stat_counts),
   4406             "::",
   4407             stringify!(count)
   4408         )
   4409     );
   4410 }
   4411 #[repr(C)]
   4412 #[derive(Debug, Copy, Clone)]
   4413 pub struct ndb_stat {
   4414     pub dbs: [ndb_stat_counts; 12usize],
   4415     pub common_kinds: [ndb_stat_counts; 15usize],
   4416     pub other_kinds: ndb_stat_counts,
   4417 }
   4418 #[test]
   4419 fn bindgen_test_layout_ndb_stat() {
   4420     const UNINIT: ::std::mem::MaybeUninit<ndb_stat> = ::std::mem::MaybeUninit::uninit();
   4421     let ptr = UNINIT.as_ptr();
   4422     assert_eq!(
   4423         ::std::mem::size_of::<ndb_stat>(),
   4424         672usize,
   4425         concat!("Size of: ", stringify!(ndb_stat))
   4426     );
   4427     assert_eq!(
   4428         ::std::mem::align_of::<ndb_stat>(),
   4429         8usize,
   4430         concat!("Alignment of ", stringify!(ndb_stat))
   4431     );
   4432     assert_eq!(
   4433         unsafe { ::std::ptr::addr_of!((*ptr).dbs) as usize - ptr as usize },
   4434         0usize,
   4435         concat!(
   4436             "Offset of field: ",
   4437             stringify!(ndb_stat),
   4438             "::",
   4439             stringify!(dbs)
   4440         )
   4441     );
   4442     assert_eq!(
   4443         unsafe { ::std::ptr::addr_of!((*ptr).common_kinds) as usize - ptr as usize },
   4444         288usize,
   4445         concat!(
   4446             "Offset of field: ",
   4447             stringify!(ndb_stat),
   4448             "::",
   4449             stringify!(common_kinds)
   4450         )
   4451     );
   4452     assert_eq!(
   4453         unsafe { ::std::ptr::addr_of!((*ptr).other_kinds) as usize - ptr as usize },
   4454         648usize,
   4455         concat!(
   4456             "Offset of field: ",
   4457             stringify!(ndb_stat),
   4458             "::",
   4459             stringify!(other_kinds)
   4460         )
   4461     );
   4462 }
   4463 #[repr(C)]
   4464 #[derive(Debug, Copy, Clone)]
   4465 pub struct ndb_text_search_key {
   4466     pub str_len: ::std::os::raw::c_int,
   4467     pub str_: *const ::std::os::raw::c_char,
   4468     pub timestamp: u64,
   4469     pub note_id: u64,
   4470     pub word_index: u64,
   4471 }
   4472 #[test]
   4473 fn bindgen_test_layout_ndb_text_search_key() {
   4474     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_key> = ::std::mem::MaybeUninit::uninit();
   4475     let ptr = UNINIT.as_ptr();
   4476     assert_eq!(
   4477         ::std::mem::size_of::<ndb_text_search_key>(),
   4478         40usize,
   4479         concat!("Size of: ", stringify!(ndb_text_search_key))
   4480     );
   4481     assert_eq!(
   4482         ::std::mem::align_of::<ndb_text_search_key>(),
   4483         8usize,
   4484         concat!("Alignment of ", stringify!(ndb_text_search_key))
   4485     );
   4486     assert_eq!(
   4487         unsafe { ::std::ptr::addr_of!((*ptr).str_len) as usize - ptr as usize },
   4488         0usize,
   4489         concat!(
   4490             "Offset of field: ",
   4491             stringify!(ndb_text_search_key),
   4492             "::",
   4493             stringify!(str_len)
   4494         )
   4495     );
   4496     assert_eq!(
   4497         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   4498         8usize,
   4499         concat!(
   4500             "Offset of field: ",
   4501             stringify!(ndb_text_search_key),
   4502             "::",
   4503             stringify!(str_)
   4504         )
   4505     );
   4506     assert_eq!(
   4507         unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
   4508         16usize,
   4509         concat!(
   4510             "Offset of field: ",
   4511             stringify!(ndb_text_search_key),
   4512             "::",
   4513             stringify!(timestamp)
   4514         )
   4515     );
   4516     assert_eq!(
   4517         unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
   4518         24usize,
   4519         concat!(
   4520             "Offset of field: ",
   4521             stringify!(ndb_text_search_key),
   4522             "::",
   4523             stringify!(note_id)
   4524         )
   4525     );
   4526     assert_eq!(
   4527         unsafe { ::std::ptr::addr_of!((*ptr).word_index) as usize - ptr as usize },
   4528         32usize,
   4529         concat!(
   4530             "Offset of field: ",
   4531             stringify!(ndb_text_search_key),
   4532             "::",
   4533             stringify!(word_index)
   4534         )
   4535     );
   4536 }
   4537 #[repr(C)]
   4538 #[derive(Debug, Copy, Clone)]
   4539 pub struct ndb_text_search_result {
   4540     pub key: ndb_text_search_key,
   4541     pub prefix_chars: ::std::os::raw::c_int,
   4542 }
   4543 #[test]
   4544 fn bindgen_test_layout_ndb_text_search_result() {
   4545     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_result> =
   4546         ::std::mem::MaybeUninit::uninit();
   4547     let ptr = UNINIT.as_ptr();
   4548     assert_eq!(
   4549         ::std::mem::size_of::<ndb_text_search_result>(),
   4550         48usize,
   4551         concat!("Size of: ", stringify!(ndb_text_search_result))
   4552     );
   4553     assert_eq!(
   4554         ::std::mem::align_of::<ndb_text_search_result>(),
   4555         8usize,
   4556         concat!("Alignment of ", stringify!(ndb_text_search_result))
   4557     );
   4558     assert_eq!(
   4559         unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
   4560         0usize,
   4561         concat!(
   4562             "Offset of field: ",
   4563             stringify!(ndb_text_search_result),
   4564             "::",
   4565             stringify!(key)
   4566         )
   4567     );
   4568     assert_eq!(
   4569         unsafe { ::std::ptr::addr_of!((*ptr).prefix_chars) as usize - ptr as usize },
   4570         40usize,
   4571         concat!(
   4572             "Offset of field: ",
   4573             stringify!(ndb_text_search_result),
   4574             "::",
   4575             stringify!(prefix_chars)
   4576         )
   4577     );
   4578 }
   4579 #[repr(C)]
   4580 #[derive(Debug, Copy, Clone)]
   4581 pub struct ndb_text_search_results {
   4582     pub results: [ndb_text_search_result; 128usize],
   4583     pub num_results: ::std::os::raw::c_int,
   4584 }
   4585 #[test]
   4586 fn bindgen_test_layout_ndb_text_search_results() {
   4587     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_results> =
   4588         ::std::mem::MaybeUninit::uninit();
   4589     let ptr = UNINIT.as_ptr();
   4590     assert_eq!(
   4591         ::std::mem::size_of::<ndb_text_search_results>(),
   4592         6152usize,
   4593         concat!("Size of: ", stringify!(ndb_text_search_results))
   4594     );
   4595     assert_eq!(
   4596         ::std::mem::align_of::<ndb_text_search_results>(),
   4597         8usize,
   4598         concat!("Alignment of ", stringify!(ndb_text_search_results))
   4599     );
   4600     assert_eq!(
   4601         unsafe { ::std::ptr::addr_of!((*ptr).results) as usize - ptr as usize },
   4602         0usize,
   4603         concat!(
   4604             "Offset of field: ",
   4605             stringify!(ndb_text_search_results),
   4606             "::",
   4607             stringify!(results)
   4608         )
   4609     );
   4610     assert_eq!(
   4611         unsafe { ::std::ptr::addr_of!((*ptr).num_results) as usize - ptr as usize },
   4612         6144usize,
   4613         concat!(
   4614             "Offset of field: ",
   4615             stringify!(ndb_text_search_results),
   4616             "::",
   4617             stringify!(num_results)
   4618         )
   4619     );
   4620 }
   4621 pub const ndb_block_type_BLOCK_HASHTAG: ndb_block_type = 1;
   4622 pub const ndb_block_type_BLOCK_TEXT: ndb_block_type = 2;
   4623 pub const ndb_block_type_BLOCK_MENTION_INDEX: ndb_block_type = 3;
   4624 pub const ndb_block_type_BLOCK_MENTION_BECH32: ndb_block_type = 4;
   4625 pub const ndb_block_type_BLOCK_URL: ndb_block_type = 5;
   4626 pub const ndb_block_type_BLOCK_INVOICE: ndb_block_type = 6;
   4627 pub type ndb_block_type = ::std::os::raw::c_uint;
   4628 #[repr(C)]
   4629 #[derive(Debug, Copy, Clone)]
   4630 pub struct ndb_relays {
   4631     pub relays: [ndb_str_block; 24usize],
   4632     pub num_relays: ::std::os::raw::c_int,
   4633 }
   4634 #[test]
   4635 fn bindgen_test_layout_ndb_relays() {
   4636     const UNINIT: ::std::mem::MaybeUninit<ndb_relays> = ::std::mem::MaybeUninit::uninit();
   4637     let ptr = UNINIT.as_ptr();
   4638     assert_eq!(
   4639         ::std::mem::size_of::<ndb_relays>(),
   4640         392usize,
   4641         concat!("Size of: ", stringify!(ndb_relays))
   4642     );
   4643     assert_eq!(
   4644         ::std::mem::align_of::<ndb_relays>(),
   4645         8usize,
   4646         concat!("Alignment of ", stringify!(ndb_relays))
   4647     );
   4648     assert_eq!(
   4649         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4650         0usize,
   4651         concat!(
   4652             "Offset of field: ",
   4653             stringify!(ndb_relays),
   4654             "::",
   4655             stringify!(relays)
   4656         )
   4657     );
   4658     assert_eq!(
   4659         unsafe { ::std::ptr::addr_of!((*ptr).num_relays) as usize - ptr as usize },
   4660         384usize,
   4661         concat!(
   4662             "Offset of field: ",
   4663             stringify!(ndb_relays),
   4664             "::",
   4665             stringify!(num_relays)
   4666         )
   4667     );
   4668 }
   4669 pub const nostr_bech32_type_NOSTR_BECH32_NOTE: nostr_bech32_type = 1;
   4670 pub const nostr_bech32_type_NOSTR_BECH32_NPUB: nostr_bech32_type = 2;
   4671 pub const nostr_bech32_type_NOSTR_BECH32_NPROFILE: nostr_bech32_type = 3;
   4672 pub const nostr_bech32_type_NOSTR_BECH32_NEVENT: nostr_bech32_type = 4;
   4673 pub const nostr_bech32_type_NOSTR_BECH32_NRELAY: nostr_bech32_type = 5;
   4674 pub const nostr_bech32_type_NOSTR_BECH32_NADDR: nostr_bech32_type = 6;
   4675 pub const nostr_bech32_type_NOSTR_BECH32_NSEC: nostr_bech32_type = 7;
   4676 pub type nostr_bech32_type = ::std::os::raw::c_uint;
   4677 #[repr(C)]
   4678 #[derive(Debug, Copy, Clone)]
   4679 pub struct bech32_note {
   4680     pub event_id: *const ::std::os::raw::c_uchar,
   4681 }
   4682 #[test]
   4683 fn bindgen_test_layout_bech32_note() {
   4684     const UNINIT: ::std::mem::MaybeUninit<bech32_note> = ::std::mem::MaybeUninit::uninit();
   4685     let ptr = UNINIT.as_ptr();
   4686     assert_eq!(
   4687         ::std::mem::size_of::<bech32_note>(),
   4688         8usize,
   4689         concat!("Size of: ", stringify!(bech32_note))
   4690     );
   4691     assert_eq!(
   4692         ::std::mem::align_of::<bech32_note>(),
   4693         8usize,
   4694         concat!("Alignment of ", stringify!(bech32_note))
   4695     );
   4696     assert_eq!(
   4697         unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
   4698         0usize,
   4699         concat!(
   4700             "Offset of field: ",
   4701             stringify!(bech32_note),
   4702             "::",
   4703             stringify!(event_id)
   4704         )
   4705     );
   4706 }
   4707 #[repr(C)]
   4708 #[derive(Debug, Copy, Clone)]
   4709 pub struct bech32_npub {
   4710     pub pubkey: *const ::std::os::raw::c_uchar,
   4711 }
   4712 #[test]
   4713 fn bindgen_test_layout_bech32_npub() {
   4714     const UNINIT: ::std::mem::MaybeUninit<bech32_npub> = ::std::mem::MaybeUninit::uninit();
   4715     let ptr = UNINIT.as_ptr();
   4716     assert_eq!(
   4717         ::std::mem::size_of::<bech32_npub>(),
   4718         8usize,
   4719         concat!("Size of: ", stringify!(bech32_npub))
   4720     );
   4721     assert_eq!(
   4722         ::std::mem::align_of::<bech32_npub>(),
   4723         8usize,
   4724         concat!("Alignment of ", stringify!(bech32_npub))
   4725     );
   4726     assert_eq!(
   4727         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4728         0usize,
   4729         concat!(
   4730             "Offset of field: ",
   4731             stringify!(bech32_npub),
   4732             "::",
   4733             stringify!(pubkey)
   4734         )
   4735     );
   4736 }
   4737 #[repr(C)]
   4738 #[derive(Debug, Copy, Clone)]
   4739 pub struct bech32_nsec {
   4740     pub nsec: *const ::std::os::raw::c_uchar,
   4741 }
   4742 #[test]
   4743 fn bindgen_test_layout_bech32_nsec() {
   4744     const UNINIT: ::std::mem::MaybeUninit<bech32_nsec> = ::std::mem::MaybeUninit::uninit();
   4745     let ptr = UNINIT.as_ptr();
   4746     assert_eq!(
   4747         ::std::mem::size_of::<bech32_nsec>(),
   4748         8usize,
   4749         concat!("Size of: ", stringify!(bech32_nsec))
   4750     );
   4751     assert_eq!(
   4752         ::std::mem::align_of::<bech32_nsec>(),
   4753         8usize,
   4754         concat!("Alignment of ", stringify!(bech32_nsec))
   4755     );
   4756     assert_eq!(
   4757         unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
   4758         0usize,
   4759         concat!(
   4760             "Offset of field: ",
   4761             stringify!(bech32_nsec),
   4762             "::",
   4763             stringify!(nsec)
   4764         )
   4765     );
   4766 }
   4767 #[repr(C)]
   4768 #[derive(Debug, Copy, Clone)]
   4769 pub struct bech32_nevent {
   4770     pub relays: ndb_relays,
   4771     pub event_id: *const ::std::os::raw::c_uchar,
   4772     pub pubkey: *const ::std::os::raw::c_uchar,
   4773 }
   4774 #[test]
   4775 fn bindgen_test_layout_bech32_nevent() {
   4776     const UNINIT: ::std::mem::MaybeUninit<bech32_nevent> = ::std::mem::MaybeUninit::uninit();
   4777     let ptr = UNINIT.as_ptr();
   4778     assert_eq!(
   4779         ::std::mem::size_of::<bech32_nevent>(),
   4780         408usize,
   4781         concat!("Size of: ", stringify!(bech32_nevent))
   4782     );
   4783     assert_eq!(
   4784         ::std::mem::align_of::<bech32_nevent>(),
   4785         8usize,
   4786         concat!("Alignment of ", stringify!(bech32_nevent))
   4787     );
   4788     assert_eq!(
   4789         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4790         0usize,
   4791         concat!(
   4792             "Offset of field: ",
   4793             stringify!(bech32_nevent),
   4794             "::",
   4795             stringify!(relays)
   4796         )
   4797     );
   4798     assert_eq!(
   4799         unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
   4800         392usize,
   4801         concat!(
   4802             "Offset of field: ",
   4803             stringify!(bech32_nevent),
   4804             "::",
   4805             stringify!(event_id)
   4806         )
   4807     );
   4808     assert_eq!(
   4809         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4810         400usize,
   4811         concat!(
   4812             "Offset of field: ",
   4813             stringify!(bech32_nevent),
   4814             "::",
   4815             stringify!(pubkey)
   4816         )
   4817     );
   4818 }
   4819 #[repr(C)]
   4820 #[derive(Debug, Copy, Clone)]
   4821 pub struct bech32_nprofile {
   4822     pub relays: ndb_relays,
   4823     pub pubkey: *const ::std::os::raw::c_uchar,
   4824 }
   4825 #[test]
   4826 fn bindgen_test_layout_bech32_nprofile() {
   4827     const UNINIT: ::std::mem::MaybeUninit<bech32_nprofile> = ::std::mem::MaybeUninit::uninit();
   4828     let ptr = UNINIT.as_ptr();
   4829     assert_eq!(
   4830         ::std::mem::size_of::<bech32_nprofile>(),
   4831         400usize,
   4832         concat!("Size of: ", stringify!(bech32_nprofile))
   4833     );
   4834     assert_eq!(
   4835         ::std::mem::align_of::<bech32_nprofile>(),
   4836         8usize,
   4837         concat!("Alignment of ", stringify!(bech32_nprofile))
   4838     );
   4839     assert_eq!(
   4840         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4841         0usize,
   4842         concat!(
   4843             "Offset of field: ",
   4844             stringify!(bech32_nprofile),
   4845             "::",
   4846             stringify!(relays)
   4847         )
   4848     );
   4849     assert_eq!(
   4850         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4851         392usize,
   4852         concat!(
   4853             "Offset of field: ",
   4854             stringify!(bech32_nprofile),
   4855             "::",
   4856             stringify!(pubkey)
   4857         )
   4858     );
   4859 }
   4860 #[repr(C)]
   4861 #[derive(Debug, Copy, Clone)]
   4862 pub struct bech32_naddr {
   4863     pub relays: ndb_relays,
   4864     pub identifier: ndb_str_block,
   4865     pub pubkey: *const ::std::os::raw::c_uchar,
   4866 }
   4867 #[test]
   4868 fn bindgen_test_layout_bech32_naddr() {
   4869     const UNINIT: ::std::mem::MaybeUninit<bech32_naddr> = ::std::mem::MaybeUninit::uninit();
   4870     let ptr = UNINIT.as_ptr();
   4871     assert_eq!(
   4872         ::std::mem::size_of::<bech32_naddr>(),
   4873         416usize,
   4874         concat!("Size of: ", stringify!(bech32_naddr))
   4875     );
   4876     assert_eq!(
   4877         ::std::mem::align_of::<bech32_naddr>(),
   4878         8usize,
   4879         concat!("Alignment of ", stringify!(bech32_naddr))
   4880     );
   4881     assert_eq!(
   4882         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4883         0usize,
   4884         concat!(
   4885             "Offset of field: ",
   4886             stringify!(bech32_naddr),
   4887             "::",
   4888             stringify!(relays)
   4889         )
   4890     );
   4891     assert_eq!(
   4892         unsafe { ::std::ptr::addr_of!((*ptr).identifier) as usize - ptr as usize },
   4893         392usize,
   4894         concat!(
   4895             "Offset of field: ",
   4896             stringify!(bech32_naddr),
   4897             "::",
   4898             stringify!(identifier)
   4899         )
   4900     );
   4901     assert_eq!(
   4902         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4903         408usize,
   4904         concat!(
   4905             "Offset of field: ",
   4906             stringify!(bech32_naddr),
   4907             "::",
   4908             stringify!(pubkey)
   4909         )
   4910     );
   4911 }
   4912 #[repr(C)]
   4913 #[derive(Debug, Copy, Clone)]
   4914 pub struct bech32_nrelay {
   4915     pub relay: ndb_str_block,
   4916 }
   4917 #[test]
   4918 fn bindgen_test_layout_bech32_nrelay() {
   4919     const UNINIT: ::std::mem::MaybeUninit<bech32_nrelay> = ::std::mem::MaybeUninit::uninit();
   4920     let ptr = UNINIT.as_ptr();
   4921     assert_eq!(
   4922         ::std::mem::size_of::<bech32_nrelay>(),
   4923         16usize,
   4924         concat!("Size of: ", stringify!(bech32_nrelay))
   4925     );
   4926     assert_eq!(
   4927         ::std::mem::align_of::<bech32_nrelay>(),
   4928         8usize,
   4929         concat!("Alignment of ", stringify!(bech32_nrelay))
   4930     );
   4931     assert_eq!(
   4932         unsafe { ::std::ptr::addr_of!((*ptr).relay) as usize - ptr as usize },
   4933         0usize,
   4934         concat!(
   4935             "Offset of field: ",
   4936             stringify!(bech32_nrelay),
   4937             "::",
   4938             stringify!(relay)
   4939         )
   4940     );
   4941 }
   4942 #[repr(C)]
   4943 #[derive(Copy, Clone)]
   4944 pub struct nostr_bech32 {
   4945     pub type_: nostr_bech32_type,
   4946     pub __bindgen_anon_1: nostr_bech32__bindgen_ty_1,
   4947 }
   4948 #[repr(C)]
   4949 #[derive(Copy, Clone)]
   4950 pub union nostr_bech32__bindgen_ty_1 {
   4951     pub note: bech32_note,
   4952     pub npub: bech32_npub,
   4953     pub nsec: bech32_nsec,
   4954     pub nevent: bech32_nevent,
   4955     pub nprofile: bech32_nprofile,
   4956     pub naddr: bech32_naddr,
   4957     pub nrelay: bech32_nrelay,
   4958 }
   4959 #[test]
   4960 fn bindgen_test_layout_nostr_bech32__bindgen_ty_1() {
   4961     const UNINIT: ::std::mem::MaybeUninit<nostr_bech32__bindgen_ty_1> =
   4962         ::std::mem::MaybeUninit::uninit();
   4963     let ptr = UNINIT.as_ptr();
   4964     assert_eq!(
   4965         ::std::mem::size_of::<nostr_bech32__bindgen_ty_1>(),
   4966         416usize,
   4967         concat!("Size of: ", stringify!(nostr_bech32__bindgen_ty_1))
   4968     );
   4969     assert_eq!(
   4970         ::std::mem::align_of::<nostr_bech32__bindgen_ty_1>(),
   4971         8usize,
   4972         concat!("Alignment of ", stringify!(nostr_bech32__bindgen_ty_1))
   4973     );
   4974     assert_eq!(
   4975         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   4976         0usize,
   4977         concat!(
   4978             "Offset of field: ",
   4979             stringify!(nostr_bech32__bindgen_ty_1),
   4980             "::",
   4981             stringify!(note)
   4982         )
   4983     );
   4984     assert_eq!(
   4985         unsafe { ::std::ptr::addr_of!((*ptr).npub) as usize - ptr as usize },
   4986         0usize,
   4987         concat!(
   4988             "Offset of field: ",
   4989             stringify!(nostr_bech32__bindgen_ty_1),
   4990             "::",
   4991             stringify!(npub)
   4992         )
   4993     );
   4994     assert_eq!(
   4995         unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
   4996         0usize,
   4997         concat!(
   4998             "Offset of field: ",
   4999             stringify!(nostr_bech32__bindgen_ty_1),
   5000             "::",
   5001             stringify!(nsec)
   5002         )
   5003     );
   5004     assert_eq!(
   5005         unsafe { ::std::ptr::addr_of!((*ptr).nevent) as usize - ptr as usize },
   5006         0usize,
   5007         concat!(
   5008             "Offset of field: ",
   5009             stringify!(nostr_bech32__bindgen_ty_1),
   5010             "::",
   5011             stringify!(nevent)
   5012         )
   5013     );
   5014     assert_eq!(
   5015         unsafe { ::std::ptr::addr_of!((*ptr).nprofile) as usize - ptr as usize },
   5016         0usize,
   5017         concat!(
   5018             "Offset of field: ",
   5019             stringify!(nostr_bech32__bindgen_ty_1),
   5020             "::",
   5021             stringify!(nprofile)
   5022         )
   5023     );
   5024     assert_eq!(
   5025         unsafe { ::std::ptr::addr_of!((*ptr).naddr) as usize - ptr as usize },
   5026         0usize,
   5027         concat!(
   5028             "Offset of field: ",
   5029             stringify!(nostr_bech32__bindgen_ty_1),
   5030             "::",
   5031             stringify!(naddr)
   5032         )
   5033     );
   5034     assert_eq!(
   5035         unsafe { ::std::ptr::addr_of!((*ptr).nrelay) as usize - ptr as usize },
   5036         0usize,
   5037         concat!(
   5038             "Offset of field: ",
   5039             stringify!(nostr_bech32__bindgen_ty_1),
   5040             "::",
   5041             stringify!(nrelay)
   5042         )
   5043     );
   5044 }
   5045 #[test]
   5046 fn bindgen_test_layout_nostr_bech32() {
   5047     const UNINIT: ::std::mem::MaybeUninit<nostr_bech32> = ::std::mem::MaybeUninit::uninit();
   5048     let ptr = UNINIT.as_ptr();
   5049     assert_eq!(
   5050         ::std::mem::size_of::<nostr_bech32>(),
   5051         424usize,
   5052         concat!("Size of: ", stringify!(nostr_bech32))
   5053     );
   5054     assert_eq!(
   5055         ::std::mem::align_of::<nostr_bech32>(),
   5056         8usize,
   5057         concat!("Alignment of ", stringify!(nostr_bech32))
   5058     );
   5059     assert_eq!(
   5060         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   5061         0usize,
   5062         concat!(
   5063             "Offset of field: ",
   5064             stringify!(nostr_bech32),
   5065             "::",
   5066             stringify!(type_)
   5067         )
   5068     );
   5069 }
   5070 #[repr(C)]
   5071 #[derive(Copy, Clone)]
   5072 pub struct ndb_mention_bech32_block {
   5073     pub str_: ndb_str_block,
   5074     pub bech32: nostr_bech32,
   5075 }
   5076 #[test]
   5077 fn bindgen_test_layout_ndb_mention_bech32_block() {
   5078     const UNINIT: ::std::mem::MaybeUninit<ndb_mention_bech32_block> =
   5079         ::std::mem::MaybeUninit::uninit();
   5080     let ptr = UNINIT.as_ptr();
   5081     assert_eq!(
   5082         ::std::mem::size_of::<ndb_mention_bech32_block>(),
   5083         440usize,
   5084         concat!("Size of: ", stringify!(ndb_mention_bech32_block))
   5085     );
   5086     assert_eq!(
   5087         ::std::mem::align_of::<ndb_mention_bech32_block>(),
   5088         8usize,
   5089         concat!("Alignment of ", stringify!(ndb_mention_bech32_block))
   5090     );
   5091     assert_eq!(
   5092         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   5093         0usize,
   5094         concat!(
   5095             "Offset of field: ",
   5096             stringify!(ndb_mention_bech32_block),
   5097             "::",
   5098             stringify!(str_)
   5099         )
   5100     );
   5101     assert_eq!(
   5102         unsafe { ::std::ptr::addr_of!((*ptr).bech32) as usize - ptr as usize },
   5103         16usize,
   5104         concat!(
   5105             "Offset of field: ",
   5106             stringify!(ndb_mention_bech32_block),
   5107             "::",
   5108             stringify!(bech32)
   5109         )
   5110     );
   5111 }
   5112 #[repr(C)]
   5113 #[derive(Debug, Copy, Clone)]
   5114 pub struct ndb_invoice {
   5115     pub version: ::std::os::raw::c_uchar,
   5116     pub amount: u64,
   5117     pub timestamp: u64,
   5118     pub expiry: u64,
   5119     pub description: *mut ::std::os::raw::c_char,
   5120     pub description_hash: *mut ::std::os::raw::c_uchar,
   5121 }
   5122 #[test]
   5123 fn bindgen_test_layout_ndb_invoice() {
   5124     const UNINIT: ::std::mem::MaybeUninit<ndb_invoice> = ::std::mem::MaybeUninit::uninit();
   5125     let ptr = UNINIT.as_ptr();
   5126     assert_eq!(
   5127         ::std::mem::size_of::<ndb_invoice>(),
   5128         48usize,
   5129         concat!("Size of: ", stringify!(ndb_invoice))
   5130     );
   5131     assert_eq!(
   5132         ::std::mem::align_of::<ndb_invoice>(),
   5133         8usize,
   5134         concat!("Alignment of ", stringify!(ndb_invoice))
   5135     );
   5136     assert_eq!(
   5137         unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
   5138         0usize,
   5139         concat!(
   5140             "Offset of field: ",
   5141             stringify!(ndb_invoice),
   5142             "::",
   5143             stringify!(version)
   5144         )
   5145     );
   5146     assert_eq!(
   5147         unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
   5148         8usize,
   5149         concat!(
   5150             "Offset of field: ",
   5151             stringify!(ndb_invoice),
   5152             "::",
   5153             stringify!(amount)
   5154         )
   5155     );
   5156     assert_eq!(
   5157         unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
   5158         16usize,
   5159         concat!(
   5160             "Offset of field: ",
   5161             stringify!(ndb_invoice),
   5162             "::",
   5163             stringify!(timestamp)
   5164         )
   5165     );
   5166     assert_eq!(
   5167         unsafe { ::std::ptr::addr_of!((*ptr).expiry) as usize - ptr as usize },
   5168         24usize,
   5169         concat!(
   5170             "Offset of field: ",
   5171             stringify!(ndb_invoice),
   5172             "::",
   5173             stringify!(expiry)
   5174         )
   5175     );
   5176     assert_eq!(
   5177         unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
   5178         32usize,
   5179         concat!(
   5180             "Offset of field: ",
   5181             stringify!(ndb_invoice),
   5182             "::",
   5183             stringify!(description)
   5184         )
   5185     );
   5186     assert_eq!(
   5187         unsafe { ::std::ptr::addr_of!((*ptr).description_hash) as usize - ptr as usize },
   5188         40usize,
   5189         concat!(
   5190             "Offset of field: ",
   5191             stringify!(ndb_invoice),
   5192             "::",
   5193             stringify!(description_hash)
   5194         )
   5195     );
   5196 }
   5197 #[repr(C)]
   5198 #[derive(Debug, Copy, Clone)]
   5199 pub struct ndb_invoice_block {
   5200     pub invstr: ndb_str_block,
   5201     pub invoice: ndb_invoice,
   5202 }
   5203 #[test]
   5204 fn bindgen_test_layout_ndb_invoice_block() {
   5205     const UNINIT: ::std::mem::MaybeUninit<ndb_invoice_block> = ::std::mem::MaybeUninit::uninit();
   5206     let ptr = UNINIT.as_ptr();
   5207     assert_eq!(
   5208         ::std::mem::size_of::<ndb_invoice_block>(),
   5209         64usize,
   5210         concat!("Size of: ", stringify!(ndb_invoice_block))
   5211     );
   5212     assert_eq!(
   5213         ::std::mem::align_of::<ndb_invoice_block>(),
   5214         8usize,
   5215         concat!("Alignment of ", stringify!(ndb_invoice_block))
   5216     );
   5217     assert_eq!(
   5218         unsafe { ::std::ptr::addr_of!((*ptr).invstr) as usize - ptr as usize },
   5219         0usize,
   5220         concat!(
   5221             "Offset of field: ",
   5222             stringify!(ndb_invoice_block),
   5223             "::",
   5224             stringify!(invstr)
   5225         )
   5226     );
   5227     assert_eq!(
   5228         unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
   5229         16usize,
   5230         concat!(
   5231             "Offset of field: ",
   5232             stringify!(ndb_invoice_block),
   5233             "::",
   5234             stringify!(invoice)
   5235         )
   5236     );
   5237 }
   5238 #[repr(C)]
   5239 #[derive(Copy, Clone)]
   5240 pub struct ndb_block {
   5241     pub type_: ndb_block_type,
   5242     pub block: ndb_block__bindgen_ty_1,
   5243 }
   5244 #[repr(C)]
   5245 #[derive(Copy, Clone)]
   5246 pub union ndb_block__bindgen_ty_1 {
   5247     pub str_: ndb_str_block,
   5248     pub invoice: ndb_invoice_block,
   5249     pub mention_bech32: ndb_mention_bech32_block,
   5250     pub mention_index: u32,
   5251 }
   5252 #[test]
   5253 fn bindgen_test_layout_ndb_block__bindgen_ty_1() {
   5254     const UNINIT: ::std::mem::MaybeUninit<ndb_block__bindgen_ty_1> =
   5255         ::std::mem::MaybeUninit::uninit();
   5256     let ptr = UNINIT.as_ptr();
   5257     assert_eq!(
   5258         ::std::mem::size_of::<ndb_block__bindgen_ty_1>(),
   5259         440usize,
   5260         concat!("Size of: ", stringify!(ndb_block__bindgen_ty_1))
   5261     );
   5262     assert_eq!(
   5263         ::std::mem::align_of::<ndb_block__bindgen_ty_1>(),
   5264         8usize,
   5265         concat!("Alignment of ", stringify!(ndb_block__bindgen_ty_1))
   5266     );
   5267     assert_eq!(
   5268         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   5269         0usize,
   5270         concat!(
   5271             "Offset of field: ",
   5272             stringify!(ndb_block__bindgen_ty_1),
   5273             "::",
   5274             stringify!(str_)
   5275         )
   5276     );
   5277     assert_eq!(
   5278         unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
   5279         0usize,
   5280         concat!(
   5281             "Offset of field: ",
   5282             stringify!(ndb_block__bindgen_ty_1),
   5283             "::",
   5284             stringify!(invoice)
   5285         )
   5286     );
   5287     assert_eq!(
   5288         unsafe { ::std::ptr::addr_of!((*ptr).mention_bech32) as usize - ptr as usize },
   5289         0usize,
   5290         concat!(
   5291             "Offset of field: ",
   5292             stringify!(ndb_block__bindgen_ty_1),
   5293             "::",
   5294             stringify!(mention_bech32)
   5295         )
   5296     );
   5297     assert_eq!(
   5298         unsafe { ::std::ptr::addr_of!((*ptr).mention_index) as usize - ptr as usize },
   5299         0usize,
   5300         concat!(
   5301             "Offset of field: ",
   5302             stringify!(ndb_block__bindgen_ty_1),
   5303             "::",
   5304             stringify!(mention_index)
   5305         )
   5306     );
   5307 }
   5308 #[test]
   5309 fn bindgen_test_layout_ndb_block() {
   5310     const UNINIT: ::std::mem::MaybeUninit<ndb_block> = ::std::mem::MaybeUninit::uninit();
   5311     let ptr = UNINIT.as_ptr();
   5312     assert_eq!(
   5313         ::std::mem::size_of::<ndb_block>(),
   5314         448usize,
   5315         concat!("Size of: ", stringify!(ndb_block))
   5316     );
   5317     assert_eq!(
   5318         ::std::mem::align_of::<ndb_block>(),
   5319         8usize,
   5320         concat!("Alignment of ", stringify!(ndb_block))
   5321     );
   5322     assert_eq!(
   5323         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   5324         0usize,
   5325         concat!(
   5326             "Offset of field: ",
   5327             stringify!(ndb_block),
   5328             "::",
   5329             stringify!(type_)
   5330         )
   5331     );
   5332     assert_eq!(
   5333         unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
   5334         8usize,
   5335         concat!(
   5336             "Offset of field: ",
   5337             stringify!(ndb_block),
   5338             "::",
   5339             stringify!(block)
   5340         )
   5341     );
   5342 }
   5343 #[repr(C)]
   5344 #[derive(Copy, Clone)]
   5345 pub struct ndb_block_iterator {
   5346     pub content: *const ::std::os::raw::c_char,
   5347     pub blocks: *mut ndb_blocks,
   5348     pub block: ndb_block,
   5349     pub p: *mut ::std::os::raw::c_uchar,
   5350 }
   5351 #[test]
   5352 fn bindgen_test_layout_ndb_block_iterator() {
   5353     const UNINIT: ::std::mem::MaybeUninit<ndb_block_iterator> = ::std::mem::MaybeUninit::uninit();
   5354     let ptr = UNINIT.as_ptr();
   5355     assert_eq!(
   5356         ::std::mem::size_of::<ndb_block_iterator>(),
   5357         472usize,
   5358         concat!("Size of: ", stringify!(ndb_block_iterator))
   5359     );
   5360     assert_eq!(
   5361         ::std::mem::align_of::<ndb_block_iterator>(),
   5362         8usize,
   5363         concat!("Alignment of ", stringify!(ndb_block_iterator))
   5364     );
   5365     assert_eq!(
   5366         unsafe { ::std::ptr::addr_of!((*ptr).content) as usize - ptr as usize },
   5367         0usize,
   5368         concat!(
   5369             "Offset of field: ",
   5370             stringify!(ndb_block_iterator),
   5371             "::",
   5372             stringify!(content)
   5373         )
   5374     );
   5375     assert_eq!(
   5376         unsafe { ::std::ptr::addr_of!((*ptr).blocks) as usize - ptr as usize },
   5377         8usize,
   5378         concat!(
   5379             "Offset of field: ",
   5380             stringify!(ndb_block_iterator),
   5381             "::",
   5382             stringify!(blocks)
   5383         )
   5384     );
   5385     assert_eq!(
   5386         unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
   5387         16usize,
   5388         concat!(
   5389             "Offset of field: ",
   5390             stringify!(ndb_block_iterator),
   5391             "::",
   5392             stringify!(block)
   5393         )
   5394     );
   5395     assert_eq!(
   5396         unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
   5397         464usize,
   5398         concat!(
   5399             "Offset of field: ",
   5400             stringify!(ndb_block_iterator),
   5401             "::",
   5402             stringify!(p)
   5403         )
   5404     );
   5405 }
   5406 #[repr(C)]
   5407 #[derive(Debug, Copy, Clone)]
   5408 pub struct ndb_query_result {
   5409     pub note: *mut ndb_note,
   5410     pub note_size: u64,
   5411     pub note_id: u64,
   5412 }
   5413 #[test]
   5414 fn bindgen_test_layout_ndb_query_result() {
   5415     const UNINIT: ::std::mem::MaybeUninit<ndb_query_result> = ::std::mem::MaybeUninit::uninit();
   5416     let ptr = UNINIT.as_ptr();
   5417     assert_eq!(
   5418         ::std::mem::size_of::<ndb_query_result>(),
   5419         24usize,
   5420         concat!("Size of: ", stringify!(ndb_query_result))
   5421     );
   5422     assert_eq!(
   5423         ::std::mem::align_of::<ndb_query_result>(),
   5424         8usize,
   5425         concat!("Alignment of ", stringify!(ndb_query_result))
   5426     );
   5427     assert_eq!(
   5428         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   5429         0usize,
   5430         concat!(
   5431             "Offset of field: ",
   5432             stringify!(ndb_query_result),
   5433             "::",
   5434             stringify!(note)
   5435         )
   5436     );
   5437     assert_eq!(
   5438         unsafe { ::std::ptr::addr_of!((*ptr).note_size) as usize - ptr as usize },
   5439         8usize,
   5440         concat!(
   5441             "Offset of field: ",
   5442             stringify!(ndb_query_result),
   5443             "::",
   5444             stringify!(note_size)
   5445         )
   5446     );
   5447     assert_eq!(
   5448         unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
   5449         16usize,
   5450         concat!(
   5451             "Offset of field: ",
   5452             stringify!(ndb_query_result),
   5453             "::",
   5454             stringify!(note_id)
   5455         )
   5456     );
   5457 }
   5458 #[repr(C)]
   5459 #[derive(Debug, Copy, Clone)]
   5460 pub struct ndb_query_results {
   5461     pub cur: cursor,
   5462 }
   5463 #[test]
   5464 fn bindgen_test_layout_ndb_query_results() {
   5465     const UNINIT: ::std::mem::MaybeUninit<ndb_query_results> = ::std::mem::MaybeUninit::uninit();
   5466     let ptr = UNINIT.as_ptr();
   5467     assert_eq!(
   5468         ::std::mem::size_of::<ndb_query_results>(),
   5469         24usize,
   5470         concat!("Size of: ", stringify!(ndb_query_results))
   5471     );
   5472     assert_eq!(
   5473         ::std::mem::align_of::<ndb_query_results>(),
   5474         8usize,
   5475         concat!("Alignment of ", stringify!(ndb_query_results))
   5476     );
   5477     assert_eq!(
   5478         unsafe { ::std::ptr::addr_of!((*ptr).cur) as usize - ptr as usize },
   5479         0usize,
   5480         concat!(
   5481             "Offset of field: ",
   5482             stringify!(ndb_query_results),
   5483             "::",
   5484             stringify!(cur)
   5485         )
   5486     );
   5487 }
   5488 extern "C" {
   5489     pub fn ndb_default_config(arg1: *mut ndb_config);
   5490 }
   5491 extern "C" {
   5492     pub fn ndb_config_set_ingest_threads(config: *mut ndb_config, threads: ::std::os::raw::c_int);
   5493 }
   5494 extern "C" {
   5495     pub fn ndb_config_set_flags(config: *mut ndb_config, flags: ::std::os::raw::c_int);
   5496 }
   5497 extern "C" {
   5498     pub fn ndb_config_set_mapsize(config: *mut ndb_config, mapsize: usize);
   5499 }
   5500 extern "C" {
   5501     pub fn ndb_config_set_ingest_filter(
   5502         config: *mut ndb_config,
   5503         fn_: ndb_ingest_filter_fn,
   5504         arg1: *mut ::std::os::raw::c_void,
   5505     );
   5506 }
   5507 extern "C" {
   5508     pub fn ndb_config_set_subscription_callback(
   5509         config: *mut ndb_config,
   5510         fn_: ndb_sub_fn,
   5511         ctx: *mut ::std::os::raw::c_void,
   5512     );
   5513 }
   5514 extern "C" {
   5515     pub fn ndb_calculate_id(
   5516         note: *mut ndb_note,
   5517         buf: *mut ::std::os::raw::c_uchar,
   5518         buflen: ::std::os::raw::c_int,
   5519     ) -> ::std::os::raw::c_int;
   5520 }
   5521 extern "C" {
   5522     pub fn ndb_sign_id(
   5523         keypair: *mut ndb_keypair,
   5524         id: *mut ::std::os::raw::c_uchar,
   5525         sig: *mut ::std::os::raw::c_uchar,
   5526     ) -> ::std::os::raw::c_int;
   5527 }
   5528 extern "C" {
   5529     pub fn ndb_create_keypair(key: *mut ndb_keypair) -> ::std::os::raw::c_int;
   5530 }
   5531 extern "C" {
   5532     pub fn ndb_decode_key(
   5533         secstr: *const ::std::os::raw::c_char,
   5534         keypair: *mut ndb_keypair,
   5535     ) -> ::std::os::raw::c_int;
   5536 }
   5537 extern "C" {
   5538     pub fn ndb_note_verify(
   5539         secp_ctx: *mut ::std::os::raw::c_void,
   5540         pubkey: *mut ::std::os::raw::c_uchar,
   5541         id: *mut ::std::os::raw::c_uchar,
   5542         signature: *mut ::std::os::raw::c_uchar,
   5543     ) -> ::std::os::raw::c_int;
   5544 }
   5545 extern "C" {
   5546     pub fn ndb_init(
   5547         ndb: *mut *mut ndb,
   5548         dbdir: *const ::std::os::raw::c_char,
   5549         arg1: *const ndb_config,
   5550     ) -> ::std::os::raw::c_int;
   5551 }
   5552 extern "C" {
   5553     pub fn ndb_db_version(ndb: *mut ndb) -> ::std::os::raw::c_int;
   5554 }
   5555 extern "C" {
   5556     pub fn ndb_process_event(
   5557         arg1: *mut ndb,
   5558         json: *const ::std::os::raw::c_char,
   5559         len: ::std::os::raw::c_int,
   5560     ) -> ::std::os::raw::c_int;
   5561 }
   5562 extern "C" {
   5563     pub fn ndb_process_events(
   5564         arg1: *mut ndb,
   5565         ldjson: *const ::std::os::raw::c_char,
   5566         len: usize,
   5567     ) -> ::std::os::raw::c_int;
   5568 }
   5569 extern "C" {
   5570     pub fn ndb_process_events_stream(arg1: *mut ndb, fp: *mut FILE) -> ::std::os::raw::c_int;
   5571 }
   5572 extern "C" {
   5573     pub fn ndb_process_client_event(
   5574         arg1: *mut ndb,
   5575         json: *const ::std::os::raw::c_char,
   5576         len: ::std::os::raw::c_int,
   5577     ) -> ::std::os::raw::c_int;
   5578 }
   5579 extern "C" {
   5580     pub fn ndb_process_client_events(
   5581         arg1: *mut ndb,
   5582         json: *const ::std::os::raw::c_char,
   5583         len: usize,
   5584     ) -> ::std::os::raw::c_int;
   5585 }
   5586 extern "C" {
   5587     pub fn ndb_begin_query(arg1: *mut ndb, arg2: *mut ndb_txn) -> ::std::os::raw::c_int;
   5588 }
   5589 extern "C" {
   5590     pub fn ndb_search_profile(
   5591         txn: *mut ndb_txn,
   5592         search: *mut ndb_search,
   5593         query: *const ::std::os::raw::c_char,
   5594     ) -> ::std::os::raw::c_int;
   5595 }
   5596 extern "C" {
   5597     pub fn ndb_search_profile_next(search: *mut ndb_search) -> ::std::os::raw::c_int;
   5598 }
   5599 extern "C" {
   5600     pub fn ndb_search_profile_end(search: *mut ndb_search);
   5601 }
   5602 extern "C" {
   5603     pub fn ndb_end_query(arg1: *mut ndb_txn) -> ::std::os::raw::c_int;
   5604 }
   5605 extern "C" {
   5606     pub fn ndb_write_last_profile_fetch(
   5607         ndb: *mut ndb,
   5608         pubkey: *const ::std::os::raw::c_uchar,
   5609         fetched_at: u64,
   5610     ) -> ::std::os::raw::c_int;
   5611 }
   5612 extern "C" {
   5613     pub fn ndb_read_last_profile_fetch(
   5614         txn: *mut ndb_txn,
   5615         pubkey: *const ::std::os::raw::c_uchar,
   5616     ) -> u64;
   5617 }
   5618 extern "C" {
   5619     pub fn ndb_get_profile_by_pubkey(
   5620         txn: *mut ndb_txn,
   5621         pubkey: *const ::std::os::raw::c_uchar,
   5622         len: *mut usize,
   5623         primkey: *mut u64,
   5624     ) -> *mut ::std::os::raw::c_void;
   5625 }
   5626 extern "C" {
   5627     pub fn ndb_get_profile_by_key(
   5628         txn: *mut ndb_txn,
   5629         key: u64,
   5630         len: *mut usize,
   5631     ) -> *mut ::std::os::raw::c_void;
   5632 }
   5633 extern "C" {
   5634     pub fn ndb_get_notekey_by_id(txn: *mut ndb_txn, id: *const ::std::os::raw::c_uchar) -> u64;
   5635 }
   5636 extern "C" {
   5637     pub fn ndb_get_profilekey_by_pubkey(
   5638         txn: *mut ndb_txn,
   5639         id: *const ::std::os::raw::c_uchar,
   5640     ) -> u64;
   5641 }
   5642 extern "C" {
   5643     pub fn ndb_get_note_by_id(
   5644         txn: *mut ndb_txn,
   5645         id: *const ::std::os::raw::c_uchar,
   5646         len: *mut usize,
   5647         primkey: *mut u64,
   5648     ) -> *mut ndb_note;
   5649 }
   5650 extern "C" {
   5651     pub fn ndb_get_note_by_key(txn: *mut ndb_txn, key: u64, len: *mut usize) -> *mut ndb_note;
   5652 }
   5653 extern "C" {
   5654     pub fn ndb_get_note_meta(
   5655         txn: *mut ndb_txn,
   5656         id: *const ::std::os::raw::c_uchar,
   5657         len: *mut usize,
   5658     ) -> *mut ::std::os::raw::c_void;
   5659 }
   5660 extern "C" {
   5661     pub fn ndb_destroy(arg1: *mut ndb);
   5662 }
   5663 extern "C" {
   5664     pub fn ndb_parse_json_note(
   5665         arg1: *mut ndb_json_parser,
   5666         arg2: *mut *mut ndb_note,
   5667     ) -> ::std::os::raw::c_int;
   5668 }
   5669 extern "C" {
   5670     pub fn ndb_client_event_from_json(
   5671         json: *const ::std::os::raw::c_char,
   5672         len: ::std::os::raw::c_int,
   5673         fce: *mut ndb_fce,
   5674         buf: *mut ::std::os::raw::c_uchar,
   5675         bufsize: ::std::os::raw::c_int,
   5676         cb: *mut ndb_id_cb,
   5677     ) -> ::std::os::raw::c_int;
   5678 }
   5679 extern "C" {
   5680     pub fn ndb_ws_event_from_json(
   5681         json: *const ::std::os::raw::c_char,
   5682         len: ::std::os::raw::c_int,
   5683         tce: *mut ndb_tce,
   5684         buf: *mut ::std::os::raw::c_uchar,
   5685         bufsize: ::std::os::raw::c_int,
   5686         arg1: *mut ndb_id_cb,
   5687     ) -> ::std::os::raw::c_int;
   5688 }
   5689 extern "C" {
   5690     pub fn ndb_note_from_json(
   5691         json: *const ::std::os::raw::c_char,
   5692         len: ::std::os::raw::c_int,
   5693         arg1: *mut *mut ndb_note,
   5694         buf: *mut ::std::os::raw::c_uchar,
   5695         buflen: ::std::os::raw::c_int,
   5696     ) -> ::std::os::raw::c_int;
   5697 }
   5698 extern "C" {
   5699     pub fn ndb_builder_init(
   5700         builder: *mut ndb_builder,
   5701         buf: *mut ::std::os::raw::c_uchar,
   5702         bufsize: usize,
   5703     ) -> ::std::os::raw::c_int;
   5704 }
   5705 extern "C" {
   5706     pub fn ndb_builder_finalize(
   5707         builder: *mut ndb_builder,
   5708         note: *mut *mut ndb_note,
   5709         privkey: *mut ndb_keypair,
   5710     ) -> ::std::os::raw::c_int;
   5711 }
   5712 extern "C" {
   5713     pub fn ndb_builder_set_content(
   5714         builder: *mut ndb_builder,
   5715         content: *const ::std::os::raw::c_char,
   5716         len: ::std::os::raw::c_int,
   5717     ) -> ::std::os::raw::c_int;
   5718 }
   5719 extern "C" {
   5720     pub fn ndb_builder_set_created_at(builder: *mut ndb_builder, created_at: u64);
   5721 }
   5722 extern "C" {
   5723     pub fn ndb_builder_set_sig(builder: *mut ndb_builder, sig: *mut ::std::os::raw::c_uchar);
   5724 }
   5725 extern "C" {
   5726     pub fn ndb_builder_set_pubkey(builder: *mut ndb_builder, pubkey: *mut ::std::os::raw::c_uchar);
   5727 }
   5728 extern "C" {
   5729     pub fn ndb_builder_set_id(builder: *mut ndb_builder, id: *mut ::std::os::raw::c_uchar);
   5730 }
   5731 extern "C" {
   5732     pub fn ndb_builder_set_kind(builder: *mut ndb_builder, kind: u32);
   5733 }
   5734 extern "C" {
   5735     pub fn ndb_builder_new_tag(builder: *mut ndb_builder) -> ::std::os::raw::c_int;
   5736 }
   5737 extern "C" {
   5738     pub fn ndb_builder_push_tag_str(
   5739         builder: *mut ndb_builder,
   5740         str_: *const ::std::os::raw::c_char,
   5741         len: ::std::os::raw::c_int,
   5742     ) -> ::std::os::raw::c_int;
   5743 }
   5744 extern "C" {
   5745     pub fn ndb_filter_init(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
   5746 }
   5747 extern "C" {
   5748     pub fn ndb_filter_add_id_element(
   5749         arg1: *mut ndb_filter,
   5750         id: *const ::std::os::raw::c_uchar,
   5751     ) -> ::std::os::raw::c_int;
   5752 }
   5753 extern "C" {
   5754     pub fn ndb_filter_add_int_element(arg1: *mut ndb_filter, integer: u64)
   5755         -> ::std::os::raw::c_int;
   5756 }
   5757 extern "C" {
   5758     pub fn ndb_filter_add_str_element(
   5759         arg1: *mut ndb_filter,
   5760         str_: *const ::std::os::raw::c_char,
   5761     ) -> ::std::os::raw::c_int;
   5762 }
   5763 extern "C" {
   5764     pub fn ndb_filter_from_json(
   5765         arg1: *const ::std::os::raw::c_char,
   5766         len: ::std::os::raw::c_int,
   5767         filter: *mut ndb_filter,
   5768         buf: *mut ::std::os::raw::c_uchar,
   5769         bufsize: ::std::os::raw::c_int,
   5770     ) -> ::std::os::raw::c_int;
   5771 }
   5772 extern "C" {
   5773     pub fn ndb_filter_get_id_element(
   5774         arg1: *const ndb_filter,
   5775         arg2: *const ndb_filter_elements,
   5776         index: ::std::os::raw::c_int,
   5777     ) -> *mut ::std::os::raw::c_uchar;
   5778 }
   5779 extern "C" {
   5780     pub fn ndb_filter_get_string_element(
   5781         arg1: *const ndb_filter,
   5782         arg2: *const ndb_filter_elements,
   5783         index: ::std::os::raw::c_int,
   5784     ) -> *const ::std::os::raw::c_char;
   5785 }
   5786 extern "C" {
   5787     pub fn ndb_filter_get_int_element(
   5788         arg1: *const ndb_filter_elements,
   5789         index: ::std::os::raw::c_int,
   5790     ) -> u64;
   5791 }
   5792 extern "C" {
   5793     pub fn ndb_filter_get_int_element_ptr(
   5794         arg1: *mut ndb_filter_elements,
   5795         index: ::std::os::raw::c_int,
   5796     ) -> *mut u64;
   5797 }
   5798 extern "C" {
   5799     pub fn ndb_filter_current_element(arg1: *const ndb_filter) -> *mut ndb_filter_elements;
   5800 }
   5801 extern "C" {
   5802     pub fn ndb_filter_get_elements(
   5803         arg1: *const ndb_filter,
   5804         arg2: ::std::os::raw::c_int,
   5805     ) -> *mut ndb_filter_elements;
   5806 }
   5807 extern "C" {
   5808     pub fn ndb_filter_start_field(
   5809         arg1: *mut ndb_filter,
   5810         arg2: ndb_filter_fieldtype,
   5811     ) -> ::std::os::raw::c_int;
   5812 }
   5813 extern "C" {
   5814     pub fn ndb_filter_start_tag_field(
   5815         arg1: *mut ndb_filter,
   5816         tag: ::std::os::raw::c_char,
   5817     ) -> ::std::os::raw::c_int;
   5818 }
   5819 extern "C" {
   5820     pub fn ndb_filter_matches(arg1: *mut ndb_filter, arg2: *mut ndb_note) -> ::std::os::raw::c_int;
   5821 }
   5822 extern "C" {
   5823     pub fn ndb_filter_clone(dst: *mut ndb_filter, src: *mut ndb_filter) -> ::std::os::raw::c_int;
   5824 }
   5825 extern "C" {
   5826     pub fn ndb_filter_end(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
   5827 }
   5828 extern "C" {
   5829     pub fn ndb_filter_end_field(arg1: *mut ndb_filter);
   5830 }
   5831 extern "C" {
   5832     pub fn ndb_filter_destroy(arg1: *mut ndb_filter);
   5833 }
   5834 extern "C" {
   5835     pub fn ndb_filter_json(
   5836         arg1: *const ndb_filter,
   5837         buf: *mut ::std::os::raw::c_char,
   5838         buflen: ::std::os::raw::c_int,
   5839     ) -> ::std::os::raw::c_int;
   5840 }
   5841 extern "C" {
   5842     pub fn ndb_subscribe(
   5843         arg1: *mut ndb,
   5844         arg2: *mut ndb_filter,
   5845         num_filters: ::std::os::raw::c_int,
   5846     ) -> u64;
   5847 }
   5848 extern "C" {
   5849     pub fn ndb_wait_for_notes(
   5850         arg1: *mut ndb,
   5851         subid: u64,
   5852         note_ids: *mut u64,
   5853         note_id_capacity: ::std::os::raw::c_int,
   5854     ) -> ::std::os::raw::c_int;
   5855 }
   5856 extern "C" {
   5857     pub fn ndb_poll_for_notes(
   5858         arg1: *mut ndb,
   5859         subid: u64,
   5860         note_ids: *mut u64,
   5861         note_id_capacity: ::std::os::raw::c_int,
   5862     ) -> ::std::os::raw::c_int;
   5863 }
   5864 extern "C" {
   5865     pub fn ndb_unsubscribe(arg1: *mut ndb, subid: u64) -> ::std::os::raw::c_int;
   5866 }
   5867 extern "C" {
   5868     pub fn ndb_num_subscriptions(arg1: *mut ndb) -> ::std::os::raw::c_int;
   5869 }
   5870 extern "C" {
   5871     pub fn ndb_text_search(
   5872         txn: *mut ndb_txn,
   5873         query: *const ::std::os::raw::c_char,
   5874         arg1: *mut ndb_text_search_results,
   5875         arg2: *mut ndb_text_search_config,
   5876     ) -> ::std::os::raw::c_int;
   5877 }
   5878 extern "C" {
   5879     pub fn ndb_default_text_search_config(arg1: *mut ndb_text_search_config);
   5880 }
   5881 extern "C" {
   5882     pub fn ndb_text_search_config_set_order(
   5883         arg1: *mut ndb_text_search_config,
   5884         arg2: ndb_search_order,
   5885     );
   5886 }
   5887 extern "C" {
   5888     pub fn ndb_text_search_config_set_limit(
   5889         arg1: *mut ndb_text_search_config,
   5890         limit: ::std::os::raw::c_int,
   5891     );
   5892 }
   5893 extern "C" {
   5894     pub fn ndb_query(
   5895         txn: *mut ndb_txn,
   5896         filters: *mut ndb_filter,
   5897         num_filters: ::std::os::raw::c_int,
   5898         results: *mut ndb_query_result,
   5899         result_capacity: ::std::os::raw::c_int,
   5900         count: *mut ::std::os::raw::c_int,
   5901     ) -> ::std::os::raw::c_int;
   5902 }
   5903 extern "C" {
   5904     pub fn ndb_stat(ndb: *mut ndb, stat: *mut ndb_stat) -> ::std::os::raw::c_int;
   5905 }
   5906 extern "C" {
   5907     pub fn ndb_stat_counts_init(counts: *mut ndb_stat_counts);
   5908 }
   5909 extern "C" {
   5910     pub fn ndb_note_content(note: *mut ndb_note) -> *const ::std::os::raw::c_char;
   5911 }
   5912 extern "C" {
   5913     pub fn ndb_note_str(note: *mut ndb_note, pstr: *mut ndb_packed_str) -> ndb_str;
   5914 }
   5915 extern "C" {
   5916     pub fn ndb_note_content_length(note: *mut ndb_note) -> u32;
   5917 }
   5918 extern "C" {
   5919     pub fn ndb_note_created_at(note: *mut ndb_note) -> u32;
   5920 }
   5921 extern "C" {
   5922     pub fn ndb_note_kind(note: *mut ndb_note) -> u32;
   5923 }
   5924 extern "C" {
   5925     pub fn ndb_note_id(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
   5926 }
   5927 extern "C" {
   5928     pub fn ndb_note_pubkey(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
   5929 }
   5930 extern "C" {
   5931     pub fn ndb_note_sig(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
   5932 }
   5933 extern "C" {
   5934     pub fn _ndb_note_set_kind(note: *mut ndb_note, kind: u32);
   5935 }
   5936 extern "C" {
   5937     pub fn ndb_note_tags(note: *mut ndb_note) -> *mut ndb_tags;
   5938 }
   5939 extern "C" {
   5940     pub fn ndb_str_len(str_: *mut ndb_str) -> ::std::os::raw::c_int;
   5941 }
   5942 extern "C" {
   5943     #[doc = " write the note as json to a buffer"]
   5944     pub fn ndb_note_json(
   5945         arg1: *mut ndb_note,
   5946         buf: *mut ::std::os::raw::c_char,
   5947         buflen: ::std::os::raw::c_int,
   5948     ) -> ::std::os::raw::c_int;
   5949 }
   5950 extern "C" {
   5951     pub fn ndb_tags_iterate_start(note: *mut ndb_note, iter: *mut ndb_iterator);
   5952 }
   5953 extern "C" {
   5954     pub fn ndb_tags_count(arg1: *mut ndb_tags) -> u16;
   5955 }
   5956 extern "C" {
   5957     pub fn ndb_tag_count(arg1: *mut ndb_tag) -> u16;
   5958 }
   5959 extern "C" {
   5960     pub fn ndb_tags_iterate_next(iter: *mut ndb_iterator) -> ::std::os::raw::c_int;
   5961 }
   5962 extern "C" {
   5963     pub fn ndb_iter_tag_str(iter: *mut ndb_iterator, ind: ::std::os::raw::c_int) -> ndb_str;
   5964 }
   5965 extern "C" {
   5966     pub fn ndb_tag_str(
   5967         note: *mut ndb_note,
   5968         tag: *mut ndb_tag,
   5969         ind: ::std::os::raw::c_int,
   5970     ) -> ndb_str;
   5971 }
   5972 extern "C" {
   5973     pub fn ndb_db_name(db: ndb_dbs) -> *const ::std::os::raw::c_char;
   5974 }
   5975 extern "C" {
   5976     pub fn ndb_kind_name(ck: ndb_common_kind) -> *const ::std::os::raw::c_char;
   5977 }
   5978 extern "C" {
   5979     pub fn ndb_kind_to_common_kind(kind: ::std::os::raw::c_int) -> ndb_common_kind;
   5980 }
   5981 extern "C" {
   5982     pub fn ndb_parse_content(
   5983         buf: *mut ::std::os::raw::c_uchar,
   5984         buf_size: ::std::os::raw::c_int,
   5985         content: *const ::std::os::raw::c_char,
   5986         content_len: ::std::os::raw::c_int,
   5987         blocks_p: *mut *mut ndb_blocks,
   5988     ) -> ::std::os::raw::c_int;
   5989 }
   5990 extern "C" {
   5991     pub fn ndb_get_block_type(block: *mut ndb_block) -> ndb_block_type;
   5992 }
   5993 extern "C" {
   5994     pub fn ndb_blocks_flags(block: *mut ndb_blocks) -> ::std::os::raw::c_int;
   5995 }
   5996 extern "C" {
   5997     pub fn ndb_blocks_total_size(blocks: *mut ndb_blocks) -> usize;
   5998 }
   5999 extern "C" {
   6000     pub fn ndb_blocks_word_count(blocks: *mut ndb_blocks) -> ::std::os::raw::c_int;
   6001 }
   6002 extern "C" {
   6003     #[doc = " Free blocks if they are owned, safe to call on unowned blocks as well."]
   6004     pub fn ndb_blocks_free(blocks: *mut ndb_blocks);
   6005 }
   6006 extern "C" {
   6007     pub fn ndb_get_blocks_by_key(
   6008         ndb: *mut ndb,
   6009         txn: *mut ndb_txn,
   6010         note_key: u64,
   6011     ) -> *mut ndb_blocks;
   6012 }
   6013 extern "C" {
   6014     pub fn ndb_blocks_iterate_start(
   6015         arg1: *const ::std::os::raw::c_char,
   6016         arg2: *mut ndb_blocks,
   6017         arg3: *mut ndb_block_iterator,
   6018     );
   6019 }
   6020 extern "C" {
   6021     pub fn ndb_blocks_iterate_next(arg1: *mut ndb_block_iterator) -> *mut ndb_block;
   6022 }
   6023 extern "C" {
   6024     pub fn ndb_block_str(arg1: *mut ndb_block) -> *mut ndb_str_block;
   6025 }
   6026 extern "C" {
   6027     pub fn ndb_str_block_ptr(arg1: *mut ndb_str_block) -> *const ::std::os::raw::c_char;
   6028 }
   6029 extern "C" {
   6030     pub fn ndb_str_block_len(arg1: *mut ndb_str_block) -> u32;
   6031 }
   6032 extern "C" {
   6033     pub fn ndb_bech32_block(block: *mut ndb_block) -> *mut nostr_bech32;
   6034 }
   6035 pub type __builtin_va_list = *mut ::std::os::raw::c_char;