nostrdb-rs

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

bindings_win.rs (168004B)


      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 CCAN_COMPILER: &[u8; 3] = b"cc\0";
    221 pub const CCAN_CFLAGS : & [u8 ; 111] = b"-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition\0" ;
    222 pub const CCAN_OUTPUT_EXE_CFLAG: &[u8; 3] = b"-o\0";
    223 pub const HAVE_CCAN: u32 = 1;
    224 pub const HAVE_UNALIGNED_ACCESS: u32 = 1;
    225 pub const HAVE_TYPEOF: u32 = 1;
    226 pub const HAVE_BIG_ENDIAN: u32 = 0;
    227 pub const HAVE_BYTESWAP_H: u32 = 0;
    228 pub const HAVE_BSWAP_64: u32 = 0;
    229 pub const HAVE_LITTLE_ENDIAN: u32 = 1;
    230 pub const __bool_true_false_are_defined: u32 = 1;
    231 pub const false_: u32 = 0;
    232 pub const true_: 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 = 7;
    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 #[repr(C)]
   2505 #[derive(Debug, Copy, Clone)]
   2506 pub struct ndb_tag_ptr {
   2507     pub ptr: *mut ndb_tag,
   2508 }
   2509 #[test]
   2510 fn bindgen_test_layout_ndb_tag_ptr() {
   2511     const UNINIT: ::std::mem::MaybeUninit<ndb_tag_ptr> = ::std::mem::MaybeUninit::uninit();
   2512     let ptr = UNINIT.as_ptr();
   2513     assert_eq!(
   2514         ::std::mem::size_of::<ndb_tag_ptr>(),
   2515         8usize,
   2516         concat!("Size of: ", stringify!(ndb_tag_ptr))
   2517     );
   2518     assert_eq!(
   2519         ::std::mem::align_of::<ndb_tag_ptr>(),
   2520         8usize,
   2521         concat!("Alignment of ", stringify!(ndb_tag_ptr))
   2522     );
   2523     assert_eq!(
   2524         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2525         0usize,
   2526         concat!(
   2527             "Offset of field: ",
   2528             stringify!(ndb_tag_ptr),
   2529             "::",
   2530             stringify!(ptr)
   2531         )
   2532     );
   2533 }
   2534 #[repr(C)]
   2535 #[derive(Debug, Copy, Clone)]
   2536 pub struct ndb_tags_ptr {
   2537     pub ptr: *mut ndb_tags,
   2538 }
   2539 #[test]
   2540 fn bindgen_test_layout_ndb_tags_ptr() {
   2541     const UNINIT: ::std::mem::MaybeUninit<ndb_tags_ptr> = ::std::mem::MaybeUninit::uninit();
   2542     let ptr = UNINIT.as_ptr();
   2543     assert_eq!(
   2544         ::std::mem::size_of::<ndb_tags_ptr>(),
   2545         8usize,
   2546         concat!("Size of: ", stringify!(ndb_tags_ptr))
   2547     );
   2548     assert_eq!(
   2549         ::std::mem::align_of::<ndb_tags_ptr>(),
   2550         8usize,
   2551         concat!("Alignment of ", stringify!(ndb_tags_ptr))
   2552     );
   2553     assert_eq!(
   2554         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2555         0usize,
   2556         concat!(
   2557             "Offset of field: ",
   2558             stringify!(ndb_tags_ptr),
   2559             "::",
   2560             stringify!(ptr)
   2561         )
   2562     );
   2563 }
   2564 #[repr(C)]
   2565 #[derive(Debug, Copy, Clone)]
   2566 pub struct ndb_block_ptr {
   2567     pub ptr: *mut ndb_block,
   2568 }
   2569 #[test]
   2570 fn bindgen_test_layout_ndb_block_ptr() {
   2571     const UNINIT: ::std::mem::MaybeUninit<ndb_block_ptr> = ::std::mem::MaybeUninit::uninit();
   2572     let ptr = UNINIT.as_ptr();
   2573     assert_eq!(
   2574         ::std::mem::size_of::<ndb_block_ptr>(),
   2575         8usize,
   2576         concat!("Size of: ", stringify!(ndb_block_ptr))
   2577     );
   2578     assert_eq!(
   2579         ::std::mem::align_of::<ndb_block_ptr>(),
   2580         8usize,
   2581         concat!("Alignment of ", stringify!(ndb_block_ptr))
   2582     );
   2583     assert_eq!(
   2584         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2585         0usize,
   2586         concat!(
   2587             "Offset of field: ",
   2588             stringify!(ndb_block_ptr),
   2589             "::",
   2590             stringify!(ptr)
   2591         )
   2592     );
   2593 }
   2594 #[repr(C)]
   2595 #[derive(Debug, Copy, Clone)]
   2596 pub struct ndb_blocks_ptr {
   2597     pub ptr: *mut ndb_blocks,
   2598 }
   2599 #[test]
   2600 fn bindgen_test_layout_ndb_blocks_ptr() {
   2601     const UNINIT: ::std::mem::MaybeUninit<ndb_blocks_ptr> = ::std::mem::MaybeUninit::uninit();
   2602     let ptr = UNINIT.as_ptr();
   2603     assert_eq!(
   2604         ::std::mem::size_of::<ndb_blocks_ptr>(),
   2605         8usize,
   2606         concat!("Size of: ", stringify!(ndb_blocks_ptr))
   2607     );
   2608     assert_eq!(
   2609         ::std::mem::align_of::<ndb_blocks_ptr>(),
   2610         8usize,
   2611         concat!("Alignment of ", stringify!(ndb_blocks_ptr))
   2612     );
   2613     assert_eq!(
   2614         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2615         0usize,
   2616         concat!(
   2617             "Offset of field: ",
   2618             stringify!(ndb_blocks_ptr),
   2619             "::",
   2620             stringify!(ptr)
   2621         )
   2622     );
   2623 }
   2624 #[repr(C)]
   2625 #[derive(Debug, Copy, Clone)]
   2626 pub struct ndb_note_ptr {
   2627     pub ptr: *mut ndb_note,
   2628 }
   2629 #[test]
   2630 fn bindgen_test_layout_ndb_note_ptr() {
   2631     const UNINIT: ::std::mem::MaybeUninit<ndb_note_ptr> = ::std::mem::MaybeUninit::uninit();
   2632     let ptr = UNINIT.as_ptr();
   2633     assert_eq!(
   2634         ::std::mem::size_of::<ndb_note_ptr>(),
   2635         8usize,
   2636         concat!("Size of: ", stringify!(ndb_note_ptr))
   2637     );
   2638     assert_eq!(
   2639         ::std::mem::align_of::<ndb_note_ptr>(),
   2640         8usize,
   2641         concat!("Alignment of ", stringify!(ndb_note_ptr))
   2642     );
   2643     assert_eq!(
   2644         unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
   2645         0usize,
   2646         concat!(
   2647             "Offset of field: ",
   2648             stringify!(ndb_note_ptr),
   2649             "::",
   2650             stringify!(ptr)
   2651         )
   2652     );
   2653 }
   2654 #[repr(C)]
   2655 #[derive(Debug, Copy, Clone)]
   2656 pub struct ndb_t {
   2657     pub ndb: *mut ndb,
   2658 }
   2659 #[test]
   2660 fn bindgen_test_layout_ndb_t() {
   2661     const UNINIT: ::std::mem::MaybeUninit<ndb_t> = ::std::mem::MaybeUninit::uninit();
   2662     let ptr = UNINIT.as_ptr();
   2663     assert_eq!(
   2664         ::std::mem::size_of::<ndb_t>(),
   2665         8usize,
   2666         concat!("Size of: ", stringify!(ndb_t))
   2667     );
   2668     assert_eq!(
   2669         ::std::mem::align_of::<ndb_t>(),
   2670         8usize,
   2671         concat!("Alignment of ", stringify!(ndb_t))
   2672     );
   2673     assert_eq!(
   2674         unsafe { ::std::ptr::addr_of!((*ptr).ndb) as usize - ptr as usize },
   2675         0usize,
   2676         concat!(
   2677             "Offset of field: ",
   2678             stringify!(ndb_t),
   2679             "::",
   2680             stringify!(ndb)
   2681         )
   2682     );
   2683 }
   2684 #[repr(C)]
   2685 #[derive(Copy, Clone)]
   2686 pub struct ndb_str {
   2687     pub flag: ::std::os::raw::c_uchar,
   2688     pub __bindgen_anon_1: ndb_str__bindgen_ty_1,
   2689 }
   2690 #[repr(C)]
   2691 #[derive(Copy, Clone)]
   2692 pub union ndb_str__bindgen_ty_1 {
   2693     pub str_: *const ::std::os::raw::c_char,
   2694     pub id: *mut ::std::os::raw::c_uchar,
   2695 }
   2696 #[test]
   2697 fn bindgen_test_layout_ndb_str__bindgen_ty_1() {
   2698     const UNINIT: ::std::mem::MaybeUninit<ndb_str__bindgen_ty_1> =
   2699         ::std::mem::MaybeUninit::uninit();
   2700     let ptr = UNINIT.as_ptr();
   2701     assert_eq!(
   2702         ::std::mem::size_of::<ndb_str__bindgen_ty_1>(),
   2703         8usize,
   2704         concat!("Size of: ", stringify!(ndb_str__bindgen_ty_1))
   2705     );
   2706     assert_eq!(
   2707         ::std::mem::align_of::<ndb_str__bindgen_ty_1>(),
   2708         8usize,
   2709         concat!("Alignment of ", stringify!(ndb_str__bindgen_ty_1))
   2710     );
   2711     assert_eq!(
   2712         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   2713         0usize,
   2714         concat!(
   2715             "Offset of field: ",
   2716             stringify!(ndb_str__bindgen_ty_1),
   2717             "::",
   2718             stringify!(str_)
   2719         )
   2720     );
   2721     assert_eq!(
   2722         unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
   2723         0usize,
   2724         concat!(
   2725             "Offset of field: ",
   2726             stringify!(ndb_str__bindgen_ty_1),
   2727             "::",
   2728             stringify!(id)
   2729         )
   2730     );
   2731 }
   2732 #[test]
   2733 fn bindgen_test_layout_ndb_str() {
   2734     const UNINIT: ::std::mem::MaybeUninit<ndb_str> = ::std::mem::MaybeUninit::uninit();
   2735     let ptr = UNINIT.as_ptr();
   2736     assert_eq!(
   2737         ::std::mem::size_of::<ndb_str>(),
   2738         16usize,
   2739         concat!("Size of: ", stringify!(ndb_str))
   2740     );
   2741     assert_eq!(
   2742         ::std::mem::align_of::<ndb_str>(),
   2743         8usize,
   2744         concat!("Alignment of ", stringify!(ndb_str))
   2745     );
   2746     assert_eq!(
   2747         unsafe { ::std::ptr::addr_of!((*ptr).flag) as usize - ptr as usize },
   2748         0usize,
   2749         concat!(
   2750             "Offset of field: ",
   2751             stringify!(ndb_str),
   2752             "::",
   2753             stringify!(flag)
   2754         )
   2755     );
   2756 }
   2757 #[repr(C)]
   2758 #[derive(Debug, Copy, Clone)]
   2759 pub struct ndb_ingest_meta {
   2760     pub client: ::std::os::raw::c_uint,
   2761     pub relay: *const ::std::os::raw::c_char,
   2762 }
   2763 #[test]
   2764 fn bindgen_test_layout_ndb_ingest_meta() {
   2765     const UNINIT: ::std::mem::MaybeUninit<ndb_ingest_meta> = ::std::mem::MaybeUninit::uninit();
   2766     let ptr = UNINIT.as_ptr();
   2767     assert_eq!(
   2768         ::std::mem::size_of::<ndb_ingest_meta>(),
   2769         16usize,
   2770         concat!("Size of: ", stringify!(ndb_ingest_meta))
   2771     );
   2772     assert_eq!(
   2773         ::std::mem::align_of::<ndb_ingest_meta>(),
   2774         8usize,
   2775         concat!("Alignment of ", stringify!(ndb_ingest_meta))
   2776     );
   2777     assert_eq!(
   2778         unsafe { ::std::ptr::addr_of!((*ptr).client) as usize - ptr as usize },
   2779         0usize,
   2780         concat!(
   2781             "Offset of field: ",
   2782             stringify!(ndb_ingest_meta),
   2783             "::",
   2784             stringify!(client)
   2785         )
   2786     );
   2787     assert_eq!(
   2788         unsafe { ::std::ptr::addr_of!((*ptr).relay) as usize - ptr as usize },
   2789         8usize,
   2790         concat!(
   2791             "Offset of field: ",
   2792             stringify!(ndb_ingest_meta),
   2793             "::",
   2794             stringify!(relay)
   2795         )
   2796     );
   2797 }
   2798 #[repr(C)]
   2799 #[derive(Debug, Copy, Clone)]
   2800 pub struct ndb_keypair {
   2801     pub pubkey: [::std::os::raw::c_uchar; 32usize],
   2802     pub secret: [::std::os::raw::c_uchar; 32usize],
   2803     pub pair: [::std::os::raw::c_uchar; 96usize],
   2804 }
   2805 #[test]
   2806 fn bindgen_test_layout_ndb_keypair() {
   2807     const UNINIT: ::std::mem::MaybeUninit<ndb_keypair> = ::std::mem::MaybeUninit::uninit();
   2808     let ptr = UNINIT.as_ptr();
   2809     assert_eq!(
   2810         ::std::mem::size_of::<ndb_keypair>(),
   2811         160usize,
   2812         concat!("Size of: ", stringify!(ndb_keypair))
   2813     );
   2814     assert_eq!(
   2815         ::std::mem::align_of::<ndb_keypair>(),
   2816         1usize,
   2817         concat!("Alignment of ", stringify!(ndb_keypair))
   2818     );
   2819     assert_eq!(
   2820         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   2821         0usize,
   2822         concat!(
   2823             "Offset of field: ",
   2824             stringify!(ndb_keypair),
   2825             "::",
   2826             stringify!(pubkey)
   2827         )
   2828     );
   2829     assert_eq!(
   2830         unsafe { ::std::ptr::addr_of!((*ptr).secret) as usize - ptr as usize },
   2831         32usize,
   2832         concat!(
   2833             "Offset of field: ",
   2834             stringify!(ndb_keypair),
   2835             "::",
   2836             stringify!(secret)
   2837         )
   2838     );
   2839     assert_eq!(
   2840         unsafe { ::std::ptr::addr_of!((*ptr).pair) as usize - ptr as usize },
   2841         64usize,
   2842         concat!(
   2843             "Offset of field: ",
   2844             stringify!(ndb_keypair),
   2845             "::",
   2846             stringify!(pair)
   2847         )
   2848     );
   2849 }
   2850 pub type ndb_idres = ::std::os::raw::c_int;
   2851 pub type ndb_id_fn = ::std::option::Option<
   2852     unsafe extern "C" fn(
   2853         arg1: *mut ::std::os::raw::c_void,
   2854         arg2: *const ::std::os::raw::c_char,
   2855     ) -> ndb_idres,
   2856 >;
   2857 pub type ndb_sub_fn =
   2858     ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, subid: u64)>;
   2859 #[repr(C)]
   2860 #[derive(Debug, Copy, Clone)]
   2861 pub struct ndb_id_cb {
   2862     pub fn_: ndb_id_fn,
   2863     pub data: *mut ::std::os::raw::c_void,
   2864 }
   2865 #[test]
   2866 fn bindgen_test_layout_ndb_id_cb() {
   2867     const UNINIT: ::std::mem::MaybeUninit<ndb_id_cb> = ::std::mem::MaybeUninit::uninit();
   2868     let ptr = UNINIT.as_ptr();
   2869     assert_eq!(
   2870         ::std::mem::size_of::<ndb_id_cb>(),
   2871         16usize,
   2872         concat!("Size of: ", stringify!(ndb_id_cb))
   2873     );
   2874     assert_eq!(
   2875         ::std::mem::align_of::<ndb_id_cb>(),
   2876         8usize,
   2877         concat!("Alignment of ", stringify!(ndb_id_cb))
   2878     );
   2879     assert_eq!(
   2880         unsafe { ::std::ptr::addr_of!((*ptr).fn_) as usize - ptr as usize },
   2881         0usize,
   2882         concat!(
   2883             "Offset of field: ",
   2884             stringify!(ndb_id_cb),
   2885             "::",
   2886             stringify!(fn_)
   2887         )
   2888     );
   2889     assert_eq!(
   2890         unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
   2891         8usize,
   2892         concat!(
   2893             "Offset of field: ",
   2894             stringify!(ndb_id_cb),
   2895             "::",
   2896             stringify!(data)
   2897         )
   2898     );
   2899 }
   2900 #[repr(C)]
   2901 #[derive(Debug, Copy, Clone)]
   2902 pub struct ndb_txn {
   2903     pub lmdb: *mut ndb_lmdb,
   2904     pub mdb_txn: *mut ::std::os::raw::c_void,
   2905 }
   2906 #[test]
   2907 fn bindgen_test_layout_ndb_txn() {
   2908     const UNINIT: ::std::mem::MaybeUninit<ndb_txn> = ::std::mem::MaybeUninit::uninit();
   2909     let ptr = UNINIT.as_ptr();
   2910     assert_eq!(
   2911         ::std::mem::size_of::<ndb_txn>(),
   2912         16usize,
   2913         concat!("Size of: ", stringify!(ndb_txn))
   2914     );
   2915     assert_eq!(
   2916         ::std::mem::align_of::<ndb_txn>(),
   2917         8usize,
   2918         concat!("Alignment of ", stringify!(ndb_txn))
   2919     );
   2920     assert_eq!(
   2921         unsafe { ::std::ptr::addr_of!((*ptr).lmdb) as usize - ptr as usize },
   2922         0usize,
   2923         concat!(
   2924             "Offset of field: ",
   2925             stringify!(ndb_txn),
   2926             "::",
   2927             stringify!(lmdb)
   2928         )
   2929     );
   2930     assert_eq!(
   2931         unsafe { ::std::ptr::addr_of!((*ptr).mdb_txn) as usize - ptr as usize },
   2932         8usize,
   2933         concat!(
   2934             "Offset of field: ",
   2935             stringify!(ndb_txn),
   2936             "::",
   2937             stringify!(mdb_txn)
   2938         )
   2939     );
   2940 }
   2941 #[repr(C)]
   2942 #[derive(Debug, Copy, Clone)]
   2943 pub struct ndb_event {
   2944     pub note: *mut ndb_note,
   2945 }
   2946 #[test]
   2947 fn bindgen_test_layout_ndb_event() {
   2948     const UNINIT: ::std::mem::MaybeUninit<ndb_event> = ::std::mem::MaybeUninit::uninit();
   2949     let ptr = UNINIT.as_ptr();
   2950     assert_eq!(
   2951         ::std::mem::size_of::<ndb_event>(),
   2952         8usize,
   2953         concat!("Size of: ", stringify!(ndb_event))
   2954     );
   2955     assert_eq!(
   2956         ::std::mem::align_of::<ndb_event>(),
   2957         8usize,
   2958         concat!("Alignment of ", stringify!(ndb_event))
   2959     );
   2960     assert_eq!(
   2961         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   2962         0usize,
   2963         concat!(
   2964             "Offset of field: ",
   2965             stringify!(ndb_event),
   2966             "::",
   2967             stringify!(note)
   2968         )
   2969     );
   2970 }
   2971 #[repr(C)]
   2972 #[derive(Debug, Copy, Clone)]
   2973 pub struct ndb_command_result {
   2974     pub ok: ::std::os::raw::c_int,
   2975     pub msg: *const ::std::os::raw::c_char,
   2976     pub msglen: ::std::os::raw::c_int,
   2977 }
   2978 #[test]
   2979 fn bindgen_test_layout_ndb_command_result() {
   2980     const UNINIT: ::std::mem::MaybeUninit<ndb_command_result> = ::std::mem::MaybeUninit::uninit();
   2981     let ptr = UNINIT.as_ptr();
   2982     assert_eq!(
   2983         ::std::mem::size_of::<ndb_command_result>(),
   2984         24usize,
   2985         concat!("Size of: ", stringify!(ndb_command_result))
   2986     );
   2987     assert_eq!(
   2988         ::std::mem::align_of::<ndb_command_result>(),
   2989         8usize,
   2990         concat!("Alignment of ", stringify!(ndb_command_result))
   2991     );
   2992     assert_eq!(
   2993         unsafe { ::std::ptr::addr_of!((*ptr).ok) as usize - ptr as usize },
   2994         0usize,
   2995         concat!(
   2996             "Offset of field: ",
   2997             stringify!(ndb_command_result),
   2998             "::",
   2999             stringify!(ok)
   3000         )
   3001     );
   3002     assert_eq!(
   3003         unsafe { ::std::ptr::addr_of!((*ptr).msg) as usize - ptr as usize },
   3004         8usize,
   3005         concat!(
   3006             "Offset of field: ",
   3007             stringify!(ndb_command_result),
   3008             "::",
   3009             stringify!(msg)
   3010         )
   3011     );
   3012     assert_eq!(
   3013         unsafe { ::std::ptr::addr_of!((*ptr).msglen) as usize - ptr as usize },
   3014         16usize,
   3015         concat!(
   3016             "Offset of field: ",
   3017             stringify!(ndb_command_result),
   3018             "::",
   3019             stringify!(msglen)
   3020         )
   3021     );
   3022 }
   3023 pub const fce_type_NDB_FCE_EVENT: fce_type = 1;
   3024 pub type fce_type = ::std::os::raw::c_int;
   3025 pub const tce_type_NDB_TCE_EVENT: tce_type = 1;
   3026 pub const tce_type_NDB_TCE_OK: tce_type = 2;
   3027 pub const tce_type_NDB_TCE_NOTICE: tce_type = 3;
   3028 pub const tce_type_NDB_TCE_EOSE: tce_type = 4;
   3029 pub const tce_type_NDB_TCE_AUTH: tce_type = 5;
   3030 pub type tce_type = ::std::os::raw::c_int;
   3031 pub const ndb_ingest_filter_action_NDB_INGEST_REJECT: ndb_ingest_filter_action = 0;
   3032 pub const ndb_ingest_filter_action_NDB_INGEST_ACCEPT: ndb_ingest_filter_action = 1;
   3033 pub const ndb_ingest_filter_action_NDB_INGEST_SKIP_VALIDATION: ndb_ingest_filter_action = 2;
   3034 pub type ndb_ingest_filter_action = ::std::os::raw::c_int;
   3035 #[repr(C)]
   3036 #[derive(Debug, Copy, Clone)]
   3037 pub struct ndb_search_key {
   3038     pub search: [::std::os::raw::c_char; 24usize],
   3039     pub id: [::std::os::raw::c_uchar; 32usize],
   3040     pub timestamp: u64,
   3041 }
   3042 #[test]
   3043 fn bindgen_test_layout_ndb_search_key() {
   3044     const UNINIT: ::std::mem::MaybeUninit<ndb_search_key> = ::std::mem::MaybeUninit::uninit();
   3045     let ptr = UNINIT.as_ptr();
   3046     assert_eq!(
   3047         ::std::mem::size_of::<ndb_search_key>(),
   3048         64usize,
   3049         concat!("Size of: ", stringify!(ndb_search_key))
   3050     );
   3051     assert_eq!(
   3052         ::std::mem::align_of::<ndb_search_key>(),
   3053         8usize,
   3054         concat!("Alignment of ", stringify!(ndb_search_key))
   3055     );
   3056     assert_eq!(
   3057         unsafe { ::std::ptr::addr_of!((*ptr).search) as usize - ptr as usize },
   3058         0usize,
   3059         concat!(
   3060             "Offset of field: ",
   3061             stringify!(ndb_search_key),
   3062             "::",
   3063             stringify!(search)
   3064         )
   3065     );
   3066     assert_eq!(
   3067         unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
   3068         24usize,
   3069         concat!(
   3070             "Offset of field: ",
   3071             stringify!(ndb_search_key),
   3072             "::",
   3073             stringify!(id)
   3074         )
   3075     );
   3076     assert_eq!(
   3077         unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
   3078         56usize,
   3079         concat!(
   3080             "Offset of field: ",
   3081             stringify!(ndb_search_key),
   3082             "::",
   3083             stringify!(timestamp)
   3084         )
   3085     );
   3086 }
   3087 #[repr(C)]
   3088 #[derive(Debug, Copy, Clone)]
   3089 pub struct ndb_search {
   3090     pub key: *mut ndb_search_key,
   3091     pub profile_key: u64,
   3092     pub cursor: *mut ::std::os::raw::c_void,
   3093 }
   3094 #[test]
   3095 fn bindgen_test_layout_ndb_search() {
   3096     const UNINIT: ::std::mem::MaybeUninit<ndb_search> = ::std::mem::MaybeUninit::uninit();
   3097     let ptr = UNINIT.as_ptr();
   3098     assert_eq!(
   3099         ::std::mem::size_of::<ndb_search>(),
   3100         24usize,
   3101         concat!("Size of: ", stringify!(ndb_search))
   3102     );
   3103     assert_eq!(
   3104         ::std::mem::align_of::<ndb_search>(),
   3105         8usize,
   3106         concat!("Alignment of ", stringify!(ndb_search))
   3107     );
   3108     assert_eq!(
   3109         unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
   3110         0usize,
   3111         concat!(
   3112             "Offset of field: ",
   3113             stringify!(ndb_search),
   3114             "::",
   3115             stringify!(key)
   3116         )
   3117     );
   3118     assert_eq!(
   3119         unsafe { ::std::ptr::addr_of!((*ptr).profile_key) as usize - ptr as usize },
   3120         8usize,
   3121         concat!(
   3122             "Offset of field: ",
   3123             stringify!(ndb_search),
   3124             "::",
   3125             stringify!(profile_key)
   3126         )
   3127     );
   3128     assert_eq!(
   3129         unsafe { ::std::ptr::addr_of!((*ptr).cursor) as usize - ptr as usize },
   3130         16usize,
   3131         concat!(
   3132             "Offset of field: ",
   3133             stringify!(ndb_search),
   3134             "::",
   3135             stringify!(cursor)
   3136         )
   3137     );
   3138 }
   3139 #[repr(C)]
   3140 #[derive(Copy, Clone)]
   3141 pub struct ndb_fce {
   3142     pub evtype: fce_type,
   3143     pub __bindgen_anon_1: ndb_fce__bindgen_ty_1,
   3144 }
   3145 #[repr(C)]
   3146 #[derive(Copy, Clone)]
   3147 pub union ndb_fce__bindgen_ty_1 {
   3148     pub event: ndb_event,
   3149 }
   3150 #[test]
   3151 fn bindgen_test_layout_ndb_fce__bindgen_ty_1() {
   3152     const UNINIT: ::std::mem::MaybeUninit<ndb_fce__bindgen_ty_1> =
   3153         ::std::mem::MaybeUninit::uninit();
   3154     let ptr = UNINIT.as_ptr();
   3155     assert_eq!(
   3156         ::std::mem::size_of::<ndb_fce__bindgen_ty_1>(),
   3157         8usize,
   3158         concat!("Size of: ", stringify!(ndb_fce__bindgen_ty_1))
   3159     );
   3160     assert_eq!(
   3161         ::std::mem::align_of::<ndb_fce__bindgen_ty_1>(),
   3162         8usize,
   3163         concat!("Alignment of ", stringify!(ndb_fce__bindgen_ty_1))
   3164     );
   3165     assert_eq!(
   3166         unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
   3167         0usize,
   3168         concat!(
   3169             "Offset of field: ",
   3170             stringify!(ndb_fce__bindgen_ty_1),
   3171             "::",
   3172             stringify!(event)
   3173         )
   3174     );
   3175 }
   3176 #[test]
   3177 fn bindgen_test_layout_ndb_fce() {
   3178     const UNINIT: ::std::mem::MaybeUninit<ndb_fce> = ::std::mem::MaybeUninit::uninit();
   3179     let ptr = UNINIT.as_ptr();
   3180     assert_eq!(
   3181         ::std::mem::size_of::<ndb_fce>(),
   3182         16usize,
   3183         concat!("Size of: ", stringify!(ndb_fce))
   3184     );
   3185     assert_eq!(
   3186         ::std::mem::align_of::<ndb_fce>(),
   3187         8usize,
   3188         concat!("Alignment of ", stringify!(ndb_fce))
   3189     );
   3190     assert_eq!(
   3191         unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
   3192         0usize,
   3193         concat!(
   3194             "Offset of field: ",
   3195             stringify!(ndb_fce),
   3196             "::",
   3197             stringify!(evtype)
   3198         )
   3199     );
   3200 }
   3201 #[repr(C)]
   3202 #[derive(Copy, Clone)]
   3203 pub struct ndb_tce {
   3204     pub evtype: tce_type,
   3205     pub subid: *const ::std::os::raw::c_char,
   3206     pub subid_len: ::std::os::raw::c_int,
   3207     pub __bindgen_anon_1: ndb_tce__bindgen_ty_1,
   3208 }
   3209 #[repr(C)]
   3210 #[derive(Copy, Clone)]
   3211 pub union ndb_tce__bindgen_ty_1 {
   3212     pub event: ndb_event,
   3213     pub command_result: ndb_command_result,
   3214 }
   3215 #[test]
   3216 fn bindgen_test_layout_ndb_tce__bindgen_ty_1() {
   3217     const UNINIT: ::std::mem::MaybeUninit<ndb_tce__bindgen_ty_1> =
   3218         ::std::mem::MaybeUninit::uninit();
   3219     let ptr = UNINIT.as_ptr();
   3220     assert_eq!(
   3221         ::std::mem::size_of::<ndb_tce__bindgen_ty_1>(),
   3222         24usize,
   3223         concat!("Size of: ", stringify!(ndb_tce__bindgen_ty_1))
   3224     );
   3225     assert_eq!(
   3226         ::std::mem::align_of::<ndb_tce__bindgen_ty_1>(),
   3227         8usize,
   3228         concat!("Alignment of ", stringify!(ndb_tce__bindgen_ty_1))
   3229     );
   3230     assert_eq!(
   3231         unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
   3232         0usize,
   3233         concat!(
   3234             "Offset of field: ",
   3235             stringify!(ndb_tce__bindgen_ty_1),
   3236             "::",
   3237             stringify!(event)
   3238         )
   3239     );
   3240     assert_eq!(
   3241         unsafe { ::std::ptr::addr_of!((*ptr).command_result) as usize - ptr as usize },
   3242         0usize,
   3243         concat!(
   3244             "Offset of field: ",
   3245             stringify!(ndb_tce__bindgen_ty_1),
   3246             "::",
   3247             stringify!(command_result)
   3248         )
   3249     );
   3250 }
   3251 #[test]
   3252 fn bindgen_test_layout_ndb_tce() {
   3253     const UNINIT: ::std::mem::MaybeUninit<ndb_tce> = ::std::mem::MaybeUninit::uninit();
   3254     let ptr = UNINIT.as_ptr();
   3255     assert_eq!(
   3256         ::std::mem::size_of::<ndb_tce>(),
   3257         48usize,
   3258         concat!("Size of: ", stringify!(ndb_tce))
   3259     );
   3260     assert_eq!(
   3261         ::std::mem::align_of::<ndb_tce>(),
   3262         8usize,
   3263         concat!("Alignment of ", stringify!(ndb_tce))
   3264     );
   3265     assert_eq!(
   3266         unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
   3267         0usize,
   3268         concat!(
   3269             "Offset of field: ",
   3270             stringify!(ndb_tce),
   3271             "::",
   3272             stringify!(evtype)
   3273         )
   3274     );
   3275     assert_eq!(
   3276         unsafe { ::std::ptr::addr_of!((*ptr).subid) as usize - ptr as usize },
   3277         8usize,
   3278         concat!(
   3279             "Offset of field: ",
   3280             stringify!(ndb_tce),
   3281             "::",
   3282             stringify!(subid)
   3283         )
   3284     );
   3285     assert_eq!(
   3286         unsafe { ::std::ptr::addr_of!((*ptr).subid_len) as usize - ptr as usize },
   3287         16usize,
   3288         concat!(
   3289             "Offset of field: ",
   3290             stringify!(ndb_tce),
   3291             "::",
   3292             stringify!(subid_len)
   3293         )
   3294     );
   3295 }
   3296 pub type ndb_ingest_filter_fn = ::std::option::Option<
   3297     unsafe extern "C" fn(
   3298         arg1: *mut ::std::os::raw::c_void,
   3299         arg2: *mut ndb_note,
   3300     ) -> ndb_ingest_filter_action,
   3301 >;
   3302 pub const ndb_filter_fieldtype_NDB_FILTER_IDS: ndb_filter_fieldtype = 1;
   3303 pub const ndb_filter_fieldtype_NDB_FILTER_AUTHORS: ndb_filter_fieldtype = 2;
   3304 pub const ndb_filter_fieldtype_NDB_FILTER_KINDS: ndb_filter_fieldtype = 3;
   3305 pub const ndb_filter_fieldtype_NDB_FILTER_TAGS: ndb_filter_fieldtype = 4;
   3306 pub const ndb_filter_fieldtype_NDB_FILTER_SINCE: ndb_filter_fieldtype = 5;
   3307 pub const ndb_filter_fieldtype_NDB_FILTER_UNTIL: ndb_filter_fieldtype = 6;
   3308 pub const ndb_filter_fieldtype_NDB_FILTER_LIMIT: ndb_filter_fieldtype = 7;
   3309 pub const ndb_filter_fieldtype_NDB_FILTER_SEARCH: ndb_filter_fieldtype = 8;
   3310 pub type ndb_filter_fieldtype = ::std::os::raw::c_int;
   3311 pub const ndb_generic_element_type_NDB_ELEMENT_UNKNOWN: ndb_generic_element_type = 0;
   3312 pub const ndb_generic_element_type_NDB_ELEMENT_STRING: ndb_generic_element_type = 1;
   3313 pub const ndb_generic_element_type_NDB_ELEMENT_ID: ndb_generic_element_type = 2;
   3314 pub const ndb_generic_element_type_NDB_ELEMENT_INT: ndb_generic_element_type = 3;
   3315 pub type ndb_generic_element_type = ::std::os::raw::c_int;
   3316 pub const ndb_search_order_NDB_ORDER_DESCENDING: ndb_search_order = 0;
   3317 pub const ndb_search_order_NDB_ORDER_ASCENDING: ndb_search_order = 1;
   3318 pub type ndb_search_order = ::std::os::raw::c_int;
   3319 pub const ndb_dbs_NDB_DB_NOTE: ndb_dbs = 0;
   3320 pub const ndb_dbs_NDB_DB_META: ndb_dbs = 1;
   3321 pub const ndb_dbs_NDB_DB_PROFILE: ndb_dbs = 2;
   3322 pub const ndb_dbs_NDB_DB_NOTE_ID: ndb_dbs = 3;
   3323 pub const ndb_dbs_NDB_DB_PROFILE_PK: ndb_dbs = 4;
   3324 pub const ndb_dbs_NDB_DB_NDB_META: ndb_dbs = 5;
   3325 pub const ndb_dbs_NDB_DB_PROFILE_SEARCH: ndb_dbs = 6;
   3326 pub const ndb_dbs_NDB_DB_PROFILE_LAST_FETCH: ndb_dbs = 7;
   3327 pub const ndb_dbs_NDB_DB_NOTE_KIND: ndb_dbs = 8;
   3328 pub const ndb_dbs_NDB_DB_NOTE_TEXT: ndb_dbs = 9;
   3329 pub const ndb_dbs_NDB_DB_NOTE_BLOCKS: ndb_dbs = 10;
   3330 pub const ndb_dbs_NDB_DB_NOTE_TAGS: ndb_dbs = 11;
   3331 pub const ndb_dbs_NDB_DB_NOTE_PUBKEY: ndb_dbs = 12;
   3332 pub const ndb_dbs_NDB_DB_NOTE_PUBKEY_KIND: ndb_dbs = 13;
   3333 pub const ndb_dbs_NDB_DB_NOTE_RELAY_KIND: ndb_dbs = 14;
   3334 pub const ndb_dbs_NDB_DB_NOTE_RELAYS: ndb_dbs = 15;
   3335 pub const ndb_dbs_NDB_DBS: ndb_dbs = 16;
   3336 pub type ndb_dbs = ::std::os::raw::c_int;
   3337 pub const ndb_common_kind_NDB_CKIND_PROFILE: ndb_common_kind = 0;
   3338 pub const ndb_common_kind_NDB_CKIND_TEXT: ndb_common_kind = 1;
   3339 pub const ndb_common_kind_NDB_CKIND_CONTACTS: ndb_common_kind = 2;
   3340 pub const ndb_common_kind_NDB_CKIND_DM: ndb_common_kind = 3;
   3341 pub const ndb_common_kind_NDB_CKIND_DELETE: ndb_common_kind = 4;
   3342 pub const ndb_common_kind_NDB_CKIND_REPOST: ndb_common_kind = 5;
   3343 pub const ndb_common_kind_NDB_CKIND_REACTION: ndb_common_kind = 6;
   3344 pub const ndb_common_kind_NDB_CKIND_ZAP: ndb_common_kind = 7;
   3345 pub const ndb_common_kind_NDB_CKIND_ZAP_REQUEST: ndb_common_kind = 8;
   3346 pub const ndb_common_kind_NDB_CKIND_NWC_REQUEST: ndb_common_kind = 9;
   3347 pub const ndb_common_kind_NDB_CKIND_NWC_RESPONSE: ndb_common_kind = 10;
   3348 pub const ndb_common_kind_NDB_CKIND_HTTP_AUTH: ndb_common_kind = 11;
   3349 pub const ndb_common_kind_NDB_CKIND_LIST: ndb_common_kind = 12;
   3350 pub const ndb_common_kind_NDB_CKIND_LONGFORM: ndb_common_kind = 13;
   3351 pub const ndb_common_kind_NDB_CKIND_STATUS: ndb_common_kind = 14;
   3352 pub const ndb_common_kind_NDB_CKIND_COUNT: ndb_common_kind = 15;
   3353 pub type ndb_common_kind = ::std::os::raw::c_int;
   3354 #[repr(C)]
   3355 #[derive(Debug, Copy, Clone)]
   3356 pub struct ndb_builder {
   3357     pub mem: cursor,
   3358     pub note_cur: cursor,
   3359     pub strings: cursor,
   3360     pub str_indices: cursor,
   3361     pub note: *mut ndb_note,
   3362     pub current_tag: *mut ndb_tag,
   3363 }
   3364 #[test]
   3365 fn bindgen_test_layout_ndb_builder() {
   3366     const UNINIT: ::std::mem::MaybeUninit<ndb_builder> = ::std::mem::MaybeUninit::uninit();
   3367     let ptr = UNINIT.as_ptr();
   3368     assert_eq!(
   3369         ::std::mem::size_of::<ndb_builder>(),
   3370         112usize,
   3371         concat!("Size of: ", stringify!(ndb_builder))
   3372     );
   3373     assert_eq!(
   3374         ::std::mem::align_of::<ndb_builder>(),
   3375         8usize,
   3376         concat!("Alignment of ", stringify!(ndb_builder))
   3377     );
   3378     assert_eq!(
   3379         unsafe { ::std::ptr::addr_of!((*ptr).mem) as usize - ptr as usize },
   3380         0usize,
   3381         concat!(
   3382             "Offset of field: ",
   3383             stringify!(ndb_builder),
   3384             "::",
   3385             stringify!(mem)
   3386         )
   3387     );
   3388     assert_eq!(
   3389         unsafe { ::std::ptr::addr_of!((*ptr).note_cur) as usize - ptr as usize },
   3390         24usize,
   3391         concat!(
   3392             "Offset of field: ",
   3393             stringify!(ndb_builder),
   3394             "::",
   3395             stringify!(note_cur)
   3396         )
   3397     );
   3398     assert_eq!(
   3399         unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
   3400         48usize,
   3401         concat!(
   3402             "Offset of field: ",
   3403             stringify!(ndb_builder),
   3404             "::",
   3405             stringify!(strings)
   3406         )
   3407     );
   3408     assert_eq!(
   3409         unsafe { ::std::ptr::addr_of!((*ptr).str_indices) as usize - ptr as usize },
   3410         72usize,
   3411         concat!(
   3412             "Offset of field: ",
   3413             stringify!(ndb_builder),
   3414             "::",
   3415             stringify!(str_indices)
   3416         )
   3417     );
   3418     assert_eq!(
   3419         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   3420         96usize,
   3421         concat!(
   3422             "Offset of field: ",
   3423             stringify!(ndb_builder),
   3424             "::",
   3425             stringify!(note)
   3426         )
   3427     );
   3428     assert_eq!(
   3429         unsafe { ::std::ptr::addr_of!((*ptr).current_tag) as usize - ptr as usize },
   3430         104usize,
   3431         concat!(
   3432             "Offset of field: ",
   3433             stringify!(ndb_builder),
   3434             "::",
   3435             stringify!(current_tag)
   3436         )
   3437     );
   3438 }
   3439 #[repr(C)]
   3440 #[derive(Debug, Copy, Clone)]
   3441 pub struct ndb_note_relay_iterator {
   3442     pub txn: *mut ndb_txn,
   3443     pub note_key: u64,
   3444     pub cursor_op: ::std::os::raw::c_int,
   3445     pub mdb_cur: *mut ::std::os::raw::c_void,
   3446 }
   3447 #[test]
   3448 fn bindgen_test_layout_ndb_note_relay_iterator() {
   3449     const UNINIT: ::std::mem::MaybeUninit<ndb_note_relay_iterator> =
   3450         ::std::mem::MaybeUninit::uninit();
   3451     let ptr = UNINIT.as_ptr();
   3452     assert_eq!(
   3453         ::std::mem::size_of::<ndb_note_relay_iterator>(),
   3454         32usize,
   3455         concat!("Size of: ", stringify!(ndb_note_relay_iterator))
   3456     );
   3457     assert_eq!(
   3458         ::std::mem::align_of::<ndb_note_relay_iterator>(),
   3459         8usize,
   3460         concat!("Alignment of ", stringify!(ndb_note_relay_iterator))
   3461     );
   3462     assert_eq!(
   3463         unsafe { ::std::ptr::addr_of!((*ptr).txn) as usize - ptr as usize },
   3464         0usize,
   3465         concat!(
   3466             "Offset of field: ",
   3467             stringify!(ndb_note_relay_iterator),
   3468             "::",
   3469             stringify!(txn)
   3470         )
   3471     );
   3472     assert_eq!(
   3473         unsafe { ::std::ptr::addr_of!((*ptr).note_key) as usize - ptr as usize },
   3474         8usize,
   3475         concat!(
   3476             "Offset of field: ",
   3477             stringify!(ndb_note_relay_iterator),
   3478             "::",
   3479             stringify!(note_key)
   3480         )
   3481     );
   3482     assert_eq!(
   3483         unsafe { ::std::ptr::addr_of!((*ptr).cursor_op) as usize - ptr as usize },
   3484         16usize,
   3485         concat!(
   3486             "Offset of field: ",
   3487             stringify!(ndb_note_relay_iterator),
   3488             "::",
   3489             stringify!(cursor_op)
   3490         )
   3491     );
   3492     assert_eq!(
   3493         unsafe { ::std::ptr::addr_of!((*ptr).mdb_cur) as usize - ptr as usize },
   3494         24usize,
   3495         concat!(
   3496             "Offset of field: ",
   3497             stringify!(ndb_note_relay_iterator),
   3498             "::",
   3499             stringify!(mdb_cur)
   3500         )
   3501     );
   3502 }
   3503 #[repr(C)]
   3504 #[derive(Debug, Copy, Clone)]
   3505 pub struct ndb_iterator {
   3506     pub note: *mut ndb_note,
   3507     pub tag: *mut ndb_tag,
   3508     pub index: ::std::os::raw::c_int,
   3509 }
   3510 #[test]
   3511 fn bindgen_test_layout_ndb_iterator() {
   3512     const UNINIT: ::std::mem::MaybeUninit<ndb_iterator> = ::std::mem::MaybeUninit::uninit();
   3513     let ptr = UNINIT.as_ptr();
   3514     assert_eq!(
   3515         ::std::mem::size_of::<ndb_iterator>(),
   3516         24usize,
   3517         concat!("Size of: ", stringify!(ndb_iterator))
   3518     );
   3519     assert_eq!(
   3520         ::std::mem::align_of::<ndb_iterator>(),
   3521         8usize,
   3522         concat!("Alignment of ", stringify!(ndb_iterator))
   3523     );
   3524     assert_eq!(
   3525         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   3526         0usize,
   3527         concat!(
   3528             "Offset of field: ",
   3529             stringify!(ndb_iterator),
   3530             "::",
   3531             stringify!(note)
   3532         )
   3533     );
   3534     assert_eq!(
   3535         unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
   3536         8usize,
   3537         concat!(
   3538             "Offset of field: ",
   3539             stringify!(ndb_iterator),
   3540             "::",
   3541             stringify!(tag)
   3542         )
   3543     );
   3544     assert_eq!(
   3545         unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
   3546         16usize,
   3547         concat!(
   3548             "Offset of field: ",
   3549             stringify!(ndb_iterator),
   3550             "::",
   3551             stringify!(index)
   3552         )
   3553     );
   3554 }
   3555 #[repr(C)]
   3556 #[derive(Debug, Copy, Clone)]
   3557 pub struct ndb_filter_string {
   3558     pub string: *const ::std::os::raw::c_char,
   3559     pub len: ::std::os::raw::c_int,
   3560 }
   3561 #[test]
   3562 fn bindgen_test_layout_ndb_filter_string() {
   3563     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_string> = ::std::mem::MaybeUninit::uninit();
   3564     let ptr = UNINIT.as_ptr();
   3565     assert_eq!(
   3566         ::std::mem::size_of::<ndb_filter_string>(),
   3567         16usize,
   3568         concat!("Size of: ", stringify!(ndb_filter_string))
   3569     );
   3570     assert_eq!(
   3571         ::std::mem::align_of::<ndb_filter_string>(),
   3572         8usize,
   3573         concat!("Alignment of ", stringify!(ndb_filter_string))
   3574     );
   3575     assert_eq!(
   3576         unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
   3577         0usize,
   3578         concat!(
   3579             "Offset of field: ",
   3580             stringify!(ndb_filter_string),
   3581             "::",
   3582             stringify!(string)
   3583         )
   3584     );
   3585     assert_eq!(
   3586         unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
   3587         8usize,
   3588         concat!(
   3589             "Offset of field: ",
   3590             stringify!(ndb_filter_string),
   3591             "::",
   3592             stringify!(len)
   3593         )
   3594     );
   3595 }
   3596 #[repr(C)]
   3597 #[derive(Copy, Clone)]
   3598 pub union ndb_filter_element {
   3599     pub string: ndb_filter_string,
   3600     pub id: *const ::std::os::raw::c_uchar,
   3601     pub integer: u64,
   3602 }
   3603 #[test]
   3604 fn bindgen_test_layout_ndb_filter_element() {
   3605     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_element> = ::std::mem::MaybeUninit::uninit();
   3606     let ptr = UNINIT.as_ptr();
   3607     assert_eq!(
   3608         ::std::mem::size_of::<ndb_filter_element>(),
   3609         16usize,
   3610         concat!("Size of: ", stringify!(ndb_filter_element))
   3611     );
   3612     assert_eq!(
   3613         ::std::mem::align_of::<ndb_filter_element>(),
   3614         8usize,
   3615         concat!("Alignment of ", stringify!(ndb_filter_element))
   3616     );
   3617     assert_eq!(
   3618         unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
   3619         0usize,
   3620         concat!(
   3621             "Offset of field: ",
   3622             stringify!(ndb_filter_element),
   3623             "::",
   3624             stringify!(string)
   3625         )
   3626     );
   3627     assert_eq!(
   3628         unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
   3629         0usize,
   3630         concat!(
   3631             "Offset of field: ",
   3632             stringify!(ndb_filter_element),
   3633             "::",
   3634             stringify!(id)
   3635         )
   3636     );
   3637     assert_eq!(
   3638         unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
   3639         0usize,
   3640         concat!(
   3641             "Offset of field: ",
   3642             stringify!(ndb_filter_element),
   3643             "::",
   3644             stringify!(integer)
   3645         )
   3646     );
   3647 }
   3648 #[repr(C)]
   3649 #[derive(Debug, Copy, Clone)]
   3650 pub struct ndb_filter_field {
   3651     pub type_: ndb_filter_fieldtype,
   3652     pub elem_type: ndb_generic_element_type,
   3653     pub tag: ::std::os::raw::c_char,
   3654 }
   3655 #[test]
   3656 fn bindgen_test_layout_ndb_filter_field() {
   3657     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_field> = ::std::mem::MaybeUninit::uninit();
   3658     let ptr = UNINIT.as_ptr();
   3659     assert_eq!(
   3660         ::std::mem::size_of::<ndb_filter_field>(),
   3661         12usize,
   3662         concat!("Size of: ", stringify!(ndb_filter_field))
   3663     );
   3664     assert_eq!(
   3665         ::std::mem::align_of::<ndb_filter_field>(),
   3666         4usize,
   3667         concat!("Alignment of ", stringify!(ndb_filter_field))
   3668     );
   3669     assert_eq!(
   3670         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   3671         0usize,
   3672         concat!(
   3673             "Offset of field: ",
   3674             stringify!(ndb_filter_field),
   3675             "::",
   3676             stringify!(type_)
   3677         )
   3678     );
   3679     assert_eq!(
   3680         unsafe { ::std::ptr::addr_of!((*ptr).elem_type) as usize - ptr as usize },
   3681         4usize,
   3682         concat!(
   3683             "Offset of field: ",
   3684             stringify!(ndb_filter_field),
   3685             "::",
   3686             stringify!(elem_type)
   3687         )
   3688     );
   3689     assert_eq!(
   3690         unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
   3691         8usize,
   3692         concat!(
   3693             "Offset of field: ",
   3694             stringify!(ndb_filter_field),
   3695             "::",
   3696             stringify!(tag)
   3697         )
   3698     );
   3699 }
   3700 #[repr(C)]
   3701 #[derive(Debug)]
   3702 pub struct ndb_filter_elements {
   3703     pub field: ndb_filter_field,
   3704     pub count: ::std::os::raw::c_int,
   3705     pub elements: __IncompleteArrayField<u64>,
   3706 }
   3707 #[test]
   3708 fn bindgen_test_layout_ndb_filter_elements() {
   3709     const UNINIT: ::std::mem::MaybeUninit<ndb_filter_elements> = ::std::mem::MaybeUninit::uninit();
   3710     let ptr = UNINIT.as_ptr();
   3711     assert_eq!(
   3712         ::std::mem::size_of::<ndb_filter_elements>(),
   3713         16usize,
   3714         concat!("Size of: ", stringify!(ndb_filter_elements))
   3715     );
   3716     assert_eq!(
   3717         ::std::mem::align_of::<ndb_filter_elements>(),
   3718         8usize,
   3719         concat!("Alignment of ", stringify!(ndb_filter_elements))
   3720     );
   3721     assert_eq!(
   3722         unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
   3723         0usize,
   3724         concat!(
   3725             "Offset of field: ",
   3726             stringify!(ndb_filter_elements),
   3727             "::",
   3728             stringify!(field)
   3729         )
   3730     );
   3731     assert_eq!(
   3732         unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
   3733         12usize,
   3734         concat!(
   3735             "Offset of field: ",
   3736             stringify!(ndb_filter_elements),
   3737             "::",
   3738             stringify!(count)
   3739         )
   3740     );
   3741     assert_eq!(
   3742         unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
   3743         16usize,
   3744         concat!(
   3745             "Offset of field: ",
   3746             stringify!(ndb_filter_elements),
   3747             "::",
   3748             stringify!(elements)
   3749         )
   3750     );
   3751 }
   3752 #[repr(C)]
   3753 #[derive(Debug, Copy, Clone)]
   3754 pub struct ndb_filter {
   3755     pub elem_buf: cursor,
   3756     pub data_buf: cursor,
   3757     pub num_elements: ::std::os::raw::c_int,
   3758     pub finalized: ::std::os::raw::c_int,
   3759     pub current: ::std::os::raw::c_int,
   3760     pub elements: [::std::os::raw::c_int; 7usize],
   3761 }
   3762 #[test]
   3763 fn bindgen_test_layout_ndb_filter() {
   3764     const UNINIT: ::std::mem::MaybeUninit<ndb_filter> = ::std::mem::MaybeUninit::uninit();
   3765     let ptr = UNINIT.as_ptr();
   3766     assert_eq!(
   3767         ::std::mem::size_of::<ndb_filter>(),
   3768         88usize,
   3769         concat!("Size of: ", stringify!(ndb_filter))
   3770     );
   3771     assert_eq!(
   3772         ::std::mem::align_of::<ndb_filter>(),
   3773         8usize,
   3774         concat!("Alignment of ", stringify!(ndb_filter))
   3775     );
   3776     assert_eq!(
   3777         unsafe { ::std::ptr::addr_of!((*ptr).elem_buf) as usize - ptr as usize },
   3778         0usize,
   3779         concat!(
   3780             "Offset of field: ",
   3781             stringify!(ndb_filter),
   3782             "::",
   3783             stringify!(elem_buf)
   3784         )
   3785     );
   3786     assert_eq!(
   3787         unsafe { ::std::ptr::addr_of!((*ptr).data_buf) as usize - ptr as usize },
   3788         24usize,
   3789         concat!(
   3790             "Offset of field: ",
   3791             stringify!(ndb_filter),
   3792             "::",
   3793             stringify!(data_buf)
   3794         )
   3795     );
   3796     assert_eq!(
   3797         unsafe { ::std::ptr::addr_of!((*ptr).num_elements) as usize - ptr as usize },
   3798         48usize,
   3799         concat!(
   3800             "Offset of field: ",
   3801             stringify!(ndb_filter),
   3802             "::",
   3803             stringify!(num_elements)
   3804         )
   3805     );
   3806     assert_eq!(
   3807         unsafe { ::std::ptr::addr_of!((*ptr).finalized) as usize - ptr as usize },
   3808         52usize,
   3809         concat!(
   3810             "Offset of field: ",
   3811             stringify!(ndb_filter),
   3812             "::",
   3813             stringify!(finalized)
   3814         )
   3815     );
   3816     assert_eq!(
   3817         unsafe { ::std::ptr::addr_of!((*ptr).current) as usize - ptr as usize },
   3818         56usize,
   3819         concat!(
   3820             "Offset of field: ",
   3821             stringify!(ndb_filter),
   3822             "::",
   3823             stringify!(current)
   3824         )
   3825     );
   3826     assert_eq!(
   3827         unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
   3828         60usize,
   3829         concat!(
   3830             "Offset of field: ",
   3831             stringify!(ndb_filter),
   3832             "::",
   3833             stringify!(elements)
   3834         )
   3835     );
   3836 }
   3837 #[repr(C)]
   3838 #[derive(Debug, Copy, Clone)]
   3839 pub struct ndb_config {
   3840     pub flags: ::std::os::raw::c_int,
   3841     pub ingester_threads: ::std::os::raw::c_int,
   3842     pub writer_scratch_buffer_size: ::std::os::raw::c_int,
   3843     pub mapsize: usize,
   3844     pub filter_context: *mut ::std::os::raw::c_void,
   3845     pub ingest_filter: ndb_ingest_filter_fn,
   3846     pub sub_cb_ctx: *mut ::std::os::raw::c_void,
   3847     pub sub_cb: ndb_sub_fn,
   3848 }
   3849 #[test]
   3850 fn bindgen_test_layout_ndb_config() {
   3851     const UNINIT: ::std::mem::MaybeUninit<ndb_config> = ::std::mem::MaybeUninit::uninit();
   3852     let ptr = UNINIT.as_ptr();
   3853     assert_eq!(
   3854         ::std::mem::size_of::<ndb_config>(),
   3855         56usize,
   3856         concat!("Size of: ", stringify!(ndb_config))
   3857     );
   3858     assert_eq!(
   3859         ::std::mem::align_of::<ndb_config>(),
   3860         8usize,
   3861         concat!("Alignment of ", stringify!(ndb_config))
   3862     );
   3863     assert_eq!(
   3864         unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
   3865         0usize,
   3866         concat!(
   3867             "Offset of field: ",
   3868             stringify!(ndb_config),
   3869             "::",
   3870             stringify!(flags)
   3871         )
   3872     );
   3873     assert_eq!(
   3874         unsafe { ::std::ptr::addr_of!((*ptr).ingester_threads) as usize - ptr as usize },
   3875         4usize,
   3876         concat!(
   3877             "Offset of field: ",
   3878             stringify!(ndb_config),
   3879             "::",
   3880             stringify!(ingester_threads)
   3881         )
   3882     );
   3883     assert_eq!(
   3884         unsafe { ::std::ptr::addr_of!((*ptr).writer_scratch_buffer_size) as usize - ptr as usize },
   3885         8usize,
   3886         concat!(
   3887             "Offset of field: ",
   3888             stringify!(ndb_config),
   3889             "::",
   3890             stringify!(writer_scratch_buffer_size)
   3891         )
   3892     );
   3893     assert_eq!(
   3894         unsafe { ::std::ptr::addr_of!((*ptr).mapsize) as usize - ptr as usize },
   3895         16usize,
   3896         concat!(
   3897             "Offset of field: ",
   3898             stringify!(ndb_config),
   3899             "::",
   3900             stringify!(mapsize)
   3901         )
   3902     );
   3903     assert_eq!(
   3904         unsafe { ::std::ptr::addr_of!((*ptr).filter_context) as usize - ptr as usize },
   3905         24usize,
   3906         concat!(
   3907             "Offset of field: ",
   3908             stringify!(ndb_config),
   3909             "::",
   3910             stringify!(filter_context)
   3911         )
   3912     );
   3913     assert_eq!(
   3914         unsafe { ::std::ptr::addr_of!((*ptr).ingest_filter) as usize - ptr as usize },
   3915         32usize,
   3916         concat!(
   3917             "Offset of field: ",
   3918             stringify!(ndb_config),
   3919             "::",
   3920             stringify!(ingest_filter)
   3921         )
   3922     );
   3923     assert_eq!(
   3924         unsafe { ::std::ptr::addr_of!((*ptr).sub_cb_ctx) as usize - ptr as usize },
   3925         40usize,
   3926         concat!(
   3927             "Offset of field: ",
   3928             stringify!(ndb_config),
   3929             "::",
   3930             stringify!(sub_cb_ctx)
   3931         )
   3932     );
   3933     assert_eq!(
   3934         unsafe { ::std::ptr::addr_of!((*ptr).sub_cb) as usize - ptr as usize },
   3935         48usize,
   3936         concat!(
   3937             "Offset of field: ",
   3938             stringify!(ndb_config),
   3939             "::",
   3940             stringify!(sub_cb)
   3941         )
   3942     );
   3943 }
   3944 #[repr(C)]
   3945 #[derive(Debug, Copy, Clone)]
   3946 pub struct ndb_text_search_config {
   3947     pub order: ndb_search_order,
   3948     pub limit: ::std::os::raw::c_int,
   3949 }
   3950 #[test]
   3951 fn bindgen_test_layout_ndb_text_search_config() {
   3952     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_config> =
   3953         ::std::mem::MaybeUninit::uninit();
   3954     let ptr = UNINIT.as_ptr();
   3955     assert_eq!(
   3956         ::std::mem::size_of::<ndb_text_search_config>(),
   3957         8usize,
   3958         concat!("Size of: ", stringify!(ndb_text_search_config))
   3959     );
   3960     assert_eq!(
   3961         ::std::mem::align_of::<ndb_text_search_config>(),
   3962         4usize,
   3963         concat!("Alignment of ", stringify!(ndb_text_search_config))
   3964     );
   3965     assert_eq!(
   3966         unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
   3967         0usize,
   3968         concat!(
   3969             "Offset of field: ",
   3970             stringify!(ndb_text_search_config),
   3971             "::",
   3972             stringify!(order)
   3973         )
   3974     );
   3975     assert_eq!(
   3976         unsafe { ::std::ptr::addr_of!((*ptr).limit) as usize - ptr as usize },
   3977         4usize,
   3978         concat!(
   3979             "Offset of field: ",
   3980             stringify!(ndb_text_search_config),
   3981             "::",
   3982             stringify!(limit)
   3983         )
   3984     );
   3985 }
   3986 #[repr(C)]
   3987 #[derive(Debug, Copy, Clone)]
   3988 pub struct ndb_stat_counts {
   3989     pub key_size: usize,
   3990     pub value_size: usize,
   3991     pub count: usize,
   3992 }
   3993 #[test]
   3994 fn bindgen_test_layout_ndb_stat_counts() {
   3995     const UNINIT: ::std::mem::MaybeUninit<ndb_stat_counts> = ::std::mem::MaybeUninit::uninit();
   3996     let ptr = UNINIT.as_ptr();
   3997     assert_eq!(
   3998         ::std::mem::size_of::<ndb_stat_counts>(),
   3999         24usize,
   4000         concat!("Size of: ", stringify!(ndb_stat_counts))
   4001     );
   4002     assert_eq!(
   4003         ::std::mem::align_of::<ndb_stat_counts>(),
   4004         8usize,
   4005         concat!("Alignment of ", stringify!(ndb_stat_counts))
   4006     );
   4007     assert_eq!(
   4008         unsafe { ::std::ptr::addr_of!((*ptr).key_size) as usize - ptr as usize },
   4009         0usize,
   4010         concat!(
   4011             "Offset of field: ",
   4012             stringify!(ndb_stat_counts),
   4013             "::",
   4014             stringify!(key_size)
   4015         )
   4016     );
   4017     assert_eq!(
   4018         unsafe { ::std::ptr::addr_of!((*ptr).value_size) as usize - ptr as usize },
   4019         8usize,
   4020         concat!(
   4021             "Offset of field: ",
   4022             stringify!(ndb_stat_counts),
   4023             "::",
   4024             stringify!(value_size)
   4025         )
   4026     );
   4027     assert_eq!(
   4028         unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
   4029         16usize,
   4030         concat!(
   4031             "Offset of field: ",
   4032             stringify!(ndb_stat_counts),
   4033             "::",
   4034             stringify!(count)
   4035         )
   4036     );
   4037 }
   4038 #[repr(C)]
   4039 #[derive(Debug, Copy, Clone)]
   4040 pub struct ndb_stat {
   4041     pub dbs: [ndb_stat_counts; 16usize],
   4042     pub common_kinds: [ndb_stat_counts; 15usize],
   4043     pub other_kinds: ndb_stat_counts,
   4044 }
   4045 #[test]
   4046 fn bindgen_test_layout_ndb_stat() {
   4047     const UNINIT: ::std::mem::MaybeUninit<ndb_stat> = ::std::mem::MaybeUninit::uninit();
   4048     let ptr = UNINIT.as_ptr();
   4049     assert_eq!(
   4050         ::std::mem::size_of::<ndb_stat>(),
   4051         768usize,
   4052         concat!("Size of: ", stringify!(ndb_stat))
   4053     );
   4054     assert_eq!(
   4055         ::std::mem::align_of::<ndb_stat>(),
   4056         8usize,
   4057         concat!("Alignment of ", stringify!(ndb_stat))
   4058     );
   4059     assert_eq!(
   4060         unsafe { ::std::ptr::addr_of!((*ptr).dbs) as usize - ptr as usize },
   4061         0usize,
   4062         concat!(
   4063             "Offset of field: ",
   4064             stringify!(ndb_stat),
   4065             "::",
   4066             stringify!(dbs)
   4067         )
   4068     );
   4069     assert_eq!(
   4070         unsafe { ::std::ptr::addr_of!((*ptr).common_kinds) as usize - ptr as usize },
   4071         384usize,
   4072         concat!(
   4073             "Offset of field: ",
   4074             stringify!(ndb_stat),
   4075             "::",
   4076             stringify!(common_kinds)
   4077         )
   4078     );
   4079     assert_eq!(
   4080         unsafe { ::std::ptr::addr_of!((*ptr).other_kinds) as usize - ptr as usize },
   4081         744usize,
   4082         concat!(
   4083             "Offset of field: ",
   4084             stringify!(ndb_stat),
   4085             "::",
   4086             stringify!(other_kinds)
   4087         )
   4088     );
   4089 }
   4090 #[repr(C)]
   4091 #[derive(Debug, Copy, Clone)]
   4092 pub struct ndb_text_search_key {
   4093     pub str_len: ::std::os::raw::c_int,
   4094     pub str_: *const ::std::os::raw::c_char,
   4095     pub timestamp: u64,
   4096     pub note_id: u64,
   4097     pub word_index: u64,
   4098 }
   4099 #[test]
   4100 fn bindgen_test_layout_ndb_text_search_key() {
   4101     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_key> = ::std::mem::MaybeUninit::uninit();
   4102     let ptr = UNINIT.as_ptr();
   4103     assert_eq!(
   4104         ::std::mem::size_of::<ndb_text_search_key>(),
   4105         40usize,
   4106         concat!("Size of: ", stringify!(ndb_text_search_key))
   4107     );
   4108     assert_eq!(
   4109         ::std::mem::align_of::<ndb_text_search_key>(),
   4110         8usize,
   4111         concat!("Alignment of ", stringify!(ndb_text_search_key))
   4112     );
   4113     assert_eq!(
   4114         unsafe { ::std::ptr::addr_of!((*ptr).str_len) as usize - ptr as usize },
   4115         0usize,
   4116         concat!(
   4117             "Offset of field: ",
   4118             stringify!(ndb_text_search_key),
   4119             "::",
   4120             stringify!(str_len)
   4121         )
   4122     );
   4123     assert_eq!(
   4124         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   4125         8usize,
   4126         concat!(
   4127             "Offset of field: ",
   4128             stringify!(ndb_text_search_key),
   4129             "::",
   4130             stringify!(str_)
   4131         )
   4132     );
   4133     assert_eq!(
   4134         unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
   4135         16usize,
   4136         concat!(
   4137             "Offset of field: ",
   4138             stringify!(ndb_text_search_key),
   4139             "::",
   4140             stringify!(timestamp)
   4141         )
   4142     );
   4143     assert_eq!(
   4144         unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
   4145         24usize,
   4146         concat!(
   4147             "Offset of field: ",
   4148             stringify!(ndb_text_search_key),
   4149             "::",
   4150             stringify!(note_id)
   4151         )
   4152     );
   4153     assert_eq!(
   4154         unsafe { ::std::ptr::addr_of!((*ptr).word_index) as usize - ptr as usize },
   4155         32usize,
   4156         concat!(
   4157             "Offset of field: ",
   4158             stringify!(ndb_text_search_key),
   4159             "::",
   4160             stringify!(word_index)
   4161         )
   4162     );
   4163 }
   4164 #[repr(C)]
   4165 #[derive(Debug, Copy, Clone)]
   4166 pub struct ndb_text_search_result {
   4167     pub key: ndb_text_search_key,
   4168     pub prefix_chars: ::std::os::raw::c_int,
   4169     pub note: *mut ndb_note,
   4170     pub note_size: u64,
   4171 }
   4172 #[test]
   4173 fn bindgen_test_layout_ndb_text_search_result() {
   4174     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_result> =
   4175         ::std::mem::MaybeUninit::uninit();
   4176     let ptr = UNINIT.as_ptr();
   4177     assert_eq!(
   4178         ::std::mem::size_of::<ndb_text_search_result>(),
   4179         64usize,
   4180         concat!("Size of: ", stringify!(ndb_text_search_result))
   4181     );
   4182     assert_eq!(
   4183         ::std::mem::align_of::<ndb_text_search_result>(),
   4184         8usize,
   4185         concat!("Alignment of ", stringify!(ndb_text_search_result))
   4186     );
   4187     assert_eq!(
   4188         unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
   4189         0usize,
   4190         concat!(
   4191             "Offset of field: ",
   4192             stringify!(ndb_text_search_result),
   4193             "::",
   4194             stringify!(key)
   4195         )
   4196     );
   4197     assert_eq!(
   4198         unsafe { ::std::ptr::addr_of!((*ptr).prefix_chars) as usize - ptr as usize },
   4199         40usize,
   4200         concat!(
   4201             "Offset of field: ",
   4202             stringify!(ndb_text_search_result),
   4203             "::",
   4204             stringify!(prefix_chars)
   4205         )
   4206     );
   4207     assert_eq!(
   4208         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   4209         48usize,
   4210         concat!(
   4211             "Offset of field: ",
   4212             stringify!(ndb_text_search_result),
   4213             "::",
   4214             stringify!(note)
   4215         )
   4216     );
   4217     assert_eq!(
   4218         unsafe { ::std::ptr::addr_of!((*ptr).note_size) as usize - ptr as usize },
   4219         56usize,
   4220         concat!(
   4221             "Offset of field: ",
   4222             stringify!(ndb_text_search_result),
   4223             "::",
   4224             stringify!(note_size)
   4225         )
   4226     );
   4227 }
   4228 #[repr(C)]
   4229 #[derive(Debug, Copy, Clone)]
   4230 pub struct ndb_text_search_results {
   4231     pub results: [ndb_text_search_result; 128usize],
   4232     pub num_results: ::std::os::raw::c_int,
   4233 }
   4234 #[test]
   4235 fn bindgen_test_layout_ndb_text_search_results() {
   4236     const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_results> =
   4237         ::std::mem::MaybeUninit::uninit();
   4238     let ptr = UNINIT.as_ptr();
   4239     assert_eq!(
   4240         ::std::mem::size_of::<ndb_text_search_results>(),
   4241         8200usize,
   4242         concat!("Size of: ", stringify!(ndb_text_search_results))
   4243     );
   4244     assert_eq!(
   4245         ::std::mem::align_of::<ndb_text_search_results>(),
   4246         8usize,
   4247         concat!("Alignment of ", stringify!(ndb_text_search_results))
   4248     );
   4249     assert_eq!(
   4250         unsafe { ::std::ptr::addr_of!((*ptr).results) as usize - ptr as usize },
   4251         0usize,
   4252         concat!(
   4253             "Offset of field: ",
   4254             stringify!(ndb_text_search_results),
   4255             "::",
   4256             stringify!(results)
   4257         )
   4258     );
   4259     assert_eq!(
   4260         unsafe { ::std::ptr::addr_of!((*ptr).num_results) as usize - ptr as usize },
   4261         8192usize,
   4262         concat!(
   4263             "Offset of field: ",
   4264             stringify!(ndb_text_search_results),
   4265             "::",
   4266             stringify!(num_results)
   4267         )
   4268     );
   4269 }
   4270 pub const ndb_block_type_BLOCK_HASHTAG: ndb_block_type = 1;
   4271 pub const ndb_block_type_BLOCK_TEXT: ndb_block_type = 2;
   4272 pub const ndb_block_type_BLOCK_MENTION_INDEX: ndb_block_type = 3;
   4273 pub const ndb_block_type_BLOCK_MENTION_BECH32: ndb_block_type = 4;
   4274 pub const ndb_block_type_BLOCK_URL: ndb_block_type = 5;
   4275 pub const ndb_block_type_BLOCK_INVOICE: ndb_block_type = 6;
   4276 pub type ndb_block_type = ::std::os::raw::c_int;
   4277 #[repr(C)]
   4278 #[derive(Debug, Copy, Clone)]
   4279 pub struct ndb_relays {
   4280     pub relays: [ndb_str_block; 24usize],
   4281     pub num_relays: ::std::os::raw::c_int,
   4282 }
   4283 #[test]
   4284 fn bindgen_test_layout_ndb_relays() {
   4285     const UNINIT: ::std::mem::MaybeUninit<ndb_relays> = ::std::mem::MaybeUninit::uninit();
   4286     let ptr = UNINIT.as_ptr();
   4287     assert_eq!(
   4288         ::std::mem::size_of::<ndb_relays>(),
   4289         392usize,
   4290         concat!("Size of: ", stringify!(ndb_relays))
   4291     );
   4292     assert_eq!(
   4293         ::std::mem::align_of::<ndb_relays>(),
   4294         8usize,
   4295         concat!("Alignment of ", stringify!(ndb_relays))
   4296     );
   4297     assert_eq!(
   4298         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4299         0usize,
   4300         concat!(
   4301             "Offset of field: ",
   4302             stringify!(ndb_relays),
   4303             "::",
   4304             stringify!(relays)
   4305         )
   4306     );
   4307     assert_eq!(
   4308         unsafe { ::std::ptr::addr_of!((*ptr).num_relays) as usize - ptr as usize },
   4309         384usize,
   4310         concat!(
   4311             "Offset of field: ",
   4312             stringify!(ndb_relays),
   4313             "::",
   4314             stringify!(num_relays)
   4315         )
   4316     );
   4317 }
   4318 pub const nostr_bech32_type_NOSTR_BECH32_NOTE: nostr_bech32_type = 1;
   4319 pub const nostr_bech32_type_NOSTR_BECH32_NPUB: nostr_bech32_type = 2;
   4320 pub const nostr_bech32_type_NOSTR_BECH32_NPROFILE: nostr_bech32_type = 3;
   4321 pub const nostr_bech32_type_NOSTR_BECH32_NEVENT: nostr_bech32_type = 4;
   4322 pub const nostr_bech32_type_NOSTR_BECH32_NRELAY: nostr_bech32_type = 5;
   4323 pub const nostr_bech32_type_NOSTR_BECH32_NADDR: nostr_bech32_type = 6;
   4324 pub const nostr_bech32_type_NOSTR_BECH32_NSEC: nostr_bech32_type = 7;
   4325 pub type nostr_bech32_type = ::std::os::raw::c_int;
   4326 #[repr(C)]
   4327 #[derive(Debug, Copy, Clone)]
   4328 pub struct bech32_note {
   4329     pub event_id: *const ::std::os::raw::c_uchar,
   4330 }
   4331 #[test]
   4332 fn bindgen_test_layout_bech32_note() {
   4333     const UNINIT: ::std::mem::MaybeUninit<bech32_note> = ::std::mem::MaybeUninit::uninit();
   4334     let ptr = UNINIT.as_ptr();
   4335     assert_eq!(
   4336         ::std::mem::size_of::<bech32_note>(),
   4337         8usize,
   4338         concat!("Size of: ", stringify!(bech32_note))
   4339     );
   4340     assert_eq!(
   4341         ::std::mem::align_of::<bech32_note>(),
   4342         8usize,
   4343         concat!("Alignment of ", stringify!(bech32_note))
   4344     );
   4345     assert_eq!(
   4346         unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
   4347         0usize,
   4348         concat!(
   4349             "Offset of field: ",
   4350             stringify!(bech32_note),
   4351             "::",
   4352             stringify!(event_id)
   4353         )
   4354     );
   4355 }
   4356 #[repr(C)]
   4357 #[derive(Debug, Copy, Clone)]
   4358 pub struct bech32_npub {
   4359     pub pubkey: *const ::std::os::raw::c_uchar,
   4360 }
   4361 #[test]
   4362 fn bindgen_test_layout_bech32_npub() {
   4363     const UNINIT: ::std::mem::MaybeUninit<bech32_npub> = ::std::mem::MaybeUninit::uninit();
   4364     let ptr = UNINIT.as_ptr();
   4365     assert_eq!(
   4366         ::std::mem::size_of::<bech32_npub>(),
   4367         8usize,
   4368         concat!("Size of: ", stringify!(bech32_npub))
   4369     );
   4370     assert_eq!(
   4371         ::std::mem::align_of::<bech32_npub>(),
   4372         8usize,
   4373         concat!("Alignment of ", stringify!(bech32_npub))
   4374     );
   4375     assert_eq!(
   4376         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4377         0usize,
   4378         concat!(
   4379             "Offset of field: ",
   4380             stringify!(bech32_npub),
   4381             "::",
   4382             stringify!(pubkey)
   4383         )
   4384     );
   4385 }
   4386 #[repr(C)]
   4387 #[derive(Debug, Copy, Clone)]
   4388 pub struct bech32_nsec {
   4389     pub nsec: *const ::std::os::raw::c_uchar,
   4390 }
   4391 #[test]
   4392 fn bindgen_test_layout_bech32_nsec() {
   4393     const UNINIT: ::std::mem::MaybeUninit<bech32_nsec> = ::std::mem::MaybeUninit::uninit();
   4394     let ptr = UNINIT.as_ptr();
   4395     assert_eq!(
   4396         ::std::mem::size_of::<bech32_nsec>(),
   4397         8usize,
   4398         concat!("Size of: ", stringify!(bech32_nsec))
   4399     );
   4400     assert_eq!(
   4401         ::std::mem::align_of::<bech32_nsec>(),
   4402         8usize,
   4403         concat!("Alignment of ", stringify!(bech32_nsec))
   4404     );
   4405     assert_eq!(
   4406         unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
   4407         0usize,
   4408         concat!(
   4409             "Offset of field: ",
   4410             stringify!(bech32_nsec),
   4411             "::",
   4412             stringify!(nsec)
   4413         )
   4414     );
   4415 }
   4416 #[repr(C)]
   4417 #[derive(Debug, Copy, Clone)]
   4418 pub struct bech32_nevent {
   4419     pub relays: ndb_relays,
   4420     pub event_id: *const ::std::os::raw::c_uchar,
   4421     pub pubkey: *const ::std::os::raw::c_uchar,
   4422 }
   4423 #[test]
   4424 fn bindgen_test_layout_bech32_nevent() {
   4425     const UNINIT: ::std::mem::MaybeUninit<bech32_nevent> = ::std::mem::MaybeUninit::uninit();
   4426     let ptr = UNINIT.as_ptr();
   4427     assert_eq!(
   4428         ::std::mem::size_of::<bech32_nevent>(),
   4429         408usize,
   4430         concat!("Size of: ", stringify!(bech32_nevent))
   4431     );
   4432     assert_eq!(
   4433         ::std::mem::align_of::<bech32_nevent>(),
   4434         8usize,
   4435         concat!("Alignment of ", stringify!(bech32_nevent))
   4436     );
   4437     assert_eq!(
   4438         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4439         0usize,
   4440         concat!(
   4441             "Offset of field: ",
   4442             stringify!(bech32_nevent),
   4443             "::",
   4444             stringify!(relays)
   4445         )
   4446     );
   4447     assert_eq!(
   4448         unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
   4449         392usize,
   4450         concat!(
   4451             "Offset of field: ",
   4452             stringify!(bech32_nevent),
   4453             "::",
   4454             stringify!(event_id)
   4455         )
   4456     );
   4457     assert_eq!(
   4458         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4459         400usize,
   4460         concat!(
   4461             "Offset of field: ",
   4462             stringify!(bech32_nevent),
   4463             "::",
   4464             stringify!(pubkey)
   4465         )
   4466     );
   4467 }
   4468 #[repr(C)]
   4469 #[derive(Debug, Copy, Clone)]
   4470 pub struct bech32_nprofile {
   4471     pub relays: ndb_relays,
   4472     pub pubkey: *const ::std::os::raw::c_uchar,
   4473 }
   4474 #[test]
   4475 fn bindgen_test_layout_bech32_nprofile() {
   4476     const UNINIT: ::std::mem::MaybeUninit<bech32_nprofile> = ::std::mem::MaybeUninit::uninit();
   4477     let ptr = UNINIT.as_ptr();
   4478     assert_eq!(
   4479         ::std::mem::size_of::<bech32_nprofile>(),
   4480         400usize,
   4481         concat!("Size of: ", stringify!(bech32_nprofile))
   4482     );
   4483     assert_eq!(
   4484         ::std::mem::align_of::<bech32_nprofile>(),
   4485         8usize,
   4486         concat!("Alignment of ", stringify!(bech32_nprofile))
   4487     );
   4488     assert_eq!(
   4489         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4490         0usize,
   4491         concat!(
   4492             "Offset of field: ",
   4493             stringify!(bech32_nprofile),
   4494             "::",
   4495             stringify!(relays)
   4496         )
   4497     );
   4498     assert_eq!(
   4499         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4500         392usize,
   4501         concat!(
   4502             "Offset of field: ",
   4503             stringify!(bech32_nprofile),
   4504             "::",
   4505             stringify!(pubkey)
   4506         )
   4507     );
   4508 }
   4509 #[repr(C)]
   4510 #[derive(Debug, Copy, Clone)]
   4511 pub struct bech32_naddr {
   4512     pub relays: ndb_relays,
   4513     pub identifier: ndb_str_block,
   4514     pub pubkey: *const ::std::os::raw::c_uchar,
   4515 }
   4516 #[test]
   4517 fn bindgen_test_layout_bech32_naddr() {
   4518     const UNINIT: ::std::mem::MaybeUninit<bech32_naddr> = ::std::mem::MaybeUninit::uninit();
   4519     let ptr = UNINIT.as_ptr();
   4520     assert_eq!(
   4521         ::std::mem::size_of::<bech32_naddr>(),
   4522         416usize,
   4523         concat!("Size of: ", stringify!(bech32_naddr))
   4524     );
   4525     assert_eq!(
   4526         ::std::mem::align_of::<bech32_naddr>(),
   4527         8usize,
   4528         concat!("Alignment of ", stringify!(bech32_naddr))
   4529     );
   4530     assert_eq!(
   4531         unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
   4532         0usize,
   4533         concat!(
   4534             "Offset of field: ",
   4535             stringify!(bech32_naddr),
   4536             "::",
   4537             stringify!(relays)
   4538         )
   4539     );
   4540     assert_eq!(
   4541         unsafe { ::std::ptr::addr_of!((*ptr).identifier) as usize - ptr as usize },
   4542         392usize,
   4543         concat!(
   4544             "Offset of field: ",
   4545             stringify!(bech32_naddr),
   4546             "::",
   4547             stringify!(identifier)
   4548         )
   4549     );
   4550     assert_eq!(
   4551         unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
   4552         408usize,
   4553         concat!(
   4554             "Offset of field: ",
   4555             stringify!(bech32_naddr),
   4556             "::",
   4557             stringify!(pubkey)
   4558         )
   4559     );
   4560 }
   4561 #[repr(C)]
   4562 #[derive(Debug, Copy, Clone)]
   4563 pub struct bech32_nrelay {
   4564     pub relay: ndb_str_block,
   4565 }
   4566 #[test]
   4567 fn bindgen_test_layout_bech32_nrelay() {
   4568     const UNINIT: ::std::mem::MaybeUninit<bech32_nrelay> = ::std::mem::MaybeUninit::uninit();
   4569     let ptr = UNINIT.as_ptr();
   4570     assert_eq!(
   4571         ::std::mem::size_of::<bech32_nrelay>(),
   4572         16usize,
   4573         concat!("Size of: ", stringify!(bech32_nrelay))
   4574     );
   4575     assert_eq!(
   4576         ::std::mem::align_of::<bech32_nrelay>(),
   4577         8usize,
   4578         concat!("Alignment of ", stringify!(bech32_nrelay))
   4579     );
   4580     assert_eq!(
   4581         unsafe { ::std::ptr::addr_of!((*ptr).relay) as usize - ptr as usize },
   4582         0usize,
   4583         concat!(
   4584             "Offset of field: ",
   4585             stringify!(bech32_nrelay),
   4586             "::",
   4587             stringify!(relay)
   4588         )
   4589     );
   4590 }
   4591 #[repr(C)]
   4592 #[derive(Copy, Clone)]
   4593 pub struct nostr_bech32 {
   4594     pub type_: nostr_bech32_type,
   4595     pub __bindgen_anon_1: nostr_bech32__bindgen_ty_1,
   4596 }
   4597 #[repr(C)]
   4598 #[derive(Copy, Clone)]
   4599 pub union nostr_bech32__bindgen_ty_1 {
   4600     pub note: bech32_note,
   4601     pub npub: bech32_npub,
   4602     pub nsec: bech32_nsec,
   4603     pub nevent: bech32_nevent,
   4604     pub nprofile: bech32_nprofile,
   4605     pub naddr: bech32_naddr,
   4606     pub nrelay: bech32_nrelay,
   4607 }
   4608 #[test]
   4609 fn bindgen_test_layout_nostr_bech32__bindgen_ty_1() {
   4610     const UNINIT: ::std::mem::MaybeUninit<nostr_bech32__bindgen_ty_1> =
   4611         ::std::mem::MaybeUninit::uninit();
   4612     let ptr = UNINIT.as_ptr();
   4613     assert_eq!(
   4614         ::std::mem::size_of::<nostr_bech32__bindgen_ty_1>(),
   4615         416usize,
   4616         concat!("Size of: ", stringify!(nostr_bech32__bindgen_ty_1))
   4617     );
   4618     assert_eq!(
   4619         ::std::mem::align_of::<nostr_bech32__bindgen_ty_1>(),
   4620         8usize,
   4621         concat!("Alignment of ", stringify!(nostr_bech32__bindgen_ty_1))
   4622     );
   4623     assert_eq!(
   4624         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   4625         0usize,
   4626         concat!(
   4627             "Offset of field: ",
   4628             stringify!(nostr_bech32__bindgen_ty_1),
   4629             "::",
   4630             stringify!(note)
   4631         )
   4632     );
   4633     assert_eq!(
   4634         unsafe { ::std::ptr::addr_of!((*ptr).npub) as usize - ptr as usize },
   4635         0usize,
   4636         concat!(
   4637             "Offset of field: ",
   4638             stringify!(nostr_bech32__bindgen_ty_1),
   4639             "::",
   4640             stringify!(npub)
   4641         )
   4642     );
   4643     assert_eq!(
   4644         unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
   4645         0usize,
   4646         concat!(
   4647             "Offset of field: ",
   4648             stringify!(nostr_bech32__bindgen_ty_1),
   4649             "::",
   4650             stringify!(nsec)
   4651         )
   4652     );
   4653     assert_eq!(
   4654         unsafe { ::std::ptr::addr_of!((*ptr).nevent) as usize - ptr as usize },
   4655         0usize,
   4656         concat!(
   4657             "Offset of field: ",
   4658             stringify!(nostr_bech32__bindgen_ty_1),
   4659             "::",
   4660             stringify!(nevent)
   4661         )
   4662     );
   4663     assert_eq!(
   4664         unsafe { ::std::ptr::addr_of!((*ptr).nprofile) as usize - ptr as usize },
   4665         0usize,
   4666         concat!(
   4667             "Offset of field: ",
   4668             stringify!(nostr_bech32__bindgen_ty_1),
   4669             "::",
   4670             stringify!(nprofile)
   4671         )
   4672     );
   4673     assert_eq!(
   4674         unsafe { ::std::ptr::addr_of!((*ptr).naddr) as usize - ptr as usize },
   4675         0usize,
   4676         concat!(
   4677             "Offset of field: ",
   4678             stringify!(nostr_bech32__bindgen_ty_1),
   4679             "::",
   4680             stringify!(naddr)
   4681         )
   4682     );
   4683     assert_eq!(
   4684         unsafe { ::std::ptr::addr_of!((*ptr).nrelay) as usize - ptr as usize },
   4685         0usize,
   4686         concat!(
   4687             "Offset of field: ",
   4688             stringify!(nostr_bech32__bindgen_ty_1),
   4689             "::",
   4690             stringify!(nrelay)
   4691         )
   4692     );
   4693 }
   4694 #[test]
   4695 fn bindgen_test_layout_nostr_bech32() {
   4696     const UNINIT: ::std::mem::MaybeUninit<nostr_bech32> = ::std::mem::MaybeUninit::uninit();
   4697     let ptr = UNINIT.as_ptr();
   4698     assert_eq!(
   4699         ::std::mem::size_of::<nostr_bech32>(),
   4700         424usize,
   4701         concat!("Size of: ", stringify!(nostr_bech32))
   4702     );
   4703     assert_eq!(
   4704         ::std::mem::align_of::<nostr_bech32>(),
   4705         8usize,
   4706         concat!("Alignment of ", stringify!(nostr_bech32))
   4707     );
   4708     assert_eq!(
   4709         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   4710         0usize,
   4711         concat!(
   4712             "Offset of field: ",
   4713             stringify!(nostr_bech32),
   4714             "::",
   4715             stringify!(type_)
   4716         )
   4717     );
   4718 }
   4719 #[repr(C)]
   4720 #[derive(Copy, Clone)]
   4721 pub struct ndb_mention_bech32_block {
   4722     pub str_: ndb_str_block,
   4723     pub bech32: nostr_bech32,
   4724 }
   4725 #[test]
   4726 fn bindgen_test_layout_ndb_mention_bech32_block() {
   4727     const UNINIT: ::std::mem::MaybeUninit<ndb_mention_bech32_block> =
   4728         ::std::mem::MaybeUninit::uninit();
   4729     let ptr = UNINIT.as_ptr();
   4730     assert_eq!(
   4731         ::std::mem::size_of::<ndb_mention_bech32_block>(),
   4732         440usize,
   4733         concat!("Size of: ", stringify!(ndb_mention_bech32_block))
   4734     );
   4735     assert_eq!(
   4736         ::std::mem::align_of::<ndb_mention_bech32_block>(),
   4737         8usize,
   4738         concat!("Alignment of ", stringify!(ndb_mention_bech32_block))
   4739     );
   4740     assert_eq!(
   4741         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   4742         0usize,
   4743         concat!(
   4744             "Offset of field: ",
   4745             stringify!(ndb_mention_bech32_block),
   4746             "::",
   4747             stringify!(str_)
   4748         )
   4749     );
   4750     assert_eq!(
   4751         unsafe { ::std::ptr::addr_of!((*ptr).bech32) as usize - ptr as usize },
   4752         16usize,
   4753         concat!(
   4754             "Offset of field: ",
   4755             stringify!(ndb_mention_bech32_block),
   4756             "::",
   4757             stringify!(bech32)
   4758         )
   4759     );
   4760 }
   4761 #[repr(C)]
   4762 #[derive(Debug, Copy, Clone)]
   4763 pub struct ndb_invoice {
   4764     pub version: ::std::os::raw::c_uchar,
   4765     pub amount: u64,
   4766     pub timestamp: u64,
   4767     pub expiry: u64,
   4768     pub description: *mut ::std::os::raw::c_char,
   4769     pub description_hash: *mut ::std::os::raw::c_uchar,
   4770 }
   4771 #[test]
   4772 fn bindgen_test_layout_ndb_invoice() {
   4773     const UNINIT: ::std::mem::MaybeUninit<ndb_invoice> = ::std::mem::MaybeUninit::uninit();
   4774     let ptr = UNINIT.as_ptr();
   4775     assert_eq!(
   4776         ::std::mem::size_of::<ndb_invoice>(),
   4777         48usize,
   4778         concat!("Size of: ", stringify!(ndb_invoice))
   4779     );
   4780     assert_eq!(
   4781         ::std::mem::align_of::<ndb_invoice>(),
   4782         8usize,
   4783         concat!("Alignment of ", stringify!(ndb_invoice))
   4784     );
   4785     assert_eq!(
   4786         unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
   4787         0usize,
   4788         concat!(
   4789             "Offset of field: ",
   4790             stringify!(ndb_invoice),
   4791             "::",
   4792             stringify!(version)
   4793         )
   4794     );
   4795     assert_eq!(
   4796         unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
   4797         8usize,
   4798         concat!(
   4799             "Offset of field: ",
   4800             stringify!(ndb_invoice),
   4801             "::",
   4802             stringify!(amount)
   4803         )
   4804     );
   4805     assert_eq!(
   4806         unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
   4807         16usize,
   4808         concat!(
   4809             "Offset of field: ",
   4810             stringify!(ndb_invoice),
   4811             "::",
   4812             stringify!(timestamp)
   4813         )
   4814     );
   4815     assert_eq!(
   4816         unsafe { ::std::ptr::addr_of!((*ptr).expiry) as usize - ptr as usize },
   4817         24usize,
   4818         concat!(
   4819             "Offset of field: ",
   4820             stringify!(ndb_invoice),
   4821             "::",
   4822             stringify!(expiry)
   4823         )
   4824     );
   4825     assert_eq!(
   4826         unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
   4827         32usize,
   4828         concat!(
   4829             "Offset of field: ",
   4830             stringify!(ndb_invoice),
   4831             "::",
   4832             stringify!(description)
   4833         )
   4834     );
   4835     assert_eq!(
   4836         unsafe { ::std::ptr::addr_of!((*ptr).description_hash) as usize - ptr as usize },
   4837         40usize,
   4838         concat!(
   4839             "Offset of field: ",
   4840             stringify!(ndb_invoice),
   4841             "::",
   4842             stringify!(description_hash)
   4843         )
   4844     );
   4845 }
   4846 #[repr(C)]
   4847 #[derive(Debug, Copy, Clone)]
   4848 pub struct ndb_invoice_block {
   4849     pub invstr: ndb_str_block,
   4850     pub invoice: ndb_invoice,
   4851 }
   4852 #[test]
   4853 fn bindgen_test_layout_ndb_invoice_block() {
   4854     const UNINIT: ::std::mem::MaybeUninit<ndb_invoice_block> = ::std::mem::MaybeUninit::uninit();
   4855     let ptr = UNINIT.as_ptr();
   4856     assert_eq!(
   4857         ::std::mem::size_of::<ndb_invoice_block>(),
   4858         64usize,
   4859         concat!("Size of: ", stringify!(ndb_invoice_block))
   4860     );
   4861     assert_eq!(
   4862         ::std::mem::align_of::<ndb_invoice_block>(),
   4863         8usize,
   4864         concat!("Alignment of ", stringify!(ndb_invoice_block))
   4865     );
   4866     assert_eq!(
   4867         unsafe { ::std::ptr::addr_of!((*ptr).invstr) as usize - ptr as usize },
   4868         0usize,
   4869         concat!(
   4870             "Offset of field: ",
   4871             stringify!(ndb_invoice_block),
   4872             "::",
   4873             stringify!(invstr)
   4874         )
   4875     );
   4876     assert_eq!(
   4877         unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
   4878         16usize,
   4879         concat!(
   4880             "Offset of field: ",
   4881             stringify!(ndb_invoice_block),
   4882             "::",
   4883             stringify!(invoice)
   4884         )
   4885     );
   4886 }
   4887 #[repr(C)]
   4888 #[derive(Copy, Clone)]
   4889 pub struct ndb_block {
   4890     pub type_: ndb_block_type,
   4891     pub block: ndb_block__bindgen_ty_1,
   4892 }
   4893 #[repr(C)]
   4894 #[derive(Copy, Clone)]
   4895 pub union ndb_block__bindgen_ty_1 {
   4896     pub str_: ndb_str_block,
   4897     pub invoice: ndb_invoice_block,
   4898     pub mention_bech32: ndb_mention_bech32_block,
   4899     pub mention_index: u32,
   4900 }
   4901 #[test]
   4902 fn bindgen_test_layout_ndb_block__bindgen_ty_1() {
   4903     const UNINIT: ::std::mem::MaybeUninit<ndb_block__bindgen_ty_1> =
   4904         ::std::mem::MaybeUninit::uninit();
   4905     let ptr = UNINIT.as_ptr();
   4906     assert_eq!(
   4907         ::std::mem::size_of::<ndb_block__bindgen_ty_1>(),
   4908         440usize,
   4909         concat!("Size of: ", stringify!(ndb_block__bindgen_ty_1))
   4910     );
   4911     assert_eq!(
   4912         ::std::mem::align_of::<ndb_block__bindgen_ty_1>(),
   4913         8usize,
   4914         concat!("Alignment of ", stringify!(ndb_block__bindgen_ty_1))
   4915     );
   4916     assert_eq!(
   4917         unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
   4918         0usize,
   4919         concat!(
   4920             "Offset of field: ",
   4921             stringify!(ndb_block__bindgen_ty_1),
   4922             "::",
   4923             stringify!(str_)
   4924         )
   4925     );
   4926     assert_eq!(
   4927         unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
   4928         0usize,
   4929         concat!(
   4930             "Offset of field: ",
   4931             stringify!(ndb_block__bindgen_ty_1),
   4932             "::",
   4933             stringify!(invoice)
   4934         )
   4935     );
   4936     assert_eq!(
   4937         unsafe { ::std::ptr::addr_of!((*ptr).mention_bech32) as usize - ptr as usize },
   4938         0usize,
   4939         concat!(
   4940             "Offset of field: ",
   4941             stringify!(ndb_block__bindgen_ty_1),
   4942             "::",
   4943             stringify!(mention_bech32)
   4944         )
   4945     );
   4946     assert_eq!(
   4947         unsafe { ::std::ptr::addr_of!((*ptr).mention_index) as usize - ptr as usize },
   4948         0usize,
   4949         concat!(
   4950             "Offset of field: ",
   4951             stringify!(ndb_block__bindgen_ty_1),
   4952             "::",
   4953             stringify!(mention_index)
   4954         )
   4955     );
   4956 }
   4957 #[test]
   4958 fn bindgen_test_layout_ndb_block() {
   4959     const UNINIT: ::std::mem::MaybeUninit<ndb_block> = ::std::mem::MaybeUninit::uninit();
   4960     let ptr = UNINIT.as_ptr();
   4961     assert_eq!(
   4962         ::std::mem::size_of::<ndb_block>(),
   4963         448usize,
   4964         concat!("Size of: ", stringify!(ndb_block))
   4965     );
   4966     assert_eq!(
   4967         ::std::mem::align_of::<ndb_block>(),
   4968         8usize,
   4969         concat!("Alignment of ", stringify!(ndb_block))
   4970     );
   4971     assert_eq!(
   4972         unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
   4973         0usize,
   4974         concat!(
   4975             "Offset of field: ",
   4976             stringify!(ndb_block),
   4977             "::",
   4978             stringify!(type_)
   4979         )
   4980     );
   4981     assert_eq!(
   4982         unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
   4983         8usize,
   4984         concat!(
   4985             "Offset of field: ",
   4986             stringify!(ndb_block),
   4987             "::",
   4988             stringify!(block)
   4989         )
   4990     );
   4991 }
   4992 #[repr(C)]
   4993 #[derive(Copy, Clone)]
   4994 pub struct ndb_block_iterator {
   4995     pub content: *const ::std::os::raw::c_char,
   4996     pub blocks: *mut ndb_blocks,
   4997     pub block: ndb_block,
   4998     pub p: *mut ::std::os::raw::c_uchar,
   4999 }
   5000 #[test]
   5001 fn bindgen_test_layout_ndb_block_iterator() {
   5002     const UNINIT: ::std::mem::MaybeUninit<ndb_block_iterator> = ::std::mem::MaybeUninit::uninit();
   5003     let ptr = UNINIT.as_ptr();
   5004     assert_eq!(
   5005         ::std::mem::size_of::<ndb_block_iterator>(),
   5006         472usize,
   5007         concat!("Size of: ", stringify!(ndb_block_iterator))
   5008     );
   5009     assert_eq!(
   5010         ::std::mem::align_of::<ndb_block_iterator>(),
   5011         8usize,
   5012         concat!("Alignment of ", stringify!(ndb_block_iterator))
   5013     );
   5014     assert_eq!(
   5015         unsafe { ::std::ptr::addr_of!((*ptr).content) as usize - ptr as usize },
   5016         0usize,
   5017         concat!(
   5018             "Offset of field: ",
   5019             stringify!(ndb_block_iterator),
   5020             "::",
   5021             stringify!(content)
   5022         )
   5023     );
   5024     assert_eq!(
   5025         unsafe { ::std::ptr::addr_of!((*ptr).blocks) as usize - ptr as usize },
   5026         8usize,
   5027         concat!(
   5028             "Offset of field: ",
   5029             stringify!(ndb_block_iterator),
   5030             "::",
   5031             stringify!(blocks)
   5032         )
   5033     );
   5034     assert_eq!(
   5035         unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
   5036         16usize,
   5037         concat!(
   5038             "Offset of field: ",
   5039             stringify!(ndb_block_iterator),
   5040             "::",
   5041             stringify!(block)
   5042         )
   5043     );
   5044     assert_eq!(
   5045         unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
   5046         464usize,
   5047         concat!(
   5048             "Offset of field: ",
   5049             stringify!(ndb_block_iterator),
   5050             "::",
   5051             stringify!(p)
   5052         )
   5053     );
   5054 }
   5055 #[repr(C)]
   5056 #[derive(Debug, Copy, Clone)]
   5057 pub struct ndb_query_result {
   5058     pub note: *mut ndb_note,
   5059     pub note_size: u64,
   5060     pub note_id: u64,
   5061 }
   5062 #[test]
   5063 fn bindgen_test_layout_ndb_query_result() {
   5064     const UNINIT: ::std::mem::MaybeUninit<ndb_query_result> = ::std::mem::MaybeUninit::uninit();
   5065     let ptr = UNINIT.as_ptr();
   5066     assert_eq!(
   5067         ::std::mem::size_of::<ndb_query_result>(),
   5068         24usize,
   5069         concat!("Size of: ", stringify!(ndb_query_result))
   5070     );
   5071     assert_eq!(
   5072         ::std::mem::align_of::<ndb_query_result>(),
   5073         8usize,
   5074         concat!("Alignment of ", stringify!(ndb_query_result))
   5075     );
   5076     assert_eq!(
   5077         unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
   5078         0usize,
   5079         concat!(
   5080             "Offset of field: ",
   5081             stringify!(ndb_query_result),
   5082             "::",
   5083             stringify!(note)
   5084         )
   5085     );
   5086     assert_eq!(
   5087         unsafe { ::std::ptr::addr_of!((*ptr).note_size) as usize - ptr as usize },
   5088         8usize,
   5089         concat!(
   5090             "Offset of field: ",
   5091             stringify!(ndb_query_result),
   5092             "::",
   5093             stringify!(note_size)
   5094         )
   5095     );
   5096     assert_eq!(
   5097         unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
   5098         16usize,
   5099         concat!(
   5100             "Offset of field: ",
   5101             stringify!(ndb_query_result),
   5102             "::",
   5103             stringify!(note_id)
   5104         )
   5105     );
   5106 }
   5107 #[repr(C)]
   5108 #[derive(Debug, Copy, Clone)]
   5109 pub struct ndb_query_results {
   5110     pub cur: cursor,
   5111 }
   5112 #[test]
   5113 fn bindgen_test_layout_ndb_query_results() {
   5114     const UNINIT: ::std::mem::MaybeUninit<ndb_query_results> = ::std::mem::MaybeUninit::uninit();
   5115     let ptr = UNINIT.as_ptr();
   5116     assert_eq!(
   5117         ::std::mem::size_of::<ndb_query_results>(),
   5118         24usize,
   5119         concat!("Size of: ", stringify!(ndb_query_results))
   5120     );
   5121     assert_eq!(
   5122         ::std::mem::align_of::<ndb_query_results>(),
   5123         8usize,
   5124         concat!("Alignment of ", stringify!(ndb_query_results))
   5125     );
   5126     assert_eq!(
   5127         unsafe { ::std::ptr::addr_of!((*ptr).cur) as usize - ptr as usize },
   5128         0usize,
   5129         concat!(
   5130             "Offset of field: ",
   5131             stringify!(ndb_query_results),
   5132             "::",
   5133             stringify!(cur)
   5134         )
   5135     );
   5136 }
   5137 extern "C" {
   5138     pub fn ndb_default_config(arg1: *mut ndb_config);
   5139 }
   5140 extern "C" {
   5141     pub fn ndb_config_set_ingest_threads(config: *mut ndb_config, threads: ::std::os::raw::c_int);
   5142 }
   5143 extern "C" {
   5144     pub fn ndb_config_set_flags(config: *mut ndb_config, flags: ::std::os::raw::c_int);
   5145 }
   5146 extern "C" {
   5147     pub fn ndb_config_set_mapsize(config: *mut ndb_config, mapsize: usize);
   5148 }
   5149 extern "C" {
   5150     pub fn ndb_config_set_ingest_filter(
   5151         config: *mut ndb_config,
   5152         fn_: ndb_ingest_filter_fn,
   5153         arg1: *mut ::std::os::raw::c_void,
   5154     );
   5155 }
   5156 extern "C" {
   5157     pub fn ndb_config_set_subscription_callback(
   5158         config: *mut ndb_config,
   5159         fn_: ndb_sub_fn,
   5160         ctx: *mut ::std::os::raw::c_void,
   5161     );
   5162 }
   5163 extern "C" {
   5164     #[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."]
   5165     pub fn ndb_config_set_writer_scratch_buffer_size(
   5166         config: *mut ndb_config,
   5167         scratch_size: ::std::os::raw::c_int,
   5168     );
   5169 }
   5170 extern "C" {
   5171     pub fn ndb_calculate_id(
   5172         note: *mut ndb_note,
   5173         buf: *mut ::std::os::raw::c_uchar,
   5174         buflen: ::std::os::raw::c_int,
   5175     ) -> ::std::os::raw::c_int;
   5176 }
   5177 extern "C" {
   5178     pub fn ndb_sign_id(
   5179         keypair: *mut ndb_keypair,
   5180         id: *mut ::std::os::raw::c_uchar,
   5181         sig: *mut ::std::os::raw::c_uchar,
   5182     ) -> ::std::os::raw::c_int;
   5183 }
   5184 extern "C" {
   5185     pub fn ndb_create_keypair(key: *mut ndb_keypair) -> ::std::os::raw::c_int;
   5186 }
   5187 extern "C" {
   5188     pub fn ndb_decode_key(
   5189         secstr: *const ::std::os::raw::c_char,
   5190         keypair: *mut ndb_keypair,
   5191     ) -> ::std::os::raw::c_int;
   5192 }
   5193 extern "C" {
   5194     pub fn ndb_note_verify(
   5195         secp_ctx: *mut ::std::os::raw::c_void,
   5196         pubkey: *mut ::std::os::raw::c_uchar,
   5197         id: *mut ::std::os::raw::c_uchar,
   5198         signature: *mut ::std::os::raw::c_uchar,
   5199     ) -> ::std::os::raw::c_int;
   5200 }
   5201 extern "C" {
   5202     pub fn ndb_init(
   5203         ndb: *mut *mut ndb,
   5204         dbdir: *const ::std::os::raw::c_char,
   5205         arg1: *const ndb_config,
   5206     ) -> ::std::os::raw::c_int;
   5207 }
   5208 extern "C" {
   5209     pub fn ndb_db_version(txn: *mut ndb_txn) -> ::std::os::raw::c_int;
   5210 }
   5211 extern "C" {
   5212     pub fn ndb_process_event(
   5213         arg1: *mut ndb,
   5214         json: *const ::std::os::raw::c_char,
   5215         len: ::std::os::raw::c_int,
   5216     ) -> ::std::os::raw::c_int;
   5217 }
   5218 extern "C" {
   5219     pub fn ndb_ingest_meta_init(
   5220         meta: *mut ndb_ingest_meta,
   5221         client: ::std::os::raw::c_uint,
   5222         relay: *const ::std::os::raw::c_char,
   5223     );
   5224 }
   5225 extern "C" {
   5226     pub fn ndb_process_event_with(
   5227         arg1: *mut ndb,
   5228         json: *const ::std::os::raw::c_char,
   5229         len: ::std::os::raw::c_int,
   5230         meta: *mut ndb_ingest_meta,
   5231     ) -> ::std::os::raw::c_int;
   5232 }
   5233 extern "C" {
   5234     pub fn ndb_process_events(
   5235         arg1: *mut ndb,
   5236         ldjson: *const ::std::os::raw::c_char,
   5237         len: usize,
   5238     ) -> ::std::os::raw::c_int;
   5239 }
   5240 extern "C" {
   5241     pub fn ndb_process_events_with(
   5242         ndb: *mut ndb,
   5243         ldjson: *const ::std::os::raw::c_char,
   5244         json_len: usize,
   5245         meta: *mut ndb_ingest_meta,
   5246     ) -> ::std::os::raw::c_int;
   5247 }
   5248 extern "C" {
   5249     pub fn ndb_process_client_event(
   5250         arg1: *mut ndb,
   5251         json: *const ::std::os::raw::c_char,
   5252         len: ::std::os::raw::c_int,
   5253     ) -> ::std::os::raw::c_int;
   5254 }
   5255 extern "C" {
   5256     pub fn ndb_process_client_events(
   5257         arg1: *mut ndb,
   5258         json: *const ::std::os::raw::c_char,
   5259         len: usize,
   5260     ) -> ::std::os::raw::c_int;
   5261 }
   5262 extern "C" {
   5263     pub fn ndb_begin_query(arg1: *mut ndb, arg2: *mut ndb_txn) -> ::std::os::raw::c_int;
   5264 }
   5265 extern "C" {
   5266     pub fn ndb_search_profile(
   5267         txn: *mut ndb_txn,
   5268         search: *mut ndb_search,
   5269         query: *const ::std::os::raw::c_char,
   5270     ) -> ::std::os::raw::c_int;
   5271 }
   5272 extern "C" {
   5273     pub fn ndb_search_profile_next(search: *mut ndb_search) -> ::std::os::raw::c_int;
   5274 }
   5275 extern "C" {
   5276     pub fn ndb_search_profile_end(search: *mut ndb_search);
   5277 }
   5278 extern "C" {
   5279     pub fn ndb_end_query(arg1: *mut ndb_txn) -> ::std::os::raw::c_int;
   5280 }
   5281 extern "C" {
   5282     pub fn ndb_write_last_profile_fetch(
   5283         ndb: *mut ndb,
   5284         pubkey: *const ::std::os::raw::c_uchar,
   5285         fetched_at: u64,
   5286     ) -> ::std::os::raw::c_int;
   5287 }
   5288 extern "C" {
   5289     pub fn ndb_read_last_profile_fetch(
   5290         txn: *mut ndb_txn,
   5291         pubkey: *const ::std::os::raw::c_uchar,
   5292     ) -> u64;
   5293 }
   5294 extern "C" {
   5295     pub fn ndb_get_profile_by_pubkey(
   5296         txn: *mut ndb_txn,
   5297         pubkey: *const ::std::os::raw::c_uchar,
   5298         len: *mut usize,
   5299         primkey: *mut u64,
   5300     ) -> *mut ::std::os::raw::c_void;
   5301 }
   5302 extern "C" {
   5303     pub fn ndb_get_profile_by_key(
   5304         txn: *mut ndb_txn,
   5305         key: u64,
   5306         len: *mut usize,
   5307     ) -> *mut ::std::os::raw::c_void;
   5308 }
   5309 extern "C" {
   5310     pub fn ndb_get_notekey_by_id(txn: *mut ndb_txn, id: *const ::std::os::raw::c_uchar) -> u64;
   5311 }
   5312 extern "C" {
   5313     pub fn ndb_get_profilekey_by_pubkey(
   5314         txn: *mut ndb_txn,
   5315         id: *const ::std::os::raw::c_uchar,
   5316     ) -> u64;
   5317 }
   5318 extern "C" {
   5319     pub fn ndb_get_note_by_id(
   5320         txn: *mut ndb_txn,
   5321         id: *const ::std::os::raw::c_uchar,
   5322         len: *mut usize,
   5323         primkey: *mut u64,
   5324     ) -> *mut ndb_note;
   5325 }
   5326 extern "C" {
   5327     pub fn ndb_get_note_by_key(txn: *mut ndb_txn, key: u64, len: *mut usize) -> *mut ndb_note;
   5328 }
   5329 extern "C" {
   5330     pub fn ndb_get_note_meta(
   5331         txn: *mut ndb_txn,
   5332         id: *const ::std::os::raw::c_uchar,
   5333         len: *mut usize,
   5334     ) -> *mut ::std::os::raw::c_void;
   5335 }
   5336 extern "C" {
   5337     pub fn ndb_note_seen_on_relay(
   5338         txn: *mut ndb_txn,
   5339         note_key: u64,
   5340         relay: *const ::std::os::raw::c_char,
   5341     ) -> ::std::os::raw::c_int;
   5342 }
   5343 extern "C" {
   5344     pub fn ndb_destroy(arg1: *mut ndb);
   5345 }
   5346 extern "C" {
   5347     pub fn ndb_parse_json_note(
   5348         arg1: *mut ndb_json_parser,
   5349         arg2: *mut *mut ndb_note,
   5350     ) -> ::std::os::raw::c_int;
   5351 }
   5352 extern "C" {
   5353     pub fn ndb_client_event_from_json(
   5354         json: *const ::std::os::raw::c_char,
   5355         len: ::std::os::raw::c_int,
   5356         fce: *mut ndb_fce,
   5357         buf: *mut ::std::os::raw::c_uchar,
   5358         bufsize: ::std::os::raw::c_int,
   5359         cb: *mut ndb_id_cb,
   5360     ) -> ::std::os::raw::c_int;
   5361 }
   5362 extern "C" {
   5363     pub fn ndb_ws_event_from_json(
   5364         json: *const ::std::os::raw::c_char,
   5365         len: ::std::os::raw::c_int,
   5366         tce: *mut ndb_tce,
   5367         buf: *mut ::std::os::raw::c_uchar,
   5368         bufsize: ::std::os::raw::c_int,
   5369         arg1: *mut ndb_id_cb,
   5370     ) -> ::std::os::raw::c_int;
   5371 }
   5372 extern "C" {
   5373     pub fn ndb_note_from_json(
   5374         json: *const ::std::os::raw::c_char,
   5375         len: ::std::os::raw::c_int,
   5376         arg1: *mut *mut ndb_note,
   5377         buf: *mut ::std::os::raw::c_uchar,
   5378         buflen: ::std::os::raw::c_int,
   5379     ) -> ::std::os::raw::c_int;
   5380 }
   5381 extern "C" {
   5382     pub fn ndb_builder_init(
   5383         builder: *mut ndb_builder,
   5384         buf: *mut ::std::os::raw::c_uchar,
   5385         bufsize: usize,
   5386     ) -> ::std::os::raw::c_int;
   5387 }
   5388 extern "C" {
   5389     pub fn ndb_builder_finalize(
   5390         builder: *mut ndb_builder,
   5391         note: *mut *mut ndb_note,
   5392         privkey: *mut ndb_keypair,
   5393     ) -> ::std::os::raw::c_int;
   5394 }
   5395 extern "C" {
   5396     pub fn ndb_builder_set_content(
   5397         builder: *mut ndb_builder,
   5398         content: *const ::std::os::raw::c_char,
   5399         len: ::std::os::raw::c_int,
   5400     ) -> ::std::os::raw::c_int;
   5401 }
   5402 extern "C" {
   5403     pub fn ndb_builder_set_created_at(builder: *mut ndb_builder, created_at: u64);
   5404 }
   5405 extern "C" {
   5406     pub fn ndb_builder_set_sig(builder: *mut ndb_builder, sig: *mut ::std::os::raw::c_uchar);
   5407 }
   5408 extern "C" {
   5409     pub fn ndb_builder_set_pubkey(builder: *mut ndb_builder, pubkey: *mut ::std::os::raw::c_uchar);
   5410 }
   5411 extern "C" {
   5412     pub fn ndb_builder_set_id(builder: *mut ndb_builder, id: *mut ::std::os::raw::c_uchar);
   5413 }
   5414 extern "C" {
   5415     pub fn ndb_builder_set_kind(builder: *mut ndb_builder, kind: u32);
   5416 }
   5417 extern "C" {
   5418     pub fn ndb_builder_new_tag(builder: *mut ndb_builder) -> ::std::os::raw::c_int;
   5419 }
   5420 extern "C" {
   5421     pub fn ndb_builder_push_tag_str(
   5422         builder: *mut ndb_builder,
   5423         str_: *const ::std::os::raw::c_char,
   5424         len: ::std::os::raw::c_int,
   5425     ) -> ::std::os::raw::c_int;
   5426 }
   5427 extern "C" {
   5428     pub fn ndb_filter_init(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
   5429 }
   5430 extern "C" {
   5431     #[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"]
   5432     pub fn ndb_filter_init_with(
   5433         filter: *mut ndb_filter,
   5434         pages: ::std::os::raw::c_int,
   5435     ) -> ::std::os::raw::c_int;
   5436 }
   5437 extern "C" {
   5438     pub fn ndb_filter_add_id_element(
   5439         arg1: *mut ndb_filter,
   5440         id: *const ::std::os::raw::c_uchar,
   5441     ) -> ::std::os::raw::c_int;
   5442 }
   5443 extern "C" {
   5444     pub fn ndb_filter_add_int_element(arg1: *mut ndb_filter, integer: u64)
   5445         -> ::std::os::raw::c_int;
   5446 }
   5447 extern "C" {
   5448     pub fn ndb_filter_add_str_element(
   5449         arg1: *mut ndb_filter,
   5450         str_: *const ::std::os::raw::c_char,
   5451     ) -> ::std::os::raw::c_int;
   5452 }
   5453 extern "C" {
   5454     pub fn ndb_filter_eq(arg1: *const ndb_filter, arg2: *const ndb_filter)
   5455         -> ::std::os::raw::c_int;
   5456 }
   5457 extern "C" {
   5458     #[doc = " is `a` a subset of `b`"]
   5459     pub fn ndb_filter_is_subset_of(
   5460         a: *const ndb_filter,
   5461         b: *const ndb_filter,
   5462     ) -> ::std::os::raw::c_int;
   5463 }
   5464 extern "C" {
   5465     pub fn ndb_filter_from_json(
   5466         arg1: *const ::std::os::raw::c_char,
   5467         len: ::std::os::raw::c_int,
   5468         filter: *mut ndb_filter,
   5469         buf: *mut ::std::os::raw::c_uchar,
   5470         bufsize: ::std::os::raw::c_int,
   5471     ) -> ::std::os::raw::c_int;
   5472 }
   5473 extern "C" {
   5474     pub fn ndb_filter_get_id_element(
   5475         arg1: *const ndb_filter,
   5476         arg2: *const ndb_filter_elements,
   5477         index: ::std::os::raw::c_int,
   5478     ) -> *mut ::std::os::raw::c_uchar;
   5479 }
   5480 extern "C" {
   5481     pub fn ndb_filter_get_string_element(
   5482         arg1: *const ndb_filter,
   5483         arg2: *const ndb_filter_elements,
   5484         index: ::std::os::raw::c_int,
   5485     ) -> *const ::std::os::raw::c_char;
   5486 }
   5487 extern "C" {
   5488     pub fn ndb_filter_get_int_element(
   5489         arg1: *const ndb_filter_elements,
   5490         index: ::std::os::raw::c_int,
   5491     ) -> u64;
   5492 }
   5493 extern "C" {
   5494     pub fn ndb_filter_get_int_element_ptr(
   5495         arg1: *mut ndb_filter_elements,
   5496         index: ::std::os::raw::c_int,
   5497     ) -> *mut u64;
   5498 }
   5499 extern "C" {
   5500     pub fn ndb_filter_current_element(arg1: *const ndb_filter) -> *mut ndb_filter_elements;
   5501 }
   5502 extern "C" {
   5503     pub fn ndb_filter_get_elements(
   5504         arg1: *const ndb_filter,
   5505         arg2: ::std::os::raw::c_int,
   5506     ) -> *mut ndb_filter_elements;
   5507 }
   5508 extern "C" {
   5509     pub fn ndb_filter_start_field(
   5510         arg1: *mut ndb_filter,
   5511         arg2: ndb_filter_fieldtype,
   5512     ) -> ::std::os::raw::c_int;
   5513 }
   5514 extern "C" {
   5515     pub fn ndb_filter_start_tag_field(
   5516         arg1: *mut ndb_filter,
   5517         tag: ::std::os::raw::c_char,
   5518     ) -> ::std::os::raw::c_int;
   5519 }
   5520 extern "C" {
   5521     pub fn ndb_filter_matches(arg1: *mut ndb_filter, arg2: *mut ndb_note) -> ::std::os::raw::c_int;
   5522 }
   5523 extern "C" {
   5524     pub fn ndb_filter_clone(dst: *mut ndb_filter, src: *mut ndb_filter) -> ::std::os::raw::c_int;
   5525 }
   5526 extern "C" {
   5527     pub fn ndb_filter_end(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
   5528 }
   5529 extern "C" {
   5530     pub fn ndb_filter_end_field(arg1: *mut ndb_filter);
   5531 }
   5532 extern "C" {
   5533     pub fn ndb_filter_destroy(arg1: *mut ndb_filter);
   5534 }
   5535 extern "C" {
   5536     pub fn ndb_filter_json(
   5537         arg1: *const ndb_filter,
   5538         buf: *mut ::std::os::raw::c_char,
   5539         buflen: ::std::os::raw::c_int,
   5540     ) -> ::std::os::raw::c_int;
   5541 }
   5542 extern "C" {
   5543     pub fn ndb_subscribe(
   5544         arg1: *mut ndb,
   5545         arg2: *mut ndb_filter,
   5546         num_filters: ::std::os::raw::c_int,
   5547     ) -> u64;
   5548 }
   5549 extern "C" {
   5550     pub fn ndb_wait_for_notes(
   5551         arg1: *mut ndb,
   5552         subid: u64,
   5553         note_ids: *mut u64,
   5554         note_id_capacity: ::std::os::raw::c_int,
   5555     ) -> ::std::os::raw::c_int;
   5556 }
   5557 extern "C" {
   5558     pub fn ndb_poll_for_notes(
   5559         arg1: *mut ndb,
   5560         subid: u64,
   5561         note_ids: *mut u64,
   5562         note_id_capacity: ::std::os::raw::c_int,
   5563     ) -> ::std::os::raw::c_int;
   5564 }
   5565 extern "C" {
   5566     pub fn ndb_unsubscribe(arg1: *mut ndb, subid: u64) -> ::std::os::raw::c_int;
   5567 }
   5568 extern "C" {
   5569     pub fn ndb_num_subscriptions(arg1: *mut ndb) -> ::std::os::raw::c_int;
   5570 }
   5571 extern "C" {
   5572     pub fn ndb_text_search(
   5573         txn: *mut ndb_txn,
   5574         query: *const ::std::os::raw::c_char,
   5575         arg1: *mut ndb_text_search_results,
   5576         arg2: *mut ndb_text_search_config,
   5577     ) -> ::std::os::raw::c_int;
   5578 }
   5579 extern "C" {
   5580     pub fn ndb_text_search_with(
   5581         txn: *mut ndb_txn,
   5582         query: *const ::std::os::raw::c_char,
   5583         arg1: *mut ndb_text_search_results,
   5584         arg2: *mut ndb_text_search_config,
   5585         filter: *mut ndb_filter,
   5586     ) -> ::std::os::raw::c_int;
   5587 }
   5588 extern "C" {
   5589     pub fn ndb_default_text_search_config(arg1: *mut ndb_text_search_config);
   5590 }
   5591 extern "C" {
   5592     pub fn ndb_text_search_config_set_order(
   5593         arg1: *mut ndb_text_search_config,
   5594         arg2: ndb_search_order,
   5595     );
   5596 }
   5597 extern "C" {
   5598     pub fn ndb_text_search_config_set_limit(
   5599         arg1: *mut ndb_text_search_config,
   5600         limit: ::std::os::raw::c_int,
   5601     );
   5602 }
   5603 extern "C" {
   5604     pub fn ndb_query(
   5605         txn: *mut ndb_txn,
   5606         filters: *mut ndb_filter,
   5607         num_filters: ::std::os::raw::c_int,
   5608         results: *mut ndb_query_result,
   5609         result_capacity: ::std::os::raw::c_int,
   5610         count: *mut ::std::os::raw::c_int,
   5611     ) -> ::std::os::raw::c_int;
   5612 }
   5613 extern "C" {
   5614     pub fn ndb_stat(ndb: *mut ndb, stat: *mut ndb_stat) -> ::std::os::raw::c_int;
   5615 }
   5616 extern "C" {
   5617     pub fn ndb_stat_counts_init(counts: *mut ndb_stat_counts);
   5618 }
   5619 extern "C" {
   5620     pub fn ndb_note_content(note: *mut ndb_note) -> *const ::std::os::raw::c_char;
   5621 }
   5622 extern "C" {
   5623     pub fn ndb_note_str(note: *mut ndb_note, pstr: *mut ndb_packed_str) -> ndb_str;
   5624 }
   5625 extern "C" {
   5626     pub fn ndb_note_content_length(note: *mut ndb_note) -> u32;
   5627 }
   5628 extern "C" {
   5629     pub fn ndb_note_created_at(note: *mut ndb_note) -> u32;
   5630 }
   5631 extern "C" {
   5632     pub fn ndb_note_kind(note: *mut ndb_note) -> u32;
   5633 }
   5634 extern "C" {
   5635     pub fn ndb_note_id(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
   5636 }
   5637 extern "C" {
   5638     pub fn ndb_note_pubkey(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
   5639 }
   5640 extern "C" {
   5641     pub fn ndb_note_sig(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
   5642 }
   5643 extern "C" {
   5644     pub fn _ndb_note_set_kind(note: *mut ndb_note, kind: u32);
   5645 }
   5646 extern "C" {
   5647     pub fn ndb_note_tags(note: *mut ndb_note) -> *mut ndb_tags;
   5648 }
   5649 extern "C" {
   5650     pub fn ndb_str_len(str_: *mut ndb_str) -> ::std::os::raw::c_int;
   5651 }
   5652 extern "C" {
   5653     #[doc = " write the note as json to a buffer"]
   5654     pub fn ndb_note_json(
   5655         arg1: *mut ndb_note,
   5656         buf: *mut ::std::os::raw::c_char,
   5657         buflen: ::std::os::raw::c_int,
   5658     ) -> ::std::os::raw::c_int;
   5659 }
   5660 extern "C" {
   5661     pub fn ndb_tags_iterate_start(note: *mut ndb_note, iter: *mut ndb_iterator);
   5662 }
   5663 extern "C" {
   5664     pub fn ndb_tags_count(arg1: *mut ndb_tags) -> u16;
   5665 }
   5666 extern "C" {
   5667     pub fn ndb_tag_count(arg1: *mut ndb_tag) -> u16;
   5668 }
   5669 extern "C" {
   5670     pub fn ndb_tags_iterate_next(iter: *mut ndb_iterator) -> ::std::os::raw::c_int;
   5671 }
   5672 extern "C" {
   5673     pub fn ndb_iter_tag_str(iter: *mut ndb_iterator, ind: ::std::os::raw::c_int) -> ndb_str;
   5674 }
   5675 extern "C" {
   5676     pub fn ndb_tag_str(
   5677         note: *mut ndb_note,
   5678         tag: *mut ndb_tag,
   5679         ind: ::std::os::raw::c_int,
   5680     ) -> ndb_str;
   5681 }
   5682 extern "C" {
   5683     pub fn ndb_note_relay_iterate_start(
   5684         txn: *mut ndb_txn,
   5685         iter: *mut ndb_note_relay_iterator,
   5686         note_key: u64,
   5687     ) -> ::std::os::raw::c_int;
   5688 }
   5689 extern "C" {
   5690     pub fn ndb_note_relay_iterate_next(
   5691         iter: *mut ndb_note_relay_iterator,
   5692     ) -> *const ::std::os::raw::c_char;
   5693 }
   5694 extern "C" {
   5695     pub fn ndb_note_relay_iterate_close(iter: *mut ndb_note_relay_iterator);
   5696 }
   5697 extern "C" {
   5698     pub fn ndb_db_name(db: ndb_dbs) -> *const ::std::os::raw::c_char;
   5699 }
   5700 extern "C" {
   5701     pub fn ndb_kind_name(ck: ndb_common_kind) -> *const ::std::os::raw::c_char;
   5702 }
   5703 extern "C" {
   5704     pub fn ndb_kind_to_common_kind(kind: ::std::os::raw::c_int) -> ndb_common_kind;
   5705 }
   5706 extern "C" {
   5707     pub fn ndb_parse_content(
   5708         buf: *mut ::std::os::raw::c_uchar,
   5709         buf_size: ::std::os::raw::c_int,
   5710         content: *const ::std::os::raw::c_char,
   5711         content_len: ::std::os::raw::c_int,
   5712         blocks_p: *mut *mut ndb_blocks,
   5713     ) -> ::std::os::raw::c_int;
   5714 }
   5715 extern "C" {
   5716     pub fn ndb_get_block_type(block: *mut ndb_block) -> ndb_block_type;
   5717 }
   5718 extern "C" {
   5719     pub fn ndb_blocks_flags(block: *mut ndb_blocks) -> ::std::os::raw::c_int;
   5720 }
   5721 extern "C" {
   5722     pub fn ndb_blocks_total_size(blocks: *mut ndb_blocks) -> usize;
   5723 }
   5724 extern "C" {
   5725     pub fn ndb_blocks_word_count(blocks: *mut ndb_blocks) -> ::std::os::raw::c_int;
   5726 }
   5727 extern "C" {
   5728     #[doc = " Free blocks if they are owned, safe to call on unowned blocks as well."]
   5729     pub fn ndb_blocks_free(blocks: *mut ndb_blocks);
   5730 }
   5731 extern "C" {
   5732     pub fn ndb_get_blocks_by_key(
   5733         ndb: *mut ndb,
   5734         txn: *mut ndb_txn,
   5735         note_key: u64,
   5736     ) -> *mut ndb_blocks;
   5737 }
   5738 extern "C" {
   5739     pub fn ndb_blocks_iterate_start(
   5740         arg1: *const ::std::os::raw::c_char,
   5741         arg2: *mut ndb_blocks,
   5742         arg3: *mut ndb_block_iterator,
   5743     );
   5744 }
   5745 extern "C" {
   5746     pub fn ndb_blocks_iterate_next(arg1: *mut ndb_block_iterator) -> *mut ndb_block;
   5747 }
   5748 extern "C" {
   5749     pub fn ndb_block_str(arg1: *mut ndb_block) -> *mut ndb_str_block;
   5750 }
   5751 extern "C" {
   5752     pub fn ndb_str_block_ptr(arg1: *mut ndb_str_block) -> *const ::std::os::raw::c_char;
   5753 }
   5754 extern "C" {
   5755     pub fn ndb_str_block_len(arg1: *mut ndb_str_block) -> u32;
   5756 }
   5757 extern "C" {
   5758     pub fn ndb_bech32_block(block: *mut ndb_block) -> *mut nostr_bech32;
   5759 }
   5760 #[repr(C)]
   5761 #[derive(Debug, Copy, Clone)]
   5762 pub struct __crt_locale_data {
   5763     pub _address: u8,
   5764 }
   5765 #[repr(C)]
   5766 #[derive(Debug, Copy, Clone)]
   5767 pub struct __crt_multibyte_data {
   5768     pub _address: u8,
   5769 }
   5770 pub type __builtin_va_list = *mut ::std::os::raw::c_char;