nostrdb-rs

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

bindings_win.rs (191648B)


      1 /* automatically generated by rust-bindgen 0.69.4 */
      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 _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
     34 pub const _SAL_VERSION: u32 = 20;
     35 pub const __SAL_H_VERSION: u32 = 180000000;
     36 pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
     37 pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
     38 pub const _CRT_PACKING: u32 = 8;
     39 pub const _HAS_EXCEPTIONS: u32 = 1;
     40 pub const _STL_LANG: u32 = 0;
     41 pub const _HAS_CXX17: u32 = 0;
     42 pub const _HAS_CXX20: u32 = 0;
     43 pub const _HAS_CXX23: u32 = 0;
     44 pub const _HAS_NODISCARD: u32 = 0;
     45 pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
     46 pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
     47 pub const _ARGMAX: u32 = 100;
     48 pub const _CRT_INT_MAX: u32 = 2147483647;
     49 pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
     50 pub const _CRT_HAS_CXX17: u32 = 0;
     51 pub const _CRT_HAS_C11: u32 = 1;
     52 pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
     53 pub const __STDC_SECURE_LIB__: u32 = 200411;
     54 pub const __GOT_SECURE_LIB__: u32 = 200411;
     55 pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
     56 pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
     57 pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
     58 pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
     59 pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
     60 pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
     61 pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
     62 pub const WCHAR_MIN: u32 = 0;
     63 pub const WCHAR_MAX: u32 = 65535;
     64 pub const WINT_MIN: u32 = 0;
     65 pub const WINT_MAX: u32 = 65535;
     66 pub const PRId8: &[u8; 4] = b"hhd\0";
     67 pub const PRId16: &[u8; 3] = b"hd\0";
     68 pub const PRId32: &[u8; 2] = b"d\0";
     69 pub const PRId64: &[u8; 4] = b"lld\0";
     70 pub const PRIdLEAST8: &[u8; 4] = b"hhd\0";
     71 pub const PRIdLEAST16: &[u8; 3] = b"hd\0";
     72 pub const PRIdLEAST32: &[u8; 2] = b"d\0";
     73 pub const PRIdLEAST64: &[u8; 4] = b"lld\0";
     74 pub const PRIdFAST8: &[u8; 4] = b"hhd\0";
     75 pub const PRIdFAST16: &[u8; 2] = b"d\0";
     76 pub const PRIdFAST32: &[u8; 2] = b"d\0";
     77 pub const PRIdFAST64: &[u8; 4] = b"lld\0";
     78 pub const PRIdMAX: &[u8; 4] = b"lld\0";
     79 pub const PRIdPTR: &[u8; 4] = b"lld\0";
     80 pub const PRIi8: &[u8; 4] = b"hhi\0";
     81 pub const PRIi16: &[u8; 3] = b"hi\0";
     82 pub const PRIi32: &[u8; 2] = b"i\0";
     83 pub const PRIi64: &[u8; 4] = b"lli\0";
     84 pub const PRIiLEAST8: &[u8; 4] = b"hhi\0";
     85 pub const PRIiLEAST16: &[u8; 3] = b"hi\0";
     86 pub const PRIiLEAST32: &[u8; 2] = b"i\0";
     87 pub const PRIiLEAST64: &[u8; 4] = b"lli\0";
     88 pub const PRIiFAST8: &[u8; 4] = b"hhi\0";
     89 pub const PRIiFAST16: &[u8; 2] = b"i\0";
     90 pub const PRIiFAST32: &[u8; 2] = b"i\0";
     91 pub const PRIiFAST64: &[u8; 4] = b"lli\0";
     92 pub const PRIiMAX: &[u8; 4] = b"lli\0";
     93 pub const PRIiPTR: &[u8; 4] = b"lli\0";
     94 pub const PRIo8: &[u8; 4] = b"hho\0";
     95 pub const PRIo16: &[u8; 3] = b"ho\0";
     96 pub const PRIo32: &[u8; 2] = b"o\0";
     97 pub const PRIo64: &[u8; 4] = b"llo\0";
     98 pub const PRIoLEAST8: &[u8; 4] = b"hho\0";
     99 pub const PRIoLEAST16: &[u8; 3] = b"ho\0";
    100 pub const PRIoLEAST32: &[u8; 2] = b"o\0";
    101 pub const PRIoLEAST64: &[u8; 4] = b"llo\0";
    102 pub const PRIoFAST8: &[u8; 4] = b"hho\0";
    103 pub const PRIoFAST16: &[u8; 2] = b"o\0";
    104 pub const PRIoFAST32: &[u8; 2] = b"o\0";
    105 pub const PRIoFAST64: &[u8; 4] = b"llo\0";
    106 pub const PRIoMAX: &[u8; 4] = b"llo\0";
    107 pub const PRIoPTR: &[u8; 4] = b"llo\0";
    108 pub const PRIu8: &[u8; 4] = b"hhu\0";
    109 pub const PRIu16: &[u8; 3] = b"hu\0";
    110 pub const PRIu32: &[u8; 2] = b"u\0";
    111 pub const PRIu64: &[u8; 4] = b"llu\0";
    112 pub const PRIuLEAST8: &[u8; 4] = b"hhu\0";
    113 pub const PRIuLEAST16: &[u8; 3] = b"hu\0";
    114 pub const PRIuLEAST32: &[u8; 2] = b"u\0";
    115 pub const PRIuLEAST64: &[u8; 4] = b"llu\0";
    116 pub const PRIuFAST8: &[u8; 4] = b"hhu\0";
    117 pub const PRIuFAST16: &[u8; 2] = b"u\0";
    118 pub const PRIuFAST32: &[u8; 2] = b"u\0";
    119 pub const PRIuFAST64: &[u8; 4] = b"llu\0";
    120 pub const PRIuMAX: &[u8; 4] = b"llu\0";
    121 pub const PRIuPTR: &[u8; 4] = b"llu\0";
    122 pub const PRIx8: &[u8; 4] = b"hhx\0";
    123 pub const PRIx16: &[u8; 3] = b"hx\0";
    124 pub const PRIx32: &[u8; 2] = b"x\0";
    125 pub const PRIx64: &[u8; 4] = b"llx\0";
    126 pub const PRIxLEAST8: &[u8; 4] = b"hhx\0";
    127 pub const PRIxLEAST16: &[u8; 3] = b"hx\0";
    128 pub const PRIxLEAST32: &[u8; 2] = b"x\0";
    129 pub const PRIxLEAST64: &[u8; 4] = b"llx\0";
    130 pub const PRIxFAST8: &[u8; 4] = b"hhx\0";
    131 pub const PRIxFAST16: &[u8; 2] = b"x\0";
    132 pub const PRIxFAST32: &[u8; 2] = b"x\0";
    133 pub const PRIxFAST64: &[u8; 4] = b"llx\0";
    134 pub const PRIxMAX: &[u8; 4] = b"llx\0";
    135 pub const PRIxPTR: &[u8; 4] = b"llx\0";
    136 pub const PRIX8: &[u8; 4] = b"hhX\0";
    137 pub const PRIX16: &[u8; 3] = b"hX\0";
    138 pub const PRIX32: &[u8; 2] = b"X\0";
    139 pub const PRIX64: &[u8; 4] = b"llX\0";
    140 pub const PRIXLEAST8: &[u8; 4] = b"hhX\0";
    141 pub const PRIXLEAST16: &[u8; 3] = b"hX\0";
    142 pub const PRIXLEAST32: &[u8; 2] = b"X\0";
    143 pub const PRIXLEAST64: &[u8; 4] = b"llX\0";
    144 pub const PRIXFAST8: &[u8; 4] = b"hhX\0";
    145 pub const PRIXFAST16: &[u8; 2] = b"X\0";
    146 pub const PRIXFAST32: &[u8; 2] = b"X\0";
    147 pub const PRIXFAST64: &[u8; 4] = b"llX\0";
    148 pub const PRIXMAX: &[u8; 4] = b"llX\0";
    149 pub const PRIXPTR: &[u8; 4] = b"llX\0";
    150 pub const SCNd8: &[u8; 4] = b"hhd\0";
    151 pub const SCNd16: &[u8; 3] = b"hd\0";
    152 pub const SCNd32: &[u8; 2] = b"d\0";
    153 pub const SCNd64: &[u8; 4] = b"lld\0";
    154 pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
    155 pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
    156 pub const SCNdLEAST32: &[u8; 2] = b"d\0";
    157 pub const SCNdLEAST64: &[u8; 4] = b"lld\0";
    158 pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
    159 pub const SCNdFAST16: &[u8; 2] = b"d\0";
    160 pub const SCNdFAST32: &[u8; 2] = b"d\0";
    161 pub const SCNdFAST64: &[u8; 4] = b"lld\0";
    162 pub const SCNdMAX: &[u8; 4] = b"lld\0";
    163 pub const SCNdPTR: &[u8; 4] = b"lld\0";
    164 pub const SCNi8: &[u8; 4] = b"hhi\0";
    165 pub const SCNi16: &[u8; 3] = b"hi\0";
    166 pub const SCNi32: &[u8; 2] = b"i\0";
    167 pub const SCNi64: &[u8; 4] = b"lli\0";
    168 pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
    169 pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
    170 pub const SCNiLEAST32: &[u8; 2] = b"i\0";
    171 pub const SCNiLEAST64: &[u8; 4] = b"lli\0";
    172 pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
    173 pub const SCNiFAST16: &[u8; 2] = b"i\0";
    174 pub const SCNiFAST32: &[u8; 2] = b"i\0";
    175 pub const SCNiFAST64: &[u8; 4] = b"lli\0";
    176 pub const SCNiMAX: &[u8; 4] = b"lli\0";
    177 pub const SCNiPTR: &[u8; 4] = b"lli\0";
    178 pub const SCNo8: &[u8; 4] = b"hho\0";
    179 pub const SCNo16: &[u8; 3] = b"ho\0";
    180 pub const SCNo32: &[u8; 2] = b"o\0";
    181 pub const SCNo64: &[u8; 4] = b"llo\0";
    182 pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
    183 pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
    184 pub const SCNoLEAST32: &[u8; 2] = b"o\0";
    185 pub const SCNoLEAST64: &[u8; 4] = b"llo\0";
    186 pub const SCNoFAST8: &[u8; 4] = b"hho\0";
    187 pub const SCNoFAST16: &[u8; 2] = b"o\0";
    188 pub const SCNoFAST32: &[u8; 2] = b"o\0";
    189 pub const SCNoFAST64: &[u8; 4] = b"llo\0";
    190 pub const SCNoMAX: &[u8; 4] = b"llo\0";
    191 pub const SCNoPTR: &[u8; 4] = b"llo\0";
    192 pub const SCNu8: &[u8; 4] = b"hhu\0";
    193 pub const SCNu16: &[u8; 3] = b"hu\0";
    194 pub const SCNu32: &[u8; 2] = b"u\0";
    195 pub const SCNu64: &[u8; 4] = b"llu\0";
    196 pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
    197 pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
    198 pub const SCNuLEAST32: &[u8; 2] = b"u\0";
    199 pub const SCNuLEAST64: &[u8; 4] = b"llu\0";
    200 pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
    201 pub const SCNuFAST16: &[u8; 2] = b"u\0";
    202 pub const SCNuFAST32: &[u8; 2] = b"u\0";
    203 pub const SCNuFAST64: &[u8; 4] = b"llu\0";
    204 pub const SCNuMAX: &[u8; 4] = b"llu\0";
    205 pub const SCNuPTR: &[u8; 4] = b"llu\0";
    206 pub const SCNx8: &[u8; 4] = b"hhx\0";
    207 pub const SCNx16: &[u8; 3] = b"hx\0";
    208 pub const SCNx32: &[u8; 2] = b"x\0";
    209 pub const SCNx64: &[u8; 4] = b"llx\0";
    210 pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
    211 pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
    212 pub const SCNxLEAST32: &[u8; 2] = b"x\0";
    213 pub const SCNxLEAST64: &[u8; 4] = b"llx\0";
    214 pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
    215 pub const SCNxFAST16: &[u8; 2] = b"x\0";
    216 pub const SCNxFAST32: &[u8; 2] = b"x\0";
    217 pub const SCNxFAST64: &[u8; 4] = b"llx\0";
    218 pub const SCNxMAX: &[u8; 4] = b"llx\0";
    219 pub const SCNxPTR: &[u8; 4] = b"llx\0";
    220 pub const __bool_true_false_are_defined: u32 = 1;
    221 pub const false_: u32 = 0;
    222 pub const true_: u32 = 1;
    223 pub const CCAN_COMPILER: &[u8; 3] = b"cc\0";
    224 pub const CCAN_CFLAGS : & [u8 ; 111] = b"-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition\0" ;
    225 pub const CCAN_OUTPUT_EXE_CFLAG: &[u8; 3] = b"-o\0";
    226 pub const HAVE_CCAN: u32 = 1;
    227 pub const HAVE_UNALIGNED_ACCESS: u32 = 1;
    228 pub const HAVE_TYPEOF: u32 = 1;
    229 pub const HAVE_BIG_ENDIAN: u32 = 0;
    230 pub const HAVE_BYTESWAP_H: u32 = 0;
    231 pub const HAVE_BSWAP_64: u32 = 0;
    232 pub const HAVE_LITTLE_ENDIAN: u32 = 1;
    233 pub const _CRT_INTERNAL_STDIO_SYMBOL_PREFIX: &[u8; 1] = b"\0";
    234 pub const _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION: u32 = 1;
    235 pub const _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR: u32 = 2;
    236 pub const _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS: u32 = 4;
    237 pub const _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 8;
    238 pub const _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS: u32 = 16;
    239 pub const _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING: u32 = 32;
    240 pub const _CRT_INTERNAL_SCANF_SECURECRT: u32 = 1;
    241 pub const _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS: u32 = 2;
    242 pub const _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 4;
    243 pub const BUFSIZ: u32 = 512;
    244 pub const _NSTREAM_: u32 = 512;
    245 pub const _IOB_ENTRIES: u32 = 3;
    246 pub const EOF: i32 = -1;
    247 pub const _IOFBF: u32 = 0;
    248 pub const _IOLBF: u32 = 64;
    249 pub const _IONBF: u32 = 4;
    250 pub const L_tmpnam: u32 = 260;
    251 pub const L_tmpnam_s: u32 = 260;
    252 pub const SEEK_CUR: u32 = 1;
    253 pub const SEEK_END: u32 = 2;
    254 pub const SEEK_SET: u32 = 0;
    255 pub const FILENAME_MAX: u32 = 260;
    256 pub const FOPEN_MAX: u32 = 20;
    257 pub const _SYS_OPEN: u32 = 20;
    258 pub const TMP_MAX: u32 = 2147483647;
    259 pub const TMP_MAX_S: u32 = 2147483647;
    260 pub const _TMP_MAX_S: u32 = 2147483647;
    261 pub const SYS_OPEN: u32 = 20;
    262 pub const _UPPER: u32 = 1;
    263 pub const _LOWER: u32 = 2;
    264 pub const _DIGIT: u32 = 4;
    265 pub const _SPACE: u32 = 8;
    266 pub const _PUNCT: u32 = 16;
    267 pub const _CONTROL: u32 = 32;
    268 pub const _BLANK: u32 = 64;
    269 pub const _HEX: u32 = 128;
    270 pub const _LEADBYTE: u32 = 32768;
    271 pub const _ALPHA: u32 = 259;
    272 pub const EPERM: u32 = 1;
    273 pub const ENOENT: u32 = 2;
    274 pub const ESRCH: u32 = 3;
    275 pub const EINTR: u32 = 4;
    276 pub const EIO: u32 = 5;
    277 pub const ENXIO: u32 = 6;
    278 pub const E2BIG: u32 = 7;
    279 pub const ENOEXEC: u32 = 8;
    280 pub const EBADF: u32 = 9;
    281 pub const ECHILD: u32 = 10;
    282 pub const EAGAIN: u32 = 11;
    283 pub const ENOMEM: u32 = 12;
    284 pub const EACCES: u32 = 13;
    285 pub const EFAULT: u32 = 14;
    286 pub const EBUSY: u32 = 16;
    287 pub const EEXIST: u32 = 17;
    288 pub const EXDEV: u32 = 18;
    289 pub const ENODEV: u32 = 19;
    290 pub const ENOTDIR: u32 = 20;
    291 pub const EISDIR: u32 = 21;
    292 pub const ENFILE: u32 = 23;
    293 pub const EMFILE: u32 = 24;
    294 pub const ENOTTY: u32 = 25;
    295 pub const EFBIG: u32 = 27;
    296 pub const ENOSPC: u32 = 28;
    297 pub const ESPIPE: u32 = 29;
    298 pub const EROFS: u32 = 30;
    299 pub const EMLINK: u32 = 31;
    300 pub const EPIPE: u32 = 32;
    301 pub const EDOM: u32 = 33;
    302 pub const EDEADLK: u32 = 36;
    303 pub const ENAMETOOLONG: u32 = 38;
    304 pub const ENOLCK: u32 = 39;
    305 pub const ENOSYS: u32 = 40;
    306 pub const ENOTEMPTY: u32 = 41;
    307 pub const EINVAL: u32 = 22;
    308 pub const ERANGE: u32 = 34;
    309 pub const EILSEQ: u32 = 42;
    310 pub const STRUNCATE: u32 = 80;
    311 pub const EDEADLOCK: u32 = 36;
    312 pub const EADDRINUSE: u32 = 100;
    313 pub const EADDRNOTAVAIL: u32 = 101;
    314 pub const EAFNOSUPPORT: u32 = 102;
    315 pub const EALREADY: u32 = 103;
    316 pub const EBADMSG: u32 = 104;
    317 pub const ECANCELED: u32 = 105;
    318 pub const ECONNABORTED: u32 = 106;
    319 pub const ECONNREFUSED: u32 = 107;
    320 pub const ECONNRESET: u32 = 108;
    321 pub const EDESTADDRREQ: u32 = 109;
    322 pub const EHOSTUNREACH: u32 = 110;
    323 pub const EIDRM: u32 = 111;
    324 pub const EINPROGRESS: u32 = 112;
    325 pub const EISCONN: u32 = 113;
    326 pub const ELOOP: u32 = 114;
    327 pub const EMSGSIZE: u32 = 115;
    328 pub const ENETDOWN: u32 = 116;
    329 pub const ENETRESET: u32 = 117;
    330 pub const ENETUNREACH: u32 = 118;
    331 pub const ENOBUFS: u32 = 119;
    332 pub const ENODATA: u32 = 120;
    333 pub const ENOLINK: u32 = 121;
    334 pub const ENOMSG: u32 = 122;
    335 pub const ENOPROTOOPT: u32 = 123;
    336 pub const ENOSR: u32 = 124;
    337 pub const ENOSTR: u32 = 125;
    338 pub const ENOTCONN: u32 = 126;
    339 pub const ENOTRECOVERABLE: u32 = 127;
    340 pub const ENOTSOCK: u32 = 128;
    341 pub const ENOTSUP: u32 = 129;
    342 pub const EOPNOTSUPP: u32 = 130;
    343 pub const EOTHER: u32 = 131;
    344 pub const EOVERFLOW: u32 = 132;
    345 pub const EOWNERDEAD: u32 = 133;
    346 pub const EPROTO: u32 = 134;
    347 pub const EPROTONOSUPPORT: u32 = 135;
    348 pub const EPROTOTYPE: u32 = 136;
    349 pub const ETIME: u32 = 137;
    350 pub const ETIMEDOUT: u32 = 138;
    351 pub const ETXTBSY: u32 = 139;
    352 pub const EWOULDBLOCK: u32 = 140;
    353 pub const _NLSCMPERROR: u32 = 2147483647;
    354 pub const NDB_PACKED_STR: u32 = 1;
    355 pub const NDB_PACKED_ID: u32 = 2;
    356 pub const NDB_FLAG_NOMIGRATE: u32 = 1;
    357 pub const NDB_FLAG_SKIP_NOTE_VERIFY: u32 = 2;
    358 pub const NDB_FLAG_NO_FULLTEXT: u32 = 4;
    359 pub const NDB_FLAG_NO_NOTE_BLOCKS: u32 = 8;
    360 pub const NDB_FLAG_NO_STATS: u32 = 16;
    361 pub const NDB_NUM_FILTERS: u32 = 10;
    362 pub const MAX_TEXT_SEARCH_RESULTS: u32 = 128;
    363 pub const MAX_TEXT_SEARCH_WORDS: u32 = 8;
    364 pub const NDB_NUM_BLOCK_TYPES: u32 = 6;
    365 pub const NDB_MAX_RELAYS: u32 = 24;
    366 pub const NOSTR_BECH32_KNOWN_TYPES: u32 = 7;
    367 pub type va_list = *mut ::std::os::raw::c_char;
    368 extern "C" {
    369     pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
    370 }
    371 pub type __vcrt_bool = bool;
    372 pub type wchar_t = ::std::os::raw::c_ushort;
    373 extern "C" {
    374     pub fn __security_init_cookie();
    375 }
    376 extern "C" {
    377     pub fn __security_check_cookie(_StackCookie: usize);
    378 }
    379 extern "C" {
    380     pub fn __report_gsfailure(_StackCookie: usize) -> !;
    381 }
    382 extern "C" {
    383     pub static mut __security_cookie: usize;
    384 }
    385 pub type __crt_bool = bool;
    386 extern "C" {
    387     pub fn _invalid_parameter_noinfo();
    388 }
    389 extern "C" {
    390     pub fn _invalid_parameter_noinfo_noreturn() -> !;
    391 }
    392 extern "C" {
    393     pub fn _invoke_watson(
    394         _Expression: *const wchar_t,
    395         _FunctionName: *const wchar_t,
    396         _FileName: *const wchar_t,
    397         _LineNo: ::std::os::raw::c_uint,
    398         _Reserved: usize,
    399     ) -> !;
    400 }
    401 pub type errno_t = ::std::os::raw::c_int;
    402 pub type wint_t = ::std::os::raw::c_ushort;
    403 pub type wctype_t = ::std::os::raw::c_ushort;
    404 pub type __time32_t = ::std::os::raw::c_long;
    405 pub type __time64_t = ::std::os::raw::c_longlong;
    406 #[repr(C)]
    407 #[derive(Debug, Copy, Clone)]
    408 pub struct __crt_locale_data_public {
    409     pub _locale_pctype: *const ::std::os::raw::c_ushort,
    410     pub _locale_mb_cur_max: ::std::os::raw::c_int,
    411     pub _locale_lc_codepage: ::std::os::raw::c_uint,
    412 }
    413 #[test]
    414 fn bindgen_test_layout___crt_locale_data_public() {
    415     const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> =
    416         ::std::mem::MaybeUninit::uninit();
    417     let ptr = UNINIT.as_ptr();
    418     assert_eq!(
    419         ::std::mem::size_of::<__crt_locale_data_public>(),
    420         16usize,
    421         concat!("Size of: ", stringify!(__crt_locale_data_public))
    422     );
    423     assert_eq!(
    424         ::std::mem::align_of::<__crt_locale_data_public>(),
    425         8usize,
    426         concat!("Alignment of ", stringify!(__crt_locale_data_public))
    427     );
    428     assert_eq!(
    429         unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize },
    430         0usize,
    431         concat!(
    432             "Offset of field: ",
    433             stringify!(__crt_locale_data_public),
    434             "::",
    435             stringify!(_locale_pctype)
    436         )
    437     );
    438     assert_eq!(
    439         unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize },
    440         8usize,
    441         concat!(
    442             "Offset of field: ",
    443             stringify!(__crt_locale_data_public),
    444             "::",
    445             stringify!(_locale_mb_cur_max)
    446         )
    447     );
    448     assert_eq!(
    449         unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize },
    450         12usize,
    451         concat!(
    452             "Offset of field: ",
    453             stringify!(__crt_locale_data_public),
    454             "::",
    455             stringify!(_locale_lc_codepage)
    456         )
    457     );
    458 }
    459 #[repr(C)]
    460 #[derive(Debug, Copy, Clone)]
    461 pub struct __crt_locale_pointers {
    462     pub locinfo: *mut __crt_locale_data,
    463     pub mbcinfo: *mut __crt_multibyte_data,
    464 }
    465 #[test]
    466 fn bindgen_test_layout___crt_locale_pointers() {
    467     const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> =
    468         ::std::mem::MaybeUninit::uninit();
    469     let ptr = UNINIT.as_ptr();
    470     assert_eq!(
    471         ::std::mem::size_of::<__crt_locale_pointers>(),
    472         16usize,
    473         concat!("Size of: ", stringify!(__crt_locale_pointers))
    474     );
    475     assert_eq!(
    476         ::std::mem::align_of::<__crt_locale_pointers>(),
    477         8usize,
    478         concat!("Alignment of ", stringify!(__crt_locale_pointers))
    479     );
    480     assert_eq!(
    481         unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize },
    482         0usize,
    483         concat!(
    484             "Offset of field: ",
    485             stringify!(__crt_locale_pointers),
    486             "::",
    487             stringify!(locinfo)
    488         )
    489     );
    490     assert_eq!(
    491         unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize },
    492         8usize,
    493         concat!(
    494             "Offset of field: ",
    495             stringify!(__crt_locale_pointers),
    496             "::",
    497             stringify!(mbcinfo)
    498         )
    499     );
    500 }
    501 pub type _locale_t = *mut __crt_locale_pointers;
    502 #[repr(C)]
    503 #[derive(Debug, Copy, Clone)]
    504 pub struct _Mbstatet {
    505     pub _Wchar: ::std::os::raw::c_ulong,
    506     pub _Byte: ::std::os::raw::c_ushort,
    507     pub _State: ::std::os::raw::c_ushort,
    508 }
    509 #[test]
    510 fn bindgen_test_layout__Mbstatet() {
    511     const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit();
    512     let ptr = UNINIT.as_ptr();
    513     assert_eq!(
    514         ::std::mem::size_of::<_Mbstatet>(),
    515         8usize,
    516         concat!("Size of: ", stringify!(_Mbstatet))
    517     );
    518     assert_eq!(
    519         ::std::mem::align_of::<_Mbstatet>(),
    520         4usize,
    521         concat!("Alignment of ", stringify!(_Mbstatet))
    522     );
    523     assert_eq!(
    524         unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize },
    525         0usize,
    526         concat!(
    527             "Offset of field: ",
    528             stringify!(_Mbstatet),
    529             "::",
    530             stringify!(_Wchar)
    531         )
    532     );
    533     assert_eq!(
    534         unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize },
    535         4usize,
    536         concat!(
    537             "Offset of field: ",
    538             stringify!(_Mbstatet),
    539             "::",
    540             stringify!(_Byte)
    541         )
    542     );
    543     assert_eq!(
    544         unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize },
    545         6usize,
    546         concat!(
    547             "Offset of field: ",
    548             stringify!(_Mbstatet),
    549             "::",
    550             stringify!(_State)
    551         )
    552     );
    553 }
    554 pub type mbstate_t = _Mbstatet;
    555 pub type time_t = __time64_t;
    556 pub type rsize_t = usize;
    557 pub type int_least8_t = ::std::os::raw::c_schar;
    558 pub type int_least16_t = ::std::os::raw::c_short;
    559 pub type int_least32_t = ::std::os::raw::c_int;
    560 pub type int_least64_t = ::std::os::raw::c_longlong;
    561 pub type uint_least8_t = ::std::os::raw::c_uchar;
    562 pub type uint_least16_t = ::std::os::raw::c_ushort;
    563 pub type uint_least32_t = ::std::os::raw::c_uint;
    564 pub type uint_least64_t = ::std::os::raw::c_ulonglong;
    565 pub type int_fast8_t = ::std::os::raw::c_schar;
    566 pub type int_fast16_t = ::std::os::raw::c_int;
    567 pub type int_fast32_t = ::std::os::raw::c_int;
    568 pub type int_fast64_t = ::std::os::raw::c_longlong;
    569 pub type uint_fast8_t = ::std::os::raw::c_uchar;
    570 pub type uint_fast16_t = ::std::os::raw::c_uint;
    571 pub type uint_fast32_t = ::std::os::raw::c_uint;
    572 pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
    573 pub type intmax_t = ::std::os::raw::c_longlong;
    574 pub type uintmax_t = ::std::os::raw::c_ulonglong;
    575 #[repr(C)]
    576 #[derive(Debug, Copy, Clone)]
    577 pub struct _Lldiv_t {
    578     pub quot: intmax_t,
    579     pub rem: intmax_t,
    580 }
    581 #[test]
    582 fn bindgen_test_layout__Lldiv_t() {
    583     const UNINIT: ::std::mem::MaybeUninit<_Lldiv_t> = ::std::mem::MaybeUninit::uninit();
    584     let ptr = UNINIT.as_ptr();
    585     assert_eq!(
    586         ::std::mem::size_of::<_Lldiv_t>(),
    587         16usize,
    588         concat!("Size of: ", stringify!(_Lldiv_t))
    589     );
    590     assert_eq!(
    591         ::std::mem::align_of::<_Lldiv_t>(),
    592         8usize,
    593         concat!("Alignment of ", stringify!(_Lldiv_t))
    594     );
    595     assert_eq!(
    596         unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
    597         0usize,
    598         concat!(
    599             "Offset of field: ",
    600             stringify!(_Lldiv_t),
    601             "::",
    602             stringify!(quot)
    603         )
    604     );
    605     assert_eq!(
    606         unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
    607         8usize,
    608         concat!(
    609             "Offset of field: ",
    610             stringify!(_Lldiv_t),
    611             "::",
    612             stringify!(rem)
    613         )
    614     );
    615 }
    616 pub type imaxdiv_t = _Lldiv_t;
    617 extern "C" {
    618     pub fn imaxabs(_Number: intmax_t) -> intmax_t;
    619 }
    620 extern "C" {
    621     pub fn imaxdiv(_Numerator: intmax_t, _Denominator: intmax_t) -> imaxdiv_t;
    622 }
    623 extern "C" {
    624     pub fn strtoimax(
    625         _String: *const ::std::os::raw::c_char,
    626         _EndPtr: *mut *mut ::std::os::raw::c_char,
    627         _Radix: ::std::os::raw::c_int,
    628     ) -> intmax_t;
    629 }
    630 extern "C" {
    631     pub fn _strtoimax_l(
    632         _String: *const ::std::os::raw::c_char,
    633         _EndPtr: *mut *mut ::std::os::raw::c_char,
    634         _Radix: ::std::os::raw::c_int,
    635         _Locale: _locale_t,
    636     ) -> intmax_t;
    637 }
    638 extern "C" {
    639     pub fn strtoumax(
    640         _String: *const ::std::os::raw::c_char,
    641         _EndPtr: *mut *mut ::std::os::raw::c_char,
    642         _Radix: ::std::os::raw::c_int,
    643     ) -> uintmax_t;
    644 }
    645 extern "C" {
    646     pub fn _strtoumax_l(
    647         _String: *const ::std::os::raw::c_char,
    648         _EndPtr: *mut *mut ::std::os::raw::c_char,
    649         _Radix: ::std::os::raw::c_int,
    650         _Locale: _locale_t,
    651     ) -> uintmax_t;
    652 }
    653 extern "C" {
    654     pub fn wcstoimax(
    655         _String: *const wchar_t,
    656         _EndPtr: *mut *mut wchar_t,
    657         _Radix: ::std::os::raw::c_int,
    658     ) -> intmax_t;
    659 }
    660 extern "C" {
    661     pub fn _wcstoimax_l(
    662         _String: *const wchar_t,
    663         _EndPtr: *mut *mut wchar_t,
    664         _Radix: ::std::os::raw::c_int,
    665         _Locale: _locale_t,
    666     ) -> intmax_t;
    667 }
    668 extern "C" {
    669     pub fn wcstoumax(
    670         _String: *const wchar_t,
    671         _EndPtr: *mut *mut wchar_t,
    672         _Radix: ::std::os::raw::c_int,
    673     ) -> uintmax_t;
    674 }
    675 extern "C" {
    676     pub fn _wcstoumax_l(
    677         _String: *const wchar_t,
    678         _EndPtr: *mut *mut wchar_t,
    679         _Radix: ::std::os::raw::c_int,
    680         _Locale: _locale_t,
    681     ) -> uintmax_t;
    682 }
    683 #[repr(C)]
    684 #[derive(Debug, Copy, Clone)]
    685 pub struct _iobuf {
    686     pub _Placeholder: *mut ::std::os::raw::c_void,
    687 }
    688 #[test]
    689 fn bindgen_test_layout__iobuf() {
    690     const UNINIT: ::std::mem::MaybeUninit<_iobuf> = ::std::mem::MaybeUninit::uninit();
    691     let ptr = UNINIT.as_ptr();
    692     assert_eq!(
    693         ::std::mem::size_of::<_iobuf>(),
    694         8usize,
    695         concat!("Size of: ", stringify!(_iobuf))
    696     );
    697     assert_eq!(
    698         ::std::mem::align_of::<_iobuf>(),
    699         8usize,
    700         concat!("Alignment of ", stringify!(_iobuf))
    701     );
    702     assert_eq!(
    703         unsafe { ::std::ptr::addr_of!((*ptr)._Placeholder) as usize - ptr as usize },
    704         0usize,
    705         concat!(
    706             "Offset of field: ",
    707             stringify!(_iobuf),
    708             "::",
    709             stringify!(_Placeholder)
    710         )
    711     );
    712 }
    713 pub type FILE = _iobuf;
    714 extern "C" {
    715     pub fn __acrt_iob_func(_Ix: ::std::os::raw::c_uint) -> *mut FILE;
    716 }
    717 extern "C" {
    718     pub fn fgetwc(_Stream: *mut FILE) -> wint_t;
    719 }
    720 extern "C" {
    721     pub fn _fgetwchar() -> wint_t;
    722 }
    723 extern "C" {
    724     pub fn fputwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
    725 }
    726 extern "C" {
    727     pub fn _fputwchar(_Character: wchar_t) -> wint_t;
    728 }
    729 extern "C" {
    730     pub fn getwc(_Stream: *mut FILE) -> wint_t;
    731 }
    732 extern "C" {
    733     pub fn getwchar() -> wint_t;
    734 }
    735 extern "C" {
    736     pub fn fgetws(
    737         _Buffer: *mut wchar_t,
    738         _BufferCount: ::std::os::raw::c_int,
    739         _Stream: *mut FILE,
    740     ) -> *mut wchar_t;
    741 }
    742 extern "C" {
    743     pub fn fputws(_Buffer: *const wchar_t, _Stream: *mut FILE) -> ::std::os::raw::c_int;
    744 }
    745 extern "C" {
    746     pub fn _getws_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> *mut wchar_t;
    747 }
    748 extern "C" {
    749     pub fn putwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
    750 }
    751 extern "C" {
    752     pub fn putwchar(_Character: wchar_t) -> wint_t;
    753 }
    754 extern "C" {
    755     pub fn _putws(_Buffer: *const wchar_t) -> ::std::os::raw::c_int;
    756 }
    757 extern "C" {
    758     pub fn ungetwc(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
    759 }
    760 extern "C" {
    761     pub fn _wfdopen(_FileHandle: ::std::os::raw::c_int, _Mode: *const wchar_t) -> *mut FILE;
    762 }
    763 extern "C" {
    764     pub fn _wfopen(_FileName: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
    765 }
    766 extern "C" {
    767     pub fn _wfopen_s(
    768         _Stream: *mut *mut FILE,
    769         _FileName: *const wchar_t,
    770         _Mode: *const wchar_t,
    771     ) -> errno_t;
    772 }
    773 extern "C" {
    774     pub fn _wfreopen(
    775         _FileName: *const wchar_t,
    776         _Mode: *const wchar_t,
    777         _OldStream: *mut FILE,
    778     ) -> *mut FILE;
    779 }
    780 extern "C" {
    781     pub fn _wfreopen_s(
    782         _Stream: *mut *mut FILE,
    783         _FileName: *const wchar_t,
    784         _Mode: *const wchar_t,
    785         _OldStream: *mut FILE,
    786     ) -> errno_t;
    787 }
    788 extern "C" {
    789     pub fn _wfsopen(
    790         _FileName: *const wchar_t,
    791         _Mode: *const wchar_t,
    792         _ShFlag: ::std::os::raw::c_int,
    793     ) -> *mut FILE;
    794 }
    795 extern "C" {
    796     pub fn _wperror(_ErrorMessage: *const wchar_t);
    797 }
    798 extern "C" {
    799     pub fn _wpopen(_Command: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
    800 }
    801 extern "C" {
    802     pub fn _wremove(_FileName: *const wchar_t) -> ::std::os::raw::c_int;
    803 }
    804 extern "C" {
    805     pub fn _wtempnam(_Directory: *const wchar_t, _FilePrefix: *const wchar_t) -> *mut wchar_t;
    806 }
    807 extern "C" {
    808     pub fn _wtmpnam_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> errno_t;
    809 }
    810 extern "C" {
    811     pub fn _wtmpnam(_Buffer: *mut wchar_t) -> *mut wchar_t;
    812 }
    813 extern "C" {
    814     pub fn _fgetwc_nolock(_Stream: *mut FILE) -> wint_t;
    815 }
    816 extern "C" {
    817     pub fn _fputwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
    818 }
    819 extern "C" {
    820     pub fn _getwc_nolock(_Stream: *mut FILE) -> wint_t;
    821 }
    822 extern "C" {
    823     pub fn _putwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
    824 }
    825 extern "C" {
    826     pub fn _ungetwc_nolock(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
    827 }
    828 extern "C" {
    829     pub fn __stdio_common_vfwprintf(
    830         _Options: ::std::os::raw::c_ulonglong,
    831         _Stream: *mut FILE,
    832         _Format: *const wchar_t,
    833         _Locale: _locale_t,
    834         _ArgList: va_list,
    835     ) -> ::std::os::raw::c_int;
    836 }
    837 extern "C" {
    838     pub fn __stdio_common_vfwprintf_s(
    839         _Options: ::std::os::raw::c_ulonglong,
    840         _Stream: *mut FILE,
    841         _Format: *const wchar_t,
    842         _Locale: _locale_t,
    843         _ArgList: va_list,
    844     ) -> ::std::os::raw::c_int;
    845 }
    846 extern "C" {
    847     pub fn __stdio_common_vfwprintf_p(
    848         _Options: ::std::os::raw::c_ulonglong,
    849         _Stream: *mut FILE,
    850         _Format: *const wchar_t,
    851         _Locale: _locale_t,
    852         _ArgList: va_list,
    853     ) -> ::std::os::raw::c_int;
    854 }
    855 extern "C" {
    856     pub fn __stdio_common_vfwscanf(
    857         _Options: ::std::os::raw::c_ulonglong,
    858         _Stream: *mut FILE,
    859         _Format: *const wchar_t,
    860         _Locale: _locale_t,
    861         _ArgList: va_list,
    862     ) -> ::std::os::raw::c_int;
    863 }
    864 extern "C" {
    865     pub fn __stdio_common_vswprintf(
    866         _Options: ::std::os::raw::c_ulonglong,
    867         _Buffer: *mut wchar_t,
    868         _BufferCount: usize,
    869         _Format: *const wchar_t,
    870         _Locale: _locale_t,
    871         _ArgList: va_list,
    872     ) -> ::std::os::raw::c_int;
    873 }
    874 extern "C" {
    875     pub fn __stdio_common_vswprintf_s(
    876         _Options: ::std::os::raw::c_ulonglong,
    877         _Buffer: *mut wchar_t,
    878         _BufferCount: usize,
    879         _Format: *const wchar_t,
    880         _Locale: _locale_t,
    881         _ArgList: va_list,
    882     ) -> ::std::os::raw::c_int;
    883 }
    884 extern "C" {
    885     pub fn __stdio_common_vsnwprintf_s(
    886         _Options: ::std::os::raw::c_ulonglong,
    887         _Buffer: *mut wchar_t,
    888         _BufferCount: usize,
    889         _MaxCount: usize,
    890         _Format: *const wchar_t,
    891         _Locale: _locale_t,
    892         _ArgList: va_list,
    893     ) -> ::std::os::raw::c_int;
    894 }
    895 extern "C" {
    896     pub fn __stdio_common_vswprintf_p(
    897         _Options: ::std::os::raw::c_ulonglong,
    898         _Buffer: *mut wchar_t,
    899         _BufferCount: usize,
    900         _Format: *const wchar_t,
    901         _Locale: _locale_t,
    902         _ArgList: va_list,
    903     ) -> ::std::os::raw::c_int;
    904 }
    905 extern "C" {
    906     pub fn __stdio_common_vswscanf(
    907         _Options: ::std::os::raw::c_ulonglong,
    908         _Buffer: *const wchar_t,
    909         _BufferCount: usize,
    910         _Format: *const wchar_t,
    911         _Locale: _locale_t,
    912         _ArgList: va_list,
    913     ) -> ::std::os::raw::c_int;
    914 }
    915 pub type fpos_t = ::std::os::raw::c_longlong;
    916 extern "C" {
    917     pub fn _get_stream_buffer_pointers(
    918         _Stream: *mut FILE,
    919         _Base: *mut *mut *mut ::std::os::raw::c_char,
    920         _Pointer: *mut *mut *mut ::std::os::raw::c_char,
    921         _Count: *mut *mut ::std::os::raw::c_int,
    922     ) -> errno_t;
    923 }
    924 extern "C" {
    925     pub fn clearerr_s(_Stream: *mut FILE) -> errno_t;
    926 }
    927 extern "C" {
    928     pub fn fopen_s(
    929         _Stream: *mut *mut FILE,
    930         _FileName: *const ::std::os::raw::c_char,
    931         _Mode: *const ::std::os::raw::c_char,
    932     ) -> errno_t;
    933 }
    934 extern "C" {
    935     pub fn fread_s(
    936         _Buffer: *mut ::std::os::raw::c_void,
    937         _BufferSize: usize,
    938         _ElementSize: usize,
    939         _ElementCount: usize,
    940         _Stream: *mut FILE,
    941     ) -> usize;
    942 }
    943 extern "C" {
    944     pub fn freopen_s(
    945         _Stream: *mut *mut FILE,
    946         _FileName: *const ::std::os::raw::c_char,
    947         _Mode: *const ::std::os::raw::c_char,
    948         _OldStream: *mut FILE,
    949     ) -> errno_t;
    950 }
    951 extern "C" {
    952     pub fn gets_s(
    953         _Buffer: *mut ::std::os::raw::c_char,
    954         _Size: rsize_t,
    955     ) -> *mut ::std::os::raw::c_char;
    956 }
    957 extern "C" {
    958     pub fn tmpfile_s(_Stream: *mut *mut FILE) -> errno_t;
    959 }
    960 extern "C" {
    961     pub fn tmpnam_s(_Buffer: *mut ::std::os::raw::c_char, _Size: rsize_t) -> errno_t;
    962 }
    963 extern "C" {
    964     pub fn clearerr(_Stream: *mut FILE);
    965 }
    966 extern "C" {
    967     pub fn fclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
    968 }
    969 extern "C" {
    970     pub fn _fcloseall() -> ::std::os::raw::c_int;
    971 }
    972 extern "C" {
    973     pub fn _fdopen(
    974         _FileHandle: ::std::os::raw::c_int,
    975         _Mode: *const ::std::os::raw::c_char,
    976     ) -> *mut FILE;
    977 }
    978 extern "C" {
    979     pub fn feof(_Stream: *mut FILE) -> ::std::os::raw::c_int;
    980 }
    981 extern "C" {
    982     pub fn ferror(_Stream: *mut FILE) -> ::std::os::raw::c_int;
    983 }
    984 extern "C" {
    985     pub fn fflush(_Stream: *mut FILE) -> ::std::os::raw::c_int;
    986 }
    987 extern "C" {
    988     pub fn fgetc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
    989 }
    990 extern "C" {
    991     pub fn _fgetchar() -> ::std::os::raw::c_int;
    992 }
    993 extern "C" {
    994     pub fn fgetpos(_Stream: *mut FILE, _Position: *mut fpos_t) -> ::std::os::raw::c_int;
    995 }
    996 extern "C" {
    997     pub fn fgets(
    998         _Buffer: *mut ::std::os::raw::c_char,
    999         _MaxCount: ::std::os::raw::c_int,
   1000         _Stream: *mut FILE,
   1001     ) -> *mut ::std::os::raw::c_char;
   1002 }
   1003 extern "C" {
   1004     pub fn _fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1005 }
   1006 extern "C" {
   1007     pub fn _flushall() -> ::std::os::raw::c_int;
   1008 }
   1009 extern "C" {
   1010     pub fn fopen(
   1011         _FileName: *const ::std::os::raw::c_char,
   1012         _Mode: *const ::std::os::raw::c_char,
   1013     ) -> *mut FILE;
   1014 }
   1015 extern "C" {
   1016     pub fn fputc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
   1017 }
   1018 extern "C" {
   1019     pub fn _fputchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1020 }
   1021 extern "C" {
   1022     pub fn fputs(
   1023         _Buffer: *const ::std::os::raw::c_char,
   1024         _Stream: *mut FILE,
   1025     ) -> ::std::os::raw::c_int;
   1026 }
   1027 extern "C" {
   1028     pub fn fread(
   1029         _Buffer: *mut ::std::os::raw::c_void,
   1030         _ElementSize: ::std::os::raw::c_ulonglong,
   1031         _ElementCount: ::std::os::raw::c_ulonglong,
   1032         _Stream: *mut FILE,
   1033     ) -> ::std::os::raw::c_ulonglong;
   1034 }
   1035 extern "C" {
   1036     pub fn freopen(
   1037         _FileName: *const ::std::os::raw::c_char,
   1038         _Mode: *const ::std::os::raw::c_char,
   1039         _Stream: *mut FILE,
   1040     ) -> *mut FILE;
   1041 }
   1042 extern "C" {
   1043     pub fn _fsopen(
   1044         _FileName: *const ::std::os::raw::c_char,
   1045         _Mode: *const ::std::os::raw::c_char,
   1046         _ShFlag: ::std::os::raw::c_int,
   1047     ) -> *mut FILE;
   1048 }
   1049 extern "C" {
   1050     pub fn fsetpos(_Stream: *mut FILE, _Position: *const fpos_t) -> ::std::os::raw::c_int;
   1051 }
   1052 extern "C" {
   1053     pub fn fseek(
   1054         _Stream: *mut FILE,
   1055         _Offset: ::std::os::raw::c_long,
   1056         _Origin: ::std::os::raw::c_int,
   1057     ) -> ::std::os::raw::c_int;
   1058 }
   1059 extern "C" {
   1060     pub fn _fseeki64(
   1061         _Stream: *mut FILE,
   1062         _Offset: ::std::os::raw::c_longlong,
   1063         _Origin: ::std::os::raw::c_int,
   1064     ) -> ::std::os::raw::c_int;
   1065 }
   1066 extern "C" {
   1067     pub fn ftell(_Stream: *mut FILE) -> ::std::os::raw::c_long;
   1068 }
   1069 extern "C" {
   1070     pub fn _ftelli64(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
   1071 }
   1072 extern "C" {
   1073     pub fn fwrite(
   1074         _Buffer: *const ::std::os::raw::c_void,
   1075         _ElementSize: ::std::os::raw::c_ulonglong,
   1076         _ElementCount: ::std::os::raw::c_ulonglong,
   1077         _Stream: *mut FILE,
   1078     ) -> ::std::os::raw::c_ulonglong;
   1079 }
   1080 extern "C" {
   1081     pub fn getc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1082 }
   1083 extern "C" {
   1084     pub fn getchar() -> ::std::os::raw::c_int;
   1085 }
   1086 extern "C" {
   1087     pub fn _getmaxstdio() -> ::std::os::raw::c_int;
   1088 }
   1089 extern "C" {
   1090     pub fn _getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1091 }
   1092 extern "C" {
   1093     pub fn perror(_ErrorMessage: *const ::std::os::raw::c_char);
   1094 }
   1095 extern "C" {
   1096     pub fn _pclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1097 }
   1098 extern "C" {
   1099     pub fn _popen(
   1100         _Command: *const ::std::os::raw::c_char,
   1101         _Mode: *const ::std::os::raw::c_char,
   1102     ) -> *mut FILE;
   1103 }
   1104 extern "C" {
   1105     pub fn putc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
   1106 }
   1107 extern "C" {
   1108     pub fn putchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1109 }
   1110 extern "C" {
   1111     pub fn puts(_Buffer: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
   1112 }
   1113 extern "C" {
   1114     pub fn _putw(_Word: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
   1115 }
   1116 extern "C" {
   1117     pub fn remove(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
   1118 }
   1119 extern "C" {
   1120     pub fn rename(
   1121         _OldFileName: *const ::std::os::raw::c_char,
   1122         _NewFileName: *const ::std::os::raw::c_char,
   1123     ) -> ::std::os::raw::c_int;
   1124 }
   1125 extern "C" {
   1126     pub fn _unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
   1127 }
   1128 extern "C" {
   1129     pub fn unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
   1130 }
   1131 extern "C" {
   1132     pub fn rewind(_Stream: *mut FILE);
   1133 }
   1134 extern "C" {
   1135     pub fn _rmtmp() -> ::std::os::raw::c_int;
   1136 }
   1137 extern "C" {
   1138     pub fn setbuf(_Stream: *mut FILE, _Buffer: *mut ::std::os::raw::c_char);
   1139 }
   1140 extern "C" {
   1141     pub fn _setmaxstdio(_Maximum: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1142 }
   1143 extern "C" {
   1144     pub fn setvbuf(
   1145         _Stream: *mut FILE,
   1146         _Buffer: *mut ::std::os::raw::c_char,
   1147         _Mode: ::std::os::raw::c_int,
   1148         _Size: usize,
   1149     ) -> ::std::os::raw::c_int;
   1150 }
   1151 extern "C" {
   1152     pub fn _tempnam(
   1153         _DirectoryName: *const ::std::os::raw::c_char,
   1154         _FilePrefix: *const ::std::os::raw::c_char,
   1155     ) -> *mut ::std::os::raw::c_char;
   1156 }
   1157 extern "C" {
   1158     pub fn tmpfile() -> *mut FILE;
   1159 }
   1160 extern "C" {
   1161     pub fn tmpnam(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   1162 }
   1163 extern "C" {
   1164     pub fn ungetc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
   1165 }
   1166 extern "C" {
   1167     pub fn _lock_file(_Stream: *mut FILE);
   1168 }
   1169 extern "C" {
   1170     pub fn _unlock_file(_Stream: *mut FILE);
   1171 }
   1172 extern "C" {
   1173     pub fn _fclose_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1174 }
   1175 extern "C" {
   1176     pub fn _fflush_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1177 }
   1178 extern "C" {
   1179     pub fn _fgetc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1180 }
   1181 extern "C" {
   1182     pub fn _fputc_nolock(
   1183         _Character: ::std::os::raw::c_int,
   1184         _Stream: *mut FILE,
   1185     ) -> ::std::os::raw::c_int;
   1186 }
   1187 extern "C" {
   1188     pub fn _fread_nolock(
   1189         _Buffer: *mut ::std::os::raw::c_void,
   1190         _ElementSize: usize,
   1191         _ElementCount: usize,
   1192         _Stream: *mut FILE,
   1193     ) -> usize;
   1194 }
   1195 extern "C" {
   1196     pub fn _fread_nolock_s(
   1197         _Buffer: *mut ::std::os::raw::c_void,
   1198         _BufferSize: usize,
   1199         _ElementSize: usize,
   1200         _ElementCount: usize,
   1201         _Stream: *mut FILE,
   1202     ) -> usize;
   1203 }
   1204 extern "C" {
   1205     pub fn _fseek_nolock(
   1206         _Stream: *mut FILE,
   1207         _Offset: ::std::os::raw::c_long,
   1208         _Origin: ::std::os::raw::c_int,
   1209     ) -> ::std::os::raw::c_int;
   1210 }
   1211 extern "C" {
   1212     pub fn _fseeki64_nolock(
   1213         _Stream: *mut FILE,
   1214         _Offset: ::std::os::raw::c_longlong,
   1215         _Origin: ::std::os::raw::c_int,
   1216     ) -> ::std::os::raw::c_int;
   1217 }
   1218 extern "C" {
   1219     pub fn _ftell_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_long;
   1220 }
   1221 extern "C" {
   1222     pub fn _ftelli64_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
   1223 }
   1224 extern "C" {
   1225     pub fn _fwrite_nolock(
   1226         _Buffer: *const ::std::os::raw::c_void,
   1227         _ElementSize: usize,
   1228         _ElementCount: usize,
   1229         _Stream: *mut FILE,
   1230     ) -> usize;
   1231 }
   1232 extern "C" {
   1233     pub fn _getc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1234 }
   1235 extern "C" {
   1236     pub fn _putc_nolock(
   1237         _Character: ::std::os::raw::c_int,
   1238         _Stream: *mut FILE,
   1239     ) -> ::std::os::raw::c_int;
   1240 }
   1241 extern "C" {
   1242     pub fn _ungetc_nolock(
   1243         _Character: ::std::os::raw::c_int,
   1244         _Stream: *mut FILE,
   1245     ) -> ::std::os::raw::c_int;
   1246 }
   1247 extern "C" {
   1248     pub fn __p__commode() -> *mut ::std::os::raw::c_int;
   1249 }
   1250 extern "C" {
   1251     pub fn __stdio_common_vfprintf(
   1252         _Options: ::std::os::raw::c_ulonglong,
   1253         _Stream: *mut FILE,
   1254         _Format: *const ::std::os::raw::c_char,
   1255         _Locale: _locale_t,
   1256         _ArgList: va_list,
   1257     ) -> ::std::os::raw::c_int;
   1258 }
   1259 extern "C" {
   1260     pub fn __stdio_common_vfprintf_s(
   1261         _Options: ::std::os::raw::c_ulonglong,
   1262         _Stream: *mut FILE,
   1263         _Format: *const ::std::os::raw::c_char,
   1264         _Locale: _locale_t,
   1265         _ArgList: va_list,
   1266     ) -> ::std::os::raw::c_int;
   1267 }
   1268 extern "C" {
   1269     pub fn __stdio_common_vfprintf_p(
   1270         _Options: ::std::os::raw::c_ulonglong,
   1271         _Stream: *mut FILE,
   1272         _Format: *const ::std::os::raw::c_char,
   1273         _Locale: _locale_t,
   1274         _ArgList: va_list,
   1275     ) -> ::std::os::raw::c_int;
   1276 }
   1277 extern "C" {
   1278     pub fn _set_printf_count_output(_Value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1279 }
   1280 extern "C" {
   1281     pub fn _get_printf_count_output() -> ::std::os::raw::c_int;
   1282 }
   1283 extern "C" {
   1284     pub fn __stdio_common_vfscanf(
   1285         _Options: ::std::os::raw::c_ulonglong,
   1286         _Stream: *mut FILE,
   1287         _Format: *const ::std::os::raw::c_char,
   1288         _Locale: _locale_t,
   1289         _Arglist: va_list,
   1290     ) -> ::std::os::raw::c_int;
   1291 }
   1292 extern "C" {
   1293     pub fn __stdio_common_vsprintf(
   1294         _Options: ::std::os::raw::c_ulonglong,
   1295         _Buffer: *mut ::std::os::raw::c_char,
   1296         _BufferCount: usize,
   1297         _Format: *const ::std::os::raw::c_char,
   1298         _Locale: _locale_t,
   1299         _ArgList: va_list,
   1300     ) -> ::std::os::raw::c_int;
   1301 }
   1302 extern "C" {
   1303     pub fn __stdio_common_vsprintf_s(
   1304         _Options: ::std::os::raw::c_ulonglong,
   1305         _Buffer: *mut ::std::os::raw::c_char,
   1306         _BufferCount: usize,
   1307         _Format: *const ::std::os::raw::c_char,
   1308         _Locale: _locale_t,
   1309         _ArgList: va_list,
   1310     ) -> ::std::os::raw::c_int;
   1311 }
   1312 extern "C" {
   1313     pub fn __stdio_common_vsnprintf_s(
   1314         _Options: ::std::os::raw::c_ulonglong,
   1315         _Buffer: *mut ::std::os::raw::c_char,
   1316         _BufferCount: usize,
   1317         _MaxCount: usize,
   1318         _Format: *const ::std::os::raw::c_char,
   1319         _Locale: _locale_t,
   1320         _ArgList: va_list,
   1321     ) -> ::std::os::raw::c_int;
   1322 }
   1323 extern "C" {
   1324     pub fn __stdio_common_vsprintf_p(
   1325         _Options: ::std::os::raw::c_ulonglong,
   1326         _Buffer: *mut ::std::os::raw::c_char,
   1327         _BufferCount: usize,
   1328         _Format: *const ::std::os::raw::c_char,
   1329         _Locale: _locale_t,
   1330         _ArgList: va_list,
   1331     ) -> ::std::os::raw::c_int;
   1332 }
   1333 extern "C" {
   1334     pub fn __stdio_common_vsscanf(
   1335         _Options: ::std::os::raw::c_ulonglong,
   1336         _Buffer: *const ::std::os::raw::c_char,
   1337         _BufferCount: usize,
   1338         _Format: *const ::std::os::raw::c_char,
   1339         _Locale: _locale_t,
   1340         _ArgList: va_list,
   1341     ) -> ::std::os::raw::c_int;
   1342 }
   1343 extern "C" {
   1344     pub fn tempnam(
   1345         _Directory: *const ::std::os::raw::c_char,
   1346         _FilePrefix: *const ::std::os::raw::c_char,
   1347     ) -> *mut ::std::os::raw::c_char;
   1348 }
   1349 extern "C" {
   1350     pub fn fcloseall() -> ::std::os::raw::c_int;
   1351 }
   1352 extern "C" {
   1353     pub fn fdopen(
   1354         _FileHandle: ::std::os::raw::c_int,
   1355         _Format: *const ::std::os::raw::c_char,
   1356     ) -> *mut FILE;
   1357 }
   1358 extern "C" {
   1359     pub fn fgetchar() -> ::std::os::raw::c_int;
   1360 }
   1361 extern "C" {
   1362     pub fn fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1363 }
   1364 extern "C" {
   1365     pub fn flushall() -> ::std::os::raw::c_int;
   1366 }
   1367 extern "C" {
   1368     pub fn fputchar(_Ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1369 }
   1370 extern "C" {
   1371     pub fn getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
   1372 }
   1373 extern "C" {
   1374     pub fn putw(_Ch: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
   1375 }
   1376 extern "C" {
   1377     pub fn rmtmp() -> ::std::os::raw::c_int;
   1378 }
   1379 extern "C" {
   1380     pub fn __pctype_func() -> *const ::std::os::raw::c_ushort;
   1381 }
   1382 extern "C" {
   1383     pub fn __pwctype_func() -> *const wctype_t;
   1384 }
   1385 extern "C" {
   1386     pub fn iswalnum(_C: wint_t) -> ::std::os::raw::c_int;
   1387 }
   1388 extern "C" {
   1389     pub fn iswalpha(_C: wint_t) -> ::std::os::raw::c_int;
   1390 }
   1391 extern "C" {
   1392     pub fn iswascii(_C: wint_t) -> ::std::os::raw::c_int;
   1393 }
   1394 extern "C" {
   1395     pub fn iswblank(_C: wint_t) -> ::std::os::raw::c_int;
   1396 }
   1397 extern "C" {
   1398     pub fn iswcntrl(_C: wint_t) -> ::std::os::raw::c_int;
   1399 }
   1400 extern "C" {
   1401     pub fn iswdigit(_C: wint_t) -> ::std::os::raw::c_int;
   1402 }
   1403 extern "C" {
   1404     pub fn iswgraph(_C: wint_t) -> ::std::os::raw::c_int;
   1405 }
   1406 extern "C" {
   1407     pub fn iswlower(_C: wint_t) -> ::std::os::raw::c_int;
   1408 }
   1409 extern "C" {
   1410     pub fn iswprint(_C: wint_t) -> ::std::os::raw::c_int;
   1411 }
   1412 extern "C" {
   1413     pub fn iswpunct(_C: wint_t) -> ::std::os::raw::c_int;
   1414 }
   1415 extern "C" {
   1416     pub fn iswspace(_C: wint_t) -> ::std::os::raw::c_int;
   1417 }
   1418 extern "C" {
   1419     pub fn iswupper(_C: wint_t) -> ::std::os::raw::c_int;
   1420 }
   1421 extern "C" {
   1422     pub fn iswxdigit(_C: wint_t) -> ::std::os::raw::c_int;
   1423 }
   1424 extern "C" {
   1425     pub fn __iswcsymf(_C: wint_t) -> ::std::os::raw::c_int;
   1426 }
   1427 extern "C" {
   1428     pub fn __iswcsym(_C: wint_t) -> ::std::os::raw::c_int;
   1429 }
   1430 extern "C" {
   1431     pub fn _iswalnum_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1432 }
   1433 extern "C" {
   1434     pub fn _iswalpha_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1435 }
   1436 extern "C" {
   1437     pub fn _iswblank_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1438 }
   1439 extern "C" {
   1440     pub fn _iswcntrl_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1441 }
   1442 extern "C" {
   1443     pub fn _iswdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1444 }
   1445 extern "C" {
   1446     pub fn _iswgraph_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1447 }
   1448 extern "C" {
   1449     pub fn _iswlower_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1450 }
   1451 extern "C" {
   1452     pub fn _iswprint_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1453 }
   1454 extern "C" {
   1455     pub fn _iswpunct_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1456 }
   1457 extern "C" {
   1458     pub fn _iswspace_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1459 }
   1460 extern "C" {
   1461     pub fn _iswupper_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1462 }
   1463 extern "C" {
   1464     pub fn _iswxdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1465 }
   1466 extern "C" {
   1467     pub fn _iswcsymf_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1468 }
   1469 extern "C" {
   1470     pub fn _iswcsym_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1471 }
   1472 extern "C" {
   1473     pub fn towupper(_C: wint_t) -> wint_t;
   1474 }
   1475 extern "C" {
   1476     pub fn towlower(_C: wint_t) -> wint_t;
   1477 }
   1478 extern "C" {
   1479     pub fn iswctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int;
   1480 }
   1481 extern "C" {
   1482     pub fn _towupper_l(_C: wint_t, _Locale: _locale_t) -> wint_t;
   1483 }
   1484 extern "C" {
   1485     pub fn _towlower_l(_C: wint_t, _Locale: _locale_t) -> wint_t;
   1486 }
   1487 extern "C" {
   1488     pub fn _iswctype_l(_C: wint_t, _Type: wctype_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1489 }
   1490 extern "C" {
   1491     pub fn isleadbyte(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1492 }
   1493 extern "C" {
   1494     pub fn _isleadbyte_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1495 }
   1496 extern "C" {
   1497     pub fn is_wctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int;
   1498 }
   1499 extern "C" {
   1500     pub fn _isctype(
   1501         _C: ::std::os::raw::c_int,
   1502         _Type: ::std::os::raw::c_int,
   1503     ) -> ::std::os::raw::c_int;
   1504 }
   1505 extern "C" {
   1506     pub fn _isctype_l(
   1507         _C: ::std::os::raw::c_int,
   1508         _Type: ::std::os::raw::c_int,
   1509         _Locale: _locale_t,
   1510     ) -> ::std::os::raw::c_int;
   1511 }
   1512 extern "C" {
   1513     pub fn isalpha(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1514 }
   1515 extern "C" {
   1516     pub fn _isalpha_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1517 }
   1518 extern "C" {
   1519     pub fn isupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1520 }
   1521 extern "C" {
   1522     pub fn _isupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1523 }
   1524 extern "C" {
   1525     pub fn islower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1526 }
   1527 extern "C" {
   1528     pub fn _islower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1529 }
   1530 extern "C" {
   1531     pub fn isdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1532 }
   1533 extern "C" {
   1534     pub fn _isdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1535 }
   1536 extern "C" {
   1537     pub fn isxdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1538 }
   1539 extern "C" {
   1540     pub fn _isxdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1541 }
   1542 extern "C" {
   1543     pub fn isspace(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1544 }
   1545 extern "C" {
   1546     pub fn _isspace_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1547 }
   1548 extern "C" {
   1549     pub fn ispunct(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1550 }
   1551 extern "C" {
   1552     pub fn _ispunct_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1553 }
   1554 extern "C" {
   1555     pub fn isblank(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1556 }
   1557 extern "C" {
   1558     pub fn _isblank_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1559 }
   1560 extern "C" {
   1561     pub fn isalnum(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1562 }
   1563 extern "C" {
   1564     pub fn _isalnum_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1565 }
   1566 extern "C" {
   1567     pub fn isprint(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1568 }
   1569 extern "C" {
   1570     pub fn _isprint_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1571 }
   1572 extern "C" {
   1573     pub fn isgraph(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1574 }
   1575 extern "C" {
   1576     pub fn _isgraph_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1577 }
   1578 extern "C" {
   1579     pub fn iscntrl(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1580 }
   1581 extern "C" {
   1582     pub fn _iscntrl_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1583 }
   1584 extern "C" {
   1585     pub fn toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1586 }
   1587 extern "C" {
   1588     pub fn tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1589 }
   1590 extern "C" {
   1591     pub fn _tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1592 }
   1593 extern "C" {
   1594     pub fn _tolower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1595 }
   1596 extern "C" {
   1597     pub fn _toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1598 }
   1599 extern "C" {
   1600     pub fn _toupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
   1601 }
   1602 extern "C" {
   1603     pub fn __isascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1604 }
   1605 extern "C" {
   1606     pub fn __toascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1607 }
   1608 extern "C" {
   1609     pub fn __iscsymf(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1610 }
   1611 extern "C" {
   1612     pub fn __iscsym(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
   1613 }
   1614 extern "C" {
   1615     pub fn ___mb_cur_max_func() -> ::std::os::raw::c_int;
   1616 }
   1617 extern "C" {
   1618     pub fn ___mb_cur_max_l_func(_Locale: _locale_t) -> ::std::os::raw::c_int;
   1619 }
   1620 extern "C" {
   1621     pub fn _wassert(_Message: *const wchar_t, _File: *const wchar_t, _Line: ::std::os::raw::c_uint);
   1622 }
   1623 extern "C" {
   1624     pub fn _errno() -> *mut ::std::os::raw::c_int;
   1625 }
   1626 extern "C" {
   1627     pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t;
   1628 }
   1629 extern "C" {
   1630     pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t;
   1631 }
   1632 extern "C" {
   1633     pub fn __doserrno() -> *mut ::std::os::raw::c_ulong;
   1634 }
   1635 extern "C" {
   1636     pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t;
   1637 }
   1638 extern "C" {
   1639     pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t;
   1640 }
   1641 extern "C" {
   1642     pub fn memchr(
   1643         _Buf: *const ::std::os::raw::c_void,
   1644         _Val: ::std::os::raw::c_int,
   1645         _MaxCount: ::std::os::raw::c_ulonglong,
   1646     ) -> *mut ::std::os::raw::c_void;
   1647 }
   1648 extern "C" {
   1649     pub fn memcmp(
   1650         _Buf1: *const ::std::os::raw::c_void,
   1651         _Buf2: *const ::std::os::raw::c_void,
   1652         _Size: ::std::os::raw::c_ulonglong,
   1653     ) -> ::std::os::raw::c_int;
   1654 }
   1655 extern "C" {
   1656     pub fn memcpy(
   1657         _Dst: *mut ::std::os::raw::c_void,
   1658         _Src: *const ::std::os::raw::c_void,
   1659         _Size: ::std::os::raw::c_ulonglong,
   1660     ) -> *mut ::std::os::raw::c_void;
   1661 }
   1662 extern "C" {
   1663     pub fn memmove(
   1664         _Dst: *mut ::std::os::raw::c_void,
   1665         _Src: *const ::std::os::raw::c_void,
   1666         _Size: ::std::os::raw::c_ulonglong,
   1667     ) -> *mut ::std::os::raw::c_void;
   1668 }
   1669 extern "C" {
   1670     pub fn memset(
   1671         _Dst: *mut ::std::os::raw::c_void,
   1672         _Val: ::std::os::raw::c_int,
   1673         _Size: ::std::os::raw::c_ulonglong,
   1674     ) -> *mut ::std::os::raw::c_void;
   1675 }
   1676 extern "C" {
   1677     pub fn strchr(
   1678         _Str: *const ::std::os::raw::c_char,
   1679         _Val: ::std::os::raw::c_int,
   1680     ) -> *mut ::std::os::raw::c_char;
   1681 }
   1682 extern "C" {
   1683     pub fn strrchr(
   1684         _Str: *const ::std::os::raw::c_char,
   1685         _Ch: ::std::os::raw::c_int,
   1686     ) -> *mut ::std::os::raw::c_char;
   1687 }
   1688 extern "C" {
   1689     pub fn strstr(
   1690         _Str: *const ::std::os::raw::c_char,
   1691         _SubStr: *const ::std::os::raw::c_char,
   1692     ) -> *mut ::std::os::raw::c_char;
   1693 }
   1694 extern "C" {
   1695     pub fn wcschr(
   1696         _Str: *const ::std::os::raw::c_ushort,
   1697         _Ch: ::std::os::raw::c_ushort,
   1698     ) -> *mut ::std::os::raw::c_ushort;
   1699 }
   1700 extern "C" {
   1701     pub fn wcsrchr(_Str: *const wchar_t, _Ch: wchar_t) -> *mut wchar_t;
   1702 }
   1703 extern "C" {
   1704     pub fn wcsstr(_Str: *const wchar_t, _SubStr: *const wchar_t) -> *mut wchar_t;
   1705 }
   1706 extern "C" {
   1707     pub fn _memicmp(
   1708         _Buf1: *const ::std::os::raw::c_void,
   1709         _Buf2: *const ::std::os::raw::c_void,
   1710         _Size: usize,
   1711     ) -> ::std::os::raw::c_int;
   1712 }
   1713 extern "C" {
   1714     pub fn _memicmp_l(
   1715         _Buf1: *const ::std::os::raw::c_void,
   1716         _Buf2: *const ::std::os::raw::c_void,
   1717         _Size: usize,
   1718         _Locale: _locale_t,
   1719     ) -> ::std::os::raw::c_int;
   1720 }
   1721 extern "C" {
   1722     pub fn memccpy(
   1723         _Dst: *mut ::std::os::raw::c_void,
   1724         _Src: *const ::std::os::raw::c_void,
   1725         _Val: ::std::os::raw::c_int,
   1726         _Size: ::std::os::raw::c_ulonglong,
   1727     ) -> *mut ::std::os::raw::c_void;
   1728 }
   1729 extern "C" {
   1730     pub fn memicmp(
   1731         _Buf1: *const ::std::os::raw::c_void,
   1732         _Buf2: *const ::std::os::raw::c_void,
   1733         _Size: usize,
   1734     ) -> ::std::os::raw::c_int;
   1735 }
   1736 extern "C" {
   1737     pub fn wcscat_s(
   1738         _Destination: *mut wchar_t,
   1739         _SizeInWords: rsize_t,
   1740         _Source: *const wchar_t,
   1741     ) -> errno_t;
   1742 }
   1743 extern "C" {
   1744     pub fn wcscpy_s(
   1745         _Destination: *mut wchar_t,
   1746         _SizeInWords: rsize_t,
   1747         _Source: *const wchar_t,
   1748     ) -> errno_t;
   1749 }
   1750 extern "C" {
   1751     pub fn wcsncat_s(
   1752         _Destination: *mut wchar_t,
   1753         _SizeInWords: rsize_t,
   1754         _Source: *const wchar_t,
   1755         _MaxCount: rsize_t,
   1756     ) -> errno_t;
   1757 }
   1758 extern "C" {
   1759     pub fn wcsncpy_s(
   1760         _Destination: *mut wchar_t,
   1761         _SizeInWords: rsize_t,
   1762         _Source: *const wchar_t,
   1763         _MaxCount: rsize_t,
   1764     ) -> errno_t;
   1765 }
   1766 extern "C" {
   1767     pub fn wcstok_s(
   1768         _String: *mut wchar_t,
   1769         _Delimiter: *const wchar_t,
   1770         _Context: *mut *mut wchar_t,
   1771     ) -> *mut wchar_t;
   1772 }
   1773 extern "C" {
   1774     pub fn _wcsdup(_String: *const wchar_t) -> *mut wchar_t;
   1775 }
   1776 extern "C" {
   1777     pub fn wcscat(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
   1778 }
   1779 extern "C" {
   1780     pub fn wcscmp(
   1781         _String1: *const ::std::os::raw::c_ushort,
   1782         _String2: *const ::std::os::raw::c_ushort,
   1783     ) -> ::std::os::raw::c_int;
   1784 }
   1785 extern "C" {
   1786     pub fn wcscpy(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
   1787 }
   1788 extern "C" {
   1789     pub fn wcscspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
   1790 }
   1791 extern "C" {
   1792     pub fn wcslen(_String: *const ::std::os::raw::c_ushort) -> ::std::os::raw::c_ulonglong;
   1793 }
   1794 extern "C" {
   1795     pub fn wcsnlen(_Source: *const wchar_t, _MaxCount: usize) -> usize;
   1796 }
   1797 extern "C" {
   1798     pub fn wcsncat(
   1799         _Destination: *mut wchar_t,
   1800         _Source: *const wchar_t,
   1801         _Count: usize,
   1802     ) -> *mut wchar_t;
   1803 }
   1804 extern "C" {
   1805     pub fn wcsncmp(
   1806         _String1: *const ::std::os::raw::c_ushort,
   1807         _String2: *const ::std::os::raw::c_ushort,
   1808         _MaxCount: ::std::os::raw::c_ulonglong,
   1809     ) -> ::std::os::raw::c_int;
   1810 }
   1811 extern "C" {
   1812     pub fn wcsncpy(
   1813         _Destination: *mut wchar_t,
   1814         _Source: *const wchar_t,
   1815         _Count: usize,
   1816     ) -> *mut wchar_t;
   1817 }
   1818 extern "C" {
   1819     pub fn wcspbrk(_String: *const wchar_t, _Control: *const wchar_t) -> *mut wchar_t;
   1820 }
   1821 extern "C" {
   1822     pub fn wcsspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
   1823 }
   1824 extern "C" {
   1825     pub fn wcstok(
   1826         _String: *mut wchar_t,
   1827         _Delimiter: *const wchar_t,
   1828         _Context: *mut *mut wchar_t,
   1829     ) -> *mut wchar_t;
   1830 }
   1831 extern "C" {
   1832     pub fn _wcserror(_ErrorNumber: ::std::os::raw::c_int) -> *mut wchar_t;
   1833 }
   1834 extern "C" {
   1835     pub fn _wcserror_s(
   1836         _Buffer: *mut wchar_t,
   1837         _SizeInWords: usize,
   1838         _ErrorNumber: ::std::os::raw::c_int,
   1839     ) -> errno_t;
   1840 }
   1841 extern "C" {
   1842     pub fn __wcserror(_String: *const wchar_t) -> *mut wchar_t;
   1843 }
   1844 extern "C" {
   1845     pub fn __wcserror_s(
   1846         _Buffer: *mut wchar_t,
   1847         _SizeInWords: usize,
   1848         _ErrorMessage: *const wchar_t,
   1849     ) -> errno_t;
   1850 }
   1851 extern "C" {
   1852     pub fn _wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
   1853 }
   1854 extern "C" {
   1855     pub fn _wcsicmp_l(
   1856         _String1: *const wchar_t,
   1857         _String2: *const wchar_t,
   1858         _Locale: _locale_t,
   1859     ) -> ::std::os::raw::c_int;
   1860 }
   1861 extern "C" {
   1862     pub fn _wcsnicmp(
   1863         _String1: *const wchar_t,
   1864         _String2: *const wchar_t,
   1865         _MaxCount: usize,
   1866     ) -> ::std::os::raw::c_int;
   1867 }
   1868 extern "C" {
   1869     pub fn _wcsnicmp_l(
   1870         _String1: *const wchar_t,
   1871         _String2: *const wchar_t,
   1872         _MaxCount: usize,
   1873         _Locale: _locale_t,
   1874     ) -> ::std::os::raw::c_int;
   1875 }
   1876 extern "C" {
   1877     pub fn _wcsnset_s(
   1878         _Destination: *mut wchar_t,
   1879         _SizeInWords: usize,
   1880         _Value: wchar_t,
   1881         _MaxCount: usize,
   1882     ) -> errno_t;
   1883 }
   1884 extern "C" {
   1885     pub fn _wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
   1886 }
   1887 extern "C" {
   1888     pub fn _wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
   1889 }
   1890 extern "C" {
   1891     pub fn _wcsset_s(_Destination: *mut wchar_t, _SizeInWords: usize, _Value: wchar_t) -> errno_t;
   1892 }
   1893 extern "C" {
   1894     pub fn _wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
   1895 }
   1896 extern "C" {
   1897     pub fn _wcslwr_s(_String: *mut wchar_t, _SizeInWords: usize) -> errno_t;
   1898 }
   1899 extern "C" {
   1900     pub fn _wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
   1901 }
   1902 extern "C" {
   1903     pub fn _wcslwr_s_l(_String: *mut wchar_t, _SizeInWords: usize, _Locale: _locale_t) -> errno_t;
   1904 }
   1905 extern "C" {
   1906     pub fn _wcslwr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
   1907 }
   1908 extern "C" {
   1909     pub fn _wcsupr_s(_String: *mut wchar_t, _Size: usize) -> errno_t;
   1910 }
   1911 extern "C" {
   1912     pub fn _wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
   1913 }
   1914 extern "C" {
   1915     pub fn _wcsupr_s_l(_String: *mut wchar_t, _Size: usize, _Locale: _locale_t) -> errno_t;
   1916 }
   1917 extern "C" {
   1918     pub fn _wcsupr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
   1919 }
   1920 extern "C" {
   1921     pub fn wcsxfrm(_Destination: *mut wchar_t, _Source: *const wchar_t, _MaxCount: usize) -> usize;
   1922 }
   1923 extern "C" {
   1924     pub fn _wcsxfrm_l(
   1925         _Destination: *mut wchar_t,
   1926         _Source: *const wchar_t,
   1927         _MaxCount: usize,
   1928         _Locale: _locale_t,
   1929     ) -> usize;
   1930 }
   1931 extern "C" {
   1932     pub fn wcscoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
   1933 }
   1934 extern "C" {
   1935     pub fn _wcscoll_l(
   1936         _String1: *const wchar_t,
   1937         _String2: *const wchar_t,
   1938         _Locale: _locale_t,
   1939     ) -> ::std::os::raw::c_int;
   1940 }
   1941 extern "C" {
   1942     pub fn _wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
   1943 }
   1944 extern "C" {
   1945     pub fn _wcsicoll_l(
   1946         _String1: *const wchar_t,
   1947         _String2: *const wchar_t,
   1948         _Locale: _locale_t,
   1949     ) -> ::std::os::raw::c_int;
   1950 }
   1951 extern "C" {
   1952     pub fn _wcsncoll(
   1953         _String1: *const wchar_t,
   1954         _String2: *const wchar_t,
   1955         _MaxCount: usize,
   1956     ) -> ::std::os::raw::c_int;
   1957 }
   1958 extern "C" {
   1959     pub fn _wcsncoll_l(
   1960         _String1: *const wchar_t,
   1961         _String2: *const wchar_t,
   1962         _MaxCount: usize,
   1963         _Locale: _locale_t,
   1964     ) -> ::std::os::raw::c_int;
   1965 }
   1966 extern "C" {
   1967     pub fn _wcsnicoll(
   1968         _String1: *const wchar_t,
   1969         _String2: *const wchar_t,
   1970         _MaxCount: usize,
   1971     ) -> ::std::os::raw::c_int;
   1972 }
   1973 extern "C" {
   1974     pub fn _wcsnicoll_l(
   1975         _String1: *const wchar_t,
   1976         _String2: *const wchar_t,
   1977         _MaxCount: usize,
   1978         _Locale: _locale_t,
   1979     ) -> ::std::os::raw::c_int;
   1980 }
   1981 extern "C" {
   1982     pub fn wcsdup(_String: *const wchar_t) -> *mut wchar_t;
   1983 }
   1984 extern "C" {
   1985     pub fn wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
   1986 }
   1987 extern "C" {
   1988     pub fn wcsnicmp(
   1989         _String1: *const wchar_t,
   1990         _String2: *const wchar_t,
   1991         _MaxCount: usize,
   1992     ) -> ::std::os::raw::c_int;
   1993 }
   1994 extern "C" {
   1995     pub fn wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
   1996 }
   1997 extern "C" {
   1998     pub fn wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
   1999 }
   2000 extern "C" {
   2001     pub fn wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
   2002 }
   2003 extern "C" {
   2004     pub fn wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
   2005 }
   2006 extern "C" {
   2007     pub fn wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
   2008 }
   2009 extern "C" {
   2010     pub fn wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
   2011 }
   2012 extern "C" {
   2013     pub fn strcpy_s(
   2014         _Destination: *mut ::std::os::raw::c_char,
   2015         _SizeInBytes: rsize_t,
   2016         _Source: *const ::std::os::raw::c_char,
   2017     ) -> errno_t;
   2018 }
   2019 extern "C" {
   2020     pub fn strcat_s(
   2021         _Destination: *mut ::std::os::raw::c_char,
   2022         _SizeInBytes: rsize_t,
   2023         _Source: *const ::std::os::raw::c_char,
   2024     ) -> errno_t;
   2025 }
   2026 extern "C" {
   2027     pub fn strerror_s(
   2028         _Buffer: *mut ::std::os::raw::c_char,
   2029         _SizeInBytes: usize,
   2030         _ErrorNumber: ::std::os::raw::c_int,
   2031     ) -> errno_t;
   2032 }
   2033 extern "C" {
   2034     pub fn strncat_s(
   2035         _Destination: *mut ::std::os::raw::c_char,
   2036         _SizeInBytes: rsize_t,
   2037         _Source: *const ::std::os::raw::c_char,
   2038         _MaxCount: rsize_t,
   2039     ) -> errno_t;
   2040 }
   2041 extern "C" {
   2042     pub fn strncpy_s(
   2043         _Destination: *mut ::std::os::raw::c_char,
   2044         _SizeInBytes: rsize_t,
   2045         _Source: *const ::std::os::raw::c_char,
   2046         _MaxCount: rsize_t,
   2047     ) -> errno_t;
   2048 }
   2049 extern "C" {
   2050     pub fn strtok_s(
   2051         _String: *mut ::std::os::raw::c_char,
   2052         _Delimiter: *const ::std::os::raw::c_char,
   2053         _Context: *mut *mut ::std::os::raw::c_char,
   2054     ) -> *mut ::std::os::raw::c_char;
   2055 }
   2056 extern "C" {
   2057     pub fn _memccpy(
   2058         _Dst: *mut ::std::os::raw::c_void,
   2059         _Src: *const ::std::os::raw::c_void,
   2060         _Val: ::std::os::raw::c_int,
   2061         _MaxCount: usize,
   2062     ) -> *mut ::std::os::raw::c_void;
   2063 }
   2064 extern "C" {
   2065     pub fn strcat(
   2066         _Destination: *mut ::std::os::raw::c_char,
   2067         _Source: *const ::std::os::raw::c_char,
   2068     ) -> *mut ::std::os::raw::c_char;
   2069 }
   2070 extern "C" {
   2071     pub fn strcmp(
   2072         _Str1: *const ::std::os::raw::c_char,
   2073         _Str2: *const ::std::os::raw::c_char,
   2074     ) -> ::std::os::raw::c_int;
   2075 }
   2076 extern "C" {
   2077     pub fn _strcmpi(
   2078         _String1: *const ::std::os::raw::c_char,
   2079         _String2: *const ::std::os::raw::c_char,
   2080     ) -> ::std::os::raw::c_int;
   2081 }
   2082 extern "C" {
   2083     pub fn strcoll(
   2084         _String1: *const ::std::os::raw::c_char,
   2085         _String2: *const ::std::os::raw::c_char,
   2086     ) -> ::std::os::raw::c_int;
   2087 }
   2088 extern "C" {
   2089     pub fn _strcoll_l(
   2090         _String1: *const ::std::os::raw::c_char,
   2091         _String2: *const ::std::os::raw::c_char,
   2092         _Locale: _locale_t,
   2093     ) -> ::std::os::raw::c_int;
   2094 }
   2095 extern "C" {
   2096     pub fn strcpy(
   2097         _Destination: *mut ::std::os::raw::c_char,
   2098         _Source: *const ::std::os::raw::c_char,
   2099     ) -> *mut ::std::os::raw::c_char;
   2100 }
   2101 extern "C" {
   2102     pub fn strcspn(
   2103         _Str: *const ::std::os::raw::c_char,
   2104         _Control: *const ::std::os::raw::c_char,
   2105     ) -> ::std::os::raw::c_ulonglong;
   2106 }
   2107 extern "C" {
   2108     pub fn _strdup(_Source: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2109 }
   2110 extern "C" {
   2111     pub fn _strerror(_ErrorMessage: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2112 }
   2113 extern "C" {
   2114     pub fn _strerror_s(
   2115         _Buffer: *mut ::std::os::raw::c_char,
   2116         _SizeInBytes: usize,
   2117         _ErrorMessage: *const ::std::os::raw::c_char,
   2118     ) -> errno_t;
   2119 }
   2120 extern "C" {
   2121     pub fn strerror(_ErrorMessage: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
   2122 }
   2123 extern "C" {
   2124     pub fn _stricmp(
   2125         _String1: *const ::std::os::raw::c_char,
   2126         _String2: *const ::std::os::raw::c_char,
   2127     ) -> ::std::os::raw::c_int;
   2128 }
   2129 extern "C" {
   2130     pub fn _stricoll(
   2131         _String1: *const ::std::os::raw::c_char,
   2132         _String2: *const ::std::os::raw::c_char,
   2133     ) -> ::std::os::raw::c_int;
   2134 }
   2135 extern "C" {
   2136     pub fn _stricoll_l(
   2137         _String1: *const ::std::os::raw::c_char,
   2138         _String2: *const ::std::os::raw::c_char,
   2139         _Locale: _locale_t,
   2140     ) -> ::std::os::raw::c_int;
   2141 }
   2142 extern "C" {
   2143     pub fn _stricmp_l(
   2144         _String1: *const ::std::os::raw::c_char,
   2145         _String2: *const ::std::os::raw::c_char,
   2146         _Locale: _locale_t,
   2147     ) -> ::std::os::raw::c_int;
   2148 }
   2149 extern "C" {
   2150     pub fn strlen(_Str: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulonglong;
   2151 }
   2152 extern "C" {
   2153     pub fn _strlwr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
   2154 }
   2155 extern "C" {
   2156     pub fn _strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2157 }
   2158 extern "C" {
   2159     pub fn _strlwr_s_l(
   2160         _String: *mut ::std::os::raw::c_char,
   2161         _Size: usize,
   2162         _Locale: _locale_t,
   2163     ) -> errno_t;
   2164 }
   2165 extern "C" {
   2166     pub fn _strlwr_l(
   2167         _String: *mut ::std::os::raw::c_char,
   2168         _Locale: _locale_t,
   2169     ) -> *mut ::std::os::raw::c_char;
   2170 }
   2171 extern "C" {
   2172     pub fn strncat(
   2173         _Destination: *mut ::std::os::raw::c_char,
   2174         _Source: *const ::std::os::raw::c_char,
   2175         _Count: ::std::os::raw::c_ulonglong,
   2176     ) -> *mut ::std::os::raw::c_char;
   2177 }
   2178 extern "C" {
   2179     pub fn strncmp(
   2180         _Str1: *const ::std::os::raw::c_char,
   2181         _Str2: *const ::std::os::raw::c_char,
   2182         _MaxCount: ::std::os::raw::c_ulonglong,
   2183     ) -> ::std::os::raw::c_int;
   2184 }
   2185 extern "C" {
   2186     pub fn _strnicmp(
   2187         _String1: *const ::std::os::raw::c_char,
   2188         _String2: *const ::std::os::raw::c_char,
   2189         _MaxCount: usize,
   2190     ) -> ::std::os::raw::c_int;
   2191 }
   2192 extern "C" {
   2193     pub fn _strnicmp_l(
   2194         _String1: *const ::std::os::raw::c_char,
   2195         _String2: *const ::std::os::raw::c_char,
   2196         _MaxCount: usize,
   2197         _Locale: _locale_t,
   2198     ) -> ::std::os::raw::c_int;
   2199 }
   2200 extern "C" {
   2201     pub fn _strnicoll(
   2202         _String1: *const ::std::os::raw::c_char,
   2203         _String2: *const ::std::os::raw::c_char,
   2204         _MaxCount: usize,
   2205     ) -> ::std::os::raw::c_int;
   2206 }
   2207 extern "C" {
   2208     pub fn _strnicoll_l(
   2209         _String1: *const ::std::os::raw::c_char,
   2210         _String2: *const ::std::os::raw::c_char,
   2211         _MaxCount: usize,
   2212         _Locale: _locale_t,
   2213     ) -> ::std::os::raw::c_int;
   2214 }
   2215 extern "C" {
   2216     pub fn _strncoll(
   2217         _String1: *const ::std::os::raw::c_char,
   2218         _String2: *const ::std::os::raw::c_char,
   2219         _MaxCount: usize,
   2220     ) -> ::std::os::raw::c_int;
   2221 }
   2222 extern "C" {
   2223     pub fn _strncoll_l(
   2224         _String1: *const ::std::os::raw::c_char,
   2225         _String2: *const ::std::os::raw::c_char,
   2226         _MaxCount: usize,
   2227         _Locale: _locale_t,
   2228     ) -> ::std::os::raw::c_int;
   2229 }
   2230 extern "C" {
   2231     pub fn __strncnt(_String: *const ::std::os::raw::c_char, _Count: usize) -> usize;
   2232 }
   2233 extern "C" {
   2234     pub fn strncpy(
   2235         _Destination: *mut ::std::os::raw::c_char,
   2236         _Source: *const ::std::os::raw::c_char,
   2237         _Count: ::std::os::raw::c_ulonglong,
   2238     ) -> *mut ::std::os::raw::c_char;
   2239 }
   2240 extern "C" {
   2241     pub fn strnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize;
   2242 }
   2243 extern "C" {
   2244     pub fn _strnset_s(
   2245         _String: *mut ::std::os::raw::c_char,
   2246         _SizeInBytes: usize,
   2247         _Value: ::std::os::raw::c_int,
   2248         _MaxCount: usize,
   2249     ) -> errno_t;
   2250 }
   2251 extern "C" {
   2252     pub fn _strnset(
   2253         _Destination: *mut ::std::os::raw::c_char,
   2254         _Value: ::std::os::raw::c_int,
   2255         _Count: usize,
   2256     ) -> *mut ::std::os::raw::c_char;
   2257 }
   2258 extern "C" {
   2259     pub fn strpbrk(
   2260         _Str: *const ::std::os::raw::c_char,
   2261         _Control: *const ::std::os::raw::c_char,
   2262     ) -> *mut ::std::os::raw::c_char;
   2263 }
   2264 extern "C" {
   2265     pub fn _strrev(_Str: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2266 }
   2267 extern "C" {
   2268     pub fn _strset_s(
   2269         _Destination: *mut ::std::os::raw::c_char,
   2270         _DestinationSize: usize,
   2271         _Value: ::std::os::raw::c_int,
   2272     ) -> errno_t;
   2273 }
   2274 extern "C" {
   2275     pub fn _strset(
   2276         _Destination: *mut ::std::os::raw::c_char,
   2277         _Value: ::std::os::raw::c_int,
   2278     ) -> *mut ::std::os::raw::c_char;
   2279 }
   2280 extern "C" {
   2281     pub fn strspn(
   2282         _Str: *const ::std::os::raw::c_char,
   2283         _Control: *const ::std::os::raw::c_char,
   2284     ) -> ::std::os::raw::c_ulonglong;
   2285 }
   2286 extern "C" {
   2287     pub fn strtok(
   2288         _String: *mut ::std::os::raw::c_char,
   2289         _Delimiter: *const ::std::os::raw::c_char,
   2290     ) -> *mut ::std::os::raw::c_char;
   2291 }
   2292 extern "C" {
   2293     pub fn _strupr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
   2294 }
   2295 extern "C" {
   2296     pub fn _strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2297 }
   2298 extern "C" {
   2299     pub fn _strupr_s_l(
   2300         _String: *mut ::std::os::raw::c_char,
   2301         _Size: usize,
   2302         _Locale: _locale_t,
   2303     ) -> errno_t;
   2304 }
   2305 extern "C" {
   2306     pub fn _strupr_l(
   2307         _String: *mut ::std::os::raw::c_char,
   2308         _Locale: _locale_t,
   2309     ) -> *mut ::std::os::raw::c_char;
   2310 }
   2311 extern "C" {
   2312     pub fn strxfrm(
   2313         _Destination: *mut ::std::os::raw::c_char,
   2314         _Source: *const ::std::os::raw::c_char,
   2315         _MaxCount: ::std::os::raw::c_ulonglong,
   2316     ) -> ::std::os::raw::c_ulonglong;
   2317 }
   2318 extern "C" {
   2319     pub fn _strxfrm_l(
   2320         _Destination: *mut ::std::os::raw::c_char,
   2321         _Source: *const ::std::os::raw::c_char,
   2322         _MaxCount: usize,
   2323         _Locale: _locale_t,
   2324     ) -> usize;
   2325 }
   2326 extern "C" {
   2327     pub fn strdup(_String: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2328 }
   2329 extern "C" {
   2330     pub fn strcmpi(
   2331         _String1: *const ::std::os::raw::c_char,
   2332         _String2: *const ::std::os::raw::c_char,
   2333     ) -> ::std::os::raw::c_int;
   2334 }
   2335 extern "C" {
   2336     pub fn stricmp(
   2337         _String1: *const ::std::os::raw::c_char,
   2338         _String2: *const ::std::os::raw::c_char,
   2339     ) -> ::std::os::raw::c_int;
   2340 }
   2341 extern "C" {
   2342     pub fn strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2343 }
   2344 extern "C" {
   2345     pub fn strnicmp(
   2346         _String1: *const ::std::os::raw::c_char,
   2347         _String2: *const ::std::os::raw::c_char,
   2348         _MaxCount: usize,
   2349     ) -> ::std::os::raw::c_int;
   2350 }
   2351 extern "C" {
   2352     pub fn strnset(
   2353         _String: *mut ::std::os::raw::c_char,
   2354         _Value: ::std::os::raw::c_int,
   2355         _MaxCount: usize,
   2356     ) -> *mut ::std::os::raw::c_char;
   2357 }
   2358 extern "C" {
   2359     pub fn strrev(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2360 }
   2361 extern "C" {
   2362     pub fn strset(
   2363         _String: *mut ::std::os::raw::c_char,
   2364         _Value: ::std::os::raw::c_int,
   2365     ) -> *mut ::std::os::raw::c_char;
   2366 }
   2367 extern "C" {
   2368     pub fn strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
   2369 }
   2370 #[repr(C)]
   2371 #[derive(Debug, Copy, Clone)]
   2372 pub struct cursor {
   2373     pub start: *mut ::std::os::raw::c_uchar,
   2374     pub p: *mut ::std::os::raw::c_uchar,
   2375     pub end: *mut ::std::os::raw::c_uchar,
   2376 }
   2377 #[test]
   2378 fn bindgen_test_layout_cursor() {
   2379     const UNINIT: ::std::mem::MaybeUninit<cursor> = ::std::mem::MaybeUninit::uninit();
   2380     let ptr = UNINIT.as_ptr();
   2381     assert_eq!(
   2382         ::std::mem::size_of::<cursor>(),
   2383         24usize,
   2384         concat!("Size of: ", stringify!(cursor))
   2385     );
   2386     assert_eq!(
   2387         ::std::mem::align_of::<cursor>(),
   2388         8usize,
   2389         concat!("Alignment of ", stringify!(cursor))
   2390     );
   2391     assert_eq!(
   2392         unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
   2393         0usize,
   2394         concat!(
   2395             "Offset of field: ",
   2396             stringify!(cursor),
   2397             "::",
   2398             stringify!(start)
   2399         )
   2400     );
   2401     assert_eq!(
   2402         unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
   2403         8usize,
   2404         concat!("Offset of field: ", stringify!(cursor), "::", stringify!(p))
   2405     );
   2406     assert_eq!(
   2407         unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
   2408         16usize,
   2409         concat!(
   2410             "Offset of field: ",
   2411             stringify!(cursor),
   2412             "::",
   2413             stringify!(end)
   2414         )
   2415     );
   2416 }
   2417 #[repr(C)]
   2418 #[derive(Debug, Copy, Clone)]
   2419 pub struct ndb_str_block {
   2420     pub str_: *const ::std::os::raw::c_char,
   2421     pub len: u32,
   2422 }
   2423 #[test]
   2424 fn bindgen_test_layout_ndb_str_block() {
   2425     const UNINIT: ::std::mem::MaybeUninit<ndb_str_block> = ::std::mem::MaybeUninit::uninit();
   2426     let ptr = UNINIT.as_ptr();
   2427     assert_eq!(
   2428         ::std::mem::size_of::<ndb_str_block>(),
   2429         16usize,
   2430         concat!("Size of: ", stringify!(ndb_str_block))
   2431     );
   2432     assert_eq!(
   2433         ::std::mem::align_of::<ndb_str_block>(),
   2434         8usize,
   2435         concat!("Alignment of ", stringify!(ndb_str_block))
   2436     );
   2437     assert_eq!(
   2438         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   2439         0usize,
   2440         concat!(
   2441             "Offset of field: ",
   2442             stringify!(ndb_str_block),
   2443             "::",
   2444             stringify!(str_)
   2445         )
   2446     );
   2447     assert_eq!(
   2448         unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
   2449         8usize,
   2450         concat!(
   2451             "Offset of field: ",
   2452             stringify!(ndb_str_block),
   2453             "::",
   2454             stringify!(len)
   2455         )
   2456     );
   2457 }
   2458 pub type str_block_t = ndb_str_block;
   2459 #[repr(C)]
   2460 #[derive(Debug, Copy, Clone)]
   2461 pub struct ndb_json_parser {
   2462     _unused: [u8; 0],
   2463 }
   2464 #[repr(C)]
   2465 #[derive(Debug, Copy, Clone)]
   2466 pub struct ndb {
   2467     _unused: [u8; 0],
   2468 }
   2469 #[repr(C)]
   2470 #[derive(Debug, Copy, Clone)]
   2471 pub struct ndb_blocks {
   2472     _unused: [u8; 0],
   2473 }
   2474 #[repr(C)]
   2475 #[derive(Debug, Copy, Clone)]
   2476 pub struct ndb_note {
   2477     _unused: [u8; 0],
   2478 }
   2479 #[repr(C)]
   2480 #[derive(Debug, Copy, Clone)]
   2481 pub struct ndb_tag {
   2482     _unused: [u8; 0],
   2483 }
   2484 #[repr(C)]
   2485 #[derive(Debug, Copy, Clone)]
   2486 pub struct ndb_tags {
   2487     _unused: [u8; 0],
   2488 }
   2489 #[repr(C)]
   2490 #[derive(Debug, Copy, Clone)]
   2491 pub struct ndb_lmdb {
   2492     _unused: [u8; 0],
   2493 }
   2494 #[repr(C)]
   2495 #[derive(Copy, Clone)]
   2496 pub struct ndb_packed_str {
   2497     _unused: [u8; 0],
   2498 }
   2499 #[repr(C)]
   2500 #[derive(Debug, Copy, Clone)]
   2501 pub struct bolt11 {
   2502     _unused: [u8; 0],
   2503 }
   2504 pub const ndb_metadata_type_NDB_NOTE_META_RESERVED: ndb_metadata_type = 0;
   2505 pub const ndb_metadata_type_NDB_NOTE_META_COUNTS: ndb_metadata_type = 100;
   2506 pub const ndb_metadata_type_NDB_NOTE_META_REACTION: ndb_metadata_type = 200;
   2507 pub type ndb_metadata_type = ::std::os::raw::c_int;
   2508 #[repr(C)]
   2509 #[derive(Debug, Copy, Clone)]
   2510 pub struct ndb_tag_ptr {
   2511     pub ptr: *mut ndb_tag,
   2512 }
   2513 #[test]
   2514 fn bindgen_test_layout_ndb_tag_ptr() {
   2515     const UNINIT: ::std::mem::MaybeUninit<ndb_tag_ptr> = ::std::mem::MaybeUninit::uninit();
   2516     let ptr = UNINIT.as_ptr();
   2517     assert_eq!(
   2518         ::std::mem::size_of::<ndb_tag_ptr>(),
   2519         8usize,
   2520         concat!("Size of: ", stringify!(ndb_tag_ptr))
   2521     );
   2522     assert_eq!(
   2523         ::std::mem::align_of::<ndb_tag_ptr>(),
   2524         8usize,
   2525         concat!("Alignment of ", stringify!(ndb_tag_ptr))
   2526     );
   2527     assert_eq!(
   2528         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2529         0usize,
   2530         concat!(
   2531             "Offset of field: ",
   2532             stringify!(ndb_tag_ptr),
   2533             "::",
   2534             stringify!(ptr)
   2535         )
   2536     );
   2537 }
   2538 #[repr(C)]
   2539 #[derive(Debug, Copy, Clone)]
   2540 pub struct ndb_tags_ptr {
   2541     pub ptr: *mut ndb_tags,
   2542 }
   2543 #[test]
   2544 fn bindgen_test_layout_ndb_tags_ptr() {
   2545     const UNINIT: ::std::mem::MaybeUninit<ndb_tags_ptr> = ::std::mem::MaybeUninit::uninit();
   2546     let ptr = UNINIT.as_ptr();
   2547     assert_eq!(
   2548         ::std::mem::size_of::<ndb_tags_ptr>(),
   2549         8usize,
   2550         concat!("Size of: ", stringify!(ndb_tags_ptr))
   2551     );
   2552     assert_eq!(
   2553         ::std::mem::align_of::<ndb_tags_ptr>(),
   2554         8usize,
   2555         concat!("Alignment of ", stringify!(ndb_tags_ptr))
   2556     );
   2557     assert_eq!(
   2558         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2559         0usize,
   2560         concat!(
   2561             "Offset of field: ",
   2562             stringify!(ndb_tags_ptr),
   2563             "::",
   2564             stringify!(ptr)
   2565         )
   2566     );
   2567 }
   2568 #[repr(C)]
   2569 #[derive(Debug, Copy, Clone)]
   2570 pub struct ndb_block_ptr {
   2571     pub ptr: *mut ndb_block,
   2572 }
   2573 #[test]
   2574 fn bindgen_test_layout_ndb_block_ptr() {
   2575     const UNINIT: ::std::mem::MaybeUninit<ndb_block_ptr> = ::std::mem::MaybeUninit::uninit();
   2576     let ptr = UNINIT.as_ptr();
   2577     assert_eq!(
   2578         ::std::mem::size_of::<ndb_block_ptr>(),
   2579         8usize,
   2580         concat!("Size of: ", stringify!(ndb_block_ptr))
   2581     );
   2582     assert_eq!(
   2583         ::std::mem::align_of::<ndb_block_ptr>(),
   2584         8usize,
   2585         concat!("Alignment of ", stringify!(ndb_block_ptr))
   2586     );
   2587     assert_eq!(
   2588         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2589         0usize,
   2590         concat!(
   2591             "Offset of field: ",
   2592             stringify!(ndb_block_ptr),
   2593             "::",
   2594             stringify!(ptr)
   2595         )
   2596     );
   2597 }
   2598 #[repr(C)]
   2599 #[derive(Debug, Copy, Clone)]
   2600 pub struct ndb_blocks_ptr {
   2601     pub ptr: *mut ndb_blocks,
   2602 }
   2603 #[test]
   2604 fn bindgen_test_layout_ndb_blocks_ptr() {
   2605     const UNINIT: ::std::mem::MaybeUninit<ndb_blocks_ptr> = ::std::mem::MaybeUninit::uninit();
   2606     let ptr = UNINIT.as_ptr();
   2607     assert_eq!(
   2608         ::std::mem::size_of::<ndb_blocks_ptr>(),
   2609         8usize,
   2610         concat!("Size of: ", stringify!(ndb_blocks_ptr))
   2611     );
   2612     assert_eq!(
   2613         ::std::mem::align_of::<ndb_blocks_ptr>(),
   2614         8usize,
   2615         concat!("Alignment of ", stringify!(ndb_blocks_ptr))
   2616     );
   2617     assert_eq!(
   2618         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2619         0usize,
   2620         concat!(
   2621             "Offset of field: ",
   2622             stringify!(ndb_blocks_ptr),
   2623             "::",
   2624             stringify!(ptr)
   2625         )
   2626     );
   2627 }
   2628 #[repr(C)]
   2629 #[derive(Debug, Copy, Clone)]
   2630 pub struct ndb_note_ptr {
   2631     pub ptr: *mut ndb_note,
   2632 }
   2633 #[test]
   2634 fn bindgen_test_layout_ndb_note_ptr() {
   2635     const UNINIT: ::std::mem::MaybeUninit<ndb_note_ptr> = ::std::mem::MaybeUninit::uninit();
   2636     let ptr = UNINIT.as_ptr();
   2637     assert_eq!(
   2638         ::std::mem::size_of::<ndb_note_ptr>(),
   2639         8usize,
   2640         concat!("Size of: ", stringify!(ndb_note_ptr))
   2641     );
   2642     assert_eq!(
   2643         ::std::mem::align_of::<ndb_note_ptr>(),
   2644         8usize,
   2645         concat!("Alignment of ", stringify!(ndb_note_ptr))
   2646     );
   2647     assert_eq!(
   2648         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2649         0usize,
   2650         concat!(
   2651             "Offset of field: ",
   2652             stringify!(ndb_note_ptr),
   2653             "::",
   2654             stringify!(ptr)
   2655         )
   2656     );
   2657 }
   2658 #[repr(C)]
   2659 #[derive(Debug, Copy, Clone)]
   2660 pub struct ndb_t {
   2661     pub ndb: *mut ndb,
   2662 }
   2663 #[test]
   2664 fn bindgen_test_layout_ndb_t() {
   2665     const UNINIT: ::std::mem::MaybeUninit<ndb_t> = ::std::mem::MaybeUninit::uninit();
   2666     let ptr = UNINIT.as_ptr();
   2667     assert_eq!(
   2668         ::std::mem::size_of::<ndb_t>(),
   2669         8usize,
   2670         concat!("Size of: ", stringify!(ndb_t))
   2671     );
   2672     assert_eq!(
   2673         ::std::mem::align_of::<ndb_t>(),
   2674         8usize,
   2675         concat!("Alignment of ", stringify!(ndb_t))
   2676     );
   2677     assert_eq!(
   2678         unsafe { ::std::ptr::addr_of!((*ptr).ndb) as usize - ptr as usize },
   2679         0usize,
   2680         concat!(
   2681             "Offset of field: ",
   2682             stringify!(ndb_t),
   2683             "::",
   2684             stringify!(ndb)
   2685         )
   2686     );
   2687 }
   2688 #[repr(C)]
   2689 #[derive(Copy, Clone)]
   2690 pub union ndb_reaction_str {
   2691     pub binmoji: u64,
   2692     pub packed: ndb_reaction_str__bindgen_ty_1,
   2693 }
   2694 #[repr(C)]
   2695 #[derive(Debug, Copy, Clone)]
   2696 pub struct ndb_reaction_str__bindgen_ty_1 {
   2697     pub flag: u8,
   2698     pub str_: [::std::os::raw::c_char; 7usize],
   2699 }
   2700 #[test]
   2701 fn bindgen_test_layout_ndb_reaction_str__bindgen_ty_1() {
   2702     const UNINIT: ::std::mem::MaybeUninit<ndb_reaction_str__bindgen_ty_1> =
   2703         ::std::mem::MaybeUninit::uninit();
   2704     let ptr = UNINIT.as_ptr();
   2705     assert_eq!(
   2706         ::std::mem::size_of::<ndb_reaction_str__bindgen_ty_1>(),
   2707         8usize,
   2708         concat!("Size of: ", stringify!(ndb_reaction_str__bindgen_ty_1))
   2709     );
   2710     assert_eq!(
   2711         ::std::mem::align_of::<ndb_reaction_str__bindgen_ty_1>(),
   2712         1usize,
   2713         concat!("Alignment of ", stringify!(ndb_reaction_str__bindgen_ty_1))
   2714     );
   2715     assert_eq!(
   2716         unsafe { ::std::ptr::addr_of!((*ptr).flag) as usize - ptr as usize },
   2717         0usize,
   2718         concat!(
   2719             "Offset of field: ",
   2720             stringify!(ndb_reaction_str__bindgen_ty_1),
   2721             "::",
   2722             stringify!(flag)
   2723         )
   2724     );
   2725     assert_eq!(
   2726         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   2727         1usize,
   2728         concat!(
   2729             "Offset of field: ",
   2730             stringify!(ndb_reaction_str__bindgen_ty_1),
   2731             "::",
   2732             stringify!(str_)
   2733         )
   2734     );
   2735 }
   2736 #[test]
   2737 fn bindgen_test_layout_ndb_reaction_str() {
   2738     const UNINIT: ::std::mem::MaybeUninit<ndb_reaction_str> = ::std::mem::MaybeUninit::uninit();
   2739     let ptr = UNINIT.as_ptr();
   2740     assert_eq!(
   2741         ::std::mem::size_of::<ndb_reaction_str>(),
   2742         8usize,
   2743         concat!("Size of: ", stringify!(ndb_reaction_str))
   2744     );
   2745     assert_eq!(
   2746         ::std::mem::align_of::<ndb_reaction_str>(),
   2747         8usize,
   2748         concat!("Alignment of ", stringify!(ndb_reaction_str))
   2749     );
   2750     assert_eq!(
   2751         unsafe { ::std::ptr::addr_of!((*ptr).binmoji) as usize - ptr as usize },
   2752         0usize,
   2753         concat!(
   2754             "Offset of field: ",
   2755             stringify!(ndb_reaction_str),
   2756             "::",
   2757             stringify!(binmoji)
   2758         )
   2759     );
   2760     assert_eq!(
   2761         unsafe { ::std::ptr::addr_of!((*ptr).packed) as usize - ptr as usize },
   2762         0usize,
   2763         concat!(
   2764             "Offset of field: ",
   2765             stringify!(ndb_reaction_str),
   2766             "::",
   2767             stringify!(packed)
   2768         )
   2769     );
   2770 }
   2771 #[repr(C)]
   2772 #[derive(Debug, Copy, Clone)]
   2773 pub struct ndb_note_meta_builder {
   2774     pub cursor: cursor,
   2775 }
   2776 #[test]
   2777 fn bindgen_test_layout_ndb_note_meta_builder() {
   2778     const UNINIT: ::std::mem::MaybeUninit<ndb_note_meta_builder> =
   2779         ::std::mem::MaybeUninit::uninit();
   2780     let ptr = UNINIT.as_ptr();
   2781     assert_eq!(
   2782         ::std::mem::size_of::<ndb_note_meta_builder>(),
   2783         24usize,
   2784         concat!("Size of: ", stringify!(ndb_note_meta_builder))
   2785     );
   2786     assert_eq!(
   2787         ::std::mem::align_of::<ndb_note_meta_builder>(),
   2788         8usize,
   2789         concat!("Alignment of ", stringify!(ndb_note_meta_builder))
   2790     );
   2791     assert_eq!(
   2792         unsafe { ::std::ptr::addr_of!((*ptr).cursor) as usize - ptr as usize },
   2793         0usize,
   2794         concat!(
   2795             "Offset of field: ",
   2796             stringify!(ndb_note_meta_builder),
   2797             "::",
   2798             stringify!(cursor)
   2799         )
   2800     );
   2801 }
   2802 #[repr(C)]
   2803 #[derive(Copy, Clone)]
   2804 pub struct ndb_str {
   2805     pub flag: ::std::os::raw::c_uchar,
   2806     pub __bindgen_anon_1: ndb_str__bindgen_ty_1,
   2807 }
   2808 #[repr(C)]
   2809 #[derive(Copy, Clone)]
   2810 pub union ndb_str__bindgen_ty_1 {
   2811     pub str_: *const ::std::os::raw::c_char,
   2812     pub id: *mut ::std::os::raw::c_uchar,
   2813 }
   2814 #[test]
   2815 fn bindgen_test_layout_ndb_str__bindgen_ty_1() {
   2816     const UNINIT: ::std::mem::MaybeUninit<ndb_str__bindgen_ty_1> =
   2817         ::std::mem::MaybeUninit::uninit();
   2818     let ptr = UNINIT.as_ptr();
   2819     assert_eq!(
   2820         ::std::mem::size_of::<ndb_str__bindgen_ty_1>(),
   2821         8usize,
   2822         concat!("Size of: ", stringify!(ndb_str__bindgen_ty_1))
   2823     );
   2824     assert_eq!(
   2825         ::std::mem::align_of::<ndb_str__bindgen_ty_1>(),
   2826         8usize,
   2827         concat!("Alignment of ", stringify!(ndb_str__bindgen_ty_1))
   2828     );
   2829     assert_eq!(
   2830         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   2831         0usize,
   2832         concat!(
   2833             "Offset of field: ",
   2834             stringify!(ndb_str__bindgen_ty_1),
   2835             "::",
   2836             stringify!(str_)
   2837         )
   2838     );
   2839     assert_eq!(
   2840         unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
   2841         0usize,
   2842         concat!(
   2843             "Offset of field: ",
   2844             stringify!(ndb_str__bindgen_ty_1),
   2845             "::",
   2846             stringify!(id)
   2847         )
   2848     );
   2849 }
   2850 #[test]
   2851 fn bindgen_test_layout_ndb_str() {
   2852     const UNINIT: ::std::mem::MaybeUninit<ndb_str> = ::std::mem::MaybeUninit::uninit();
   2853     let ptr = UNINIT.as_ptr();
   2854     assert_eq!(
   2855         ::std::mem::size_of::<ndb_str>(),
   2856         16usize,
   2857         concat!("Size of: ", stringify!(ndb_str))
   2858     );
   2859     assert_eq!(
   2860         ::std::mem::align_of::<ndb_str>(),
   2861         8usize,
   2862         concat!("Alignment of ", stringify!(ndb_str))
   2863     );
   2864     assert_eq!(
   2865         unsafe { ::std::ptr::addr_of!((*ptr).flag) as usize - ptr as usize },
   2866         0usize,
   2867         concat!(
   2868             "Offset of field: ",
   2869             stringify!(ndb_str),
   2870             "::",
   2871             stringify!(flag)
   2872         )
   2873     );
   2874 }
   2875 #[repr(C)]
   2876 #[derive(Debug, Copy, Clone)]
   2877 pub struct ndb_ingest_meta {
   2878     pub client: ::std::os::raw::c_uint,
   2879     pub relay: *const ::std::os::raw::c_char,
   2880 }
   2881 #[test]
   2882 fn bindgen_test_layout_ndb_ingest_meta() {
   2883     const UNINIT: ::std::mem::MaybeUninit<ndb_ingest_meta> = ::std::mem::MaybeUninit::uninit();
   2884     let ptr = UNINIT.as_ptr();
   2885     assert_eq!(
   2886         ::std::mem::size_of::<ndb_ingest_meta>(),
   2887         16usize,
   2888         concat!("Size of: ", stringify!(ndb_ingest_meta))
   2889     );
   2890     assert_eq!(
   2891         ::std::mem::align_of::<ndb_ingest_meta>(),
   2892         8usize,
   2893         concat!("Alignment of ", stringify!(ndb_ingest_meta))
   2894     );
   2895     assert_eq!(
   2896         unsafe { ::std::ptr::addr_of!((*ptr).client) as usize - ptr as usize },
   2897         0usize,
   2898         concat!(
   2899             "Offset of field: ",
   2900             stringify!(ndb_ingest_meta),
   2901             "::",
   2902             stringify!(client)
   2903         )
   2904     );
   2905     assert_eq!(
   2906         unsafe { ::std::ptr::addr_of!((*ptr).relay) as usize - ptr as usize },
   2907         8usize,
   2908         concat!(
   2909             "Offset of field: ",
   2910             stringify!(ndb_ingest_meta),
   2911             "::",
   2912             stringify!(relay)
   2913         )
   2914     );
   2915 }
   2916 #[repr(C)]
   2917 #[derive(Debug, Copy, Clone)]
   2918 pub struct ndb_keypair {
   2919     pub pubkey: [::std::os::raw::c_uchar; 32usize],
   2920     pub secret: [::std::os::raw::c_uchar; 32usize],
   2921     pub pair: [::std::os::raw::c_uchar; 96usize],
   2922 }
   2923 #[test]
   2924 fn bindgen_test_layout_ndb_keypair() {
   2925     const UNINIT: ::std::mem::MaybeUninit<ndb_keypair> = ::std::mem::MaybeUninit::uninit();
   2926     let ptr = UNINIT.as_ptr();
   2927     assert_eq!(
   2928         ::std::mem::size_of::<ndb_keypair>(),
   2929         160usize,
   2930         concat!("Size of: ", stringify!(ndb_keypair))
   2931     );
   2932     assert_eq!(
   2933         ::std::mem::align_of::<ndb_keypair>(),
   2934         1usize,
   2935         concat!("Alignment of ", stringify!(ndb_keypair))
   2936     );
   2937     assert_eq!(
   2938         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   2939         0usize,
   2940         concat!(
   2941             "Offset of field: ",
   2942             stringify!(ndb_keypair),
   2943             "::",
   2944             stringify!(pubkey)
   2945         )
   2946     );
   2947     assert_eq!(
   2948         unsafe { ::std::ptr::addr_of!((*ptr).secret) as usize - ptr as usize },
   2949         32usize,
   2950         concat!(
   2951             "Offset of field: ",
   2952             stringify!(ndb_keypair),
   2953             "::",
   2954             stringify!(secret)
   2955         )
   2956     );
   2957     assert_eq!(
   2958         unsafe { ::std::ptr::addr_of!((*ptr).pair) as usize - ptr as usize },
   2959         64usize,
   2960         concat!(
   2961             "Offset of field: ",
   2962             stringify!(ndb_keypair),
   2963             "::",
   2964             stringify!(pair)
   2965         )
   2966     );
   2967 }
   2968 pub type ndb_idres = ::std::os::raw::c_int;
   2969 pub type ndb_id_fn = ::std::option::Option<
   2970     unsafe extern "C" fn(
   2971         arg1: *mut ::std::os::raw::c_void,
   2972         arg2: *const ::std::os::raw::c_char,
   2973     ) -> ndb_idres,
   2974 >;
   2975 pub type ndb_sub_fn =
   2976     ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, subid: u64)>;
   2977 #[repr(C)]
   2978 #[derive(Debug, Copy, Clone)]
   2979 pub struct ndb_id_cb {
   2980     pub fn_: ndb_id_fn,
   2981     pub data: *mut ::std::os::raw::c_void,
   2982 }
   2983 #[test]
   2984 fn bindgen_test_layout_ndb_id_cb() {
   2985     const UNINIT: ::std::mem::MaybeUninit<ndb_id_cb> = ::std::mem::MaybeUninit::uninit();
   2986     let ptr = UNINIT.as_ptr();
   2987     assert_eq!(
   2988         ::std::mem::size_of::<ndb_id_cb>(),
   2989         16usize,
   2990         concat!("Size of: ", stringify!(ndb_id_cb))
   2991     );
   2992     assert_eq!(
   2993         ::std::mem::align_of::<ndb_id_cb>(),
   2994         8usize,
   2995         concat!("Alignment of ", stringify!(ndb_id_cb))
   2996     );
   2997     assert_eq!(
   2998         unsafe { ::std::ptr::addr_of!((*ptr).fn_) as usize - ptr as usize },
   2999         0usize,
   3000         concat!(
   3001             "Offset of field: ",
   3002             stringify!(ndb_id_cb),
   3003             "::",
   3004             stringify!(fn_)
   3005         )
   3006     );
   3007     assert_eq!(
   3008         unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
   3009         8usize,
   3010         concat!(
   3011             "Offset of field: ",
   3012             stringify!(ndb_id_cb),
   3013             "::",
   3014             stringify!(data)
   3015         )
   3016     );
   3017 }
   3018 #[repr(C)]
   3019 #[derive(Debug, Copy, Clone)]
   3020 pub struct ndb_txn {
   3021     pub lmdb: *mut ndb_lmdb,
   3022     pub mdb_txn: *mut ::std::os::raw::c_void,
   3023 }
   3024 #[test]
   3025 fn bindgen_test_layout_ndb_txn() {
   3026     const UNINIT: ::std::mem::MaybeUninit<ndb_txn> = ::std::mem::MaybeUninit::uninit();
   3027     let ptr = UNINIT.as_ptr();
   3028     assert_eq!(
   3029         ::std::mem::size_of::<ndb_txn>(),
   3030         16usize,
   3031         concat!("Size of: ", stringify!(ndb_txn))
   3032     );
   3033     assert_eq!(
   3034         ::std::mem::align_of::<ndb_txn>(),
   3035         8usize,
   3036         concat!("Alignment of ", stringify!(ndb_txn))
   3037     );
   3038     assert_eq!(
   3039         unsafe { ::std::ptr::addr_of!((*ptr).lmdb) as usize - ptr as usize },
   3040         0usize,
   3041         concat!(
   3042             "Offset of field: ",
   3043             stringify!(ndb_txn),
   3044             "::",
   3045             stringify!(lmdb)
   3046         )
   3047     );
   3048     assert_eq!(
   3049         unsafe { ::std::ptr::addr_of!((*ptr).mdb_txn) as usize - ptr as usize },
   3050         8usize,
   3051         concat!(
   3052             "Offset of field: ",
   3053             stringify!(ndb_txn),
   3054             "::",
   3055             stringify!(mdb_txn)
   3056         )
   3057     );
   3058 }
   3059 #[repr(C)]
   3060 #[derive(Debug, Copy, Clone)]
   3061 pub struct ndb_event {
   3062     pub note: *mut ndb_note,
   3063 }
   3064 #[test]
   3065 fn bindgen_test_layout_ndb_event() {
   3066     const UNINIT: ::std::mem::MaybeUninit<ndb_event> = ::std::mem::MaybeUninit::uninit();
   3067     let ptr = UNINIT.as_ptr();
   3068     assert_eq!(
   3069         ::std::mem::size_of::<ndb_event>(),
   3070         8usize,
   3071         concat!("Size of: ", stringify!(ndb_event))
   3072     );
   3073     assert_eq!(
   3074         ::std::mem::align_of::<ndb_event>(),
   3075         8usize,
   3076         concat!("Alignment of ", stringify!(ndb_event))
   3077     );
   3078     assert_eq!(
   3079         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   3080         0usize,
   3081         concat!(
   3082             "Offset of field: ",
   3083             stringify!(ndb_event),
   3084             "::",
   3085             stringify!(note)
   3086         )
   3087     );
   3088 }
   3089 #[repr(C)]
   3090 #[derive(Debug, Copy, Clone)]
   3091 pub struct ndb_command_result {
   3092     pub ok: ::std::os::raw::c_int,
   3093     pub msg: *const ::std::os::raw::c_char,
   3094     pub msglen: ::std::os::raw::c_int,
   3095 }
   3096 #[test]
   3097 fn bindgen_test_layout_ndb_command_result() {
   3098     const UNINIT: ::std::mem::MaybeUninit<ndb_command_result> = ::std::mem::MaybeUninit::uninit();
   3099     let ptr = UNINIT.as_ptr();
   3100     assert_eq!(
   3101         ::std::mem::size_of::<ndb_command_result>(),
   3102         24usize,
   3103         concat!("Size of: ", stringify!(ndb_command_result))
   3104     );
   3105     assert_eq!(
   3106         ::std::mem::align_of::<ndb_command_result>(),
   3107         8usize,
   3108         concat!("Alignment of ", stringify!(ndb_command_result))
   3109     );
   3110     assert_eq!(
   3111         unsafe { ::std::ptr::addr_of!((*ptr).ok) as usize - ptr as usize },
   3112         0usize,
   3113         concat!(
   3114             "Offset of field: ",
   3115             stringify!(ndb_command_result),
   3116             "::",
   3117             stringify!(ok)
   3118         )
   3119     );
   3120     assert_eq!(
   3121         unsafe { ::std::ptr::addr_of!((*ptr).msg) as usize - ptr as usize },
   3122         8usize,
   3123         concat!(
   3124             "Offset of field: ",
   3125             stringify!(ndb_command_result),
   3126             "::",
   3127             stringify!(msg)
   3128         )
   3129     );
   3130     assert_eq!(
   3131         unsafe { ::std::ptr::addr_of!((*ptr).msglen) as usize - ptr as usize },
   3132         16usize,
   3133         concat!(
   3134             "Offset of field: ",
   3135             stringify!(ndb_command_result),
   3136             "::",
   3137             stringify!(msglen)
   3138         )
   3139     );
   3140 }
   3141 pub const fce_type_NDB_FCE_EVENT: fce_type = 1;
   3142 pub type fce_type = ::std::os::raw::c_int;
   3143 pub const tce_type_NDB_TCE_EVENT: tce_type = 1;
   3144 pub const tce_type_NDB_TCE_OK: tce_type = 2;
   3145 pub const tce_type_NDB_TCE_NOTICE: tce_type = 3;
   3146 pub const tce_type_NDB_TCE_EOSE: tce_type = 4;
   3147 pub const tce_type_NDB_TCE_AUTH: tce_type = 5;
   3148 pub type tce_type = ::std::os::raw::c_int;
   3149 pub const ndb_ingest_filter_action_NDB_INGEST_REJECT: ndb_ingest_filter_action = 0;
   3150 pub const ndb_ingest_filter_action_NDB_INGEST_ACCEPT: ndb_ingest_filter_action = 1;
   3151 pub const ndb_ingest_filter_action_NDB_INGEST_SKIP_VALIDATION: ndb_ingest_filter_action = 2;
   3152 pub type ndb_ingest_filter_action = ::std::os::raw::c_int;
   3153 #[repr(C)]
   3154 #[derive(Debug, Copy, Clone)]
   3155 pub struct ndb_search_key {
   3156     pub search: [::std::os::raw::c_char; 24usize],
   3157     pub id: [::std::os::raw::c_uchar; 32usize],
   3158     pub timestamp: u64,
   3159 }
   3160 #[test]
   3161 fn bindgen_test_layout_ndb_search_key() {
   3162     const UNINIT: ::std::mem::MaybeUninit<ndb_search_key> = ::std::mem::MaybeUninit::uninit();
   3163     let ptr = UNINIT.as_ptr();
   3164     assert_eq!(
   3165         ::std::mem::size_of::<ndb_search_key>(),
   3166         64usize,
   3167         concat!("Size of: ", stringify!(ndb_search_key))
   3168     );
   3169     assert_eq!(
   3170         ::std::mem::align_of::<ndb_search_key>(),
   3171         8usize,
   3172         concat!("Alignment of ", stringify!(ndb_search_key))
   3173     );
   3174     assert_eq!(
   3175         unsafe { ::std::ptr::addr_of!((*ptr).search) as usize - ptr as usize },
   3176         0usize,
   3177         concat!(
   3178             "Offset of field: ",
   3179             stringify!(ndb_search_key),
   3180             "::",
   3181             stringify!(search)
   3182         )
   3183     );
   3184     assert_eq!(
   3185         unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
   3186         24usize,
   3187         concat!(
   3188             "Offset of field: ",
   3189             stringify!(ndb_search_key),
   3190             "::",
   3191             stringify!(id)
   3192         )
   3193     );
   3194     assert_eq!(
   3195         unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
   3196         56usize,
   3197         concat!(
   3198             "Offset of field: ",
   3199             stringify!(ndb_search_key),
   3200             "::",
   3201             stringify!(timestamp)
   3202         )
   3203     );
   3204 }
   3205 #[repr(C)]
   3206 #[derive(Debug, Copy, Clone)]
   3207 pub struct ndb_search {
   3208     pub key: *mut ndb_search_key,
   3209     pub profile_key: u64,
   3210     pub cursor: *mut ::std::os::raw::c_void,
   3211 }
   3212 #[test]
   3213 fn bindgen_test_layout_ndb_search() {
   3214     const UNINIT: ::std::mem::MaybeUninit<ndb_search> = ::std::mem::MaybeUninit::uninit();
   3215     let ptr = UNINIT.as_ptr();
   3216     assert_eq!(
   3217         ::std::mem::size_of::<ndb_search>(),
   3218         24usize,
   3219         concat!("Size of: ", stringify!(ndb_search))
   3220     );
   3221     assert_eq!(
   3222         ::std::mem::align_of::<ndb_search>(),
   3223         8usize,
   3224         concat!("Alignment of ", stringify!(ndb_search))
   3225     );
   3226     assert_eq!(
   3227         unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
   3228         0usize,
   3229         concat!(
   3230             "Offset of field: ",
   3231             stringify!(ndb_search),
   3232             "::",
   3233             stringify!(key)
   3234         )
   3235     );
   3236     assert_eq!(
   3237         unsafe { ::std::ptr::addr_of!((*ptr).profile_key) as usize - ptr as usize },
   3238         8usize,
   3239         concat!(
   3240             "Offset of field: ",
   3241             stringify!(ndb_search),
   3242             "::",
   3243             stringify!(profile_key)
   3244         )
   3245     );
   3246     assert_eq!(
   3247         unsafe { ::std::ptr::addr_of!((*ptr).cursor) as usize - ptr as usize },
   3248         16usize,
   3249         concat!(
   3250             "Offset of field: ",
   3251             stringify!(ndb_search),
   3252             "::",
   3253             stringify!(cursor)
   3254         )
   3255     );
   3256 }
   3257 #[repr(C)]
   3258 #[derive(Copy, Clone)]
   3259 pub struct ndb_fce {
   3260     pub evtype: fce_type,
   3261     pub __bindgen_anon_1: ndb_fce__bindgen_ty_1,
   3262 }
   3263 #[repr(C)]
   3264 #[derive(Copy, Clone)]
   3265 pub union ndb_fce__bindgen_ty_1 {
   3266     pub event: ndb_event,
   3267 }
   3268 #[test]
   3269 fn bindgen_test_layout_ndb_fce__bindgen_ty_1() {
   3270     const UNINIT: ::std::mem::MaybeUninit<ndb_fce__bindgen_ty_1> =
   3271         ::std::mem::MaybeUninit::uninit();
   3272     let ptr = UNINIT.as_ptr();
   3273     assert_eq!(
   3274         ::std::mem::size_of::<ndb_fce__bindgen_ty_1>(),
   3275         8usize,
   3276         concat!("Size of: ", stringify!(ndb_fce__bindgen_ty_1))
   3277     );
   3278     assert_eq!(
   3279         ::std::mem::align_of::<ndb_fce__bindgen_ty_1>(),
   3280         8usize,
   3281         concat!("Alignment of ", stringify!(ndb_fce__bindgen_ty_1))
   3282     );
   3283     assert_eq!(
   3284         unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
   3285         0usize,
   3286         concat!(
   3287             "Offset of field: ",
   3288             stringify!(ndb_fce__bindgen_ty_1),
   3289             "::",
   3290             stringify!(event)
   3291         )
   3292     );
   3293 }
   3294 #[test]
   3295 fn bindgen_test_layout_ndb_fce() {
   3296     const UNINIT: ::std::mem::MaybeUninit<ndb_fce> = ::std::mem::MaybeUninit::uninit();
   3297     let ptr = UNINIT.as_ptr();
   3298     assert_eq!(
   3299         ::std::mem::size_of::<ndb_fce>(),
   3300         16usize,
   3301         concat!("Size of: ", stringify!(ndb_fce))
   3302     );
   3303     assert_eq!(
   3304         ::std::mem::align_of::<ndb_fce>(),
   3305         8usize,
   3306         concat!("Alignment of ", stringify!(ndb_fce))
   3307     );
   3308     assert_eq!(
   3309         unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
   3310         0usize,
   3311         concat!(
   3312             "Offset of field: ",
   3313             stringify!(ndb_fce),
   3314             "::",
   3315             stringify!(evtype)
   3316         )
   3317     );
   3318 }
   3319 #[repr(C)]
   3320 #[derive(Copy, Clone)]
   3321 pub struct ndb_tce {
   3322     pub evtype: tce_type,
   3323     pub subid: *const ::std::os::raw::c_char,
   3324     pub subid_len: ::std::os::raw::c_int,
   3325     pub __bindgen_anon_1: ndb_tce__bindgen_ty_1,
   3326 }
   3327 #[repr(C)]
   3328 #[derive(Copy, Clone)]
   3329 pub union ndb_tce__bindgen_ty_1 {
   3330     pub event: ndb_event,
   3331     pub command_result: ndb_command_result,
   3332 }
   3333 #[test]
   3334 fn bindgen_test_layout_ndb_tce__bindgen_ty_1() {
   3335     const UNINIT: ::std::mem::MaybeUninit<ndb_tce__bindgen_ty_1> =
   3336         ::std::mem::MaybeUninit::uninit();
   3337     let ptr = UNINIT.as_ptr();
   3338     assert_eq!(
   3339         ::std::mem::size_of::<ndb_tce__bindgen_ty_1>(),
   3340         24usize,
   3341         concat!("Size of: ", stringify!(ndb_tce__bindgen_ty_1))
   3342     );
   3343     assert_eq!(
   3344         ::std::mem::align_of::<ndb_tce__bindgen_ty_1>(),
   3345         8usize,
   3346         concat!("Alignment of ", stringify!(ndb_tce__bindgen_ty_1))
   3347     );
   3348     assert_eq!(
   3349         unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
   3350         0usize,
   3351         concat!(
   3352             "Offset of field: ",
   3353             stringify!(ndb_tce__bindgen_ty_1),
   3354             "::",
   3355             stringify!(event)
   3356         )
   3357     );
   3358     assert_eq!(
   3359         unsafe { ::std::ptr::addr_of!((*ptr).command_result) as usize - ptr as usize },
   3360         0usize,
   3361         concat!(
   3362             "Offset of field: ",
   3363             stringify!(ndb_tce__bindgen_ty_1),
   3364             "::",
   3365             stringify!(command_result)
   3366         )
   3367     );
   3368 }
   3369 #[test]
   3370 fn bindgen_test_layout_ndb_tce() {
   3371     const UNINIT: ::std::mem::MaybeUninit<ndb_tce> = ::std::mem::MaybeUninit::uninit();
   3372     let ptr = UNINIT.as_ptr();
   3373     assert_eq!(
   3374         ::std::mem::size_of::<ndb_tce>(),
   3375         48usize,
   3376         concat!("Size of: ", stringify!(ndb_tce))
   3377     );
   3378     assert_eq!(
   3379         ::std::mem::align_of::<ndb_tce>(),
   3380         8usize,
   3381         concat!("Alignment of ", stringify!(ndb_tce))
   3382     );
   3383     assert_eq!(
   3384         unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
   3385         0usize,
   3386         concat!(
   3387             "Offset of field: ",
   3388             stringify!(ndb_tce),
   3389             "::",
   3390             stringify!(evtype)
   3391         )
   3392     );
   3393     assert_eq!(
   3394         unsafe { ::std::ptr::addr_of!((*ptr).subid) as usize - ptr as usize },
   3395         8usize,
   3396         concat!(
   3397             "Offset of field: ",
   3398             stringify!(ndb_tce),
   3399             "::",
   3400             stringify!(subid)
   3401         )
   3402     );
   3403     assert_eq!(
   3404         unsafe { ::std::ptr::addr_of!((*ptr).subid_len) as usize - ptr as usize },
   3405         16usize,
   3406         concat!(
   3407             "Offset of field: ",
   3408             stringify!(ndb_tce),
   3409             "::",
   3410             stringify!(subid_len)
   3411         )
   3412     );
   3413 }
   3414 pub type ndb_ingest_filter_fn = ::std::option::Option<
   3415     unsafe extern "C" fn(
   3416         arg1: *mut ::std::os::raw::c_void,
   3417         arg2: *mut ndb_note,
   3418     ) -> ndb_ingest_filter_action,
   3419 >;
   3420 pub const ndb_filter_fieldtype_NDB_FILTER_IDS: ndb_filter_fieldtype = 1;
   3421 pub const ndb_filter_fieldtype_NDB_FILTER_AUTHORS: ndb_filter_fieldtype = 2;
   3422 pub const ndb_filter_fieldtype_NDB_FILTER_KINDS: ndb_filter_fieldtype = 3;
   3423 pub const ndb_filter_fieldtype_NDB_FILTER_TAGS: ndb_filter_fieldtype = 4;
   3424 pub const ndb_filter_fieldtype_NDB_FILTER_SINCE: ndb_filter_fieldtype = 5;
   3425 pub const ndb_filter_fieldtype_NDB_FILTER_UNTIL: ndb_filter_fieldtype = 6;
   3426 pub const ndb_filter_fieldtype_NDB_FILTER_LIMIT: ndb_filter_fieldtype = 7;
   3427 pub const ndb_filter_fieldtype_NDB_FILTER_SEARCH: ndb_filter_fieldtype = 8;
   3428 pub const ndb_filter_fieldtype_NDB_FILTER_RELAYS: ndb_filter_fieldtype = 9;
   3429 pub const ndb_filter_fieldtype_NDB_FILTER_CUSTOM: ndb_filter_fieldtype = 10;
   3430 pub type ndb_filter_fieldtype = ::std::os::raw::c_int;
   3431 pub const ndb_generic_element_type_NDB_ELEMENT_UNKNOWN: ndb_generic_element_type = 0;
   3432 pub const ndb_generic_element_type_NDB_ELEMENT_STRING: ndb_generic_element_type = 1;
   3433 pub const ndb_generic_element_type_NDB_ELEMENT_ID: ndb_generic_element_type = 2;
   3434 pub const ndb_generic_element_type_NDB_ELEMENT_INT: ndb_generic_element_type = 3;
   3435 pub const ndb_generic_element_type_NDB_ELEMENT_CUSTOM: ndb_generic_element_type = 4;
   3436 pub type ndb_generic_element_type = ::std::os::raw::c_int;
   3437 pub const ndb_search_order_NDB_ORDER_DESCENDING: ndb_search_order = 0;
   3438 pub const ndb_search_order_NDB_ORDER_ASCENDING: ndb_search_order = 1;
   3439 pub type ndb_search_order = ::std::os::raw::c_int;
   3440 pub const ndb_dbs_NDB_DB_NOTE: ndb_dbs = 0;
   3441 pub const ndb_dbs_NDB_DB_META: ndb_dbs = 1;
   3442 pub const ndb_dbs_NDB_DB_PROFILE: ndb_dbs = 2;
   3443 pub const ndb_dbs_NDB_DB_NOTE_ID: ndb_dbs = 3;
   3444 pub const ndb_dbs_NDB_DB_PROFILE_PK: ndb_dbs = 4;
   3445 pub const ndb_dbs_NDB_DB_NDB_META: ndb_dbs = 5;
   3446 pub const ndb_dbs_NDB_DB_PROFILE_SEARCH: ndb_dbs = 6;
   3447 pub const ndb_dbs_NDB_DB_PROFILE_LAST_FETCH: ndb_dbs = 7;
   3448 pub const ndb_dbs_NDB_DB_NOTE_KIND: ndb_dbs = 8;
   3449 pub const ndb_dbs_NDB_DB_NOTE_TEXT: ndb_dbs = 9;
   3450 pub const ndb_dbs_NDB_DB_NOTE_BLOCKS: ndb_dbs = 10;
   3451 pub const ndb_dbs_NDB_DB_NOTE_TAGS: ndb_dbs = 11;
   3452 pub const ndb_dbs_NDB_DB_NOTE_PUBKEY: ndb_dbs = 12;
   3453 pub const ndb_dbs_NDB_DB_NOTE_PUBKEY_KIND: ndb_dbs = 13;
   3454 pub const ndb_dbs_NDB_DB_NOTE_RELAY_KIND: ndb_dbs = 14;
   3455 pub const ndb_dbs_NDB_DB_NOTE_RELAYS: ndb_dbs = 15;
   3456 pub const ndb_dbs_NDB_DBS: ndb_dbs = 16;
   3457 pub type ndb_dbs = ::std::os::raw::c_int;
   3458 pub const ndb_common_kind_NDB_CKIND_PROFILE: ndb_common_kind = 0;
   3459 pub const ndb_common_kind_NDB_CKIND_TEXT: ndb_common_kind = 1;
   3460 pub const ndb_common_kind_NDB_CKIND_CONTACTS: ndb_common_kind = 2;
   3461 pub const ndb_common_kind_NDB_CKIND_DM: ndb_common_kind = 3;
   3462 pub const ndb_common_kind_NDB_CKIND_DELETE: ndb_common_kind = 4;
   3463 pub const ndb_common_kind_NDB_CKIND_REPOST: ndb_common_kind = 5;
   3464 pub const ndb_common_kind_NDB_CKIND_REACTION: ndb_common_kind = 6;
   3465 pub const ndb_common_kind_NDB_CKIND_ZAP: ndb_common_kind = 7;
   3466 pub const ndb_common_kind_NDB_CKIND_ZAP_REQUEST: ndb_common_kind = 8;
   3467 pub const ndb_common_kind_NDB_CKIND_NWC_REQUEST: ndb_common_kind = 9;
   3468 pub const ndb_common_kind_NDB_CKIND_NWC_RESPONSE: ndb_common_kind = 10;
   3469 pub const ndb_common_kind_NDB_CKIND_HTTP_AUTH: ndb_common_kind = 11;
   3470 pub const ndb_common_kind_NDB_CKIND_LIST: ndb_common_kind = 12;
   3471 pub const ndb_common_kind_NDB_CKIND_LONGFORM: ndb_common_kind = 13;
   3472 pub const ndb_common_kind_NDB_CKIND_STATUS: ndb_common_kind = 14;
   3473 pub const ndb_common_kind_NDB_CKIND_COUNT: ndb_common_kind = 15;
   3474 pub type ndb_common_kind = ::std::os::raw::c_int;
   3475 #[repr(C)]
   3476 #[derive(Debug, Copy, Clone)]
   3477 pub struct ndb_builder {
   3478     pub mem: cursor,
   3479     pub note_cur: cursor,
   3480     pub strings: cursor,
   3481     pub str_indices: cursor,
   3482     pub note: *mut ndb_note,
   3483     pub current_tag: *mut ndb_tag,
   3484 }
   3485 #[test]
   3486 fn bindgen_test_layout_ndb_builder() {
   3487     const UNINIT: ::std::mem::MaybeUninit<ndb_builder> = ::std::mem::MaybeUninit::uninit();
   3488     let ptr = UNINIT.as_ptr();
   3489     assert_eq!(
   3490         ::std::mem::size_of::<ndb_builder>(),
   3491         112usize,
   3492         concat!("Size of: ", stringify!(ndb_builder))
   3493     );
   3494     assert_eq!(
   3495         ::std::mem::align_of::<ndb_builder>(),
   3496         8usize,
   3497         concat!("Alignment of ", stringify!(ndb_builder))
   3498     );
   3499     assert_eq!(
   3500         unsafe { ::std::ptr::addr_of!((*ptr).mem) as usize - ptr as usize },
   3501         0usize,
   3502         concat!(
   3503             "Offset of field: ",
   3504             stringify!(ndb_builder),
   3505             "::",
   3506             stringify!(mem)
   3507         )
   3508     );
   3509     assert_eq!(
   3510         unsafe { ::std::ptr::addr_of!((*ptr).note_cur) as usize - ptr as usize },
   3511         24usize,
   3512         concat!(
   3513             "Offset of field: ",
   3514             stringify!(ndb_builder),
   3515             "::",
   3516             stringify!(note_cur)
   3517         )
   3518     );
   3519     assert_eq!(
   3520         unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
   3521         48usize,
   3522         concat!(
   3523             "Offset of field: ",
   3524             stringify!(ndb_builder),
   3525             "::",
   3526             stringify!(strings)
   3527         )
   3528     );
   3529     assert_eq!(
   3530         unsafe { ::std::ptr::addr_of!((*ptr).str_indices) as usize - ptr as usize },
   3531         72usize,
   3532         concat!(
   3533             "Offset of field: ",
   3534             stringify!(ndb_builder),
   3535             "::",
   3536             stringify!(str_indices)
   3537         )
   3538     );
   3539     assert_eq!(
   3540         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   3541         96usize,
   3542         concat!(
   3543             "Offset of field: ",
   3544             stringify!(ndb_builder),
   3545             "::",
   3546             stringify!(note)
   3547         )
   3548     );
   3549     assert_eq!(
   3550         unsafe { ::std::ptr::addr_of!((*ptr).current_tag) as usize - ptr as usize },
   3551         104usize,
   3552         concat!(
   3553             "Offset of field: ",
   3554             stringify!(ndb_builder),
   3555             "::",
   3556             stringify!(current_tag)
   3557         )
   3558     );
   3559 }
   3560 #[repr(C)]
   3561 #[derive(Debug, Copy, Clone)]
   3562 pub struct ndb_note_relay_iterator {
   3563     pub txn: *mut ndb_txn,
   3564     pub note_key: u64,
   3565     pub cursor_op: ::std::os::raw::c_int,
   3566     pub mdb_cur: *mut ::std::os::raw::c_void,
   3567 }
   3568 #[test]
   3569 fn bindgen_test_layout_ndb_note_relay_iterator() {
   3570     const UNINIT: ::std::mem::MaybeUninit<ndb_note_relay_iterator> =
   3571         ::std::mem::MaybeUninit::uninit();
   3572     let ptr = UNINIT.as_ptr();
   3573     assert_eq!(
   3574         ::std::mem::size_of::<ndb_note_relay_iterator>(),
   3575         32usize,
   3576         concat!("Size of: ", stringify!(ndb_note_relay_iterator))
   3577     );
   3578     assert_eq!(
   3579         ::std::mem::align_of::<ndb_note_relay_iterator>(),
   3580         8usize,
   3581         concat!("Alignment of ", stringify!(ndb_note_relay_iterator))
   3582     );
   3583     assert_eq!(
   3584         unsafe { ::std::ptr::addr_of!((*ptr).txn) as usize - ptr as usize },
   3585         0usize,
   3586         concat!(
   3587             "Offset of field: ",
   3588             stringify!(ndb_note_relay_iterator),
   3589             "::",
   3590             stringify!(txn)
   3591         )
   3592     );
   3593     assert_eq!(
   3594         unsafe { ::std::ptr::addr_of!((*ptr).note_key) as usize - ptr as usize },
   3595         8usize,
   3596         concat!(
   3597             "Offset of field: ",
   3598             stringify!(ndb_note_relay_iterator),
   3599             "::",
   3600             stringify!(note_key)
   3601         )
   3602     );
   3603     assert_eq!(
   3604         unsafe { ::std::ptr::addr_of!((*ptr).cursor_op) as usize - ptr as usize },
   3605         16usize,
   3606         concat!(
   3607             "Offset of field: ",
   3608             stringify!(ndb_note_relay_iterator),
   3609             "::",
   3610             stringify!(cursor_op)
   3611         )
   3612     );
   3613     assert_eq!(
   3614         unsafe { ::std::ptr::addr_of!((*ptr).mdb_cur) as usize - ptr as usize },
   3615         24usize,
   3616         concat!(
   3617             "Offset of field: ",
   3618             stringify!(ndb_note_relay_iterator),
   3619             "::",
   3620             stringify!(mdb_cur)
   3621         )
   3622     );
   3623 }
   3624 #[repr(C)]
   3625 #[derive(Debug, Copy, Clone)]
   3626 pub struct ndb_note_meta_iterator {
   3627     pub header: *mut ndb_note_meta,
   3628     pub cur: *mut ndb_note_meta,
   3629     pub index: ::std::os::raw::c_int,
   3630 }
   3631 #[test]
   3632 fn bindgen_test_layout_ndb_note_meta_iterator() {
   3633     const UNINIT: ::std::mem::MaybeUninit<ndb_note_meta_iterator> =
   3634         ::std::mem::MaybeUninit::uninit();
   3635     let ptr = UNINIT.as_ptr();
   3636     assert_eq!(
   3637         ::std::mem::size_of::<ndb_note_meta_iterator>(),
   3638         24usize,
   3639         concat!("Size of: ", stringify!(ndb_note_meta_iterator))
   3640     );
   3641     assert_eq!(
   3642         ::std::mem::align_of::<ndb_note_meta_iterator>(),
   3643         8usize,
   3644         concat!("Alignment of ", stringify!(ndb_note_meta_iterator))
   3645     );
   3646     assert_eq!(
   3647         unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize },
   3648         0usize,
   3649         concat!(
   3650             "Offset of field: ",
   3651             stringify!(ndb_note_meta_iterator),
   3652             "::",
   3653             stringify!(header)
   3654         )
   3655     );
   3656     assert_eq!(
   3657         unsafe { ::std::ptr::addr_of!((*ptr).cur) as usize - ptr as usize },
   3658         8usize,
   3659         concat!(
   3660             "Offset of field: ",
   3661             stringify!(ndb_note_meta_iterator),
   3662             "::",
   3663             stringify!(cur)
   3664         )
   3665     );
   3666     assert_eq!(
   3667         unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
   3668         16usize,
   3669         concat!(
   3670             "Offset of field: ",
   3671             stringify!(ndb_note_meta_iterator),
   3672             "::",
   3673             stringify!(index)
   3674         )
   3675     );
   3676 }
   3677 #[repr(C)]
   3678 #[derive(Debug, Copy, Clone)]
   3679 pub struct ndb_iterator {
   3680     pub note: *mut ndb_note,
   3681     pub tag: *mut ndb_tag,
   3682     pub index: ::std::os::raw::c_int,
   3683 }
   3684 #[test]
   3685 fn bindgen_test_layout_ndb_iterator() {
   3686     const UNINIT: ::std::mem::MaybeUninit<ndb_iterator> = ::std::mem::MaybeUninit::uninit();
   3687     let ptr = UNINIT.as_ptr();
   3688     assert_eq!(
   3689         ::std::mem::size_of::<ndb_iterator>(),
   3690         24usize,
   3691         concat!("Size of: ", stringify!(ndb_iterator))
   3692     );
   3693     assert_eq!(
   3694         ::std::mem::align_of::<ndb_iterator>(),
   3695         8usize,
   3696         concat!("Alignment of ", stringify!(ndb_iterator))
   3697     );
   3698     assert_eq!(
   3699         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   3700         0usize,
   3701         concat!(
   3702             "Offset of field: ",
   3703             stringify!(ndb_iterator),
   3704             "::",
   3705             stringify!(note)
   3706         )
   3707     );
   3708     assert_eq!(
   3709         unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
   3710         8usize,
   3711         concat!(
   3712             "Offset of field: ",
   3713             stringify!(ndb_iterator),
   3714             "::",
   3715             stringify!(tag)
   3716         )
   3717     );
   3718     assert_eq!(
   3719         unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
   3720         16usize,
   3721         concat!(
   3722             "Offset of field: ",
   3723             stringify!(ndb_iterator),
   3724             "::",
   3725             stringify!(index)
   3726         )
   3727     );
   3728 }
   3729 #[repr(C)]
   3730 #[derive(Debug, Copy, Clone)]
   3731 pub struct ndb_filter_string {
   3732     pub string: *const ::std::os::raw::c_char,
   3733     pub len: ::std::os::raw::c_int,
   3734 }
   3735 #[test]
   3736 fn bindgen_test_layout_ndb_filter_string() {
   3737     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_string> = ::std::mem::MaybeUninit::uninit();
   3738     let ptr = UNINIT.as_ptr();
   3739     assert_eq!(
   3740         ::std::mem::size_of::<ndb_filter_string>(),
   3741         16usize,
   3742         concat!("Size of: ", stringify!(ndb_filter_string))
   3743     );
   3744     assert_eq!(
   3745         ::std::mem::align_of::<ndb_filter_string>(),
   3746         8usize,
   3747         concat!("Alignment of ", stringify!(ndb_filter_string))
   3748     );
   3749     assert_eq!(
   3750         unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
   3751         0usize,
   3752         concat!(
   3753             "Offset of field: ",
   3754             stringify!(ndb_filter_string),
   3755             "::",
   3756             stringify!(string)
   3757         )
   3758     );
   3759     assert_eq!(
   3760         unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
   3761         8usize,
   3762         concat!(
   3763             "Offset of field: ",
   3764             stringify!(ndb_filter_string),
   3765             "::",
   3766             stringify!(len)
   3767         )
   3768     );
   3769 }
   3770 pub type ndb_filter_callback_fn = ::std::option::Option<
   3771     unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *mut ndb_note) -> bool,
   3772 >;
   3773 #[repr(C)]
   3774 #[derive(Debug, Copy, Clone)]
   3775 pub struct ndb_filter_custom {
   3776     pub ctx: *mut ::std::os::raw::c_void,
   3777     pub cb: ndb_filter_callback_fn,
   3778 }
   3779 #[test]
   3780 fn bindgen_test_layout_ndb_filter_custom() {
   3781     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_custom> = ::std::mem::MaybeUninit::uninit();
   3782     let ptr = UNINIT.as_ptr();
   3783     assert_eq!(
   3784         ::std::mem::size_of::<ndb_filter_custom>(),
   3785         16usize,
   3786         concat!("Size of: ", stringify!(ndb_filter_custom))
   3787     );
   3788     assert_eq!(
   3789         ::std::mem::align_of::<ndb_filter_custom>(),
   3790         8usize,
   3791         concat!("Alignment of ", stringify!(ndb_filter_custom))
   3792     );
   3793     assert_eq!(
   3794         unsafe { ::std::ptr::addr_of!((*ptr).ctx) as usize - ptr as usize },
   3795         0usize,
   3796         concat!(
   3797             "Offset of field: ",
   3798             stringify!(ndb_filter_custom),
   3799             "::",
   3800             stringify!(ctx)
   3801         )
   3802     );
   3803     assert_eq!(
   3804         unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize },
   3805         8usize,
   3806         concat!(
   3807             "Offset of field: ",
   3808             stringify!(ndb_filter_custom),
   3809             "::",
   3810             stringify!(cb)
   3811         )
   3812     );
   3813 }
   3814 #[repr(C)]
   3815 #[derive(Copy, Clone)]
   3816 pub union ndb_filter_element {
   3817     pub string: ndb_filter_string,
   3818     pub id: *const ::std::os::raw::c_uchar,
   3819     pub integer: u64,
   3820     pub custom_filter: ndb_filter_custom,
   3821 }
   3822 #[test]
   3823 fn bindgen_test_layout_ndb_filter_element() {
   3824     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_element> = ::std::mem::MaybeUninit::uninit();
   3825     let ptr = UNINIT.as_ptr();
   3826     assert_eq!(
   3827         ::std::mem::size_of::<ndb_filter_element>(),
   3828         16usize,
   3829         concat!("Size of: ", stringify!(ndb_filter_element))
   3830     );
   3831     assert_eq!(
   3832         ::std::mem::align_of::<ndb_filter_element>(),
   3833         8usize,
   3834         concat!("Alignment of ", stringify!(ndb_filter_element))
   3835     );
   3836     assert_eq!(
   3837         unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
   3838         0usize,
   3839         concat!(
   3840             "Offset of field: ",
   3841             stringify!(ndb_filter_element),
   3842             "::",
   3843             stringify!(string)
   3844         )
   3845     );
   3846     assert_eq!(
   3847         unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
   3848         0usize,
   3849         concat!(
   3850             "Offset of field: ",
   3851             stringify!(ndb_filter_element),
   3852             "::",
   3853             stringify!(id)
   3854         )
   3855     );
   3856     assert_eq!(
   3857         unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
   3858         0usize,
   3859         concat!(
   3860             "Offset of field: ",
   3861             stringify!(ndb_filter_element),
   3862             "::",
   3863             stringify!(integer)
   3864         )
   3865     );
   3866     assert_eq!(
   3867         unsafe { ::std::ptr::addr_of!((*ptr).custom_filter) as usize - ptr as usize },
   3868         0usize,
   3869         concat!(
   3870             "Offset of field: ",
   3871             stringify!(ndb_filter_element),
   3872             "::",
   3873             stringify!(custom_filter)
   3874         )
   3875     );
   3876 }
   3877 #[repr(C)]
   3878 #[derive(Debug, Copy, Clone)]
   3879 pub struct ndb_filter_field {
   3880     pub type_: ndb_filter_fieldtype,
   3881     pub elem_type: ndb_generic_element_type,
   3882     pub tag: ::std::os::raw::c_char,
   3883 }
   3884 #[test]
   3885 fn bindgen_test_layout_ndb_filter_field() {
   3886     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_field> = ::std::mem::MaybeUninit::uninit();
   3887     let ptr = UNINIT.as_ptr();
   3888     assert_eq!(
   3889         ::std::mem::size_of::<ndb_filter_field>(),
   3890         12usize,
   3891         concat!("Size of: ", stringify!(ndb_filter_field))
   3892     );
   3893     assert_eq!(
   3894         ::std::mem::align_of::<ndb_filter_field>(),
   3895         4usize,
   3896         concat!("Alignment of ", stringify!(ndb_filter_field))
   3897     );
   3898     assert_eq!(
   3899         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   3900         0usize,
   3901         concat!(
   3902             "Offset of field: ",
   3903             stringify!(ndb_filter_field),
   3904             "::",
   3905             stringify!(type_)
   3906         )
   3907     );
   3908     assert_eq!(
   3909         unsafe { ::std::ptr::addr_of!((*ptr).elem_type) as usize - ptr as usize },
   3910         4usize,
   3911         concat!(
   3912             "Offset of field: ",
   3913             stringify!(ndb_filter_field),
   3914             "::",
   3915             stringify!(elem_type)
   3916         )
   3917     );
   3918     assert_eq!(
   3919         unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
   3920         8usize,
   3921         concat!(
   3922             "Offset of field: ",
   3923             stringify!(ndb_filter_field),
   3924             "::",
   3925             stringify!(tag)
   3926         )
   3927     );
   3928 }
   3929 #[repr(C)]
   3930 #[derive(Debug)]
   3931 pub struct ndb_filter_elements {
   3932     pub field: ndb_filter_field,
   3933     pub count: ::std::os::raw::c_int,
   3934     pub elements: __IncompleteArrayField<u64>,
   3935 }
   3936 #[test]
   3937 fn bindgen_test_layout_ndb_filter_elements() {
   3938     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_elements> = ::std::mem::MaybeUninit::uninit();
   3939     let ptr = UNINIT.as_ptr();
   3940     assert_eq!(
   3941         ::std::mem::size_of::<ndb_filter_elements>(),
   3942         16usize,
   3943         concat!("Size of: ", stringify!(ndb_filter_elements))
   3944     );
   3945     assert_eq!(
   3946         ::std::mem::align_of::<ndb_filter_elements>(),
   3947         8usize,
   3948         concat!("Alignment of ", stringify!(ndb_filter_elements))
   3949     );
   3950     assert_eq!(
   3951         unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
   3952         0usize,
   3953         concat!(
   3954             "Offset of field: ",
   3955             stringify!(ndb_filter_elements),
   3956             "::",
   3957             stringify!(field)
   3958         )
   3959     );
   3960     assert_eq!(
   3961         unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
   3962         12usize,
   3963         concat!(
   3964             "Offset of field: ",
   3965             stringify!(ndb_filter_elements),
   3966             "::",
   3967             stringify!(count)
   3968         )
   3969     );
   3970     assert_eq!(
   3971         unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
   3972         16usize,
   3973         concat!(
   3974             "Offset of field: ",
   3975             stringify!(ndb_filter_elements),
   3976             "::",
   3977             stringify!(elements)
   3978         )
   3979     );
   3980 }
   3981 #[repr(C)]
   3982 #[derive(Debug, Copy, Clone)]
   3983 pub struct ndb_filter {
   3984     pub elem_buf: cursor,
   3985     pub data_buf: cursor,
   3986     pub num_elements: ::std::os::raw::c_int,
   3987     pub finalized: ::std::os::raw::c_int,
   3988     pub current: ::std::os::raw::c_int,
   3989     pub elements: [::std::os::raw::c_int; 10usize],
   3990 }
   3991 #[test]
   3992 fn bindgen_test_layout_ndb_filter() {
   3993     const UNINIT: ::std::mem::MaybeUninit<ndb_filter> = ::std::mem::MaybeUninit::uninit();
   3994     let ptr = UNINIT.as_ptr();
   3995     assert_eq!(
   3996         ::std::mem::size_of::<ndb_filter>(),
   3997         104usize,
   3998         concat!("Size of: ", stringify!(ndb_filter))
   3999     );
   4000     assert_eq!(
   4001         ::std::mem::align_of::<ndb_filter>(),
   4002         8usize,
   4003         concat!("Alignment of ", stringify!(ndb_filter))
   4004     );
   4005     assert_eq!(
   4006         unsafe { ::std::ptr::addr_of!((*ptr).elem_buf) as usize - ptr as usize },
   4007         0usize,
   4008         concat!(
   4009             "Offset of field: ",
   4010             stringify!(ndb_filter),
   4011             "::",
   4012             stringify!(elem_buf)
   4013         )
   4014     );
   4015     assert_eq!(
   4016         unsafe { ::std::ptr::addr_of!((*ptr).data_buf) as usize - ptr as usize },
   4017         24usize,
   4018         concat!(
   4019             "Offset of field: ",
   4020             stringify!(ndb_filter),
   4021             "::",
   4022             stringify!(data_buf)
   4023         )
   4024     );
   4025     assert_eq!(
   4026         unsafe { ::std::ptr::addr_of!((*ptr).num_elements) as usize - ptr as usize },
   4027         48usize,
   4028         concat!(
   4029             "Offset of field: ",
   4030             stringify!(ndb_filter),
   4031             "::",
   4032             stringify!(num_elements)
   4033         )
   4034     );
   4035     assert_eq!(
   4036         unsafe { ::std::ptr::addr_of!((*ptr).finalized) as usize - ptr as usize },
   4037         52usize,
   4038         concat!(
   4039             "Offset of field: ",
   4040             stringify!(ndb_filter),
   4041             "::",
   4042             stringify!(finalized)
   4043         )
   4044     );
   4045     assert_eq!(
   4046         unsafe { ::std::ptr::addr_of!((*ptr).current) as usize - ptr as usize },
   4047         56usize,
   4048         concat!(
   4049             "Offset of field: ",
   4050             stringify!(ndb_filter),
   4051             "::",
   4052             stringify!(current)
   4053         )
   4054     );
   4055     assert_eq!(
   4056         unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
   4057         60usize,
   4058         concat!(
   4059             "Offset of field: ",
   4060             stringify!(ndb_filter),
   4061             "::",
   4062             stringify!(elements)
   4063         )
   4064     );
   4065 }
   4066 #[repr(C)]
   4067 #[derive(Debug, Copy, Clone)]
   4068 pub struct ndb_config {
   4069     pub flags: ::std::os::raw::c_int,
   4070     pub ingester_threads: ::std::os::raw::c_int,
   4071     pub writer_scratch_buffer_size: ::std::os::raw::c_int,
   4072     pub mapsize: usize,
   4073     pub filter_context: *mut ::std::os::raw::c_void,
   4074     pub ingest_filter: ndb_ingest_filter_fn,
   4075     pub sub_cb_ctx: *mut ::std::os::raw::c_void,
   4076     pub sub_cb: ndb_sub_fn,
   4077 }
   4078 #[test]
   4079 fn bindgen_test_layout_ndb_config() {
   4080     const UNINIT: ::std::mem::MaybeUninit<ndb_config> = ::std::mem::MaybeUninit::uninit();
   4081     let ptr = UNINIT.as_ptr();
   4082     assert_eq!(
   4083         ::std::mem::size_of::<ndb_config>(),
   4084         56usize,
   4085         concat!("Size of: ", stringify!(ndb_config))
   4086     );
   4087     assert_eq!(
   4088         ::std::mem::align_of::<ndb_config>(),
   4089         8usize,
   4090         concat!("Alignment of ", stringify!(ndb_config))
   4091     );
   4092     assert_eq!(
   4093         unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
   4094         0usize,
   4095         concat!(
   4096             "Offset of field: ",
   4097             stringify!(ndb_config),
   4098             "::",
   4099             stringify!(flags)
   4100         )
   4101     );
   4102     assert_eq!(
   4103         unsafe { ::std::ptr::addr_of!((*ptr).ingester_threads) as usize - ptr as usize },
   4104         4usize,
   4105         concat!(
   4106             "Offset of field: ",
   4107             stringify!(ndb_config),
   4108             "::",
   4109             stringify!(ingester_threads)
   4110         )
   4111     );
   4112     assert_eq!(
   4113         unsafe { ::std::ptr::addr_of!((*ptr).writer_scratch_buffer_size) as usize - ptr as usize },
   4114         8usize,
   4115         concat!(
   4116             "Offset of field: ",
   4117             stringify!(ndb_config),
   4118             "::",
   4119             stringify!(writer_scratch_buffer_size)
   4120         )
   4121     );
   4122     assert_eq!(
   4123         unsafe { ::std::ptr::addr_of!((*ptr).mapsize) as usize - ptr as usize },
   4124         16usize,
   4125         concat!(
   4126             "Offset of field: ",
   4127             stringify!(ndb_config),
   4128             "::",
   4129             stringify!(mapsize)
   4130         )
   4131     );
   4132     assert_eq!(
   4133         unsafe { ::std::ptr::addr_of!((*ptr).filter_context) as usize - ptr as usize },
   4134         24usize,
   4135         concat!(
   4136             "Offset of field: ",
   4137             stringify!(ndb_config),
   4138             "::",
   4139             stringify!(filter_context)
   4140         )
   4141     );
   4142     assert_eq!(
   4143         unsafe { ::std::ptr::addr_of!((*ptr).ingest_filter) as usize - ptr as usize },
   4144         32usize,
   4145         concat!(
   4146             "Offset of field: ",
   4147             stringify!(ndb_config),
   4148             "::",
   4149             stringify!(ingest_filter)
   4150         )
   4151     );
   4152     assert_eq!(
   4153         unsafe { ::std::ptr::addr_of!((*ptr).sub_cb_ctx) as usize - ptr as usize },
   4154         40usize,
   4155         concat!(
   4156             "Offset of field: ",
   4157             stringify!(ndb_config),
   4158             "::",
   4159             stringify!(sub_cb_ctx)
   4160         )
   4161     );
   4162     assert_eq!(
   4163         unsafe { ::std::ptr::addr_of!((*ptr).sub_cb) as usize - ptr as usize },
   4164         48usize,
   4165         concat!(
   4166             "Offset of field: ",
   4167             stringify!(ndb_config),
   4168             "::",
   4169             stringify!(sub_cb)
   4170         )
   4171     );
   4172 }
   4173 #[repr(C)]
   4174 #[derive(Debug, Copy, Clone)]
   4175 pub struct ndb_text_search_config {
   4176     pub order: ndb_search_order,
   4177     pub limit: ::std::os::raw::c_int,
   4178 }
   4179 #[test]
   4180 fn bindgen_test_layout_ndb_text_search_config() {
   4181     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_config> =
   4182         ::std::mem::MaybeUninit::uninit();
   4183     let ptr = UNINIT.as_ptr();
   4184     assert_eq!(
   4185         ::std::mem::size_of::<ndb_text_search_config>(),
   4186         8usize,
   4187         concat!("Size of: ", stringify!(ndb_text_search_config))
   4188     );
   4189     assert_eq!(
   4190         ::std::mem::align_of::<ndb_text_search_config>(),
   4191         4usize,
   4192         concat!("Alignment of ", stringify!(ndb_text_search_config))
   4193     );
   4194     assert_eq!(
   4195         unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
   4196         0usize,
   4197         concat!(
   4198             "Offset of field: ",
   4199             stringify!(ndb_text_search_config),
   4200             "::",
   4201             stringify!(order)
   4202         )
   4203     );
   4204     assert_eq!(
   4205         unsafe { ::std::ptr::addr_of!((*ptr).limit) as usize - ptr as usize },
   4206         4usize,
   4207         concat!(
   4208             "Offset of field: ",
   4209             stringify!(ndb_text_search_config),
   4210             "::",
   4211             stringify!(limit)
   4212         )
   4213     );
   4214 }
   4215 #[repr(C)]
   4216 #[derive(Debug, Copy, Clone)]
   4217 pub struct ndb_stat_counts {
   4218     pub key_size: usize,
   4219     pub value_size: usize,
   4220     pub count: usize,
   4221 }
   4222 #[test]
   4223 fn bindgen_test_layout_ndb_stat_counts() {
   4224     const UNINIT: ::std::mem::MaybeUninit<ndb_stat_counts> = ::std::mem::MaybeUninit::uninit();
   4225     let ptr = UNINIT.as_ptr();
   4226     assert_eq!(
   4227         ::std::mem::size_of::<ndb_stat_counts>(),
   4228         24usize,
   4229         concat!("Size of: ", stringify!(ndb_stat_counts))
   4230     );
   4231     assert_eq!(
   4232         ::std::mem::align_of::<ndb_stat_counts>(),
   4233         8usize,
   4234         concat!("Alignment of ", stringify!(ndb_stat_counts))
   4235     );
   4236     assert_eq!(
   4237         unsafe { ::std::ptr::addr_of!((*ptr).key_size) as usize - ptr as usize },
   4238         0usize,
   4239         concat!(
   4240             "Offset of field: ",
   4241             stringify!(ndb_stat_counts),
   4242             "::",
   4243             stringify!(key_size)
   4244         )
   4245     );
   4246     assert_eq!(
   4247         unsafe { ::std::ptr::addr_of!((*ptr).value_size) as usize - ptr as usize },
   4248         8usize,
   4249         concat!(
   4250             "Offset of field: ",
   4251             stringify!(ndb_stat_counts),
   4252             "::",
   4253             stringify!(value_size)
   4254         )
   4255     );
   4256     assert_eq!(
   4257         unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
   4258         16usize,
   4259         concat!(
   4260             "Offset of field: ",
   4261             stringify!(ndb_stat_counts),
   4262             "::",
   4263             stringify!(count)
   4264         )
   4265     );
   4266 }
   4267 #[repr(C)]
   4268 #[derive(Debug, Copy, Clone)]
   4269 pub struct ndb_stat {
   4270     pub dbs: [ndb_stat_counts; 16usize],
   4271     pub common_kinds: [ndb_stat_counts; 15usize],
   4272     pub other_kinds: ndb_stat_counts,
   4273 }
   4274 #[test]
   4275 fn bindgen_test_layout_ndb_stat() {
   4276     const UNINIT: ::std::mem::MaybeUninit<ndb_stat> = ::std::mem::MaybeUninit::uninit();
   4277     let ptr = UNINIT.as_ptr();
   4278     assert_eq!(
   4279         ::std::mem::size_of::<ndb_stat>(),
   4280         768usize,
   4281         concat!("Size of: ", stringify!(ndb_stat))
   4282     );
   4283     assert_eq!(
   4284         ::std::mem::align_of::<ndb_stat>(),
   4285         8usize,
   4286         concat!("Alignment of ", stringify!(ndb_stat))
   4287     );
   4288     assert_eq!(
   4289         unsafe { ::std::ptr::addr_of!((*ptr).dbs) as usize - ptr as usize },
   4290         0usize,
   4291         concat!(
   4292             "Offset of field: ",
   4293             stringify!(ndb_stat),
   4294             "::",
   4295             stringify!(dbs)
   4296         )
   4297     );
   4298     assert_eq!(
   4299         unsafe { ::std::ptr::addr_of!((*ptr).common_kinds) as usize - ptr as usize },
   4300         384usize,
   4301         concat!(
   4302             "Offset of field: ",
   4303             stringify!(ndb_stat),
   4304             "::",
   4305             stringify!(common_kinds)
   4306         )
   4307     );
   4308     assert_eq!(
   4309         unsafe { ::std::ptr::addr_of!((*ptr).other_kinds) as usize - ptr as usize },
   4310         744usize,
   4311         concat!(
   4312             "Offset of field: ",
   4313             stringify!(ndb_stat),
   4314             "::",
   4315             stringify!(other_kinds)
   4316         )
   4317     );
   4318 }
   4319 #[repr(C)]
   4320 #[derive(Debug, Copy, Clone)]
   4321 pub struct ndb_text_search_key {
   4322     pub str_len: ::std::os::raw::c_int,
   4323     pub str_: *const ::std::os::raw::c_char,
   4324     pub timestamp: u64,
   4325     pub note_id: u64,
   4326     pub word_index: u64,
   4327 }
   4328 #[test]
   4329 fn bindgen_test_layout_ndb_text_search_key() {
   4330     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_key> = ::std::mem::MaybeUninit::uninit();
   4331     let ptr = UNINIT.as_ptr();
   4332     assert_eq!(
   4333         ::std::mem::size_of::<ndb_text_search_key>(),
   4334         40usize,
   4335         concat!("Size of: ", stringify!(ndb_text_search_key))
   4336     );
   4337     assert_eq!(
   4338         ::std::mem::align_of::<ndb_text_search_key>(),
   4339         8usize,
   4340         concat!("Alignment of ", stringify!(ndb_text_search_key))
   4341     );
   4342     assert_eq!(
   4343         unsafe { ::std::ptr::addr_of!((*ptr).str_len) as usize - ptr as usize },
   4344         0usize,
   4345         concat!(
   4346             "Offset of field: ",
   4347             stringify!(ndb_text_search_key),
   4348             "::",
   4349             stringify!(str_len)
   4350         )
   4351     );
   4352     assert_eq!(
   4353         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   4354         8usize,
   4355         concat!(
   4356             "Offset of field: ",
   4357             stringify!(ndb_text_search_key),
   4358             "::",
   4359             stringify!(str_)
   4360         )
   4361     );
   4362     assert_eq!(
   4363         unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
   4364         16usize,
   4365         concat!(
   4366             "Offset of field: ",
   4367             stringify!(ndb_text_search_key),
   4368             "::",
   4369             stringify!(timestamp)
   4370         )
   4371     );
   4372     assert_eq!(
   4373         unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
   4374         24usize,
   4375         concat!(
   4376             "Offset of field: ",
   4377             stringify!(ndb_text_search_key),
   4378             "::",
   4379             stringify!(note_id)
   4380         )
   4381     );
   4382     assert_eq!(
   4383         unsafe { ::std::ptr::addr_of!((*ptr).word_index) as usize - ptr as usize },
   4384         32usize,
   4385         concat!(
   4386             "Offset of field: ",
   4387             stringify!(ndb_text_search_key),
   4388             "::",
   4389             stringify!(word_index)
   4390         )
   4391     );
   4392 }
   4393 #[repr(C)]
   4394 #[derive(Debug, Copy, Clone)]
   4395 pub struct ndb_text_search_result {
   4396     pub key: ndb_text_search_key,
   4397     pub prefix_chars: ::std::os::raw::c_int,
   4398     pub note: *mut ndb_note,
   4399     pub note_size: u64,
   4400 }
   4401 #[test]
   4402 fn bindgen_test_layout_ndb_text_search_result() {
   4403     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_result> =
   4404         ::std::mem::MaybeUninit::uninit();
   4405     let ptr = UNINIT.as_ptr();
   4406     assert_eq!(
   4407         ::std::mem::size_of::<ndb_text_search_result>(),
   4408         64usize,
   4409         concat!("Size of: ", stringify!(ndb_text_search_result))
   4410     );
   4411     assert_eq!(
   4412         ::std::mem::align_of::<ndb_text_search_result>(),
   4413         8usize,
   4414         concat!("Alignment of ", stringify!(ndb_text_search_result))
   4415     );
   4416     assert_eq!(
   4417         unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
   4418         0usize,
   4419         concat!(
   4420             "Offset of field: ",
   4421             stringify!(ndb_text_search_result),
   4422             "::",
   4423             stringify!(key)
   4424         )
   4425     );
   4426     assert_eq!(
   4427         unsafe { ::std::ptr::addr_of!((*ptr).prefix_chars) as usize - ptr as usize },
   4428         40usize,
   4429         concat!(
   4430             "Offset of field: ",
   4431             stringify!(ndb_text_search_result),
   4432             "::",
   4433             stringify!(prefix_chars)
   4434         )
   4435     );
   4436     assert_eq!(
   4437         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   4438         48usize,
   4439         concat!(
   4440             "Offset of field: ",
   4441             stringify!(ndb_text_search_result),
   4442             "::",
   4443             stringify!(note)
   4444         )
   4445     );
   4446     assert_eq!(
   4447         unsafe { ::std::ptr::addr_of!((*ptr).note_size) as usize - ptr as usize },
   4448         56usize,
   4449         concat!(
   4450             "Offset of field: ",
   4451             stringify!(ndb_text_search_result),
   4452             "::",
   4453             stringify!(note_size)
   4454         )
   4455     );
   4456 }
   4457 #[repr(C)]
   4458 #[derive(Debug, Copy, Clone)]
   4459 pub struct ndb_text_search_results {
   4460     pub results: [ndb_text_search_result; 128usize],
   4461     pub num_results: ::std::os::raw::c_int,
   4462 }
   4463 #[test]
   4464 fn bindgen_test_layout_ndb_text_search_results() {
   4465     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_results> =
   4466         ::std::mem::MaybeUninit::uninit();
   4467     let ptr = UNINIT.as_ptr();
   4468     assert_eq!(
   4469         ::std::mem::size_of::<ndb_text_search_results>(),
   4470         8200usize,
   4471         concat!("Size of: ", stringify!(ndb_text_search_results))
   4472     );
   4473     assert_eq!(
   4474         ::std::mem::align_of::<ndb_text_search_results>(),
   4475         8usize,
   4476         concat!("Alignment of ", stringify!(ndb_text_search_results))
   4477     );
   4478     assert_eq!(
   4479         unsafe { ::std::ptr::addr_of!((*ptr).results) as usize - ptr as usize },
   4480         0usize,
   4481         concat!(
   4482             "Offset of field: ",
   4483             stringify!(ndb_text_search_results),
   4484             "::",
   4485             stringify!(results)
   4486         )
   4487     );
   4488     assert_eq!(
   4489         unsafe { ::std::ptr::addr_of!((*ptr).num_results) as usize - ptr as usize },
   4490         8192usize,
   4491         concat!(
   4492             "Offset of field: ",
   4493             stringify!(ndb_text_search_results),
   4494             "::",
   4495             stringify!(num_results)
   4496         )
   4497     );
   4498 }
   4499 pub const ndb_block_type_BLOCK_HASHTAG: ndb_block_type = 1;
   4500 pub const ndb_block_type_BLOCK_TEXT: ndb_block_type = 2;
   4501 pub const ndb_block_type_BLOCK_MENTION_INDEX: ndb_block_type = 3;
   4502 pub const ndb_block_type_BLOCK_MENTION_BECH32: ndb_block_type = 4;
   4503 pub const ndb_block_type_BLOCK_URL: ndb_block_type = 5;
   4504 pub const ndb_block_type_BLOCK_INVOICE: ndb_block_type = 6;
   4505 pub type ndb_block_type = ::std::os::raw::c_int;
   4506 #[repr(C)]
   4507 #[derive(Debug, Copy, Clone)]
   4508 pub struct ndb_relays {
   4509     pub relays: [ndb_str_block; 24usize],
   4510     pub num_relays: ::std::os::raw::c_int,
   4511 }
   4512 #[test]
   4513 fn bindgen_test_layout_ndb_relays() {
   4514     const UNINIT: ::std::mem::MaybeUninit<ndb_relays> = ::std::mem::MaybeUninit::uninit();
   4515     let ptr = UNINIT.as_ptr();
   4516     assert_eq!(
   4517         ::std::mem::size_of::<ndb_relays>(),
   4518         392usize,
   4519         concat!("Size of: ", stringify!(ndb_relays))
   4520     );
   4521     assert_eq!(
   4522         ::std::mem::align_of::<ndb_relays>(),
   4523         8usize,
   4524         concat!("Alignment of ", stringify!(ndb_relays))
   4525     );
   4526     assert_eq!(
   4527         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4528         0usize,
   4529         concat!(
   4530             "Offset of field: ",
   4531             stringify!(ndb_relays),
   4532             "::",
   4533             stringify!(relays)
   4534         )
   4535     );
   4536     assert_eq!(
   4537         unsafe { ::std::ptr::addr_of!((*ptr).num_relays) as usize - ptr as usize },
   4538         384usize,
   4539         concat!(
   4540             "Offset of field: ",
   4541             stringify!(ndb_relays),
   4542             "::",
   4543             stringify!(num_relays)
   4544         )
   4545     );
   4546 }
   4547 pub const nostr_bech32_type_NOSTR_BECH32_NOTE: nostr_bech32_type = 1;
   4548 pub const nostr_bech32_type_NOSTR_BECH32_NPUB: nostr_bech32_type = 2;
   4549 pub const nostr_bech32_type_NOSTR_BECH32_NPROFILE: nostr_bech32_type = 3;
   4550 pub const nostr_bech32_type_NOSTR_BECH32_NEVENT: nostr_bech32_type = 4;
   4551 pub const nostr_bech32_type_NOSTR_BECH32_NRELAY: nostr_bech32_type = 5;
   4552 pub const nostr_bech32_type_NOSTR_BECH32_NADDR: nostr_bech32_type = 6;
   4553 pub const nostr_bech32_type_NOSTR_BECH32_NSEC: nostr_bech32_type = 7;
   4554 pub type nostr_bech32_type = ::std::os::raw::c_int;
   4555 #[repr(C)]
   4556 #[derive(Debug, Copy, Clone)]
   4557 pub struct bech32_note {
   4558     pub event_id: *const ::std::os::raw::c_uchar,
   4559 }
   4560 #[test]
   4561 fn bindgen_test_layout_bech32_note() {
   4562     const UNINIT: ::std::mem::MaybeUninit<bech32_note> = ::std::mem::MaybeUninit::uninit();
   4563     let ptr = UNINIT.as_ptr();
   4564     assert_eq!(
   4565         ::std::mem::size_of::<bech32_note>(),
   4566         8usize,
   4567         concat!("Size of: ", stringify!(bech32_note))
   4568     );
   4569     assert_eq!(
   4570         ::std::mem::align_of::<bech32_note>(),
   4571         8usize,
   4572         concat!("Alignment of ", stringify!(bech32_note))
   4573     );
   4574     assert_eq!(
   4575         unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
   4576         0usize,
   4577         concat!(
   4578             "Offset of field: ",
   4579             stringify!(bech32_note),
   4580             "::",
   4581             stringify!(event_id)
   4582         )
   4583     );
   4584 }
   4585 #[repr(C)]
   4586 #[derive(Debug, Copy, Clone)]
   4587 pub struct bech32_npub {
   4588     pub pubkey: *const ::std::os::raw::c_uchar,
   4589 }
   4590 #[test]
   4591 fn bindgen_test_layout_bech32_npub() {
   4592     const UNINIT: ::std::mem::MaybeUninit<bech32_npub> = ::std::mem::MaybeUninit::uninit();
   4593     let ptr = UNINIT.as_ptr();
   4594     assert_eq!(
   4595         ::std::mem::size_of::<bech32_npub>(),
   4596         8usize,
   4597         concat!("Size of: ", stringify!(bech32_npub))
   4598     );
   4599     assert_eq!(
   4600         ::std::mem::align_of::<bech32_npub>(),
   4601         8usize,
   4602         concat!("Alignment of ", stringify!(bech32_npub))
   4603     );
   4604     assert_eq!(
   4605         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4606         0usize,
   4607         concat!(
   4608             "Offset of field: ",
   4609             stringify!(bech32_npub),
   4610             "::",
   4611             stringify!(pubkey)
   4612         )
   4613     );
   4614 }
   4615 #[repr(C)]
   4616 #[derive(Debug, Copy, Clone)]
   4617 pub struct bech32_nsec {
   4618     pub nsec: *const ::std::os::raw::c_uchar,
   4619 }
   4620 #[test]
   4621 fn bindgen_test_layout_bech32_nsec() {
   4622     const UNINIT: ::std::mem::MaybeUninit<bech32_nsec> = ::std::mem::MaybeUninit::uninit();
   4623     let ptr = UNINIT.as_ptr();
   4624     assert_eq!(
   4625         ::std::mem::size_of::<bech32_nsec>(),
   4626         8usize,
   4627         concat!("Size of: ", stringify!(bech32_nsec))
   4628     );
   4629     assert_eq!(
   4630         ::std::mem::align_of::<bech32_nsec>(),
   4631         8usize,
   4632         concat!("Alignment of ", stringify!(bech32_nsec))
   4633     );
   4634     assert_eq!(
   4635         unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
   4636         0usize,
   4637         concat!(
   4638             "Offset of field: ",
   4639             stringify!(bech32_nsec),
   4640             "::",
   4641             stringify!(nsec)
   4642         )
   4643     );
   4644 }
   4645 #[repr(C)]
   4646 #[derive(Debug, Copy, Clone)]
   4647 pub struct bech32_nevent {
   4648     pub relays: ndb_relays,
   4649     pub event_id: *const ::std::os::raw::c_uchar,
   4650     pub pubkey: *const ::std::os::raw::c_uchar,
   4651 }
   4652 #[test]
   4653 fn bindgen_test_layout_bech32_nevent() {
   4654     const UNINIT: ::std::mem::MaybeUninit<bech32_nevent> = ::std::mem::MaybeUninit::uninit();
   4655     let ptr = UNINIT.as_ptr();
   4656     assert_eq!(
   4657         ::std::mem::size_of::<bech32_nevent>(),
   4658         408usize,
   4659         concat!("Size of: ", stringify!(bech32_nevent))
   4660     );
   4661     assert_eq!(
   4662         ::std::mem::align_of::<bech32_nevent>(),
   4663         8usize,
   4664         concat!("Alignment of ", stringify!(bech32_nevent))
   4665     );
   4666     assert_eq!(
   4667         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4668         0usize,
   4669         concat!(
   4670             "Offset of field: ",
   4671             stringify!(bech32_nevent),
   4672             "::",
   4673             stringify!(relays)
   4674         )
   4675     );
   4676     assert_eq!(
   4677         unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
   4678         392usize,
   4679         concat!(
   4680             "Offset of field: ",
   4681             stringify!(bech32_nevent),
   4682             "::",
   4683             stringify!(event_id)
   4684         )
   4685     );
   4686     assert_eq!(
   4687         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4688         400usize,
   4689         concat!(
   4690             "Offset of field: ",
   4691             stringify!(bech32_nevent),
   4692             "::",
   4693             stringify!(pubkey)
   4694         )
   4695     );
   4696 }
   4697 #[repr(C)]
   4698 #[derive(Debug, Copy, Clone)]
   4699 pub struct bech32_nprofile {
   4700     pub relays: ndb_relays,
   4701     pub pubkey: *const ::std::os::raw::c_uchar,
   4702 }
   4703 #[test]
   4704 fn bindgen_test_layout_bech32_nprofile() {
   4705     const UNINIT: ::std::mem::MaybeUninit<bech32_nprofile> = ::std::mem::MaybeUninit::uninit();
   4706     let ptr = UNINIT.as_ptr();
   4707     assert_eq!(
   4708         ::std::mem::size_of::<bech32_nprofile>(),
   4709         400usize,
   4710         concat!("Size of: ", stringify!(bech32_nprofile))
   4711     );
   4712     assert_eq!(
   4713         ::std::mem::align_of::<bech32_nprofile>(),
   4714         8usize,
   4715         concat!("Alignment of ", stringify!(bech32_nprofile))
   4716     );
   4717     assert_eq!(
   4718         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4719         0usize,
   4720         concat!(
   4721             "Offset of field: ",
   4722             stringify!(bech32_nprofile),
   4723             "::",
   4724             stringify!(relays)
   4725         )
   4726     );
   4727     assert_eq!(
   4728         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4729         392usize,
   4730         concat!(
   4731             "Offset of field: ",
   4732             stringify!(bech32_nprofile),
   4733             "::",
   4734             stringify!(pubkey)
   4735         )
   4736     );
   4737 }
   4738 #[repr(C)]
   4739 #[derive(Debug, Copy, Clone)]
   4740 pub struct bech32_naddr {
   4741     pub relays: ndb_relays,
   4742     pub identifier: ndb_str_block,
   4743     pub pubkey: *const ::std::os::raw::c_uchar,
   4744 }
   4745 #[test]
   4746 fn bindgen_test_layout_bech32_naddr() {
   4747     const UNINIT: ::std::mem::MaybeUninit<bech32_naddr> = ::std::mem::MaybeUninit::uninit();
   4748     let ptr = UNINIT.as_ptr();
   4749     assert_eq!(
   4750         ::std::mem::size_of::<bech32_naddr>(),
   4751         416usize,
   4752         concat!("Size of: ", stringify!(bech32_naddr))
   4753     );
   4754     assert_eq!(
   4755         ::std::mem::align_of::<bech32_naddr>(),
   4756         8usize,
   4757         concat!("Alignment of ", stringify!(bech32_naddr))
   4758     );
   4759     assert_eq!(
   4760         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4761         0usize,
   4762         concat!(
   4763             "Offset of field: ",
   4764             stringify!(bech32_naddr),
   4765             "::",
   4766             stringify!(relays)
   4767         )
   4768     );
   4769     assert_eq!(
   4770         unsafe { ::std::ptr::addr_of!((*ptr).identifier) as usize - ptr as usize },
   4771         392usize,
   4772         concat!(
   4773             "Offset of field: ",
   4774             stringify!(bech32_naddr),
   4775             "::",
   4776             stringify!(identifier)
   4777         )
   4778     );
   4779     assert_eq!(
   4780         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4781         408usize,
   4782         concat!(
   4783             "Offset of field: ",
   4784             stringify!(bech32_naddr),
   4785             "::",
   4786             stringify!(pubkey)
   4787         )
   4788     );
   4789 }
   4790 #[repr(C)]
   4791 #[derive(Debug, Copy, Clone)]
   4792 pub struct bech32_nrelay {
   4793     pub relay: ndb_str_block,
   4794 }
   4795 #[test]
   4796 fn bindgen_test_layout_bech32_nrelay() {
   4797     const UNINIT: ::std::mem::MaybeUninit<bech32_nrelay> = ::std::mem::MaybeUninit::uninit();
   4798     let ptr = UNINIT.as_ptr();
   4799     assert_eq!(
   4800         ::std::mem::size_of::<bech32_nrelay>(),
   4801         16usize,
   4802         concat!("Size of: ", stringify!(bech32_nrelay))
   4803     );
   4804     assert_eq!(
   4805         ::std::mem::align_of::<bech32_nrelay>(),
   4806         8usize,
   4807         concat!("Alignment of ", stringify!(bech32_nrelay))
   4808     );
   4809     assert_eq!(
   4810         unsafe { ::std::ptr::addr_of!((*ptr).relay) as usize - ptr as usize },
   4811         0usize,
   4812         concat!(
   4813             "Offset of field: ",
   4814             stringify!(bech32_nrelay),
   4815             "::",
   4816             stringify!(relay)
   4817         )
   4818     );
   4819 }
   4820 #[repr(C)]
   4821 #[derive(Copy, Clone)]
   4822 pub struct nostr_bech32 {
   4823     pub type_: nostr_bech32_type,
   4824     pub __bindgen_anon_1: nostr_bech32__bindgen_ty_1,
   4825 }
   4826 #[repr(C)]
   4827 #[derive(Copy, Clone)]
   4828 pub union nostr_bech32__bindgen_ty_1 {
   4829     pub note: bech32_note,
   4830     pub npub: bech32_npub,
   4831     pub nsec: bech32_nsec,
   4832     pub nevent: bech32_nevent,
   4833     pub nprofile: bech32_nprofile,
   4834     pub naddr: bech32_naddr,
   4835     pub nrelay: bech32_nrelay,
   4836 }
   4837 #[test]
   4838 fn bindgen_test_layout_nostr_bech32__bindgen_ty_1() {
   4839     const UNINIT: ::std::mem::MaybeUninit<nostr_bech32__bindgen_ty_1> =
   4840         ::std::mem::MaybeUninit::uninit();
   4841     let ptr = UNINIT.as_ptr();
   4842     assert_eq!(
   4843         ::std::mem::size_of::<nostr_bech32__bindgen_ty_1>(),
   4844         416usize,
   4845         concat!("Size of: ", stringify!(nostr_bech32__bindgen_ty_1))
   4846     );
   4847     assert_eq!(
   4848         ::std::mem::align_of::<nostr_bech32__bindgen_ty_1>(),
   4849         8usize,
   4850         concat!("Alignment of ", stringify!(nostr_bech32__bindgen_ty_1))
   4851     );
   4852     assert_eq!(
   4853         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   4854         0usize,
   4855         concat!(
   4856             "Offset of field: ",
   4857             stringify!(nostr_bech32__bindgen_ty_1),
   4858             "::",
   4859             stringify!(note)
   4860         )
   4861     );
   4862     assert_eq!(
   4863         unsafe { ::std::ptr::addr_of!((*ptr).npub) as usize - ptr as usize },
   4864         0usize,
   4865         concat!(
   4866             "Offset of field: ",
   4867             stringify!(nostr_bech32__bindgen_ty_1),
   4868             "::",
   4869             stringify!(npub)
   4870         )
   4871     );
   4872     assert_eq!(
   4873         unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
   4874         0usize,
   4875         concat!(
   4876             "Offset of field: ",
   4877             stringify!(nostr_bech32__bindgen_ty_1),
   4878             "::",
   4879             stringify!(nsec)
   4880         )
   4881     );
   4882     assert_eq!(
   4883         unsafe { ::std::ptr::addr_of!((*ptr).nevent) as usize - ptr as usize },
   4884         0usize,
   4885         concat!(
   4886             "Offset of field: ",
   4887             stringify!(nostr_bech32__bindgen_ty_1),
   4888             "::",
   4889             stringify!(nevent)
   4890         )
   4891     );
   4892     assert_eq!(
   4893         unsafe { ::std::ptr::addr_of!((*ptr).nprofile) as usize - ptr as usize },
   4894         0usize,
   4895         concat!(
   4896             "Offset of field: ",
   4897             stringify!(nostr_bech32__bindgen_ty_1),
   4898             "::",
   4899             stringify!(nprofile)
   4900         )
   4901     );
   4902     assert_eq!(
   4903         unsafe { ::std::ptr::addr_of!((*ptr).naddr) as usize - ptr as usize },
   4904         0usize,
   4905         concat!(
   4906             "Offset of field: ",
   4907             stringify!(nostr_bech32__bindgen_ty_1),
   4908             "::",
   4909             stringify!(naddr)
   4910         )
   4911     );
   4912     assert_eq!(
   4913         unsafe { ::std::ptr::addr_of!((*ptr).nrelay) as usize - ptr as usize },
   4914         0usize,
   4915         concat!(
   4916             "Offset of field: ",
   4917             stringify!(nostr_bech32__bindgen_ty_1),
   4918             "::",
   4919             stringify!(nrelay)
   4920         )
   4921     );
   4922 }
   4923 #[test]
   4924 fn bindgen_test_layout_nostr_bech32() {
   4925     const UNINIT: ::std::mem::MaybeUninit<nostr_bech32> = ::std::mem::MaybeUninit::uninit();
   4926     let ptr = UNINIT.as_ptr();
   4927     assert_eq!(
   4928         ::std::mem::size_of::<nostr_bech32>(),
   4929         424usize,
   4930         concat!("Size of: ", stringify!(nostr_bech32))
   4931     );
   4932     assert_eq!(
   4933         ::std::mem::align_of::<nostr_bech32>(),
   4934         8usize,
   4935         concat!("Alignment of ", stringify!(nostr_bech32))
   4936     );
   4937     assert_eq!(
   4938         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   4939         0usize,
   4940         concat!(
   4941             "Offset of field: ",
   4942             stringify!(nostr_bech32),
   4943             "::",
   4944             stringify!(type_)
   4945         )
   4946     );
   4947 }
   4948 #[repr(C)]
   4949 #[derive(Copy, Clone)]
   4950 pub struct ndb_mention_bech32_block {
   4951     pub str_: ndb_str_block,
   4952     pub bech32: nostr_bech32,
   4953 }
   4954 #[test]
   4955 fn bindgen_test_layout_ndb_mention_bech32_block() {
   4956     const UNINIT: ::std::mem::MaybeUninit<ndb_mention_bech32_block> =
   4957         ::std::mem::MaybeUninit::uninit();
   4958     let ptr = UNINIT.as_ptr();
   4959     assert_eq!(
   4960         ::std::mem::size_of::<ndb_mention_bech32_block>(),
   4961         440usize,
   4962         concat!("Size of: ", stringify!(ndb_mention_bech32_block))
   4963     );
   4964     assert_eq!(
   4965         ::std::mem::align_of::<ndb_mention_bech32_block>(),
   4966         8usize,
   4967         concat!("Alignment of ", stringify!(ndb_mention_bech32_block))
   4968     );
   4969     assert_eq!(
   4970         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   4971         0usize,
   4972         concat!(
   4973             "Offset of field: ",
   4974             stringify!(ndb_mention_bech32_block),
   4975             "::",
   4976             stringify!(str_)
   4977         )
   4978     );
   4979     assert_eq!(
   4980         unsafe { ::std::ptr::addr_of!((*ptr).bech32) as usize - ptr as usize },
   4981         16usize,
   4982         concat!(
   4983             "Offset of field: ",
   4984             stringify!(ndb_mention_bech32_block),
   4985             "::",
   4986             stringify!(bech32)
   4987         )
   4988     );
   4989 }
   4990 #[repr(C)]
   4991 #[derive(Debug, Copy, Clone)]
   4992 pub struct ndb_invoice {
   4993     pub version: ::std::os::raw::c_uchar,
   4994     pub amount: u64,
   4995     pub timestamp: u64,
   4996     pub expiry: u64,
   4997     pub description: *mut ::std::os::raw::c_char,
   4998     pub description_hash: *mut ::std::os::raw::c_uchar,
   4999 }
   5000 #[test]
   5001 fn bindgen_test_layout_ndb_invoice() {
   5002     const UNINIT: ::std::mem::MaybeUninit<ndb_invoice> = ::std::mem::MaybeUninit::uninit();
   5003     let ptr = UNINIT.as_ptr();
   5004     assert_eq!(
   5005         ::std::mem::size_of::<ndb_invoice>(),
   5006         48usize,
   5007         concat!("Size of: ", stringify!(ndb_invoice))
   5008     );
   5009     assert_eq!(
   5010         ::std::mem::align_of::<ndb_invoice>(),
   5011         8usize,
   5012         concat!("Alignment of ", stringify!(ndb_invoice))
   5013     );
   5014     assert_eq!(
   5015         unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
   5016         0usize,
   5017         concat!(
   5018             "Offset of field: ",
   5019             stringify!(ndb_invoice),
   5020             "::",
   5021             stringify!(version)
   5022         )
   5023     );
   5024     assert_eq!(
   5025         unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
   5026         8usize,
   5027         concat!(
   5028             "Offset of field: ",
   5029             stringify!(ndb_invoice),
   5030             "::",
   5031             stringify!(amount)
   5032         )
   5033     );
   5034     assert_eq!(
   5035         unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
   5036         16usize,
   5037         concat!(
   5038             "Offset of field: ",
   5039             stringify!(ndb_invoice),
   5040             "::",
   5041             stringify!(timestamp)
   5042         )
   5043     );
   5044     assert_eq!(
   5045         unsafe { ::std::ptr::addr_of!((*ptr).expiry) as usize - ptr as usize },
   5046         24usize,
   5047         concat!(
   5048             "Offset of field: ",
   5049             stringify!(ndb_invoice),
   5050             "::",
   5051             stringify!(expiry)
   5052         )
   5053     );
   5054     assert_eq!(
   5055         unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
   5056         32usize,
   5057         concat!(
   5058             "Offset of field: ",
   5059             stringify!(ndb_invoice),
   5060             "::",
   5061             stringify!(description)
   5062         )
   5063     );
   5064     assert_eq!(
   5065         unsafe { ::std::ptr::addr_of!((*ptr).description_hash) as usize - ptr as usize },
   5066         40usize,
   5067         concat!(
   5068             "Offset of field: ",
   5069             stringify!(ndb_invoice),
   5070             "::",
   5071             stringify!(description_hash)
   5072         )
   5073     );
   5074 }
   5075 #[repr(C)]
   5076 #[derive(Debug, Copy, Clone)]
   5077 pub struct ndb_invoice_block {
   5078     pub invstr: ndb_str_block,
   5079     pub invoice: ndb_invoice,
   5080 }
   5081 #[test]
   5082 fn bindgen_test_layout_ndb_invoice_block() {
   5083     const UNINIT: ::std::mem::MaybeUninit<ndb_invoice_block> = ::std::mem::MaybeUninit::uninit();
   5084     let ptr = UNINIT.as_ptr();
   5085     assert_eq!(
   5086         ::std::mem::size_of::<ndb_invoice_block>(),
   5087         64usize,
   5088         concat!("Size of: ", stringify!(ndb_invoice_block))
   5089     );
   5090     assert_eq!(
   5091         ::std::mem::align_of::<ndb_invoice_block>(),
   5092         8usize,
   5093         concat!("Alignment of ", stringify!(ndb_invoice_block))
   5094     );
   5095     assert_eq!(
   5096         unsafe { ::std::ptr::addr_of!((*ptr).invstr) as usize - ptr as usize },
   5097         0usize,
   5098         concat!(
   5099             "Offset of field: ",
   5100             stringify!(ndb_invoice_block),
   5101             "::",
   5102             stringify!(invstr)
   5103         )
   5104     );
   5105     assert_eq!(
   5106         unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
   5107         16usize,
   5108         concat!(
   5109             "Offset of field: ",
   5110             stringify!(ndb_invoice_block),
   5111             "::",
   5112             stringify!(invoice)
   5113         )
   5114     );
   5115 }
   5116 #[repr(C)]
   5117 #[derive(Copy, Clone)]
   5118 pub struct ndb_block {
   5119     pub type_: ndb_block_type,
   5120     pub block: ndb_block__bindgen_ty_1,
   5121 }
   5122 #[repr(C)]
   5123 #[derive(Copy, Clone)]
   5124 pub union ndb_block__bindgen_ty_1 {
   5125     pub str_: ndb_str_block,
   5126     pub invoice: ndb_invoice_block,
   5127     pub mention_bech32: ndb_mention_bech32_block,
   5128     pub mention_index: u32,
   5129 }
   5130 #[test]
   5131 fn bindgen_test_layout_ndb_block__bindgen_ty_1() {
   5132     const UNINIT: ::std::mem::MaybeUninit<ndb_block__bindgen_ty_1> =
   5133         ::std::mem::MaybeUninit::uninit();
   5134     let ptr = UNINIT.as_ptr();
   5135     assert_eq!(
   5136         ::std::mem::size_of::<ndb_block__bindgen_ty_1>(),
   5137         440usize,
   5138         concat!("Size of: ", stringify!(ndb_block__bindgen_ty_1))
   5139     );
   5140     assert_eq!(
   5141         ::std::mem::align_of::<ndb_block__bindgen_ty_1>(),
   5142         8usize,
   5143         concat!("Alignment of ", stringify!(ndb_block__bindgen_ty_1))
   5144     );
   5145     assert_eq!(
   5146         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   5147         0usize,
   5148         concat!(
   5149             "Offset of field: ",
   5150             stringify!(ndb_block__bindgen_ty_1),
   5151             "::",
   5152             stringify!(str_)
   5153         )
   5154     );
   5155     assert_eq!(
   5156         unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
   5157         0usize,
   5158         concat!(
   5159             "Offset of field: ",
   5160             stringify!(ndb_block__bindgen_ty_1),
   5161             "::",
   5162             stringify!(invoice)
   5163         )
   5164     );
   5165     assert_eq!(
   5166         unsafe { ::std::ptr::addr_of!((*ptr).mention_bech32) as usize - ptr as usize },
   5167         0usize,
   5168         concat!(
   5169             "Offset of field: ",
   5170             stringify!(ndb_block__bindgen_ty_1),
   5171             "::",
   5172             stringify!(mention_bech32)
   5173         )
   5174     );
   5175     assert_eq!(
   5176         unsafe { ::std::ptr::addr_of!((*ptr).mention_index) as usize - ptr as usize },
   5177         0usize,
   5178         concat!(
   5179             "Offset of field: ",
   5180             stringify!(ndb_block__bindgen_ty_1),
   5181             "::",
   5182             stringify!(mention_index)
   5183         )
   5184     );
   5185 }
   5186 #[test]
   5187 fn bindgen_test_layout_ndb_block() {
   5188     const UNINIT: ::std::mem::MaybeUninit<ndb_block> = ::std::mem::MaybeUninit::uninit();
   5189     let ptr = UNINIT.as_ptr();
   5190     assert_eq!(
   5191         ::std::mem::size_of::<ndb_block>(),
   5192         448usize,
   5193         concat!("Size of: ", stringify!(ndb_block))
   5194     );
   5195     assert_eq!(
   5196         ::std::mem::align_of::<ndb_block>(),
   5197         8usize,
   5198         concat!("Alignment of ", stringify!(ndb_block))
   5199     );
   5200     assert_eq!(
   5201         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   5202         0usize,
   5203         concat!(
   5204             "Offset of field: ",
   5205             stringify!(ndb_block),
   5206             "::",
   5207             stringify!(type_)
   5208         )
   5209     );
   5210     assert_eq!(
   5211         unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
   5212         8usize,
   5213         concat!(
   5214             "Offset of field: ",
   5215             stringify!(ndb_block),
   5216             "::",
   5217             stringify!(block)
   5218         )
   5219     );
   5220 }
   5221 #[repr(C)]
   5222 #[derive(Copy, Clone)]
   5223 pub struct ndb_block_iterator {
   5224     pub content: *const ::std::os::raw::c_char,
   5225     pub blocks: *mut ndb_blocks,
   5226     pub block: ndb_block,
   5227     pub p: *mut ::std::os::raw::c_uchar,
   5228 }
   5229 #[test]
   5230 fn bindgen_test_layout_ndb_block_iterator() {
   5231     const UNINIT: ::std::mem::MaybeUninit<ndb_block_iterator> = ::std::mem::MaybeUninit::uninit();
   5232     let ptr = UNINIT.as_ptr();
   5233     assert_eq!(
   5234         ::std::mem::size_of::<ndb_block_iterator>(),
   5235         472usize,
   5236         concat!("Size of: ", stringify!(ndb_block_iterator))
   5237     );
   5238     assert_eq!(
   5239         ::std::mem::align_of::<ndb_block_iterator>(),
   5240         8usize,
   5241         concat!("Alignment of ", stringify!(ndb_block_iterator))
   5242     );
   5243     assert_eq!(
   5244         unsafe { ::std::ptr::addr_of!((*ptr).content) as usize - ptr as usize },
   5245         0usize,
   5246         concat!(
   5247             "Offset of field: ",
   5248             stringify!(ndb_block_iterator),
   5249             "::",
   5250             stringify!(content)
   5251         )
   5252     );
   5253     assert_eq!(
   5254         unsafe { ::std::ptr::addr_of!((*ptr).blocks) as usize - ptr as usize },
   5255         8usize,
   5256         concat!(
   5257             "Offset of field: ",
   5258             stringify!(ndb_block_iterator),
   5259             "::",
   5260             stringify!(blocks)
   5261         )
   5262     );
   5263     assert_eq!(
   5264         unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
   5265         16usize,
   5266         concat!(
   5267             "Offset of field: ",
   5268             stringify!(ndb_block_iterator),
   5269             "::",
   5270             stringify!(block)
   5271         )
   5272     );
   5273     assert_eq!(
   5274         unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
   5275         464usize,
   5276         concat!(
   5277             "Offset of field: ",
   5278             stringify!(ndb_block_iterator),
   5279             "::",
   5280             stringify!(p)
   5281         )
   5282     );
   5283 }
   5284 #[repr(C)]
   5285 #[derive(Debug, Copy, Clone)]
   5286 pub struct ndb_query_result {
   5287     pub note: *mut ndb_note,
   5288     pub note_size: u64,
   5289     pub note_id: u64,
   5290 }
   5291 #[test]
   5292 fn bindgen_test_layout_ndb_query_result() {
   5293     const UNINIT: ::std::mem::MaybeUninit<ndb_query_result> = ::std::mem::MaybeUninit::uninit();
   5294     let ptr = UNINIT.as_ptr();
   5295     assert_eq!(
   5296         ::std::mem::size_of::<ndb_query_result>(),
   5297         24usize,
   5298         concat!("Size of: ", stringify!(ndb_query_result))
   5299     );
   5300     assert_eq!(
   5301         ::std::mem::align_of::<ndb_query_result>(),
   5302         8usize,
   5303         concat!("Alignment of ", stringify!(ndb_query_result))
   5304     );
   5305     assert_eq!(
   5306         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   5307         0usize,
   5308         concat!(
   5309             "Offset of field: ",
   5310             stringify!(ndb_query_result),
   5311             "::",
   5312             stringify!(note)
   5313         )
   5314     );
   5315     assert_eq!(
   5316         unsafe { ::std::ptr::addr_of!((*ptr).note_size) as usize - ptr as usize },
   5317         8usize,
   5318         concat!(
   5319             "Offset of field: ",
   5320             stringify!(ndb_query_result),
   5321             "::",
   5322             stringify!(note_size)
   5323         )
   5324     );
   5325     assert_eq!(
   5326         unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
   5327         16usize,
   5328         concat!(
   5329             "Offset of field: ",
   5330             stringify!(ndb_query_result),
   5331             "::",
   5332             stringify!(note_id)
   5333         )
   5334     );
   5335 }
   5336 #[repr(C)]
   5337 #[derive(Debug, Copy, Clone)]
   5338 pub struct ndb_query_results {
   5339     pub cur: cursor,
   5340 }
   5341 #[test]
   5342 fn bindgen_test_layout_ndb_query_results() {
   5343     const UNINIT: ::std::mem::MaybeUninit<ndb_query_results> = ::std::mem::MaybeUninit::uninit();
   5344     let ptr = UNINIT.as_ptr();
   5345     assert_eq!(
   5346         ::std::mem::size_of::<ndb_query_results>(),
   5347         24usize,
   5348         concat!("Size of: ", stringify!(ndb_query_results))
   5349     );
   5350     assert_eq!(
   5351         ::std::mem::align_of::<ndb_query_results>(),
   5352         8usize,
   5353         concat!("Alignment of ", stringify!(ndb_query_results))
   5354     );
   5355     assert_eq!(
   5356         unsafe { ::std::ptr::addr_of!((*ptr).cur) as usize - ptr as usize },
   5357         0usize,
   5358         concat!(
   5359             "Offset of field: ",
   5360             stringify!(ndb_query_results),
   5361             "::",
   5362             stringify!(cur)
   5363         )
   5364     );
   5365 }
   5366 extern "C" {
   5367     pub fn ndb_default_config(arg1: *mut ndb_config);
   5368 }
   5369 extern "C" {
   5370     pub fn ndb_config_set_ingest_threads(config: *mut ndb_config, threads: ::std::os::raw::c_int);
   5371 }
   5372 extern "C" {
   5373     pub fn ndb_config_set_flags(config: *mut ndb_config, flags: ::std::os::raw::c_int);
   5374 }
   5375 extern "C" {
   5376     pub fn ndb_config_set_mapsize(config: *mut ndb_config, mapsize: usize);
   5377 }
   5378 extern "C" {
   5379     pub fn ndb_config_set_ingest_filter(
   5380         config: *mut ndb_config,
   5381         fn_: ndb_ingest_filter_fn,
   5382         arg1: *mut ::std::os::raw::c_void,
   5383     );
   5384 }
   5385 extern "C" {
   5386     pub fn ndb_config_set_subscription_callback(
   5387         config: *mut ndb_config,
   5388         fn_: ndb_sub_fn,
   5389         ctx: *mut ::std::os::raw::c_void,
   5390     );
   5391 }
   5392 extern "C" {
   5393     #[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."]
   5394     pub fn ndb_config_set_writer_scratch_buffer_size(
   5395         config: *mut ndb_config,
   5396         scratch_size: ::std::os::raw::c_int,
   5397     );
   5398 }
   5399 extern "C" {
   5400     pub fn ndb_calculate_id(
   5401         note: *mut ndb_note,
   5402         buf: *mut ::std::os::raw::c_uchar,
   5403         buflen: ::std::os::raw::c_int,
   5404         id: *mut ::std::os::raw::c_uchar,
   5405     ) -> ::std::os::raw::c_int;
   5406 }
   5407 extern "C" {
   5408     pub fn ndb_sign_id(
   5409         keypair: *mut ndb_keypair,
   5410         id: *mut ::std::os::raw::c_uchar,
   5411         sig: *mut ::std::os::raw::c_uchar,
   5412     ) -> ::std::os::raw::c_int;
   5413 }
   5414 extern "C" {
   5415     pub fn ndb_create_keypair(key: *mut ndb_keypair) -> ::std::os::raw::c_int;
   5416 }
   5417 extern "C" {
   5418     pub fn ndb_decode_key(
   5419         secstr: *const ::std::os::raw::c_char,
   5420         keypair: *mut ndb_keypair,
   5421     ) -> ::std::os::raw::c_int;
   5422 }
   5423 extern "C" {
   5424     pub fn ndb_note_verify(
   5425         secp_ctx: *mut ::std::os::raw::c_void,
   5426         scratch: *mut ::std::os::raw::c_uchar,
   5427         scratch_size: usize,
   5428         note: *mut ndb_note,
   5429     ) -> ::std::os::raw::c_int;
   5430 }
   5431 extern "C" {
   5432     pub fn ndb_init(
   5433         ndb: *mut *mut ndb,
   5434         dbdir: *const ::std::os::raw::c_char,
   5435         arg1: *const ndb_config,
   5436     ) -> ::std::os::raw::c_int;
   5437 }
   5438 extern "C" {
   5439     pub fn ndb_db_version(txn: *mut ndb_txn) -> ::std::os::raw::c_int;
   5440 }
   5441 extern "C" {
   5442     pub fn ndb_process_event(
   5443         arg1: *mut ndb,
   5444         json: *const ::std::os::raw::c_char,
   5445         len: ::std::os::raw::c_int,
   5446     ) -> ::std::os::raw::c_int;
   5447 }
   5448 extern "C" {
   5449     pub fn ndb_ingest_meta_init(
   5450         meta: *mut ndb_ingest_meta,
   5451         client: ::std::os::raw::c_uint,
   5452         relay: *const ::std::os::raw::c_char,
   5453     );
   5454 }
   5455 extern "C" {
   5456     pub fn ndb_process_event_with(
   5457         arg1: *mut ndb,
   5458         json: *const ::std::os::raw::c_char,
   5459         len: ::std::os::raw::c_int,
   5460         meta: *mut ndb_ingest_meta,
   5461     ) -> ::std::os::raw::c_int;
   5462 }
   5463 extern "C" {
   5464     pub fn ndb_process_events(
   5465         arg1: *mut ndb,
   5466         ldjson: *const ::std::os::raw::c_char,
   5467         len: usize,
   5468     ) -> ::std::os::raw::c_int;
   5469 }
   5470 extern "C" {
   5471     pub fn ndb_process_events_with(
   5472         ndb: *mut ndb,
   5473         ldjson: *const ::std::os::raw::c_char,
   5474         json_len: usize,
   5475         meta: *mut ndb_ingest_meta,
   5476     ) -> ::std::os::raw::c_int;
   5477 }
   5478 extern "C" {
   5479     pub fn ndb_process_client_event(
   5480         arg1: *mut ndb,
   5481         json: *const ::std::os::raw::c_char,
   5482         len: ::std::os::raw::c_int,
   5483     ) -> ::std::os::raw::c_int;
   5484 }
   5485 extern "C" {
   5486     pub fn ndb_process_client_events(
   5487         arg1: *mut ndb,
   5488         json: *const ::std::os::raw::c_char,
   5489         len: usize,
   5490     ) -> ::std::os::raw::c_int;
   5491 }
   5492 extern "C" {
   5493     pub fn ndb_begin_query(arg1: *mut ndb, arg2: *mut ndb_txn) -> ::std::os::raw::c_int;
   5494 }
   5495 extern "C" {
   5496     pub fn ndb_search_profile(
   5497         txn: *mut ndb_txn,
   5498         search: *mut ndb_search,
   5499         query: *const ::std::os::raw::c_char,
   5500     ) -> ::std::os::raw::c_int;
   5501 }
   5502 extern "C" {
   5503     pub fn ndb_search_profile_next(search: *mut ndb_search) -> ::std::os::raw::c_int;
   5504 }
   5505 extern "C" {
   5506     pub fn ndb_search_profile_end(search: *mut ndb_search);
   5507 }
   5508 extern "C" {
   5509     pub fn ndb_end_query(arg1: *mut ndb_txn) -> ::std::os::raw::c_int;
   5510 }
   5511 extern "C" {
   5512     pub fn ndb_write_last_profile_fetch(
   5513         ndb: *mut ndb,
   5514         pubkey: *const ::std::os::raw::c_uchar,
   5515         fetched_at: u64,
   5516     ) -> ::std::os::raw::c_int;
   5517 }
   5518 extern "C" {
   5519     pub fn ndb_read_last_profile_fetch(
   5520         txn: *mut ndb_txn,
   5521         pubkey: *const ::std::os::raw::c_uchar,
   5522     ) -> u64;
   5523 }
   5524 extern "C" {
   5525     pub fn ndb_get_profile_by_pubkey(
   5526         txn: *mut ndb_txn,
   5527         pubkey: *const ::std::os::raw::c_uchar,
   5528         len: *mut usize,
   5529         primkey: *mut u64,
   5530     ) -> *mut ::std::os::raw::c_void;
   5531 }
   5532 extern "C" {
   5533     pub fn ndb_get_profile_by_key(
   5534         txn: *mut ndb_txn,
   5535         key: u64,
   5536         len: *mut usize,
   5537     ) -> *mut ::std::os::raw::c_void;
   5538 }
   5539 extern "C" {
   5540     pub fn ndb_get_notekey_by_id(txn: *mut ndb_txn, id: *const ::std::os::raw::c_uchar) -> u64;
   5541 }
   5542 extern "C" {
   5543     pub fn ndb_get_profilekey_by_pubkey(
   5544         txn: *mut ndb_txn,
   5545         id: *const ::std::os::raw::c_uchar,
   5546     ) -> u64;
   5547 }
   5548 extern "C" {
   5549     pub fn ndb_get_note_by_id(
   5550         txn: *mut ndb_txn,
   5551         id: *const ::std::os::raw::c_uchar,
   5552         len: *mut usize,
   5553         primkey: *mut u64,
   5554     ) -> *mut ndb_note;
   5555 }
   5556 extern "C" {
   5557     pub fn ndb_get_note_by_key(txn: *mut ndb_txn, key: u64, len: *mut usize) -> *mut ndb_note;
   5558 }
   5559 extern "C" {
   5560     pub fn ndb_note_seen_on_relay(
   5561         txn: *mut ndb_txn,
   5562         note_key: u64,
   5563         relay: *const ::std::os::raw::c_char,
   5564     ) -> ::std::os::raw::c_int;
   5565 }
   5566 extern "C" {
   5567     pub fn ndb_destroy(arg1: *mut ndb);
   5568 }
   5569 extern "C" {
   5570     pub fn ndb_parse_json_note(
   5571         arg1: *mut ndb_json_parser,
   5572         arg2: *mut *mut ndb_note,
   5573     ) -> ::std::os::raw::c_int;
   5574 }
   5575 extern "C" {
   5576     pub fn ndb_client_event_from_json(
   5577         json: *const ::std::os::raw::c_char,
   5578         len: ::std::os::raw::c_int,
   5579         fce: *mut ndb_fce,
   5580         buf: *mut ::std::os::raw::c_uchar,
   5581         bufsize: ::std::os::raw::c_int,
   5582         cb: *mut ndb_id_cb,
   5583     ) -> ::std::os::raw::c_int;
   5584 }
   5585 extern "C" {
   5586     pub fn ndb_ws_event_from_json(
   5587         json: *const ::std::os::raw::c_char,
   5588         len: ::std::os::raw::c_int,
   5589         tce: *mut ndb_tce,
   5590         buf: *mut ::std::os::raw::c_uchar,
   5591         bufsize: ::std::os::raw::c_int,
   5592         arg1: *mut ndb_id_cb,
   5593     ) -> ::std::os::raw::c_int;
   5594 }
   5595 extern "C" {
   5596     pub fn ndb_note_from_json(
   5597         json: *const ::std::os::raw::c_char,
   5598         len: ::std::os::raw::c_int,
   5599         arg1: *mut *mut ndb_note,
   5600         buf: *mut ::std::os::raw::c_uchar,
   5601         buflen: ::std::os::raw::c_int,
   5602     ) -> ::std::os::raw::c_int;
   5603 }
   5604 extern "C" {
   5605     pub fn ndb_builder_init(
   5606         builder: *mut ndb_builder,
   5607         buf: *mut ::std::os::raw::c_uchar,
   5608         bufsize: usize,
   5609     ) -> ::std::os::raw::c_int;
   5610 }
   5611 extern "C" {
   5612     pub fn ndb_builder_finalize(
   5613         builder: *mut ndb_builder,
   5614         note: *mut *mut ndb_note,
   5615         privkey: *mut ndb_keypair,
   5616     ) -> ::std::os::raw::c_int;
   5617 }
   5618 extern "C" {
   5619     pub fn ndb_builder_set_content(
   5620         builder: *mut ndb_builder,
   5621         content: *const ::std::os::raw::c_char,
   5622         len: ::std::os::raw::c_int,
   5623     ) -> ::std::os::raw::c_int;
   5624 }
   5625 extern "C" {
   5626     pub fn ndb_builder_set_created_at(builder: *mut ndb_builder, created_at: u64);
   5627 }
   5628 extern "C" {
   5629     pub fn ndb_builder_set_sig(builder: *mut ndb_builder, sig: *mut ::std::os::raw::c_uchar);
   5630 }
   5631 extern "C" {
   5632     pub fn ndb_builder_set_pubkey(builder: *mut ndb_builder, pubkey: *mut ::std::os::raw::c_uchar);
   5633 }
   5634 extern "C" {
   5635     pub fn ndb_builder_set_id(builder: *mut ndb_builder, id: *mut ::std::os::raw::c_uchar);
   5636 }
   5637 extern "C" {
   5638     pub fn ndb_builder_set_kind(builder: *mut ndb_builder, kind: u32);
   5639 }
   5640 extern "C" {
   5641     pub fn ndb_builder_new_tag(builder: *mut ndb_builder) -> ::std::os::raw::c_int;
   5642 }
   5643 extern "C" {
   5644     pub fn ndb_builder_push_tag_str(
   5645         builder: *mut ndb_builder,
   5646         str_: *const ::std::os::raw::c_char,
   5647         len: ::std::os::raw::c_int,
   5648     ) -> ::std::os::raw::c_int;
   5649 }
   5650 extern "C" {
   5651     pub fn ndb_builder_push_tag_id(
   5652         builder: *mut ndb_builder,
   5653         id: *mut ::std::os::raw::c_uchar,
   5654     ) -> ::std::os::raw::c_int;
   5655 }
   5656 extern "C" {
   5657     pub fn ndb_filter_init(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
   5658 }
   5659 extern "C" {
   5660     #[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"]
   5661     pub fn ndb_filter_init_with(
   5662         filter: *mut ndb_filter,
   5663         pages: ::std::os::raw::c_int,
   5664     ) -> ::std::os::raw::c_int;
   5665 }
   5666 extern "C" {
   5667     pub fn ndb_filter_add_id_element(
   5668         arg1: *mut ndb_filter,
   5669         id: *const ::std::os::raw::c_uchar,
   5670     ) -> ::std::os::raw::c_int;
   5671 }
   5672 extern "C" {
   5673     pub fn ndb_filter_add_int_element(arg1: *mut ndb_filter, integer: u64)
   5674         -> ::std::os::raw::c_int;
   5675 }
   5676 extern "C" {
   5677     pub fn ndb_filter_add_str_element(
   5678         arg1: *mut ndb_filter,
   5679         str_: *const ::std::os::raw::c_char,
   5680     ) -> ::std::os::raw::c_int;
   5681 }
   5682 extern "C" {
   5683     pub fn ndb_filter_add_custom_filter_element(
   5684         filter: *mut ndb_filter,
   5685         cb: ndb_filter_callback_fn,
   5686         ctx: *mut ::std::os::raw::c_void,
   5687     ) -> ::std::os::raw::c_int;
   5688 }
   5689 extern "C" {
   5690     pub fn ndb_filter_eq(arg1: *const ndb_filter, arg2: *const ndb_filter)
   5691         -> ::std::os::raw::c_int;
   5692 }
   5693 extern "C" {
   5694     #[doc = " is `a` a subset of `b`"]
   5695     pub fn ndb_filter_is_subset_of(
   5696         a: *const ndb_filter,
   5697         b: *const ndb_filter,
   5698     ) -> ::std::os::raw::c_int;
   5699 }
   5700 extern "C" {
   5701     pub fn ndb_filter_from_json(
   5702         arg1: *const ::std::os::raw::c_char,
   5703         len: ::std::os::raw::c_int,
   5704         filter: *mut ndb_filter,
   5705         buf: *mut ::std::os::raw::c_uchar,
   5706         bufsize: ::std::os::raw::c_int,
   5707     ) -> ::std::os::raw::c_int;
   5708 }
   5709 extern "C" {
   5710     pub fn ndb_filter_get_id_element(
   5711         arg1: *const ndb_filter,
   5712         arg2: *const ndb_filter_elements,
   5713         index: ::std::os::raw::c_int,
   5714     ) -> *mut ::std::os::raw::c_uchar;
   5715 }
   5716 extern "C" {
   5717     pub fn ndb_filter_get_string_element(
   5718         arg1: *const ndb_filter,
   5719         arg2: *const ndb_filter_elements,
   5720         index: ::std::os::raw::c_int,
   5721     ) -> *const ::std::os::raw::c_char;
   5722 }
   5723 extern "C" {
   5724     pub fn ndb_filter_get_int_element(
   5725         arg1: *const ndb_filter_elements,
   5726         index: ::std::os::raw::c_int,
   5727     ) -> u64;
   5728 }
   5729 extern "C" {
   5730     pub fn ndb_filter_get_int_element_ptr(
   5731         arg1: *mut ndb_filter_elements,
   5732         index: ::std::os::raw::c_int,
   5733     ) -> *mut u64;
   5734 }
   5735 extern "C" {
   5736     pub fn ndb_filter_current_element(arg1: *const ndb_filter) -> *mut ndb_filter_elements;
   5737 }
   5738 extern "C" {
   5739     pub fn ndb_filter_get_elements(
   5740         arg1: *const ndb_filter,
   5741         arg2: ::std::os::raw::c_int,
   5742     ) -> *mut ndb_filter_elements;
   5743 }
   5744 extern "C" {
   5745     pub fn ndb_filter_start_field(
   5746         arg1: *mut ndb_filter,
   5747         arg2: ndb_filter_fieldtype,
   5748     ) -> ::std::os::raw::c_int;
   5749 }
   5750 extern "C" {
   5751     pub fn ndb_filter_start_tag_field(
   5752         arg1: *mut ndb_filter,
   5753         tag: ::std::os::raw::c_char,
   5754     ) -> ::std::os::raw::c_int;
   5755 }
   5756 extern "C" {
   5757     pub fn ndb_filter_matches(arg1: *mut ndb_filter, arg2: *mut ndb_note) -> ::std::os::raw::c_int;
   5758 }
   5759 extern "C" {
   5760     pub fn ndb_filter_matches_with_relay(
   5761         arg1: *mut ndb_filter,
   5762         arg2: *mut ndb_note,
   5763         iter: *mut ndb_note_relay_iterator,
   5764     ) -> ::std::os::raw::c_int;
   5765 }
   5766 extern "C" {
   5767     pub fn ndb_filter_clone(dst: *mut ndb_filter, src: *mut ndb_filter) -> ::std::os::raw::c_int;
   5768 }
   5769 extern "C" {
   5770     pub fn ndb_filter_end(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
   5771 }
   5772 extern "C" {
   5773     pub fn ndb_filter_end_field(arg1: *mut ndb_filter);
   5774 }
   5775 extern "C" {
   5776     pub fn ndb_filter_destroy(arg1: *mut ndb_filter);
   5777 }
   5778 extern "C" {
   5779     pub fn ndb_filter_json(
   5780         arg1: *const ndb_filter,
   5781         buf: *mut ::std::os::raw::c_char,
   5782         buflen: ::std::os::raw::c_int,
   5783     ) -> ::std::os::raw::c_int;
   5784 }
   5785 extern "C" {
   5786     pub fn ndb_subscribe(
   5787         arg1: *mut ndb,
   5788         arg2: *mut ndb_filter,
   5789         num_filters: ::std::os::raw::c_int,
   5790     ) -> u64;
   5791 }
   5792 extern "C" {
   5793     pub fn ndb_wait_for_notes(
   5794         arg1: *mut ndb,
   5795         subid: u64,
   5796         note_ids: *mut u64,
   5797         note_id_capacity: ::std::os::raw::c_int,
   5798     ) -> ::std::os::raw::c_int;
   5799 }
   5800 extern "C" {
   5801     pub fn ndb_poll_for_notes(
   5802         arg1: *mut ndb,
   5803         subid: u64,
   5804         note_ids: *mut u64,
   5805         note_id_capacity: ::std::os::raw::c_int,
   5806     ) -> ::std::os::raw::c_int;
   5807 }
   5808 extern "C" {
   5809     pub fn ndb_unsubscribe(arg1: *mut ndb, subid: u64) -> ::std::os::raw::c_int;
   5810 }
   5811 extern "C" {
   5812     pub fn ndb_num_subscriptions(arg1: *mut ndb) -> ::std::os::raw::c_int;
   5813 }
   5814 extern "C" {
   5815     pub fn ndb_text_search(
   5816         txn: *mut ndb_txn,
   5817         query: *const ::std::os::raw::c_char,
   5818         arg1: *mut ndb_text_search_results,
   5819         arg2: *mut ndb_text_search_config,
   5820     ) -> ::std::os::raw::c_int;
   5821 }
   5822 extern "C" {
   5823     pub fn ndb_text_search_with(
   5824         txn: *mut ndb_txn,
   5825         query: *const ::std::os::raw::c_char,
   5826         arg1: *mut ndb_text_search_results,
   5827         arg2: *mut ndb_text_search_config,
   5828         filter: *mut ndb_filter,
   5829     ) -> ::std::os::raw::c_int;
   5830 }
   5831 extern "C" {
   5832     pub fn ndb_default_text_search_config(arg1: *mut ndb_text_search_config);
   5833 }
   5834 extern "C" {
   5835     pub fn ndb_text_search_config_set_order(
   5836         arg1: *mut ndb_text_search_config,
   5837         arg2: ndb_search_order,
   5838     );
   5839 }
   5840 extern "C" {
   5841     pub fn ndb_text_search_config_set_limit(
   5842         arg1: *mut ndb_text_search_config,
   5843         limit: ::std::os::raw::c_int,
   5844     );
   5845 }
   5846 extern "C" {
   5847     pub fn ndb_query(
   5848         txn: *mut ndb_txn,
   5849         filters: *mut ndb_filter,
   5850         num_filters: ::std::os::raw::c_int,
   5851         results: *mut ndb_query_result,
   5852         result_capacity: ::std::os::raw::c_int,
   5853         count: *mut ::std::os::raw::c_int,
   5854     ) -> ::std::os::raw::c_int;
   5855 }
   5856 extern "C" {
   5857     pub fn ndb_note_meta_builder_init(
   5858         builder: *mut ndb_note_meta_builder,
   5859         arg1: *mut ::std::os::raw::c_uchar,
   5860         arg2: usize,
   5861     ) -> ::std::os::raw::c_int;
   5862 }
   5863 extern "C" {
   5864     pub fn ndb_set_note_meta(
   5865         ndb: *mut ndb,
   5866         id: *const ::std::os::raw::c_uchar,
   5867         meta: *mut ndb_note_meta,
   5868     ) -> ::std::os::raw::c_int;
   5869 }
   5870 extern "C" {
   5871     pub fn ndb_note_meta_total_size(header: *mut ndb_note_meta) -> usize;
   5872 }
   5873 extern "C" {
   5874     pub fn ndb_get_note_meta(
   5875         txn: *mut ndb_txn,
   5876         id: *const ::std::os::raw::c_uchar,
   5877     ) -> *mut ndb_note_meta;
   5878 }
   5879 extern "C" {
   5880     pub fn ndb_note_meta_add_entry(builder: *mut ndb_note_meta_builder)
   5881         -> *mut ndb_note_meta_entry;
   5882 }
   5883 extern "C" {
   5884     pub fn ndb_note_meta_builder_find_entry(
   5885         builder: *mut ndb_note_meta_builder,
   5886         type_: u16,
   5887         payload: *mut u64,
   5888     ) -> *mut ndb_note_meta_entry;
   5889 }
   5890 extern "C" {
   5891     pub fn ndb_note_meta_entries(meta: *mut ndb_note_meta) -> *mut ndb_note_meta_entry;
   5892 }
   5893 extern "C" {
   5894     pub fn ndb_note_meta_entry_at(
   5895         meta: *mut ndb_note_meta,
   5896         ind: ::std::os::raw::c_int,
   5897     ) -> *mut ndb_note_meta_entry;
   5898 }
   5899 extern "C" {
   5900     pub fn ndb_note_meta_find_entry(
   5901         meta: *mut ndb_note_meta,
   5902         type_: u16,
   5903         payload: *mut u64,
   5904     ) -> *mut ndb_note_meta_entry;
   5905 }
   5906 extern "C" {
   5907     pub fn ndb_note_meta_counts_direct_replies(entry: *mut ndb_note_meta_entry) -> *mut u16;
   5908 }
   5909 extern "C" {
   5910     pub fn ndb_note_meta_counts_quotes(entry: *mut ndb_note_meta_entry) -> *mut u16;
   5911 }
   5912 extern "C" {
   5913     pub fn ndb_note_meta_counts_reposts(entry: *mut ndb_note_meta_entry) -> *mut u16;
   5914 }
   5915 extern "C" {
   5916     pub fn ndb_note_meta_entry_type(entry: *mut ndb_note_meta_entry) -> *mut u16;
   5917 }
   5918 extern "C" {
   5919     pub fn ndb_note_meta_entries_count(meta: *mut ndb_note_meta) -> u16;
   5920 }
   5921 extern "C" {
   5922     pub fn ndb_note_meta_counts_thread_replies(entry: *mut ndb_note_meta_entry) -> *mut u32;
   5923 }
   5924 extern "C" {
   5925     pub fn ndb_note_meta_counts_total_reactions(entry: *mut ndb_note_meta_entry) -> *mut u32;
   5926 }
   5927 extern "C" {
   5928     pub fn ndb_note_meta_reaction_count(entry: *mut ndb_note_meta_entry) -> *mut u32;
   5929 }
   5930 extern "C" {
   5931     pub fn ndb_note_meta_reaction_str(entry: *mut ndb_note_meta_entry) -> *mut ndb_reaction_str;
   5932 }
   5933 extern "C" {
   5934     pub fn ndb_note_meta_flags(meta: *mut ndb_note_meta) -> *mut u64;
   5935 }
   5936 extern "C" {
   5937     pub fn ndb_note_meta_build(builder: *mut ndb_note_meta_builder, meta: *mut *mut ndb_note_meta);
   5938 }
   5939 extern "C" {
   5940     pub fn ndb_note_meta_builder_resized(
   5941         builder: *mut ndb_note_meta_builder,
   5942         buf: *mut ::std::os::raw::c_uchar,
   5943         bufsize: usize,
   5944     );
   5945 }
   5946 extern "C" {
   5947     pub fn ndb_note_meta_counts_set(
   5948         entry: *mut ndb_note_meta_entry,
   5949         total_reactions: u32,
   5950         quotes: u16,
   5951         direct_replies: u16,
   5952         thread_replies: u32,
   5953         reposts: u16,
   5954     );
   5955 }
   5956 extern "C" {
   5957     pub fn ndb_note_meta_header_init(arg1: *mut ndb_note_meta);
   5958 }
   5959 extern "C" {
   5960     pub fn ndb_note_meta_reaction_set(
   5961         entry: *mut ndb_note_meta_entry,
   5962         count: u32,
   5963         str_: ndb_reaction_str,
   5964     );
   5965 }
   5966 extern "C" {
   5967     pub fn print_note_meta(meta: *mut ndb_note_meta);
   5968 }
   5969 extern "C" {
   5970     pub fn ndb_reaction_set(
   5971         reaction: *mut ndb_reaction_str,
   5972         str_: *const ::std::os::raw::c_char,
   5973     ) -> ::std::os::raw::c_int;
   5974 }
   5975 extern "C" {
   5976     pub fn ndb_reaction_str_is_emoji(arg1: ndb_reaction_str) -> ::std::os::raw::c_int;
   5977 }
   5978 extern "C" {
   5979     pub fn ndb_reaction_to_str(
   5980         str_: *mut ndb_reaction_str,
   5981         buf: *mut ::std::os::raw::c_char,
   5982     ) -> *const ::std::os::raw::c_char;
   5983 }
   5984 extern "C" {
   5985     pub fn ndb_stat(ndb: *mut ndb, stat: *mut ndb_stat) -> ::std::os::raw::c_int;
   5986 }
   5987 extern "C" {
   5988     pub fn ndb_stat_counts_init(counts: *mut ndb_stat_counts);
   5989 }
   5990 extern "C" {
   5991     pub fn ndb_note_content(note: *mut ndb_note) -> *const ::std::os::raw::c_char;
   5992 }
   5993 extern "C" {
   5994     pub fn ndb_note_str(note: *mut ndb_note, pstr: *mut ndb_packed_str) -> ndb_str;
   5995 }
   5996 extern "C" {
   5997     pub fn ndb_note_content_length(note: *mut ndb_note) -> u32;
   5998 }
   5999 extern "C" {
   6000     pub fn ndb_note_created_at(note: *mut ndb_note) -> u32;
   6001 }
   6002 extern "C" {
   6003     pub fn ndb_note_kind(note: *mut ndb_note) -> u32;
   6004 }
   6005 extern "C" {
   6006     pub fn ndb_note_id(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
   6007 }
   6008 extern "C" {
   6009     pub fn ndb_note_pubkey(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
   6010 }
   6011 extern "C" {
   6012     pub fn ndb_note_sig(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
   6013 }
   6014 extern "C" {
   6015     pub fn _ndb_note_set_kind(note: *mut ndb_note, kind: u32);
   6016 }
   6017 extern "C" {
   6018     pub fn ndb_note_tags(note: *mut ndb_note) -> *mut ndb_tags;
   6019 }
   6020 extern "C" {
   6021     pub fn ndb_str_len(str_: *mut ndb_str) -> ::std::os::raw::c_int;
   6022 }
   6023 extern "C" {
   6024     #[doc = " write the note as json to a buffer"]
   6025     pub fn ndb_note_json(
   6026         arg1: *mut ndb_note,
   6027         buf: *mut ::std::os::raw::c_char,
   6028         buflen: ::std::os::raw::c_int,
   6029     ) -> ::std::os::raw::c_int;
   6030 }
   6031 extern "C" {
   6032     pub fn ndb_tags_iterate_start(note: *mut ndb_note, iter: *mut ndb_iterator);
   6033 }
   6034 extern "C" {
   6035     pub fn ndb_tags_count(arg1: *mut ndb_tags) -> u16;
   6036 }
   6037 extern "C" {
   6038     pub fn ndb_tag_count(arg1: *mut ndb_tag) -> u16;
   6039 }
   6040 extern "C" {
   6041     pub fn ndb_tags_iterate_next(iter: *mut ndb_iterator) -> ::std::os::raw::c_int;
   6042 }
   6043 extern "C" {
   6044     pub fn ndb_iter_tag_str(iter: *mut ndb_iterator, ind: ::std::os::raw::c_int) -> ndb_str;
   6045 }
   6046 extern "C" {
   6047     pub fn ndb_tag_str(
   6048         note: *mut ndb_note,
   6049         tag: *mut ndb_tag,
   6050         ind: ::std::os::raw::c_int,
   6051     ) -> ndb_str;
   6052 }
   6053 extern "C" {
   6054     pub fn ndb_note_relay_iterate_start(
   6055         txn: *mut ndb_txn,
   6056         iter: *mut ndb_note_relay_iterator,
   6057         note_key: u64,
   6058     ) -> ::std::os::raw::c_int;
   6059 }
   6060 extern "C" {
   6061     pub fn ndb_note_relay_iterate_next(
   6062         iter: *mut ndb_note_relay_iterator,
   6063     ) -> *const ::std::os::raw::c_char;
   6064 }
   6065 extern "C" {
   6066     pub fn ndb_note_relay_iterate_close(iter: *mut ndb_note_relay_iterator);
   6067 }
   6068 extern "C" {
   6069     pub fn ndb_db_name(db: ndb_dbs) -> *const ::std::os::raw::c_char;
   6070 }
   6071 extern "C" {
   6072     pub fn ndb_kind_name(ck: ndb_common_kind) -> *const ::std::os::raw::c_char;
   6073 }
   6074 extern "C" {
   6075     pub fn ndb_kind_to_common_kind(kind: ::std::os::raw::c_int) -> ndb_common_kind;
   6076 }
   6077 extern "C" {
   6078     pub fn ndb_parse_content(
   6079         buf: *mut ::std::os::raw::c_uchar,
   6080         buf_size: ::std::os::raw::c_int,
   6081         content: *const ::std::os::raw::c_char,
   6082         content_len: ::std::os::raw::c_int,
   6083         blocks_p: *mut *mut ndb_blocks,
   6084     ) -> ::std::os::raw::c_int;
   6085 }
   6086 extern "C" {
   6087     pub fn ndb_get_block_type(block: *mut ndb_block) -> ndb_block_type;
   6088 }
   6089 extern "C" {
   6090     pub fn ndb_blocks_flags(block: *mut ndb_blocks) -> ::std::os::raw::c_int;
   6091 }
   6092 extern "C" {
   6093     pub fn ndb_blocks_total_size(blocks: *mut ndb_blocks) -> usize;
   6094 }
   6095 extern "C" {
   6096     pub fn ndb_blocks_word_count(blocks: *mut ndb_blocks) -> ::std::os::raw::c_int;
   6097 }
   6098 extern "C" {
   6099     #[doc = " Free blocks if they are owned, safe to call on unowned blocks as well."]
   6100     pub fn ndb_blocks_free(blocks: *mut ndb_blocks);
   6101 }
   6102 extern "C" {
   6103     pub fn ndb_get_blocks_by_key(
   6104         ndb: *mut ndb,
   6105         txn: *mut ndb_txn,
   6106         note_key: u64,
   6107     ) -> *mut ndb_blocks;
   6108 }
   6109 extern "C" {
   6110     pub fn ndb_blocks_iterate_start(
   6111         arg1: *const ::std::os::raw::c_char,
   6112         arg2: *mut ndb_blocks,
   6113         arg3: *mut ndb_block_iterator,
   6114     );
   6115 }
   6116 extern "C" {
   6117     pub fn ndb_blocks_iterate_next(arg1: *mut ndb_block_iterator) -> *mut ndb_block;
   6118 }
   6119 extern "C" {
   6120     pub fn ndb_block_str(arg1: *mut ndb_block) -> *mut ndb_str_block;
   6121 }
   6122 extern "C" {
   6123     pub fn ndb_str_block_ptr(arg1: *mut ndb_str_block) -> *const ::std::os::raw::c_char;
   6124 }
   6125 extern "C" {
   6126     pub fn ndb_str_block_len(arg1: *mut ndb_str_block) -> u32;
   6127 }
   6128 extern "C" {
   6129     pub fn ndb_bech32_block(block: *mut ndb_block) -> *mut nostr_bech32;
   6130 }
   6131 pub const ndb_meta_clone_result_NDB_META_CLONE_FAILED: ndb_meta_clone_result = 0;
   6132 pub const ndb_meta_clone_result_NDB_META_CLONE_EXISTING_ENTRY: ndb_meta_clone_result = 1;
   6133 pub const ndb_meta_clone_result_NDB_META_CLONE_NEW_ENTRY: ndb_meta_clone_result = 2;
   6134 pub type ndb_meta_clone_result = ::std::os::raw::c_int;
   6135 extern "C" {
   6136     pub fn ndb_note_meta_clone_with_entry(
   6137         meta: *mut *mut ndb_note_meta,
   6138         entry: *mut *mut ndb_note_meta_entry,
   6139         type_: u16,
   6140         payload: *mut u64,
   6141         buf: *mut ::std::os::raw::c_uchar,
   6142         bufsize: usize,
   6143     ) -> ndb_meta_clone_result;
   6144 }
   6145 #[repr(C, packed)]
   6146 #[derive(Copy, Clone)]
   6147 pub struct ndb_note_meta_entry {
   6148     pub type_: u16,
   6149     pub aux2: ndb_note_meta_entry__bindgen_ty_1,
   6150     pub aux: ndb_note_meta_entry__bindgen_ty_2,
   6151     pub payload: ndb_note_meta_entry__bindgen_ty_3,
   6152 }
   6153 #[repr(C, packed)]
   6154 #[derive(Copy, Clone)]
   6155 pub union ndb_note_meta_entry__bindgen_ty_1 {
   6156     pub flags: u16,
   6157     pub reposts: u16,
   6158 }
   6159 #[test]
   6160 fn bindgen_test_layout_ndb_note_meta_entry__bindgen_ty_1() {
   6161     const UNINIT: ::std::mem::MaybeUninit<ndb_note_meta_entry__bindgen_ty_1> =
   6162         ::std::mem::MaybeUninit::uninit();
   6163     let ptr = UNINIT.as_ptr();
   6164     assert_eq!(
   6165         ::std::mem::size_of::<ndb_note_meta_entry__bindgen_ty_1>(),
   6166         2usize,
   6167         concat!("Size of: ", stringify!(ndb_note_meta_entry__bindgen_ty_1))
   6168     );
   6169     assert_eq!(
   6170         ::std::mem::align_of::<ndb_note_meta_entry__bindgen_ty_1>(),
   6171         1usize,
   6172         concat!(
   6173             "Alignment of ",
   6174             stringify!(ndb_note_meta_entry__bindgen_ty_1)
   6175         )
   6176     );
   6177     assert_eq!(
   6178         unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
   6179         0usize,
   6180         concat!(
   6181             "Offset of field: ",
   6182             stringify!(ndb_note_meta_entry__bindgen_ty_1),
   6183             "::",
   6184             stringify!(flags)
   6185         )
   6186     );
   6187     assert_eq!(
   6188         unsafe { ::std::ptr::addr_of!((*ptr).reposts) as usize - ptr as usize },
   6189         0usize,
   6190         concat!(
   6191             "Offset of field: ",
   6192             stringify!(ndb_note_meta_entry__bindgen_ty_1),
   6193             "::",
   6194             stringify!(reposts)
   6195         )
   6196     );
   6197 }
   6198 #[repr(C, packed)]
   6199 #[derive(Copy, Clone)]
   6200 pub union ndb_note_meta_entry__bindgen_ty_2 {
   6201     pub value: u32,
   6202     pub total_reactions: u32,
   6203 }
   6204 #[test]
   6205 fn bindgen_test_layout_ndb_note_meta_entry__bindgen_ty_2() {
   6206     const UNINIT: ::std::mem::MaybeUninit<ndb_note_meta_entry__bindgen_ty_2> =
   6207         ::std::mem::MaybeUninit::uninit();
   6208     let ptr = UNINIT.as_ptr();
   6209     assert_eq!(
   6210         ::std::mem::size_of::<ndb_note_meta_entry__bindgen_ty_2>(),
   6211         4usize,
   6212         concat!("Size of: ", stringify!(ndb_note_meta_entry__bindgen_ty_2))
   6213     );
   6214     assert_eq!(
   6215         ::std::mem::align_of::<ndb_note_meta_entry__bindgen_ty_2>(),
   6216         1usize,
   6217         concat!(
   6218             "Alignment of ",
   6219             stringify!(ndb_note_meta_entry__bindgen_ty_2)
   6220         )
   6221     );
   6222     assert_eq!(
   6223         unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
   6224         0usize,
   6225         concat!(
   6226             "Offset of field: ",
   6227             stringify!(ndb_note_meta_entry__bindgen_ty_2),
   6228             "::",
   6229             stringify!(value)
   6230         )
   6231     );
   6232     assert_eq!(
   6233         unsafe { ::std::ptr::addr_of!((*ptr).total_reactions) as usize - ptr as usize },
   6234         0usize,
   6235         concat!(
   6236             "Offset of field: ",
   6237             stringify!(ndb_note_meta_entry__bindgen_ty_2),
   6238             "::",
   6239             stringify!(total_reactions)
   6240         )
   6241     );
   6242 }
   6243 #[repr(C, packed)]
   6244 #[derive(Copy, Clone)]
   6245 pub union ndb_note_meta_entry__bindgen_ty_3 {
   6246     pub value: u64,
   6247     pub offset: ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1,
   6248     pub counts: ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2,
   6249     pub reaction_str: ndb_reaction_str,
   6250 }
   6251 #[repr(C, packed)]
   6252 #[derive(Debug, Copy, Clone)]
   6253 pub struct ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1 {
   6254     pub offset: u32,
   6255     pub padding: u32,
   6256 }
   6257 #[test]
   6258 fn bindgen_test_layout_ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1() {
   6259     const UNINIT: ::std::mem::MaybeUninit<ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1> =
   6260         ::std::mem::MaybeUninit::uninit();
   6261     let ptr = UNINIT.as_ptr();
   6262     assert_eq!(
   6263         ::std::mem::size_of::<ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1>(),
   6264         8usize,
   6265         concat!(
   6266             "Size of: ",
   6267             stringify!(ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1)
   6268         )
   6269     );
   6270     assert_eq!(
   6271         ::std::mem::align_of::<ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1>(),
   6272         1usize,
   6273         concat!(
   6274             "Alignment of ",
   6275             stringify!(ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1)
   6276         )
   6277     );
   6278     assert_eq!(
   6279         unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
   6280         0usize,
   6281         concat!(
   6282             "Offset of field: ",
   6283             stringify!(ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1),
   6284             "::",
   6285             stringify!(offset)
   6286         )
   6287     );
   6288     assert_eq!(
   6289         unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
   6290         4usize,
   6291         concat!(
   6292             "Offset of field: ",
   6293             stringify!(ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_1),
   6294             "::",
   6295             stringify!(padding)
   6296         )
   6297     );
   6298 }
   6299 #[repr(C, packed)]
   6300 #[derive(Debug, Copy, Clone)]
   6301 pub struct ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2 {
   6302     pub direct_replies: u16,
   6303     pub quotes: u16,
   6304     pub thread_replies: u32,
   6305 }
   6306 #[test]
   6307 fn bindgen_test_layout_ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2() {
   6308     const UNINIT: ::std::mem::MaybeUninit<ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2> =
   6309         ::std::mem::MaybeUninit::uninit();
   6310     let ptr = UNINIT.as_ptr();
   6311     assert_eq!(
   6312         ::std::mem::size_of::<ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2>(),
   6313         8usize,
   6314         concat!(
   6315             "Size of: ",
   6316             stringify!(ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2)
   6317         )
   6318     );
   6319     assert_eq!(
   6320         ::std::mem::align_of::<ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2>(),
   6321         1usize,
   6322         concat!(
   6323             "Alignment of ",
   6324             stringify!(ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2)
   6325         )
   6326     );
   6327     assert_eq!(
   6328         unsafe { ::std::ptr::addr_of!((*ptr).direct_replies) as usize - ptr as usize },
   6329         0usize,
   6330         concat!(
   6331             "Offset of field: ",
   6332             stringify!(ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2),
   6333             "::",
   6334             stringify!(direct_replies)
   6335         )
   6336     );
   6337     assert_eq!(
   6338         unsafe { ::std::ptr::addr_of!((*ptr).quotes) as usize - ptr as usize },
   6339         2usize,
   6340         concat!(
   6341             "Offset of field: ",
   6342             stringify!(ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2),
   6343             "::",
   6344             stringify!(quotes)
   6345         )
   6346     );
   6347     assert_eq!(
   6348         unsafe { ::std::ptr::addr_of!((*ptr).thread_replies) as usize - ptr as usize },
   6349         4usize,
   6350         concat!(
   6351             "Offset of field: ",
   6352             stringify!(ndb_note_meta_entry__bindgen_ty_3__bindgen_ty_2),
   6353             "::",
   6354             stringify!(thread_replies)
   6355         )
   6356     );
   6357 }
   6358 #[test]
   6359 fn bindgen_test_layout_ndb_note_meta_entry__bindgen_ty_3() {
   6360     const UNINIT: ::std::mem::MaybeUninit<ndb_note_meta_entry__bindgen_ty_3> =
   6361         ::std::mem::MaybeUninit::uninit();
   6362     let ptr = UNINIT.as_ptr();
   6363     assert_eq!(
   6364         ::std::mem::size_of::<ndb_note_meta_entry__bindgen_ty_3>(),
   6365         8usize,
   6366         concat!("Size of: ", stringify!(ndb_note_meta_entry__bindgen_ty_3))
   6367     );
   6368     assert_eq!(
   6369         ::std::mem::align_of::<ndb_note_meta_entry__bindgen_ty_3>(),
   6370         1usize,
   6371         concat!(
   6372             "Alignment of ",
   6373             stringify!(ndb_note_meta_entry__bindgen_ty_3)
   6374         )
   6375     );
   6376     assert_eq!(
   6377         unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
   6378         0usize,
   6379         concat!(
   6380             "Offset of field: ",
   6381             stringify!(ndb_note_meta_entry__bindgen_ty_3),
   6382             "::",
   6383             stringify!(value)
   6384         )
   6385     );
   6386     assert_eq!(
   6387         unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
   6388         0usize,
   6389         concat!(
   6390             "Offset of field: ",
   6391             stringify!(ndb_note_meta_entry__bindgen_ty_3),
   6392             "::",
   6393             stringify!(offset)
   6394         )
   6395     );
   6396     assert_eq!(
   6397         unsafe { ::std::ptr::addr_of!((*ptr).counts) as usize - ptr as usize },
   6398         0usize,
   6399         concat!(
   6400             "Offset of field: ",
   6401             stringify!(ndb_note_meta_entry__bindgen_ty_3),
   6402             "::",
   6403             stringify!(counts)
   6404         )
   6405     );
   6406     assert_eq!(
   6407         unsafe { ::std::ptr::addr_of!((*ptr).reaction_str) as usize - ptr as usize },
   6408         0usize,
   6409         concat!(
   6410             "Offset of field: ",
   6411             stringify!(ndb_note_meta_entry__bindgen_ty_3),
   6412             "::",
   6413             stringify!(reaction_str)
   6414         )
   6415     );
   6416 }
   6417 #[test]
   6418 fn bindgen_test_layout_ndb_note_meta_entry() {
   6419     const UNINIT: ::std::mem::MaybeUninit<ndb_note_meta_entry> = ::std::mem::MaybeUninit::uninit();
   6420     let ptr = UNINIT.as_ptr();
   6421     assert_eq!(
   6422         ::std::mem::size_of::<ndb_note_meta_entry>(),
   6423         16usize,
   6424         concat!("Size of: ", stringify!(ndb_note_meta_entry))
   6425     );
   6426     assert_eq!(
   6427         ::std::mem::align_of::<ndb_note_meta_entry>(),
   6428         1usize,
   6429         concat!("Alignment of ", stringify!(ndb_note_meta_entry))
   6430     );
   6431     assert_eq!(
   6432         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   6433         0usize,
   6434         concat!(
   6435             "Offset of field: ",
   6436             stringify!(ndb_note_meta_entry),
   6437             "::",
   6438             stringify!(type_)
   6439         )
   6440     );
   6441     assert_eq!(
   6442         unsafe { ::std::ptr::addr_of!((*ptr).aux2) as usize - ptr as usize },
   6443         2usize,
   6444         concat!(
   6445             "Offset of field: ",
   6446             stringify!(ndb_note_meta_entry),
   6447             "::",
   6448             stringify!(aux2)
   6449         )
   6450     );
   6451     assert_eq!(
   6452         unsafe { ::std::ptr::addr_of!((*ptr).aux) as usize - ptr as usize },
   6453         4usize,
   6454         concat!(
   6455             "Offset of field: ",
   6456             stringify!(ndb_note_meta_entry),
   6457             "::",
   6458             stringify!(aux)
   6459         )
   6460     );
   6461     assert_eq!(
   6462         unsafe { ::std::ptr::addr_of!((*ptr).payload) as usize - ptr as usize },
   6463         8usize,
   6464         concat!(
   6465             "Offset of field: ",
   6466             stringify!(ndb_note_meta_entry),
   6467             "::",
   6468             stringify!(payload)
   6469         )
   6470     );
   6471 }
   6472 #[repr(C, packed)]
   6473 #[derive(Debug, Copy, Clone)]
   6474 pub struct ndb_note_meta {
   6475     pub version: u8,
   6476     pub padding: u8,
   6477     pub count: u16,
   6478     pub data_table_size: u32,
   6479     pub flags: u64,
   6480 }
   6481 #[test]
   6482 fn bindgen_test_layout_ndb_note_meta() {
   6483     const UNINIT: ::std::mem::MaybeUninit<ndb_note_meta> = ::std::mem::MaybeUninit::uninit();
   6484     let ptr = UNINIT.as_ptr();
   6485     assert_eq!(
   6486         ::std::mem::size_of::<ndb_note_meta>(),
   6487         16usize,
   6488         concat!("Size of: ", stringify!(ndb_note_meta))
   6489     );
   6490     assert_eq!(
   6491         ::std::mem::align_of::<ndb_note_meta>(),
   6492         1usize,
   6493         concat!("Alignment of ", stringify!(ndb_note_meta))
   6494     );
   6495     assert_eq!(
   6496         unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
   6497         0usize,
   6498         concat!(
   6499             "Offset of field: ",
   6500             stringify!(ndb_note_meta),
   6501             "::",
   6502             stringify!(version)
   6503         )
   6504     );
   6505     assert_eq!(
   6506         unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
   6507         1usize,
   6508         concat!(
   6509             "Offset of field: ",
   6510             stringify!(ndb_note_meta),
   6511             "::",
   6512             stringify!(padding)
   6513         )
   6514     );
   6515     assert_eq!(
   6516         unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
   6517         2usize,
   6518         concat!(
   6519             "Offset of field: ",
   6520             stringify!(ndb_note_meta),
   6521             "::",
   6522             stringify!(count)
   6523         )
   6524     );
   6525     assert_eq!(
   6526         unsafe { ::std::ptr::addr_of!((*ptr).data_table_size) as usize - ptr as usize },
   6527         4usize,
   6528         concat!(
   6529             "Offset of field: ",
   6530             stringify!(ndb_note_meta),
   6531             "::",
   6532             stringify!(data_table_size)
   6533         )
   6534     );
   6535     assert_eq!(
   6536         unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
   6537         8usize,
   6538         concat!(
   6539             "Offset of field: ",
   6540             stringify!(ndb_note_meta),
   6541             "::",
   6542             stringify!(flags)
   6543         )
   6544     );
   6545 }
   6546 #[repr(C)]
   6547 #[derive(Debug, Copy, Clone)]
   6548 pub struct __crt_locale_data {
   6549     pub _address: u8,
   6550 }
   6551 #[repr(C)]
   6552 #[derive(Debug, Copy, Clone)]
   6553 pub struct __crt_multibyte_data {
   6554     pub _address: u8,
   6555 }
   6556 pub type __builtin_va_list = *mut ::std::os::raw::c_char;