nostrdb-rs

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

bindings_posix.rs (188558B)


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