commit c946dcf34ad6970decdc318c8e3b54354f76aaf0
parent 9bbafd8a2e904b77a51e7cfca71eb5bb5650e829
Author: William Casarin <jb55@jb55.com>
Date: Thu, 28 Nov 2024 10:27:34 -0800
Merge Windows support #20
William Casarin (10):
build: ensure we build secp first
build: just include secp256k1 directly into nostrdb
fmt: formatting and clippy
initial windows support
macos: enable framework stuff
multi-platform build
note: explicit clone implementation
rustfmt and clippy time
win: use separate bindings for windows
Diffstat:
13 files changed, 12312 insertions(+), 6484 deletions(-)
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
@@ -0,0 +1,36 @@
+name: Build & Test
+
+on:
+ workflow_call:
+ inputs:
+ os:
+ required: true
+ type: string
+ additional-setup:
+ required: false
+ type: string
+
+jobs:
+ run:
+ runs-on: ${{ inputs.os }}
+ steps:
+ - name: Checkout Code
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+
+ - name: Rust toolchain
+ uses: dtolnay/rust-toolchain@stable
+
+ - name: Rust cache
+ uses: Swatinem/rust-cache@v2
+
+ - name: Additional Setup (if specified)
+ if: ${{ inputs.additional-setup != '' }}
+ run: ${{ inputs.additional-setup }}
+
+ - name: Run Tests
+ run: cargo test --release
+
+ - name: Build
+ run: cargo build --release
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
@@ -1,24 +1,47 @@
name: Rust
-on:
- push:
- branches: [ "master", "ci" ]
- pull_request:
- branches: [ "master" ]
+on: [pull_request]
env:
CARGO_TERM_COLOR: always
jobs:
- build:
-
+ fmt:
+ name: Rustfmt
runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: dtolnay/rust-toolchain@stable
+ with:
+ components: rustfmt
+ - run: cargo fmt --all -- --check
+ clippy:
+ name: Clippy
+ runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
- - name: Initialize Submodules
- run: git submodule update --init --recursive
- - name: Build
- run: cargo build --verbose
- - name: Run tests
- run: cargo test --verbose
+ - uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ - uses: dtolnay/rust-toolchain@stable
+ with:
+ components: clippy
+ - run: cargo clippy -- -D warnings
+
+ linux-build-test:
+ name: Build and Test (Linux)
+ uses: ./.github/workflows/build-and-test.yml
+ with:
+ os: ubuntu-latest
+
+ macos-build-test:
+ name: Build and Test (macOS)
+ uses: ./.github/workflows/build-and-test.yml
+ with:
+ os: macos-latest
+
+ windows-build-test:
+ name: Build and Test (Windows)
+ uses: ./.github/workflows/build-and-test.yml
+ with:
+ os: windows-latest
diff --git a/build.rs b/build.rs
@@ -3,16 +3,16 @@ use cc::Build;
use std::env;
use std::path::PathBuf;
-fn secp256k1_build() {
+fn secp256k1_build(base_config: &mut Build) {
// Actual build
- let mut base_config = cc::Build::new();
+ //let mut base_config = cc::Build::new();
base_config
.include("nostrdb/deps/secp256k1/")
.include("nostrdb/deps/secp256k1/include")
.include("nostrdb/deps/secp256k1/src")
.flag_if_supported("-Wno-unused-function") // some ecmult stuff is defined but not used upstream
.flag_if_supported("-Wno-unused-parameter") // patching out printf causes this warning
- //.define("SECP256K1_API", Some(""))
+ .define("SECP256K1_STATIC", "1")
.define("ENABLE_MODULE_ECDH", Some("1"))
.define("ENABLE_MODULE_SCHNORRSIG", Some("1"))
.define("ENABLE_MODULE_EXTRAKEYS", Some("1"));
@@ -34,13 +34,25 @@ fn secp256k1_build() {
base_config.flag("-O1");
}
- if base_config.try_compile("libsecp256k1.a").is_err() {
- // Some embedded platforms may not have, eg, string.h available, so if the build fails
- // simply try again with the wasm sysroot (but without the wasm type sizes) in the hopes
- // that it works.
- base_config.include("wasm/wasm-sysroot");
- base_config.compile("libsecp256k1.a");
- }
+ //base_config.compile("libsecp256k1.a");
+}
+
+/// bolt11 deps with portability issues, exclude these on windows build
+fn bolt11_deps() -> &'static [&'static str] {
+ &[
+ "nostrdb/ccan/ccan/likely/likely.c",
+ "nostrdb/ccan/ccan/list/list.c",
+ "nostrdb/ccan/ccan/mem/mem.c",
+ "nostrdb/ccan/ccan/str/debug.c",
+ "nostrdb/ccan/ccan/str/str.c",
+ "nostrdb/ccan/ccan/take/take.c",
+ "nostrdb/ccan/ccan/tal/str/str.c",
+ "nostrdb/ccan/ccan/tal/tal.c",
+ "nostrdb/ccan/ccan/utf8/utf8.c",
+ "nostrdb/src/bolt11/bolt11.c",
+ "nostrdb/src/bolt11/amount.c",
+ "nostrdb/src/bolt11/hash_u5.c",
+ ]
}
fn main() {
@@ -50,30 +62,11 @@ fn main() {
build
.files([
"nostrdb/src/nostrdb.c",
- "nostrdb/src/bolt11/bolt11.c",
- "nostrdb/src/bolt11/amount.c",
- "nostrdb/src/bolt11/bech32.c",
- "nostrdb/src/bolt11/hash_u5.c",
"nostrdb/src/invoice.c",
"nostrdb/src/nostr_bech32.c",
"nostrdb/src/content_parser.c",
"nostrdb/ccan/ccan/crypto/sha256/sha256.c",
- //"nostrdb/ccan/ccan/htable/htable.c",
- //"nostrdb/ccan/ccan/htable/tools/density.c",
- //"nostrdb/ccan/ccan/htable/tools/hsearchspeed.c",
- //"nostrdb/ccan/ccan/htable/tools/speed.c",
- //"nostrdb/ccan/ccan/htable/tools/stringspeed.c",
- "nostrdb/ccan/ccan/likely/likely.c",
- "nostrdb/ccan/ccan/list/list.c",
- "nostrdb/ccan/ccan/mem/mem.c",
- "nostrdb/ccan/ccan/str/debug.c",
- "nostrdb/ccan/ccan/str/str.c",
- "nostrdb/ccan/ccan/take/take.c",
- //"nostrdb/ccan/ccan/tal/benchmark/samba-allocs.c",
- //"nostrdb/ccan/ccan/tal/benchmark/speed.c",
- "nostrdb/ccan/ccan/tal/str/str.c",
- "nostrdb/ccan/ccan/tal/tal.c",
- "nostrdb/ccan/ccan/utf8/utf8.c",
+ "nostrdb/src/bolt11/bech32.c",
"nostrdb/src/block.c",
"nostrdb/deps/flatcc/src/runtime/json_parser.c",
"nostrdb/deps/flatcc/src/runtime/verifier.c",
@@ -87,41 +80,49 @@ fn main() {
.include("nostrdb/deps/flatcc/include")
.include("nostrdb/deps/secp256k1/include")
.include("nostrdb/ccan")
- .include("nostrdb/src")
- // Add other include paths
- //.flag("-Wall")
- .flag("-Wno-sign-compare")
- .flag("-Wno-misleading-indentation")
- .flag("-Wno-unused-function")
- .flag("-Wno-unused-parameter");
+ .include("nostrdb/src");
+ // Add other include paths
+ //.flag("-Wall")
//.flag("-Werror")
//.flag("-g")
+ // Link Security framework on macOS
+ if !cfg!(target_os = "windows") {
+ build.files(bolt11_deps());
+ build
+ .flag("-Wno-sign-compare")
+ .flag("-Wno-misleading-indentation")
+ .flag("-Wno-unused-function")
+ .flag("-Wno-unused-parameter");
+ } else {
+ // need this on windows
+ println!("cargo:rustc-link-lib=bcrypt");
+ }
+
if env::var("PROFILE").unwrap() == "debug" {
build.flag("-DDEBUG");
build.flag("-O1");
}
+ // Print out the path to the compiled library
+ let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
+ println!("cargo:rustc-link-search=native={}", out_path.display());
+
+ secp256k1_build(&mut build);
+
build.compile("libnostrdb.a");
- secp256k1_build();
+ println!("cargo:rustc-link-lib=static=nostrdb");
// Re-run the build script if any of the C files or headers change
for file in &["nostrdb/src/nostrdb.c", "nostrdb/src/nostrdb.h"] {
println!("cargo:rerun-if-changed={}", file);
}
- println!("cargo:rustc-link-lib=secp256k1");
-
- // Print out the path to the compiled library
- let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
- println!("cargo:rustc-link-search=native={}", out_path.display());
- println!("cargo:rustc-link-lib=static=nostrdb");
-
// Link Security framework on macOS
- //if cfg!(target_os = "macos") {
- //println!("cargo:rustc-link-lib=framework=Security");
- //}
+ if cfg!(target_os = "macos") {
+ println!("cargo:rustc-link-lib=framework=Security");
+ }
//
// We only need bindgen when we update the bindings.
@@ -137,8 +138,14 @@ fn main() {
.generate()
.expect("Unable to generate bindings");
+ #[cfg(target_os = "windows")]
+ let filename = "src/bindings_win.rs";
+
+ #[cfg(not(target_os = "windows"))]
+ let filename = "src/bindings_posix.rs";
+
bindings
- .write_to_file("src/bindings.rs")
+ .write_to_file(filename)
.expect("Couldn't write bindings!");
}
}
diff --git a/src/bindings.rs b/src/bindings.rs
@@ -1,6035 +1,5 @@
-/* automatically generated by rust-bindgen 0.69.2 */
+#[cfg(target_os = "windows")]
+include! {"bindings_win.rs"}
-#[repr(C)]
-#[derive(Default)]
-pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
-impl<T> __IncompleteArrayField<T> {
- #[inline]
- pub const fn new() -> Self {
- __IncompleteArrayField(::std::marker::PhantomData, [])
- }
- #[inline]
- pub fn as_ptr(&self) -> *const T {
- self as *const _ as *const T
- }
- #[inline]
- pub fn as_mut_ptr(&mut self) -> *mut T {
- self as *mut _ as *mut T
- }
- #[inline]
- pub unsafe fn as_slice(&self, len: usize) -> &[T] {
- ::std::slice::from_raw_parts(self.as_ptr(), len)
- }
- #[inline]
- pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
- ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
- }
-}
-impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
- fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
- fmt.write_str("__IncompleteArrayField")
- }
-}
-pub const __PRI_8_LENGTH_MODIFIER__: &[u8; 3] = b"hh\0";
-pub const __PRI_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0";
-pub const __SCN_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0";
-pub const __PRI_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0";
-pub const __SCN_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0";
-pub const PRId8: &[u8; 4] = b"hhd\0";
-pub const PRIi8: &[u8; 4] = b"hhi\0";
-pub const PRIo8: &[u8; 4] = b"hho\0";
-pub const PRIu8: &[u8; 4] = b"hhu\0";
-pub const PRIx8: &[u8; 4] = b"hhx\0";
-pub const PRIX8: &[u8; 4] = b"hhX\0";
-pub const PRId16: &[u8; 3] = b"hd\0";
-pub const PRIi16: &[u8; 3] = b"hi\0";
-pub const PRIo16: &[u8; 3] = b"ho\0";
-pub const PRIu16: &[u8; 3] = b"hu\0";
-pub const PRIx16: &[u8; 3] = b"hx\0";
-pub const PRIX16: &[u8; 3] = b"hX\0";
-pub const PRId32: &[u8; 2] = b"d\0";
-pub const PRIi32: &[u8; 2] = b"i\0";
-pub const PRIo32: &[u8; 2] = b"o\0";
-pub const PRIu32: &[u8; 2] = b"u\0";
-pub const PRIx32: &[u8; 2] = b"x\0";
-pub const PRIX32: &[u8; 2] = b"X\0";
-pub const PRId64: &[u8; 4] = b"lld\0";
-pub const PRIi64: &[u8; 4] = b"lli\0";
-pub const PRIo64: &[u8; 4] = b"llo\0";
-pub const PRIu64: &[u8; 4] = b"llu\0";
-pub const PRIx64: &[u8; 4] = b"llx\0";
-pub const PRIX64: &[u8; 4] = b"llX\0";
-pub const PRIdLEAST8: &[u8; 4] = b"hhd\0";
-pub const PRIiLEAST8: &[u8; 4] = b"hhi\0";
-pub const PRIoLEAST8: &[u8; 4] = b"hho\0";
-pub const PRIuLEAST8: &[u8; 4] = b"hhu\0";
-pub const PRIxLEAST8: &[u8; 4] = b"hhx\0";
-pub const PRIXLEAST8: &[u8; 4] = b"hhX\0";
-pub const PRIdLEAST16: &[u8; 3] = b"hd\0";
-pub const PRIiLEAST16: &[u8; 3] = b"hi\0";
-pub const PRIoLEAST16: &[u8; 3] = b"ho\0";
-pub const PRIuLEAST16: &[u8; 3] = b"hu\0";
-pub const PRIxLEAST16: &[u8; 3] = b"hx\0";
-pub const PRIXLEAST16: &[u8; 3] = b"hX\0";
-pub const PRIdLEAST32: &[u8; 2] = b"d\0";
-pub const PRIiLEAST32: &[u8; 2] = b"i\0";
-pub const PRIoLEAST32: &[u8; 2] = b"o\0";
-pub const PRIuLEAST32: &[u8; 2] = b"u\0";
-pub const PRIxLEAST32: &[u8; 2] = b"x\0";
-pub const PRIXLEAST32: &[u8; 2] = b"X\0";
-pub const PRIdLEAST64: &[u8; 4] = b"lld\0";
-pub const PRIiLEAST64: &[u8; 4] = b"lli\0";
-pub const PRIoLEAST64: &[u8; 4] = b"llo\0";
-pub const PRIuLEAST64: &[u8; 4] = b"llu\0";
-pub const PRIxLEAST64: &[u8; 4] = b"llx\0";
-pub const PRIXLEAST64: &[u8; 4] = b"llX\0";
-pub const PRIdFAST8: &[u8; 4] = b"hhd\0";
-pub const PRIiFAST8: &[u8; 4] = b"hhi\0";
-pub const PRIoFAST8: &[u8; 4] = b"hho\0";
-pub const PRIuFAST8: &[u8; 4] = b"hhu\0";
-pub const PRIxFAST8: &[u8; 4] = b"hhx\0";
-pub const PRIXFAST8: &[u8; 4] = b"hhX\0";
-pub const PRIdFAST16: &[u8; 3] = b"hd\0";
-pub const PRIiFAST16: &[u8; 3] = b"hi\0";
-pub const PRIoFAST16: &[u8; 3] = b"ho\0";
-pub const PRIuFAST16: &[u8; 3] = b"hu\0";
-pub const PRIxFAST16: &[u8; 3] = b"hx\0";
-pub const PRIXFAST16: &[u8; 3] = b"hX\0";
-pub const PRIdFAST32: &[u8; 2] = b"d\0";
-pub const PRIiFAST32: &[u8; 2] = b"i\0";
-pub const PRIoFAST32: &[u8; 2] = b"o\0";
-pub const PRIuFAST32: &[u8; 2] = b"u\0";
-pub const PRIxFAST32: &[u8; 2] = b"x\0";
-pub const PRIXFAST32: &[u8; 2] = b"X\0";
-pub const PRIdFAST64: &[u8; 4] = b"lld\0";
-pub const PRIiFAST64: &[u8; 4] = b"lli\0";
-pub const PRIoFAST64: &[u8; 4] = b"llo\0";
-pub const PRIuFAST64: &[u8; 4] = b"llu\0";
-pub const PRIxFAST64: &[u8; 4] = b"llx\0";
-pub const PRIXFAST64: &[u8; 4] = b"llX\0";
-pub const PRIdPTR: &[u8; 3] = b"ld\0";
-pub const PRIiPTR: &[u8; 3] = b"li\0";
-pub const PRIoPTR: &[u8; 3] = b"lo\0";
-pub const PRIuPTR: &[u8; 3] = b"lu\0";
-pub const PRIxPTR: &[u8; 3] = b"lx\0";
-pub const PRIXPTR: &[u8; 3] = b"lX\0";
-pub const PRIdMAX: &[u8; 3] = b"jd\0";
-pub const PRIiMAX: &[u8; 3] = b"ji\0";
-pub const PRIoMAX: &[u8; 3] = b"jo\0";
-pub const PRIuMAX: &[u8; 3] = b"ju\0";
-pub const PRIxMAX: &[u8; 3] = b"jx\0";
-pub const PRIXMAX: &[u8; 3] = b"jX\0";
-pub const SCNd8: &[u8; 4] = b"hhd\0";
-pub const SCNi8: &[u8; 4] = b"hhi\0";
-pub const SCNo8: &[u8; 4] = b"hho\0";
-pub const SCNu8: &[u8; 4] = b"hhu\0";
-pub const SCNx8: &[u8; 4] = b"hhx\0";
-pub const SCNd16: &[u8; 3] = b"hd\0";
-pub const SCNi16: &[u8; 3] = b"hi\0";
-pub const SCNo16: &[u8; 3] = b"ho\0";
-pub const SCNu16: &[u8; 3] = b"hu\0";
-pub const SCNx16: &[u8; 3] = b"hx\0";
-pub const SCNd32: &[u8; 2] = b"d\0";
-pub const SCNi32: &[u8; 2] = b"i\0";
-pub const SCNo32: &[u8; 2] = b"o\0";
-pub const SCNu32: &[u8; 2] = b"u\0";
-pub const SCNx32: &[u8; 2] = b"x\0";
-pub const SCNd64: &[u8; 4] = b"lld\0";
-pub const SCNi64: &[u8; 4] = b"lli\0";
-pub const SCNo64: &[u8; 4] = b"llo\0";
-pub const SCNu64: &[u8; 4] = b"llu\0";
-pub const SCNx64: &[u8; 4] = b"llx\0";
-pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
-pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
-pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
-pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
-pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
-pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
-pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
-pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
-pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
-pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
-pub const SCNdLEAST32: &[u8; 2] = b"d\0";
-pub const SCNiLEAST32: &[u8; 2] = b"i\0";
-pub const SCNoLEAST32: &[u8; 2] = b"o\0";
-pub const SCNuLEAST32: &[u8; 2] = b"u\0";
-pub const SCNxLEAST32: &[u8; 2] = b"x\0";
-pub const SCNdLEAST64: &[u8; 4] = b"lld\0";
-pub const SCNiLEAST64: &[u8; 4] = b"lli\0";
-pub const SCNoLEAST64: &[u8; 4] = b"llo\0";
-pub const SCNuLEAST64: &[u8; 4] = b"llu\0";
-pub const SCNxLEAST64: &[u8; 4] = b"llx\0";
-pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
-pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
-pub const SCNoFAST8: &[u8; 4] = b"hho\0";
-pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
-pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
-pub const SCNdFAST16: &[u8; 3] = b"hd\0";
-pub const SCNiFAST16: &[u8; 3] = b"hi\0";
-pub const SCNoFAST16: &[u8; 3] = b"ho\0";
-pub const SCNuFAST16: &[u8; 3] = b"hu\0";
-pub const SCNxFAST16: &[u8; 3] = b"hx\0";
-pub const SCNdFAST32: &[u8; 2] = b"d\0";
-pub const SCNiFAST32: &[u8; 2] = b"i\0";
-pub const SCNoFAST32: &[u8; 2] = b"o\0";
-pub const SCNuFAST32: &[u8; 2] = b"u\0";
-pub const SCNxFAST32: &[u8; 2] = b"x\0";
-pub const SCNdFAST64: &[u8; 4] = b"lld\0";
-pub const SCNiFAST64: &[u8; 4] = b"lli\0";
-pub const SCNoFAST64: &[u8; 4] = b"llo\0";
-pub const SCNuFAST64: &[u8; 4] = b"llu\0";
-pub const SCNxFAST64: &[u8; 4] = b"llx\0";
-pub const SCNdPTR: &[u8; 3] = b"ld\0";
-pub const SCNiPTR: &[u8; 3] = b"li\0";
-pub const SCNoPTR: &[u8; 3] = b"lo\0";
-pub const SCNuPTR: &[u8; 3] = b"lu\0";
-pub const SCNxPTR: &[u8; 3] = b"lx\0";
-pub const SCNdMAX: &[u8; 3] = b"jd\0";
-pub const SCNiMAX: &[u8; 3] = b"ji\0";
-pub const SCNoMAX: &[u8; 3] = b"jo\0";
-pub const SCNuMAX: &[u8; 3] = b"ju\0";
-pub const SCNxMAX: &[u8; 3] = b"jx\0";
-pub const __has_safe_buffers: u32 = 1;
-pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
-pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
-pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
-pub const __DARWIN_UNIX03: u32 = 1;
-pub const __DARWIN_64_BIT_INO_T: u32 = 1;
-pub const __DARWIN_VERS_1050: u32 = 1;
-pub const __DARWIN_NON_CANCELABLE: u32 = 0;
-pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
-pub const __DARWIN_C_ANSI: u32 = 4096;
-pub const __DARWIN_C_FULL: u32 = 900000;
-pub const __DARWIN_C_LEVEL: u32 = 900000;
-pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
-pub const __DARWIN_NO_LONG_LONG: u32 = 0;
-pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
-pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
-pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
-pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
-pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
-pub const __has_ptrcheck: u32 = 0;
-pub const __API_TO_BE_DEPRECATED: u32 = 100000;
-pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000;
-pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000;
-pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000;
-pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000;
-pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000;
-pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000;
-pub const __API_TO_BE_DEPRECATED_VISIONOS: u32 = 100000;
-pub const __MAC_10_0: u32 = 1000;
-pub const __MAC_10_1: u32 = 1010;
-pub const __MAC_10_2: u32 = 1020;
-pub const __MAC_10_3: u32 = 1030;
-pub const __MAC_10_4: u32 = 1040;
-pub const __MAC_10_5: u32 = 1050;
-pub const __MAC_10_6: u32 = 1060;
-pub const __MAC_10_7: u32 = 1070;
-pub const __MAC_10_8: u32 = 1080;
-pub const __MAC_10_9: u32 = 1090;
-pub const __MAC_10_10: u32 = 101000;
-pub const __MAC_10_10_2: u32 = 101002;
-pub const __MAC_10_10_3: u32 = 101003;
-pub const __MAC_10_11: u32 = 101100;
-pub const __MAC_10_11_2: u32 = 101102;
-pub const __MAC_10_11_3: u32 = 101103;
-pub const __MAC_10_11_4: u32 = 101104;
-pub const __MAC_10_12: u32 = 101200;
-pub const __MAC_10_12_1: u32 = 101201;
-pub const __MAC_10_12_2: u32 = 101202;
-pub const __MAC_10_12_4: u32 = 101204;
-pub const __MAC_10_13: u32 = 101300;
-pub const __MAC_10_13_1: u32 = 101301;
-pub const __MAC_10_13_2: u32 = 101302;
-pub const __MAC_10_13_4: u32 = 101304;
-pub const __MAC_10_14: u32 = 101400;
-pub const __MAC_10_14_1: u32 = 101401;
-pub const __MAC_10_14_4: u32 = 101404;
-pub const __MAC_10_14_5: u32 = 101405;
-pub const __MAC_10_14_6: u32 = 101406;
-pub const __MAC_10_15: u32 = 101500;
-pub const __MAC_10_15_1: u32 = 101501;
-pub const __MAC_10_15_4: u32 = 101504;
-pub const __MAC_10_16: u32 = 101600;
-pub const __MAC_11_0: u32 = 110000;
-pub const __MAC_11_1: u32 = 110100;
-pub const __MAC_11_3: u32 = 110300;
-pub const __MAC_11_4: u32 = 110400;
-pub const __MAC_11_5: u32 = 110500;
-pub const __MAC_11_6: u32 = 110600;
-pub const __MAC_12_0: u32 = 120000;
-pub const __MAC_12_1: u32 = 120100;
-pub const __MAC_12_2: u32 = 120200;
-pub const __MAC_12_3: u32 = 120300;
-pub const __MAC_12_4: u32 = 120400;
-pub const __MAC_12_5: u32 = 120500;
-pub const __MAC_12_6: u32 = 120600;
-pub const __MAC_12_7: u32 = 120700;
-pub const __MAC_13_0: u32 = 130000;
-pub const __MAC_13_1: u32 = 130100;
-pub const __MAC_13_2: u32 = 130200;
-pub const __MAC_13_3: u32 = 130300;
-pub const __MAC_13_4: u32 = 130400;
-pub const __MAC_13_5: u32 = 130500;
-pub const __MAC_13_6: u32 = 130600;
-pub const __MAC_14_0: u32 = 140000;
-pub const __MAC_14_1: u32 = 140100;
-pub const __MAC_14_2: u32 = 140200;
-pub const __MAC_14_3: u32 = 140300;
-pub const __MAC_14_4: u32 = 140400;
-pub const __MAC_14_5: u32 = 140500;
-pub const __MAC_15_0: u32 = 150000;
-pub const __IPHONE_2_0: u32 = 20000;
-pub const __IPHONE_2_1: u32 = 20100;
-pub const __IPHONE_2_2: u32 = 20200;
-pub const __IPHONE_3_0: u32 = 30000;
-pub const __IPHONE_3_1: u32 = 30100;
-pub const __IPHONE_3_2: u32 = 30200;
-pub const __IPHONE_4_0: u32 = 40000;
-pub const __IPHONE_4_1: u32 = 40100;
-pub const __IPHONE_4_2: u32 = 40200;
-pub const __IPHONE_4_3: u32 = 40300;
-pub const __IPHONE_5_0: u32 = 50000;
-pub const __IPHONE_5_1: u32 = 50100;
-pub const __IPHONE_6_0: u32 = 60000;
-pub const __IPHONE_6_1: u32 = 60100;
-pub const __IPHONE_7_0: u32 = 70000;
-pub const __IPHONE_7_1: u32 = 70100;
-pub const __IPHONE_8_0: u32 = 80000;
-pub const __IPHONE_8_1: u32 = 80100;
-pub const __IPHONE_8_2: u32 = 80200;
-pub const __IPHONE_8_3: u32 = 80300;
-pub const __IPHONE_8_4: u32 = 80400;
-pub const __IPHONE_9_0: u32 = 90000;
-pub const __IPHONE_9_1: u32 = 90100;
-pub const __IPHONE_9_2: u32 = 90200;
-pub const __IPHONE_9_3: u32 = 90300;
-pub const __IPHONE_10_0: u32 = 100000;
-pub const __IPHONE_10_1: u32 = 100100;
-pub const __IPHONE_10_2: u32 = 100200;
-pub const __IPHONE_10_3: u32 = 100300;
-pub const __IPHONE_11_0: u32 = 110000;
-pub const __IPHONE_11_1: u32 = 110100;
-pub const __IPHONE_11_2: u32 = 110200;
-pub const __IPHONE_11_3: u32 = 110300;
-pub const __IPHONE_11_4: u32 = 110400;
-pub const __IPHONE_12_0: u32 = 120000;
-pub const __IPHONE_12_1: u32 = 120100;
-pub const __IPHONE_12_2: u32 = 120200;
-pub const __IPHONE_12_3: u32 = 120300;
-pub const __IPHONE_12_4: u32 = 120400;
-pub const __IPHONE_13_0: u32 = 130000;
-pub const __IPHONE_13_1: u32 = 130100;
-pub const __IPHONE_13_2: u32 = 130200;
-pub const __IPHONE_13_3: u32 = 130300;
-pub const __IPHONE_13_4: u32 = 130400;
-pub const __IPHONE_13_5: u32 = 130500;
-pub const __IPHONE_13_6: u32 = 130600;
-pub const __IPHONE_13_7: u32 = 130700;
-pub const __IPHONE_14_0: u32 = 140000;
-pub const __IPHONE_14_1: u32 = 140100;
-pub const __IPHONE_14_2: u32 = 140200;
-pub const __IPHONE_14_3: u32 = 140300;
-pub const __IPHONE_14_5: u32 = 140500;
-pub const __IPHONE_14_4: u32 = 140400;
-pub const __IPHONE_14_6: u32 = 140600;
-pub const __IPHONE_14_7: u32 = 140700;
-pub const __IPHONE_14_8: u32 = 140800;
-pub const __IPHONE_15_0: u32 = 150000;
-pub const __IPHONE_15_1: u32 = 150100;
-pub const __IPHONE_15_2: u32 = 150200;
-pub const __IPHONE_15_3: u32 = 150300;
-pub const __IPHONE_15_4: u32 = 150400;
-pub const __IPHONE_15_5: u32 = 150500;
-pub const __IPHONE_15_6: u32 = 150600;
-pub const __IPHONE_15_7: u32 = 150700;
-pub const __IPHONE_15_8: u32 = 150800;
-pub const __IPHONE_16_0: u32 = 160000;
-pub const __IPHONE_16_1: u32 = 160100;
-pub const __IPHONE_16_2: u32 = 160200;
-pub const __IPHONE_16_3: u32 = 160300;
-pub const __IPHONE_16_4: u32 = 160400;
-pub const __IPHONE_16_5: u32 = 160500;
-pub const __IPHONE_16_6: u32 = 160600;
-pub const __IPHONE_16_7: u32 = 160700;
-pub const __IPHONE_17_0: u32 = 170000;
-pub const __IPHONE_17_1: u32 = 170100;
-pub const __IPHONE_17_2: u32 = 170200;
-pub const __IPHONE_17_3: u32 = 170300;
-pub const __IPHONE_17_4: u32 = 170400;
-pub const __IPHONE_17_5: u32 = 170500;
-pub const __IPHONE_18_0: u32 = 180000;
-pub const __WATCHOS_1_0: u32 = 10000;
-pub const __WATCHOS_2_0: u32 = 20000;
-pub const __WATCHOS_2_1: u32 = 20100;
-pub const __WATCHOS_2_2: u32 = 20200;
-pub const __WATCHOS_3_0: u32 = 30000;
-pub const __WATCHOS_3_1: u32 = 30100;
-pub const __WATCHOS_3_1_1: u32 = 30101;
-pub const __WATCHOS_3_2: u32 = 30200;
-pub const __WATCHOS_4_0: u32 = 40000;
-pub const __WATCHOS_4_1: u32 = 40100;
-pub const __WATCHOS_4_2: u32 = 40200;
-pub const __WATCHOS_4_3: u32 = 40300;
-pub const __WATCHOS_5_0: u32 = 50000;
-pub const __WATCHOS_5_1: u32 = 50100;
-pub const __WATCHOS_5_2: u32 = 50200;
-pub const __WATCHOS_5_3: u32 = 50300;
-pub const __WATCHOS_6_0: u32 = 60000;
-pub const __WATCHOS_6_1: u32 = 60100;
-pub const __WATCHOS_6_2: u32 = 60200;
-pub const __WATCHOS_7_0: u32 = 70000;
-pub const __WATCHOS_7_1: u32 = 70100;
-pub const __WATCHOS_7_2: u32 = 70200;
-pub const __WATCHOS_7_3: u32 = 70300;
-pub const __WATCHOS_7_4: u32 = 70400;
-pub const __WATCHOS_7_5: u32 = 70500;
-pub const __WATCHOS_7_6: u32 = 70600;
-pub const __WATCHOS_8_0: u32 = 80000;
-pub const __WATCHOS_8_1: u32 = 80100;
-pub const __WATCHOS_8_3: u32 = 80300;
-pub const __WATCHOS_8_4: u32 = 80400;
-pub const __WATCHOS_8_5: u32 = 80500;
-pub const __WATCHOS_8_6: u32 = 80600;
-pub const __WATCHOS_8_7: u32 = 80700;
-pub const __WATCHOS_8_8: u32 = 80800;
-pub const __WATCHOS_9_0: u32 = 90000;
-pub const __WATCHOS_9_1: u32 = 90100;
-pub const __WATCHOS_9_2: u32 = 90200;
-pub const __WATCHOS_9_3: u32 = 90300;
-pub const __WATCHOS_9_4: u32 = 90400;
-pub const __WATCHOS_9_5: u32 = 90500;
-pub const __WATCHOS_9_6: u32 = 90600;
-pub const __WATCHOS_10_0: u32 = 100000;
-pub const __WATCHOS_10_1: u32 = 100100;
-pub const __WATCHOS_10_2: u32 = 100200;
-pub const __WATCHOS_10_3: u32 = 100300;
-pub const __WATCHOS_10_4: u32 = 100400;
-pub const __WATCHOS_10_5: u32 = 100500;
-pub const __WATCHOS_11_0: u32 = 110000;
-pub const __TVOS_9_0: u32 = 90000;
-pub const __TVOS_9_1: u32 = 90100;
-pub const __TVOS_9_2: u32 = 90200;
-pub const __TVOS_10_0: u32 = 100000;
-pub const __TVOS_10_0_1: u32 = 100001;
-pub const __TVOS_10_1: u32 = 100100;
-pub const __TVOS_10_2: u32 = 100200;
-pub const __TVOS_11_0: u32 = 110000;
-pub const __TVOS_11_1: u32 = 110100;
-pub const __TVOS_11_2: u32 = 110200;
-pub const __TVOS_11_3: u32 = 110300;
-pub const __TVOS_11_4: u32 = 110400;
-pub const __TVOS_12_0: u32 = 120000;
-pub const __TVOS_12_1: u32 = 120100;
-pub const __TVOS_12_2: u32 = 120200;
-pub const __TVOS_12_3: u32 = 120300;
-pub const __TVOS_12_4: u32 = 120400;
-pub const __TVOS_13_0: u32 = 130000;
-pub const __TVOS_13_2: u32 = 130200;
-pub const __TVOS_13_3: u32 = 130300;
-pub const __TVOS_13_4: u32 = 130400;
-pub const __TVOS_14_0: u32 = 140000;
-pub const __TVOS_14_1: u32 = 140100;
-pub const __TVOS_14_2: u32 = 140200;
-pub const __TVOS_14_3: u32 = 140300;
-pub const __TVOS_14_5: u32 = 140500;
-pub const __TVOS_14_6: u32 = 140600;
-pub const __TVOS_14_7: u32 = 140700;
-pub const __TVOS_15_0: u32 = 150000;
-pub const __TVOS_15_1: u32 = 150100;
-pub const __TVOS_15_2: u32 = 150200;
-pub const __TVOS_15_3: u32 = 150300;
-pub const __TVOS_15_4: u32 = 150400;
-pub const __TVOS_15_5: u32 = 150500;
-pub const __TVOS_15_6: u32 = 150600;
-pub const __TVOS_16_0: u32 = 160000;
-pub const __TVOS_16_1: u32 = 160100;
-pub const __TVOS_16_2: u32 = 160200;
-pub const __TVOS_16_3: u32 = 160300;
-pub const __TVOS_16_4: u32 = 160400;
-pub const __TVOS_16_5: u32 = 160500;
-pub const __TVOS_16_6: u32 = 160600;
-pub const __TVOS_17_0: u32 = 170000;
-pub const __TVOS_17_1: u32 = 170100;
-pub const __TVOS_17_2: u32 = 170200;
-pub const __TVOS_17_3: u32 = 170300;
-pub const __TVOS_17_4: u32 = 170400;
-pub const __TVOS_17_5: u32 = 170500;
-pub const __TVOS_18_0: u32 = 180000;
-pub const __BRIDGEOS_2_0: u32 = 20000;
-pub const __BRIDGEOS_3_0: u32 = 30000;
-pub const __BRIDGEOS_3_1: u32 = 30100;
-pub const __BRIDGEOS_3_4: u32 = 30400;
-pub const __BRIDGEOS_4_0: u32 = 40000;
-pub const __BRIDGEOS_4_1: u32 = 40100;
-pub const __BRIDGEOS_5_0: u32 = 50000;
-pub const __BRIDGEOS_5_1: u32 = 50100;
-pub const __BRIDGEOS_5_3: u32 = 50300;
-pub const __BRIDGEOS_6_0: u32 = 60000;
-pub const __BRIDGEOS_6_2: u32 = 60200;
-pub const __BRIDGEOS_6_4: u32 = 60400;
-pub const __BRIDGEOS_6_5: u32 = 60500;
-pub const __BRIDGEOS_6_6: u32 = 60600;
-pub const __BRIDGEOS_7_0: u32 = 70000;
-pub const __BRIDGEOS_7_1: u32 = 70100;
-pub const __BRIDGEOS_7_2: u32 = 70200;
-pub const __BRIDGEOS_7_3: u32 = 70300;
-pub const __BRIDGEOS_7_4: u32 = 70400;
-pub const __BRIDGEOS_7_6: u32 = 70600;
-pub const __BRIDGEOS_8_0: u32 = 80000;
-pub const __BRIDGEOS_8_1: u32 = 80100;
-pub const __BRIDGEOS_8_2: u32 = 80200;
-pub const __BRIDGEOS_8_3: u32 = 80300;
-pub const __BRIDGEOS_8_4: u32 = 80400;
-pub const __BRIDGEOS_8_5: u32 = 80500;
-pub const __BRIDGEOS_9_0: u32 = 90000;
-pub const __DRIVERKIT_19_0: u32 = 190000;
-pub const __DRIVERKIT_20_0: u32 = 200000;
-pub const __DRIVERKIT_21_0: u32 = 210000;
-pub const __DRIVERKIT_22_0: u32 = 220000;
-pub const __DRIVERKIT_22_4: u32 = 220400;
-pub const __DRIVERKIT_22_5: u32 = 220500;
-pub const __DRIVERKIT_22_6: u32 = 220600;
-pub const __DRIVERKIT_23_0: u32 = 230000;
-pub const __DRIVERKIT_23_1: u32 = 230100;
-pub const __DRIVERKIT_23_2: u32 = 230200;
-pub const __DRIVERKIT_23_3: u32 = 230300;
-pub const __DRIVERKIT_23_4: u32 = 230400;
-pub const __DRIVERKIT_23_5: u32 = 230500;
-pub const __DRIVERKIT_24_0: u32 = 240000;
-pub const __VISIONOS_1_0: u32 = 10000;
-pub const __VISIONOS_1_1: u32 = 10100;
-pub const __VISIONOS_1_2: u32 = 10200;
-pub const __VISIONOS_2_0: u32 = 20000;
-pub const MAC_OS_X_VERSION_10_0: u32 = 1000;
-pub const MAC_OS_X_VERSION_10_1: u32 = 1010;
-pub const MAC_OS_X_VERSION_10_2: u32 = 1020;
-pub const MAC_OS_X_VERSION_10_3: u32 = 1030;
-pub const MAC_OS_X_VERSION_10_4: u32 = 1040;
-pub const MAC_OS_X_VERSION_10_5: u32 = 1050;
-pub const MAC_OS_X_VERSION_10_6: u32 = 1060;
-pub const MAC_OS_X_VERSION_10_7: u32 = 1070;
-pub const MAC_OS_X_VERSION_10_8: u32 = 1080;
-pub const MAC_OS_X_VERSION_10_9: u32 = 1090;
-pub const MAC_OS_X_VERSION_10_10: u32 = 101000;
-pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002;
-pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003;
-pub const MAC_OS_X_VERSION_10_11: u32 = 101100;
-pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102;
-pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103;
-pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104;
-pub const MAC_OS_X_VERSION_10_12: u32 = 101200;
-pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201;
-pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202;
-pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204;
-pub const MAC_OS_X_VERSION_10_13: u32 = 101300;
-pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301;
-pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302;
-pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304;
-pub const MAC_OS_X_VERSION_10_14: u32 = 101400;
-pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401;
-pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404;
-pub const MAC_OS_X_VERSION_10_14_5: u32 = 101405;
-pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406;
-pub const MAC_OS_X_VERSION_10_15: u32 = 101500;
-pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501;
-pub const MAC_OS_X_VERSION_10_15_4: u32 = 101504;
-pub const MAC_OS_X_VERSION_10_16: u32 = 101600;
-pub const MAC_OS_VERSION_11_0: u32 = 110000;
-pub const MAC_OS_VERSION_11_1: u32 = 110100;
-pub const MAC_OS_VERSION_11_3: u32 = 110300;
-pub const MAC_OS_VERSION_11_4: u32 = 110400;
-pub const MAC_OS_VERSION_11_5: u32 = 110500;
-pub const MAC_OS_VERSION_11_6: u32 = 110600;
-pub const MAC_OS_VERSION_12_0: u32 = 120000;
-pub const MAC_OS_VERSION_12_1: u32 = 120100;
-pub const MAC_OS_VERSION_12_2: u32 = 120200;
-pub const MAC_OS_VERSION_12_3: u32 = 120300;
-pub const MAC_OS_VERSION_12_4: u32 = 120400;
-pub const MAC_OS_VERSION_12_5: u32 = 120500;
-pub const MAC_OS_VERSION_12_6: u32 = 120600;
-pub const MAC_OS_VERSION_12_7: u32 = 120700;
-pub const MAC_OS_VERSION_13_0: u32 = 130000;
-pub const MAC_OS_VERSION_13_1: u32 = 130100;
-pub const MAC_OS_VERSION_13_2: u32 = 130200;
-pub const MAC_OS_VERSION_13_3: u32 = 130300;
-pub const MAC_OS_VERSION_13_4: u32 = 130400;
-pub const MAC_OS_VERSION_13_5: u32 = 130500;
-pub const MAC_OS_VERSION_13_6: u32 = 130600;
-pub const MAC_OS_VERSION_14_0: u32 = 140000;
-pub const MAC_OS_VERSION_14_1: u32 = 140100;
-pub const MAC_OS_VERSION_14_2: u32 = 140200;
-pub const MAC_OS_VERSION_14_3: u32 = 140300;
-pub const MAC_OS_VERSION_14_4: u32 = 140400;
-pub const MAC_OS_VERSION_14_5: u32 = 140500;
-pub const MAC_OS_VERSION_15_0: u32 = 150000;
-pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 150000;
-pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1;
-pub const __PTHREAD_SIZE__: u32 = 8176;
-pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
-pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
-pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
-pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
-pub const __PTHREAD_COND_SIZE__: u32 = 40;
-pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
-pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
-pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
-pub const __DARWIN_WCHAR_MIN: i32 = -2147483648;
-pub const _FORTIFY_SOURCE: u32 = 2;
-pub const __WORDSIZE: u32 = 64;
-pub const INT8_MAX: u32 = 127;
-pub const INT16_MAX: u32 = 32767;
-pub const INT32_MAX: u32 = 2147483647;
-pub const INT64_MAX: u64 = 9223372036854775807;
-pub const INT8_MIN: i32 = -128;
-pub const INT16_MIN: i32 = -32768;
-pub const INT32_MIN: i32 = -2147483648;
-pub const INT64_MIN: i64 = -9223372036854775808;
-pub const UINT8_MAX: u32 = 255;
-pub const UINT16_MAX: u32 = 65535;
-pub const UINT32_MAX: u32 = 4294967295;
-pub const UINT64_MAX: i32 = -1;
-pub const INT_LEAST8_MIN: i32 = -128;
-pub const INT_LEAST16_MIN: i32 = -32768;
-pub const INT_LEAST32_MIN: i32 = -2147483648;
-pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
-pub const INT_LEAST8_MAX: u32 = 127;
-pub const INT_LEAST16_MAX: u32 = 32767;
-pub const INT_LEAST32_MAX: u32 = 2147483647;
-pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
-pub const UINT_LEAST8_MAX: u32 = 255;
-pub const UINT_LEAST16_MAX: u32 = 65535;
-pub const UINT_LEAST32_MAX: u32 = 4294967295;
-pub const UINT_LEAST64_MAX: i32 = -1;
-pub const INT_FAST8_MIN: i32 = -128;
-pub const INT_FAST16_MIN: i32 = -32768;
-pub const INT_FAST32_MIN: i32 = -2147483648;
-pub const INT_FAST64_MIN: i64 = -9223372036854775808;
-pub const INT_FAST8_MAX: u32 = 127;
-pub const INT_FAST16_MAX: u32 = 32767;
-pub const INT_FAST32_MAX: u32 = 2147483647;
-pub const INT_FAST64_MAX: u64 = 9223372036854775807;
-pub const UINT_FAST8_MAX: u32 = 255;
-pub const UINT_FAST16_MAX: u32 = 65535;
-pub const UINT_FAST32_MAX: u32 = 4294967295;
-pub const UINT_FAST64_MAX: i32 = -1;
-pub const INTPTR_MAX: u64 = 9223372036854775807;
-pub const INTPTR_MIN: i64 = -9223372036854775808;
-pub const UINTPTR_MAX: i32 = -1;
-pub const SIZE_MAX: i32 = -1;
-pub const RSIZE_MAX: i32 = -1;
-pub const WINT_MIN: i32 = -2147483648;
-pub const WINT_MAX: u32 = 2147483647;
-pub const SIG_ATOMIC_MIN: i32 = -2147483648;
-pub const SIG_ATOMIC_MAX: u32 = 2147483647;
-pub const CCAN_COMPILER: &[u8; 3] = b"cc\0";
-pub const CCAN_CFLAGS : & [u8 ; 111] = b"-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition\0" ;
-pub const CCAN_OUTPUT_EXE_CFLAG: &[u8; 3] = b"-o\0";
-pub const HAVE_CCAN: u32 = 1;
-pub const HAVE_UNALIGNED_ACCESS: u32 = 1;
-pub const HAVE_TYPEOF: u32 = 1;
-pub const HAVE_BIG_ENDIAN: u32 = 0;
-pub const HAVE_BYTESWAP_H: u32 = 0;
-pub const HAVE_BSWAP_64: u32 = 0;
-pub const HAVE_LITTLE_ENDIAN: u32 = 1;
-pub const __bool_true_false_are_defined: u32 = 1;
-pub const true_: u32 = 1;
-pub const false_: u32 = 0;
-pub const RENAME_SECLUDE: u32 = 1;
-pub const RENAME_SWAP: u32 = 2;
-pub const RENAME_EXCL: u32 = 4;
-pub const RENAME_RESERVED1: u32 = 8;
-pub const RENAME_NOFOLLOW_ANY: u32 = 16;
-pub const SEEK_SET: u32 = 0;
-pub const SEEK_CUR: u32 = 1;
-pub const SEEK_END: u32 = 2;
-pub const SEEK_HOLE: u32 = 3;
-pub const SEEK_DATA: u32 = 4;
-pub const __SLBF: u32 = 1;
-pub const __SNBF: u32 = 2;
-pub const __SRD: u32 = 4;
-pub const __SWR: u32 = 8;
-pub const __SRW: u32 = 16;
-pub const __SEOF: u32 = 32;
-pub const __SERR: u32 = 64;
-pub const __SMBF: u32 = 128;
-pub const __SAPP: u32 = 256;
-pub const __SSTR: u32 = 512;
-pub const __SOPT: u32 = 1024;
-pub const __SNPT: u32 = 2048;
-pub const __SOFF: u32 = 4096;
-pub const __SMOD: u32 = 8192;
-pub const __SALC: u32 = 16384;
-pub const __SIGN: u32 = 32768;
-pub const _IOFBF: u32 = 0;
-pub const _IOLBF: u32 = 1;
-pub const _IONBF: u32 = 2;
-pub const BUFSIZ: u32 = 1024;
-pub const EOF: i32 = -1;
-pub const FOPEN_MAX: u32 = 20;
-pub const FILENAME_MAX: u32 = 1024;
-pub const P_tmpdir: &[u8; 10] = b"/var/tmp/\0";
-pub const L_tmpnam: u32 = 1024;
-pub const TMP_MAX: u32 = 308915776;
-pub const L_ctermid: u32 = 1024;
-pub const _USE_FORTIFY_LEVEL: u32 = 2;
-pub const _CACHED_RUNES: u32 = 256;
-pub const _CRMASK: i32 = -256;
-pub const _RUNE_MAGIC_A: &[u8; 9] = b"RuneMagA\0";
-pub const _CTYPE_A: u32 = 256;
-pub const _CTYPE_C: u32 = 512;
-pub const _CTYPE_D: u32 = 1024;
-pub const _CTYPE_G: u32 = 2048;
-pub const _CTYPE_L: u32 = 4096;
-pub const _CTYPE_P: u32 = 8192;
-pub const _CTYPE_S: u32 = 16384;
-pub const _CTYPE_U: u32 = 32768;
-pub const _CTYPE_X: u32 = 65536;
-pub const _CTYPE_B: u32 = 131072;
-pub const _CTYPE_R: u32 = 262144;
-pub const _CTYPE_I: u32 = 524288;
-pub const _CTYPE_T: u32 = 1048576;
-pub const _CTYPE_Q: u32 = 2097152;
-pub const _CTYPE_SW0: u32 = 536870912;
-pub const _CTYPE_SW1: u32 = 1073741824;
-pub const _CTYPE_SW2: u32 = 2147483648;
-pub const _CTYPE_SW3: u32 = 3221225472;
-pub const _CTYPE_SWM: u32 = 3758096384;
-pub const _CTYPE_SWS: u32 = 30;
-pub const __HAS_FIXED_CHK_PROTOTYPES: u32 = 1;
-pub const NDB_PACKED_STR: u32 = 1;
-pub const NDB_PACKED_ID: u32 = 2;
-pub const NDB_FLAG_NOMIGRATE: u32 = 1;
-pub const NDB_FLAG_SKIP_NOTE_VERIFY: u32 = 2;
-pub const NDB_NUM_FILTERS: u32 = 7;
-pub const MAX_TEXT_SEARCH_RESULTS: u32 = 128;
-pub const MAX_TEXT_SEARCH_WORDS: u32 = 8;
-pub const NDB_NUM_BLOCK_TYPES: u32 = 6;
-pub const NDB_MAX_RELAYS: u32 = 24;
-pub const NOSTR_BECH32_KNOWN_TYPES: u32 = 7;
-pub type __int8_t = ::std::os::raw::c_schar;
-pub type __uint8_t = ::std::os::raw::c_uchar;
-pub type __int16_t = ::std::os::raw::c_short;
-pub type __uint16_t = ::std::os::raw::c_ushort;
-pub type __int32_t = ::std::os::raw::c_int;
-pub type __uint32_t = ::std::os::raw::c_uint;
-pub type __int64_t = ::std::os::raw::c_longlong;
-pub type __uint64_t = ::std::os::raw::c_ulonglong;
-pub type __darwin_intptr_t = ::std::os::raw::c_long;
-pub type __darwin_natural_t = ::std::os::raw::c_uint;
-pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union __mbstate_t {
- pub __mbstate8: [::std::os::raw::c_char; 128usize],
- pub _mbstateL: ::std::os::raw::c_longlong,
-}
-#[test]
-fn bindgen_test_layout___mbstate_t() {
- const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<__mbstate_t>(),
- 128usize,
- concat!("Size of: ", stringify!(__mbstate_t))
- );
- assert_eq!(
- ::std::mem::align_of::<__mbstate_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(__mbstate_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(__mbstate_t),
- "::",
- stringify!(__mbstate8)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(__mbstate_t),
- "::",
- stringify!(_mbstateL)
- )
- );
-}
-pub type __darwin_mbstate_t = __mbstate_t;
-pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
-pub type __darwin_size_t = ::std::os::raw::c_ulong;
-pub type __darwin_va_list = __builtin_va_list;
-pub type __darwin_wchar_t = ::std::os::raw::c_int;
-pub type __darwin_rune_t = __darwin_wchar_t;
-pub type __darwin_wint_t = ::std::os::raw::c_int;
-pub type __darwin_clock_t = ::std::os::raw::c_ulong;
-pub type __darwin_socklen_t = __uint32_t;
-pub type __darwin_ssize_t = ::std::os::raw::c_long;
-pub type __darwin_time_t = ::std::os::raw::c_long;
-pub type __darwin_blkcnt_t = __int64_t;
-pub type __darwin_blksize_t = __int32_t;
-pub type __darwin_dev_t = __int32_t;
-pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
-pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
-pub type __darwin_gid_t = __uint32_t;
-pub type __darwin_id_t = __uint32_t;
-pub type __darwin_ino64_t = __uint64_t;
-pub type __darwin_ino_t = __darwin_ino64_t;
-pub type __darwin_mach_port_name_t = __darwin_natural_t;
-pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
-pub type __darwin_mode_t = __uint16_t;
-pub type __darwin_off_t = __int64_t;
-pub type __darwin_pid_t = __int32_t;
-pub type __darwin_sigset_t = __uint32_t;
-pub type __darwin_suseconds_t = __int32_t;
-pub type __darwin_uid_t = __uint32_t;
-pub type __darwin_useconds_t = __uint32_t;
-pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
-pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __darwin_pthread_handler_rec {
- pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
- pub __arg: *mut ::std::os::raw::c_void,
- pub __next: *mut __darwin_pthread_handler_rec,
-}
-#[test]
-fn bindgen_test_layout___darwin_pthread_handler_rec() {
- const UNINIT: ::std::mem::MaybeUninit<__darwin_pthread_handler_rec> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<__darwin_pthread_handler_rec>(),
- 24usize,
- concat!("Size of: ", stringify!(__darwin_pthread_handler_rec))
- );
- assert_eq!(
- ::std::mem::align_of::<__darwin_pthread_handler_rec>(),
- 8usize,
- concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(__darwin_pthread_handler_rec),
- "::",
- stringify!(__routine)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(__darwin_pthread_handler_rec),
- "::",
- stringify!(__arg)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(__darwin_pthread_handler_rec),
- "::",
- stringify!(__next)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _opaque_pthread_attr_t {
- pub __sig: ::std::os::raw::c_long,
- pub __opaque: [::std::os::raw::c_char; 56usize],
-}
-#[test]
-fn bindgen_test_layout__opaque_pthread_attr_t() {
- const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_attr_t> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_opaque_pthread_attr_t>(),
- 64usize,
- concat!("Size of: ", stringify!(_opaque_pthread_attr_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_opaque_pthread_attr_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(_opaque_pthread_attr_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_attr_t),
- "::",
- stringify!(__sig)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_attr_t),
- "::",
- stringify!(__opaque)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _opaque_pthread_cond_t {
- pub __sig: ::std::os::raw::c_long,
- pub __opaque: [::std::os::raw::c_char; 40usize],
-}
-#[test]
-fn bindgen_test_layout__opaque_pthread_cond_t() {
- const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_cond_t> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_opaque_pthread_cond_t>(),
- 48usize,
- concat!("Size of: ", stringify!(_opaque_pthread_cond_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_opaque_pthread_cond_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(_opaque_pthread_cond_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_cond_t),
- "::",
- stringify!(__sig)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_cond_t),
- "::",
- stringify!(__opaque)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _opaque_pthread_condattr_t {
- pub __sig: ::std::os::raw::c_long,
- pub __opaque: [::std::os::raw::c_char; 8usize],
-}
-#[test]
-fn bindgen_test_layout__opaque_pthread_condattr_t() {
- const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_condattr_t> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_opaque_pthread_condattr_t>(),
- 16usize,
- concat!("Size of: ", stringify!(_opaque_pthread_condattr_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_opaque_pthread_condattr_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_condattr_t),
- "::",
- stringify!(__sig)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_condattr_t),
- "::",
- stringify!(__opaque)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _opaque_pthread_mutex_t {
- pub __sig: ::std::os::raw::c_long,
- pub __opaque: [::std::os::raw::c_char; 56usize],
-}
-#[test]
-fn bindgen_test_layout__opaque_pthread_mutex_t() {
- const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutex_t> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_opaque_pthread_mutex_t>(),
- 64usize,
- concat!("Size of: ", stringify!(_opaque_pthread_mutex_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_opaque_pthread_mutex_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_mutex_t),
- "::",
- stringify!(__sig)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_mutex_t),
- "::",
- stringify!(__opaque)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _opaque_pthread_mutexattr_t {
- pub __sig: ::std::os::raw::c_long,
- pub __opaque: [::std::os::raw::c_char; 8usize],
-}
-#[test]
-fn bindgen_test_layout__opaque_pthread_mutexattr_t() {
- const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutexattr_t> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(),
- 16usize,
- concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_mutexattr_t),
- "::",
- stringify!(__sig)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_mutexattr_t),
- "::",
- stringify!(__opaque)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _opaque_pthread_once_t {
- pub __sig: ::std::os::raw::c_long,
- pub __opaque: [::std::os::raw::c_char; 8usize],
-}
-#[test]
-fn bindgen_test_layout__opaque_pthread_once_t() {
- const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_once_t> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_opaque_pthread_once_t>(),
- 16usize,
- concat!("Size of: ", stringify!(_opaque_pthread_once_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_opaque_pthread_once_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(_opaque_pthread_once_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_once_t),
- "::",
- stringify!(__sig)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_once_t),
- "::",
- stringify!(__opaque)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _opaque_pthread_rwlock_t {
- pub __sig: ::std::os::raw::c_long,
- pub __opaque: [::std::os::raw::c_char; 192usize],
-}
-#[test]
-fn bindgen_test_layout__opaque_pthread_rwlock_t() {
- const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlock_t> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_opaque_pthread_rwlock_t>(),
- 200usize,
- concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_opaque_pthread_rwlock_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_rwlock_t),
- "::",
- stringify!(__sig)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_rwlock_t),
- "::",
- stringify!(__opaque)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _opaque_pthread_rwlockattr_t {
- pub __sig: ::std::os::raw::c_long,
- pub __opaque: [::std::os::raw::c_char; 16usize],
-}
-#[test]
-fn bindgen_test_layout__opaque_pthread_rwlockattr_t() {
- const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(),
- 24usize,
- concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_rwlockattr_t),
- "::",
- stringify!(__sig)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_rwlockattr_t),
- "::",
- stringify!(__opaque)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _opaque_pthread_t {
- pub __sig: ::std::os::raw::c_long,
- pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
- pub __opaque: [::std::os::raw::c_char; 8176usize],
-}
-#[test]
-fn bindgen_test_layout__opaque_pthread_t() {
- const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_t> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_opaque_pthread_t>(),
- 8192usize,
- concat!("Size of: ", stringify!(_opaque_pthread_t))
- );
- assert_eq!(
- ::std::mem::align_of::<_opaque_pthread_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(_opaque_pthread_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_t),
- "::",
- stringify!(__sig)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_t),
- "::",
- stringify!(__cleanup_stack)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(_opaque_pthread_t),
- "::",
- stringify!(__opaque)
- )
- );
-}
-pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
-pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
-pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
-pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
-pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
-pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
-pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
-pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
-pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
-pub type __darwin_pthread_t = *mut _opaque_pthread_t;
-pub type __darwin_nl_item = ::std::os::raw::c_int;
-pub type __darwin_wctrans_t = ::std::os::raw::c_int;
-pub type __darwin_wctype_t = __uint32_t;
-pub type wchar_t = __darwin_wchar_t;
-pub type int_least8_t = i8;
-pub type int_least16_t = i16;
-pub type int_least32_t = i32;
-pub type int_least64_t = i64;
-pub type uint_least8_t = u8;
-pub type uint_least16_t = u16;
-pub type uint_least32_t = u32;
-pub type uint_least64_t = u64;
-pub type int_fast8_t = i8;
-pub type int_fast16_t = i16;
-pub type int_fast32_t = i32;
-pub type int_fast64_t = i64;
-pub type uint_fast8_t = u8;
-pub type uint_fast16_t = u16;
-pub type uint_fast32_t = u32;
-pub type uint_fast64_t = u64;
-pub type intmax_t = ::std::os::raw::c_long;
-pub type uintmax_t = ::std::os::raw::c_ulong;
-extern "C" {
- pub fn imaxabs(j: intmax_t) -> intmax_t;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct imaxdiv_t {
- pub quot: intmax_t,
- pub rem: intmax_t,
-}
-#[test]
-fn bindgen_test_layout_imaxdiv_t() {
- const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<imaxdiv_t>(),
- 16usize,
- concat!("Size of: ", stringify!(imaxdiv_t))
- );
- assert_eq!(
- ::std::mem::align_of::<imaxdiv_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(imaxdiv_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(imaxdiv_t),
- "::",
- stringify!(quot)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(imaxdiv_t),
- "::",
- stringify!(rem)
- )
- );
-}
-extern "C" {
- pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
-}
-extern "C" {
- pub fn strtoimax(
- __nptr: *const ::std::os::raw::c_char,
- __endptr: *mut *mut ::std::os::raw::c_char,
- __base: ::std::os::raw::c_int,
- ) -> intmax_t;
-}
-extern "C" {
- pub fn strtoumax(
- __nptr: *const ::std::os::raw::c_char,
- __endptr: *mut *mut ::std::os::raw::c_char,
- __base: ::std::os::raw::c_int,
- ) -> uintmax_t;
-}
-extern "C" {
- pub fn wcstoimax(
- __nptr: *const wchar_t,
- __endptr: *mut *mut wchar_t,
- __base: ::std::os::raw::c_int,
- ) -> intmax_t;
-}
-extern "C" {
- pub fn wcstoumax(
- __nptr: *const wchar_t,
- __endptr: *mut *mut wchar_t,
- __base: ::std::os::raw::c_int,
- ) -> uintmax_t;
-}
-pub type u_int8_t = ::std::os::raw::c_uchar;
-pub type u_int16_t = ::std::os::raw::c_ushort;
-pub type u_int32_t = ::std::os::raw::c_uint;
-pub type u_int64_t = ::std::os::raw::c_ulonglong;
-pub type register_t = i64;
-pub type user_addr_t = u_int64_t;
-pub type user_size_t = u_int64_t;
-pub type user_ssize_t = i64;
-pub type user_long_t = i64;
-pub type user_ulong_t = u_int64_t;
-pub type user_time_t = i64;
-pub type user_off_t = i64;
-pub type syscall_arg_t = u_int64_t;
-pub type va_list = __darwin_va_list;
-extern "C" {
- pub fn renameat(
- arg1: ::std::os::raw::c_int,
- arg2: *const ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_int,
- arg4: *const ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn renamex_np(
- arg1: *const ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_uint,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn renameatx_np(
- arg1: ::std::os::raw::c_int,
- arg2: *const ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_int,
- arg4: *const ::std::os::raw::c_char,
- arg5: ::std::os::raw::c_uint,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
-}
-pub type fpos_t = __darwin_off_t;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __sbuf {
- pub _base: *mut ::std::os::raw::c_uchar,
- pub _size: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout___sbuf() {
- const UNINIT: ::std::mem::MaybeUninit<__sbuf> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<__sbuf>(),
- 16usize,
- concat!("Size of: ", stringify!(__sbuf))
- );
- assert_eq!(
- ::std::mem::align_of::<__sbuf>(),
- 8usize,
- concat!("Alignment of ", stringify!(__sbuf))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._base) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(__sbuf),
- "::",
- stringify!(_base)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._size) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(__sbuf),
- "::",
- stringify!(_size)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __sFILEX {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __sFILE {
- pub _p: *mut ::std::os::raw::c_uchar,
- pub _r: ::std::os::raw::c_int,
- pub _w: ::std::os::raw::c_int,
- pub _flags: ::std::os::raw::c_short,
- pub _file: ::std::os::raw::c_short,
- pub _bf: __sbuf,
- pub _lbfsize: ::std::os::raw::c_int,
- pub _cookie: *mut ::std::os::raw::c_void,
- pub _close: ::std::option::Option<
- unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
- >,
- pub _read: ::std::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ::std::os::raw::c_void,
- arg2: *mut ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int,
- >,
- pub _seek: ::std::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ::std::os::raw::c_void,
- arg2: fpos_t,
- arg3: ::std::os::raw::c_int,
- ) -> fpos_t,
- >,
- pub _write: ::std::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ::std::os::raw::c_void,
- arg2: *const ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int,
- >,
- pub _ub: __sbuf,
- pub _extra: *mut __sFILEX,
- pub _ur: ::std::os::raw::c_int,
- pub _ubuf: [::std::os::raw::c_uchar; 3usize],
- pub _nbuf: [::std::os::raw::c_uchar; 1usize],
- pub _lb: __sbuf,
- pub _blksize: ::std::os::raw::c_int,
- pub _offset: fpos_t,
-}
-#[test]
-fn bindgen_test_layout___sFILE() {
- const UNINIT: ::std::mem::MaybeUninit<__sFILE> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<__sFILE>(),
- 152usize,
- concat!("Size of: ", stringify!(__sFILE))
- );
- assert_eq!(
- ::std::mem::align_of::<__sFILE>(),
- 8usize,
- concat!("Alignment of ", stringify!(__sFILE))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._p) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_p)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._r) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_r)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._w) as usize - ptr as usize },
- 12usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_w)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_flags)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._file) as usize - ptr as usize },
- 18usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_file)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._bf) as usize - ptr as usize },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_bf)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._lbfsize) as usize - ptr as usize },
- 40usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_lbfsize)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._cookie) as usize - ptr as usize },
- 48usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_cookie)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._close) as usize - ptr as usize },
- 56usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_close)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._read) as usize - ptr as usize },
- 64usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_read)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._seek) as usize - ptr as usize },
- 72usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_seek)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._write) as usize - ptr as usize },
- 80usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_write)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._ub) as usize - ptr as usize },
- 88usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_ub)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._extra) as usize - ptr as usize },
- 104usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_extra)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._ur) as usize - ptr as usize },
- 112usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_ur)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._ubuf) as usize - ptr as usize },
- 116usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_ubuf)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._nbuf) as usize - ptr as usize },
- 119usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_nbuf)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._lb) as usize - ptr as usize },
- 120usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_lb)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._blksize) as usize - ptr as usize },
- 136usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_blksize)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
- 144usize,
- concat!(
- "Offset of field: ",
- stringify!(__sFILE),
- "::",
- stringify!(_offset)
- )
- );
-}
-pub type FILE = __sFILE;
-extern "C" {
- pub static mut __stdinp: *mut FILE;
-}
-extern "C" {
- pub static mut __stdoutp: *mut FILE;
-}
-extern "C" {
- pub static mut __stderrp: *mut FILE;
-}
-extern "C" {
- pub fn clearerr(arg1: *mut FILE);
-}
-extern "C" {
- pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fgets(
- arg1: *mut ::std::os::raw::c_char,
- arg2: ::std::os::raw::c_int,
- arg3: *mut FILE,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn fopen(
- __filename: *const ::std::os::raw::c_char,
- __mode: *const ::std::os::raw::c_char,
- ) -> *mut FILE;
-}
-extern "C" {
- pub fn fprintf(
- arg1: *mut FILE,
- arg2: *const ::std::os::raw::c_char,
- ...
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fread(
- __ptr: *mut ::std::os::raw::c_void,
- __size: ::std::os::raw::c_ulong,
- __nitems: ::std::os::raw::c_ulong,
- __stream: *mut FILE,
- ) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
- pub fn freopen(
- arg1: *const ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- arg3: *mut FILE,
- ) -> *mut FILE;
-}
-extern "C" {
- pub fn fscanf(
- arg1: *mut FILE,
- arg2: *const ::std::os::raw::c_char,
- ...
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fseek(
- arg1: *mut FILE,
- arg2: ::std::os::raw::c_long,
- arg3: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long;
-}
-extern "C" {
- pub fn fwrite(
- __ptr: *const ::std::os::raw::c_void,
- __size: ::std::os::raw::c_ulong,
- __nitems: ::std::os::raw::c_ulong,
- __stream: *mut FILE,
- ) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
- pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn getchar() -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn perror(arg1: *const ::std::os::raw::c_char);
-}
-extern "C" {
- pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn rename(
- __old: *const ::std::os::raw::c_char,
- __new: *const ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn rewind(arg1: *mut FILE);
-}
-extern "C" {
- pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char);
-}
-extern "C" {
- pub fn setvbuf(
- arg1: *mut FILE,
- arg2: *mut ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_int,
- arg4: usize,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn sprintf(
- arg1: *mut ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- ...
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn sscanf(
- arg1: *const ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- ...
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn tmpfile() -> *mut FILE;
-}
-extern "C" {
- pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn vfprintf(
- arg1: *mut FILE,
- arg2: *const ::std::os::raw::c_char,
- arg3: __builtin_va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn vprintf(
- arg1: *const ::std::os::raw::c_char,
- arg2: __builtin_va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn vsprintf(
- arg1: *mut ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- arg3: __builtin_va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE;
-}
-extern "C" {
- pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn popen(
- arg1: *const ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- ) -> *mut FILE;
-}
-extern "C" {
- pub fn __srget(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn __svfscanf(
- arg1: *mut FILE,
- arg2: *const ::std::os::raw::c_char,
- arg3: va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn __swbuf(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn flockfile(arg1: *mut FILE);
-}
-extern "C" {
- pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn funlockfile(arg1: *mut FILE);
-}
-extern "C" {
- pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn getchar_unlocked() -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn tempnam(
- __dir: *const ::std::os::raw::c_char,
- __prefix: *const ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-pub type off_t = __darwin_off_t;
-extern "C" {
- pub fn fseeko(
- __stream: *mut FILE,
- __offset: off_t,
- __whence: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ftello(__stream: *mut FILE) -> off_t;
-}
-extern "C" {
- pub fn snprintf(
- __str: *mut ::std::os::raw::c_char,
- __size: ::std::os::raw::c_ulong,
- __format: *const ::std::os::raw::c_char,
- ...
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn vfscanf(
- __stream: *mut FILE,
- __format: *const ::std::os::raw::c_char,
- arg1: __builtin_va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn vscanf(
- __format: *const ::std::os::raw::c_char,
- arg1: __builtin_va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn vsnprintf(
- __str: *mut ::std::os::raw::c_char,
- __size: ::std::os::raw::c_ulong,
- __format: *const ::std::os::raw::c_char,
- arg1: __builtin_va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn vsscanf(
- __str: *const ::std::os::raw::c_char,
- __format: *const ::std::os::raw::c_char,
- arg1: __builtin_va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn dprintf(
- arg1: ::std::os::raw::c_int,
- arg2: *const ::std::os::raw::c_char,
- ...
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn vdprintf(
- arg1: ::std::os::raw::c_int,
- arg2: *const ::std::os::raw::c_char,
- arg3: va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn getdelim(
- __linep: *mut *mut ::std::os::raw::c_char,
- __linecapp: *mut usize,
- __delimiter: ::std::os::raw::c_int,
- __stream: *mut FILE,
- ) -> isize;
-}
-extern "C" {
- pub fn getline(
- __linep: *mut *mut ::std::os::raw::c_char,
- __linecapp: *mut usize,
- __stream: *mut FILE,
- ) -> isize;
-}
-extern "C" {
- pub fn fmemopen(
- __buf: *mut ::std::os::raw::c_void,
- __size: usize,
- __mode: *const ::std::os::raw::c_char,
- ) -> *mut FILE;
-}
-extern "C" {
- pub fn open_memstream(
- __bufp: *mut *mut ::std::os::raw::c_char,
- __sizep: *mut usize,
- ) -> *mut FILE;
-}
-extern "C" {
- pub static sys_nerr: ::std::os::raw::c_int;
-}
-extern "C" {
- pub static sys_errlist: [*const ::std::os::raw::c_char; 0usize];
-}
-extern "C" {
- pub fn asprintf(
- arg1: *mut *mut ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- ...
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ctermid_r(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn fgetln(arg1: *mut FILE, arg2: *mut usize) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn fmtcheck(
- arg1: *const ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn setbuffer(
- arg1: *mut FILE,
- arg2: *mut ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_int,
- );
-}
-extern "C" {
- pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn vasprintf(
- arg1: *mut *mut ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- arg3: va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn funopen(
- arg1: *const ::std::os::raw::c_void,
- arg2: ::std::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ::std::os::raw::c_void,
- arg2: *mut ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int,
- >,
- arg3: ::std::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ::std::os::raw::c_void,
- arg2: *const ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int,
- >,
- arg4: ::std::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ::std::os::raw::c_void,
- arg2: fpos_t,
- arg3: ::std::os::raw::c_int,
- ) -> fpos_t,
- >,
- arg5: ::std::option::Option<
- unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
- >,
- ) -> *mut FILE;
-}
-extern "C" {
- pub fn __sprintf_chk(
- arg1: *mut ::std::os::raw::c_char,
- arg2: ::std::os::raw::c_int,
- arg3: usize,
- arg4: *const ::std::os::raw::c_char,
- ...
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn __snprintf_chk(
- arg1: *mut ::std::os::raw::c_char,
- arg2: usize,
- arg3: ::std::os::raw::c_int,
- arg4: usize,
- arg5: *const ::std::os::raw::c_char,
- ...
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn __vsprintf_chk(
- arg1: *mut ::std::os::raw::c_char,
- arg2: ::std::os::raw::c_int,
- arg3: usize,
- arg4: *const ::std::os::raw::c_char,
- arg5: va_list,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn __vsnprintf_chk(
- arg1: *mut ::std::os::raw::c_char,
- arg2: usize,
- arg3: ::std::os::raw::c_int,
- arg4: usize,
- arg5: *const ::std::os::raw::c_char,
- arg6: va_list,
- ) -> ::std::os::raw::c_int;
-}
-pub type ct_rune_t = __darwin_ct_rune_t;
-pub type rune_t = __darwin_rune_t;
-pub type wint_t = __darwin_wint_t;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _RuneEntry {
- pub __min: __darwin_rune_t,
- pub __max: __darwin_rune_t,
- pub __map: __darwin_rune_t,
- pub __types: *mut __uint32_t,
-}
-#[test]
-fn bindgen_test_layout__RuneEntry() {
- const UNINIT: ::std::mem::MaybeUninit<_RuneEntry> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_RuneEntry>(),
- 24usize,
- concat!("Size of: ", stringify!(_RuneEntry))
- );
- assert_eq!(
- ::std::mem::align_of::<_RuneEntry>(),
- 8usize,
- concat!("Alignment of ", stringify!(_RuneEntry))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__min) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneEntry),
- "::",
- stringify!(__min)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__max) as usize - ptr as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneEntry),
- "::",
- stringify!(__max)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__map) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneEntry),
- "::",
- stringify!(__map)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__types) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneEntry),
- "::",
- stringify!(__types)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _RuneRange {
- pub __nranges: ::std::os::raw::c_int,
- pub __ranges: *mut _RuneEntry,
-}
-#[test]
-fn bindgen_test_layout__RuneRange() {
- const UNINIT: ::std::mem::MaybeUninit<_RuneRange> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_RuneRange>(),
- 16usize,
- concat!("Size of: ", stringify!(_RuneRange))
- );
- assert_eq!(
- ::std::mem::align_of::<_RuneRange>(),
- 8usize,
- concat!("Alignment of ", stringify!(_RuneRange))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__nranges) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneRange),
- "::",
- stringify!(__nranges)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__ranges) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneRange),
- "::",
- stringify!(__ranges)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _RuneCharClass {
- pub __name: [::std::os::raw::c_char; 14usize],
- pub __mask: __uint32_t,
-}
-#[test]
-fn bindgen_test_layout__RuneCharClass() {
- const UNINIT: ::std::mem::MaybeUninit<_RuneCharClass> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_RuneCharClass>(),
- 20usize,
- concat!("Size of: ", stringify!(_RuneCharClass))
- );
- assert_eq!(
- ::std::mem::align_of::<_RuneCharClass>(),
- 4usize,
- concat!("Alignment of ", stringify!(_RuneCharClass))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__name) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneCharClass),
- "::",
- stringify!(__name)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__mask) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneCharClass),
- "::",
- stringify!(__mask)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct _RuneLocale {
- pub __magic: [::std::os::raw::c_char; 8usize],
- pub __encoding: [::std::os::raw::c_char; 32usize],
- pub __sgetrune: ::std::option::Option<
- unsafe extern "C" fn(
- arg1: *const ::std::os::raw::c_char,
- arg2: __darwin_size_t,
- arg3: *mut *const ::std::os::raw::c_char,
- ) -> __darwin_rune_t,
- >,
- pub __sputrune: ::std::option::Option<
- unsafe extern "C" fn(
- arg1: __darwin_rune_t,
- arg2: *mut ::std::os::raw::c_char,
- arg3: __darwin_size_t,
- arg4: *mut *mut ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_int,
- >,
- pub __invalid_rune: __darwin_rune_t,
- pub __runetype: [__uint32_t; 256usize],
- pub __maplower: [__darwin_rune_t; 256usize],
- pub __mapupper: [__darwin_rune_t; 256usize],
- pub __runetype_ext: _RuneRange,
- pub __maplower_ext: _RuneRange,
- pub __mapupper_ext: _RuneRange,
- pub __variable: *mut ::std::os::raw::c_void,
- pub __variable_len: ::std::os::raw::c_int,
- pub __ncharclasses: ::std::os::raw::c_int,
- pub __charclasses: *mut _RuneCharClass,
-}
-#[test]
-fn bindgen_test_layout__RuneLocale() {
- const UNINIT: ::std::mem::MaybeUninit<_RuneLocale> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<_RuneLocale>(),
- 3208usize,
- concat!("Size of: ", stringify!(_RuneLocale))
- );
- assert_eq!(
- ::std::mem::align_of::<_RuneLocale>(),
- 8usize,
- concat!("Alignment of ", stringify!(_RuneLocale))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__magic) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__magic)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__encoding) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__encoding)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sgetrune) as usize - ptr as usize },
- 40usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__sgetrune)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__sputrune) as usize - ptr as usize },
- 48usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__sputrune)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__invalid_rune) as usize - ptr as usize },
- 56usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__invalid_rune)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__runetype) as usize - ptr as usize },
- 60usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__runetype)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__maplower) as usize - ptr as usize },
- 1084usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__maplower)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__mapupper) as usize - ptr as usize },
- 2108usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__mapupper)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__runetype_ext) as usize - ptr as usize },
- 3136usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__runetype_ext)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__maplower_ext) as usize - ptr as usize },
- 3152usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__maplower_ext)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__mapupper_ext) as usize - ptr as usize },
- 3168usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__mapupper_ext)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__variable) as usize - ptr as usize },
- 3184usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__variable)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__variable_len) as usize - ptr as usize },
- 3192usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__variable_len)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__ncharclasses) as usize - ptr as usize },
- 3196usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__ncharclasses)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).__charclasses) as usize - ptr as usize },
- 3200usize,
- concat!(
- "Offset of field: ",
- stringify!(_RuneLocale),
- "::",
- stringify!(__charclasses)
- )
- );
-}
-extern "C" {
- pub static mut _DefaultRuneLocale: _RuneLocale;
-}
-extern "C" {
- pub static mut _CurrentRuneLocale: *mut _RuneLocale;
-}
-extern "C" {
- pub fn ___runetype(arg1: __darwin_ct_rune_t) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
- pub fn ___tolower(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
-}
-extern "C" {
- pub fn ___toupper(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
-}
-extern "C" {
- pub fn __maskrune(
- arg1: __darwin_ct_rune_t,
- arg2: ::std::os::raw::c_ulong,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn __toupper(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
-}
-extern "C" {
- pub fn __tolower(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
-}
-extern "C" {
- pub fn __assert_rtn(
- arg1: *const ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_int,
- arg4: *const ::std::os::raw::c_char,
- ) -> !;
-}
-extern "C" {
- pub fn memchr(
- __s: *const ::std::os::raw::c_void,
- __c: ::std::os::raw::c_int,
- __n: ::std::os::raw::c_ulong,
- ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
- pub fn memcmp(
- __s1: *const ::std::os::raw::c_void,
- __s2: *const ::std::os::raw::c_void,
- __n: ::std::os::raw::c_ulong,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn memcpy(
- __dst: *mut ::std::os::raw::c_void,
- __src: *const ::std::os::raw::c_void,
- __n: ::std::os::raw::c_ulong,
- ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
- pub fn memmove(
- __dst: *mut ::std::os::raw::c_void,
- __src: *const ::std::os::raw::c_void,
- __len: ::std::os::raw::c_ulong,
- ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
- pub fn memset(
- __b: *mut ::std::os::raw::c_void,
- __c: ::std::os::raw::c_int,
- __len: ::std::os::raw::c_ulong,
- ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
- pub fn strcat(
- __s1: *mut ::std::os::raw::c_char,
- __s2: *const ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strchr(
- __s: *const ::std::os::raw::c_char,
- __c: ::std::os::raw::c_int,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strcmp(
- __s1: *const ::std::os::raw::c_char,
- __s2: *const ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn strcoll(
- __s1: *const ::std::os::raw::c_char,
- __s2: *const ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn strcpy(
- __dst: *mut ::std::os::raw::c_char,
- __src: *const ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strcspn(
- __s: *const ::std::os::raw::c_char,
- __charset: *const ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
- pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
- pub fn strncat(
- __s1: *mut ::std::os::raw::c_char,
- __s2: *const ::std::os::raw::c_char,
- __n: ::std::os::raw::c_ulong,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strncmp(
- __s1: *const ::std::os::raw::c_char,
- __s2: *const ::std::os::raw::c_char,
- __n: ::std::os::raw::c_ulong,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn strncpy(
- __dst: *mut ::std::os::raw::c_char,
- __src: *const ::std::os::raw::c_char,
- __n: ::std::os::raw::c_ulong,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strpbrk(
- __s: *const ::std::os::raw::c_char,
- __charset: *const ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strrchr(
- __s: *const ::std::os::raw::c_char,
- __c: ::std::os::raw::c_int,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strspn(
- __s: *const ::std::os::raw::c_char,
- __charset: *const ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
- pub fn strstr(
- __big: *const ::std::os::raw::c_char,
- __little: *const ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strtok(
- __str: *mut ::std::os::raw::c_char,
- __sep: *const ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strxfrm(
- __s1: *mut ::std::os::raw::c_char,
- __s2: *const ::std::os::raw::c_char,
- __n: ::std::os::raw::c_ulong,
- ) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
- pub fn strtok_r(
- __str: *mut ::std::os::raw::c_char,
- __sep: *const ::std::os::raw::c_char,
- __lasts: *mut *mut ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strerror_r(
- __errnum: ::std::os::raw::c_int,
- __strerrbuf: *mut ::std::os::raw::c_char,
- __buflen: usize,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn strdup(__s1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn memccpy(
- __dst: *mut ::std::os::raw::c_void,
- __src: *const ::std::os::raw::c_void,
- __c: ::std::os::raw::c_int,
- __n: ::std::os::raw::c_ulong,
- ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
- pub fn stpcpy(
- __dst: *mut ::std::os::raw::c_char,
- __src: *const ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn stpncpy(
- __dst: *mut ::std::os::raw::c_char,
- __src: *const ::std::os::raw::c_char,
- __n: ::std::os::raw::c_ulong,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strndup(
- __s1: *const ::std::os::raw::c_char,
- __n: ::std::os::raw::c_ulong,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strnlen(__s1: *const ::std::os::raw::c_char, __n: usize) -> usize;
-}
-extern "C" {
- pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
-}
-pub type rsize_t = __darwin_size_t;
-pub type errno_t = ::std::os::raw::c_int;
-extern "C" {
- pub fn memset_s(
- __s: *mut ::std::os::raw::c_void,
- __smax: rsize_t,
- __c: ::std::os::raw::c_int,
- __n: rsize_t,
- ) -> errno_t;
-}
-extern "C" {
- pub fn memmem(
- __big: *const ::std::os::raw::c_void,
- __big_len: usize,
- __little: *const ::std::os::raw::c_void,
- __little_len: usize,
- ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
- pub fn memset_pattern4(
- __b: *mut ::std::os::raw::c_void,
- __pattern4: *const ::std::os::raw::c_void,
- __len: usize,
- );
-}
-extern "C" {
- pub fn memset_pattern8(
- __b: *mut ::std::os::raw::c_void,
- __pattern8: *const ::std::os::raw::c_void,
- __len: usize,
- );
-}
-extern "C" {
- pub fn memset_pattern16(
- __b: *mut ::std::os::raw::c_void,
- __pattern16: *const ::std::os::raw::c_void,
- __len: usize,
- );
-}
-extern "C" {
- pub fn strcasestr(
- __big: *const ::std::os::raw::c_char,
- __little: *const ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strnstr(
- __big: *const ::std::os::raw::c_char,
- __little: *const ::std::os::raw::c_char,
- __len: usize,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn strlcat(
- __dst: *mut ::std::os::raw::c_char,
- __source: *const ::std::os::raw::c_char,
- __size: ::std::os::raw::c_ulong,
- ) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
- pub fn strlcpy(
- __dst: *mut ::std::os::raw::c_char,
- __source: *const ::std::os::raw::c_char,
- __size: ::std::os::raw::c_ulong,
- ) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
- pub fn strmode(__mode: ::std::os::raw::c_int, __bp: *mut ::std::os::raw::c_char);
-}
-extern "C" {
- pub fn strsep(
- __stringp: *mut *mut ::std::os::raw::c_char,
- __delim: *const ::std::os::raw::c_char,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn swab(
- arg1: *const ::std::os::raw::c_void,
- arg2: *mut ::std::os::raw::c_void,
- arg3: isize,
- );
-}
-extern "C" {
- pub fn timingsafe_bcmp(
- __b1: *const ::std::os::raw::c_void,
- __b2: *const ::std::os::raw::c_void,
- __len: usize,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn strsignal_r(
- __sig: ::std::os::raw::c_int,
- __strsignalbuf: *mut ::std::os::raw::c_char,
- __buflen: usize,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn bcmp(
- arg1: *const ::std::os::raw::c_void,
- arg2: *const ::std::os::raw::c_void,
- arg3: ::std::os::raw::c_ulong,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn bcopy(
- arg1: *const ::std::os::raw::c_void,
- arg2: *mut ::std::os::raw::c_void,
- arg3: usize,
- );
-}
-extern "C" {
- pub fn bzero(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_ulong);
-}
-extern "C" {
- pub fn index(
- arg1: *const ::std::os::raw::c_char,
- arg2: ::std::os::raw::c_int,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn rindex(
- arg1: *const ::std::os::raw::c_char,
- arg2: ::std::os::raw::c_int,
- ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn ffs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn strcasecmp(
- arg1: *const ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn strncasecmp(
- arg1: *const ::std::os::raw::c_char,
- arg2: *const ::std::os::raw::c_char,
- arg3: ::std::os::raw::c_ulong,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ffsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ffsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn fls(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn flsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn flsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct cursor {
- pub start: *mut ::std::os::raw::c_uchar,
- pub p: *mut ::std::os::raw::c_uchar,
- pub end: *mut ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_cursor() {
- const UNINIT: ::std::mem::MaybeUninit<cursor> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<cursor>(),
- 24usize,
- concat!("Size of: ", stringify!(cursor))
- );
- assert_eq!(
- ::std::mem::align_of::<cursor>(),
- 8usize,
- concat!("Alignment of ", stringify!(cursor))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(cursor),
- "::",
- stringify!(start)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
- 8usize,
- concat!("Offset of field: ", stringify!(cursor), "::", stringify!(p))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(cursor),
- "::",
- stringify!(end)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_str_block {
- pub str_: *const ::std::os::raw::c_char,
- pub len: u32,
-}
-#[test]
-fn bindgen_test_layout_ndb_str_block() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_str_block> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_str_block>(),
- 16usize,
- concat!("Size of: ", stringify!(ndb_str_block))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_str_block>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_str_block))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_str_block),
- "::",
- stringify!(str_)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_str_block),
- "::",
- stringify!(len)
- )
- );
-}
-pub type str_block_t = ndb_str_block;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_json_parser {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_blocks {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_note {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_tag {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_tags {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_lmdb {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ndb_packed_str {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bolt11 {
- _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_tag_ptr {
- pub ptr: *mut ndb_tag,
-}
-#[test]
-fn bindgen_test_layout_ndb_tag_ptr() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_tag_ptr> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_tag_ptr>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_tag_ptr))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_tag_ptr>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_tag_ptr))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_tag_ptr),
- "::",
- stringify!(ptr)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_tags_ptr {
- pub ptr: *mut ndb_tags,
-}
-#[test]
-fn bindgen_test_layout_ndb_tags_ptr() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_tags_ptr> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_tags_ptr>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_tags_ptr))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_tags_ptr>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_tags_ptr))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_tags_ptr),
- "::",
- stringify!(ptr)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_block_ptr {
- pub ptr: *mut ndb_block,
-}
-#[test]
-fn bindgen_test_layout_ndb_block_ptr() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_block_ptr> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_block_ptr>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_block_ptr))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_block_ptr>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_block_ptr))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block_ptr),
- "::",
- stringify!(ptr)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_blocks_ptr {
- pub ptr: *mut ndb_blocks,
-}
-#[test]
-fn bindgen_test_layout_ndb_blocks_ptr() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_blocks_ptr> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_blocks_ptr>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_blocks_ptr))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_blocks_ptr>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_blocks_ptr))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_blocks_ptr),
- "::",
- stringify!(ptr)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_note_ptr {
- pub ptr: *mut ndb_note,
-}
-#[test]
-fn bindgen_test_layout_ndb_note_ptr() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_note_ptr> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_note_ptr>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_note_ptr))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_note_ptr>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_note_ptr))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_note_ptr),
- "::",
- stringify!(ptr)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_t {
- pub ndb: *mut ndb,
-}
-#[test]
-fn bindgen_test_layout_ndb_t() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_t> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_t>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_t))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_t>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_t))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).ndb) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_t),
- "::",
- stringify!(ndb)
- )
- );
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ndb_str {
- pub flag: ::std::os::raw::c_uchar,
- pub __bindgen_anon_1: ndb_str__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union ndb_str__bindgen_ty_1 {
- pub str_: *const ::std::os::raw::c_char,
- pub id: *mut ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_ndb_str__bindgen_ty_1() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_str__bindgen_ty_1> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_str__bindgen_ty_1>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_str__bindgen_ty_1))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_str__bindgen_ty_1>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_str__bindgen_ty_1))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_str__bindgen_ty_1),
- "::",
- stringify!(str_)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_str__bindgen_ty_1),
- "::",
- stringify!(id)
- )
- );
-}
-#[test]
-fn bindgen_test_layout_ndb_str() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_str> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_str>(),
- 16usize,
- concat!("Size of: ", stringify!(ndb_str))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_str>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_str))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).flag) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_str),
- "::",
- stringify!(flag)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_keypair {
- pub pubkey: [::std::os::raw::c_uchar; 32usize],
- pub secret: [::std::os::raw::c_uchar; 32usize],
- pub pair: [::std::os::raw::c_uchar; 96usize],
-}
-#[test]
-fn bindgen_test_layout_ndb_keypair() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_keypair> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_keypair>(),
- 160usize,
- concat!("Size of: ", stringify!(ndb_keypair))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_keypair>(),
- 1usize,
- concat!("Alignment of ", stringify!(ndb_keypair))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_keypair),
- "::",
- stringify!(pubkey)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).secret) as usize - ptr as usize },
- 32usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_keypair),
- "::",
- stringify!(secret)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).pair) as usize - ptr as usize },
- 64usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_keypair),
- "::",
- stringify!(pair)
- )
- );
-}
-pub type ndb_idres = i32;
-pub type ndb_id_fn = ::std::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ::std::os::raw::c_void,
- arg2: *const ::std::os::raw::c_char,
- ) -> ndb_idres,
->;
-pub type ndb_sub_fn =
- ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, subid: u64)>;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_id_cb {
- pub fn_: ndb_id_fn,
- pub data: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_ndb_id_cb() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_id_cb> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_id_cb>(),
- 16usize,
- concat!("Size of: ", stringify!(ndb_id_cb))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_id_cb>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_id_cb))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).fn_) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_id_cb),
- "::",
- stringify!(fn_)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_id_cb),
- "::",
- stringify!(data)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_txn {
- pub lmdb: *mut ndb_lmdb,
- pub mdb_txn: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_ndb_txn() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_txn> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_txn>(),
- 16usize,
- concat!("Size of: ", stringify!(ndb_txn))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_txn>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_txn))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).lmdb) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_txn),
- "::",
- stringify!(lmdb)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).mdb_txn) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_txn),
- "::",
- stringify!(mdb_txn)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_event {
- pub note: *mut ndb_note,
-}
-#[test]
-fn bindgen_test_layout_ndb_event() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_event> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_event>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_event))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_event>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_event))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_event),
- "::",
- stringify!(note)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_command_result {
- pub ok: ::std::os::raw::c_int,
- pub msg: *const ::std::os::raw::c_char,
- pub msglen: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ndb_command_result() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_command_result> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_command_result>(),
- 24usize,
- concat!("Size of: ", stringify!(ndb_command_result))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_command_result>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_command_result))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).ok) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_command_result),
- "::",
- stringify!(ok)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).msg) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_command_result),
- "::",
- stringify!(msg)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).msglen) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_command_result),
- "::",
- stringify!(msglen)
- )
- );
-}
-pub const fce_type_NDB_FCE_EVENT: fce_type = 1;
-pub type fce_type = ::std::os::raw::c_uint;
-pub const tce_type_NDB_TCE_EVENT: tce_type = 1;
-pub const tce_type_NDB_TCE_OK: tce_type = 2;
-pub const tce_type_NDB_TCE_NOTICE: tce_type = 3;
-pub const tce_type_NDB_TCE_EOSE: tce_type = 4;
-pub const tce_type_NDB_TCE_AUTH: tce_type = 5;
-pub type tce_type = ::std::os::raw::c_uint;
-pub const ndb_ingest_filter_action_NDB_INGEST_REJECT: ndb_ingest_filter_action = 0;
-pub const ndb_ingest_filter_action_NDB_INGEST_ACCEPT: ndb_ingest_filter_action = 1;
-pub const ndb_ingest_filter_action_NDB_INGEST_SKIP_VALIDATION: ndb_ingest_filter_action = 2;
-pub type ndb_ingest_filter_action = ::std::os::raw::c_uint;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_search_key {
- pub search: [::std::os::raw::c_char; 24usize],
- pub id: [::std::os::raw::c_uchar; 32usize],
- pub timestamp: u64,
-}
-#[test]
-fn bindgen_test_layout_ndb_search_key() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_search_key> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_search_key>(),
- 64usize,
- concat!("Size of: ", stringify!(ndb_search_key))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_search_key>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_search_key))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).search) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_search_key),
- "::",
- stringify!(search)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_search_key),
- "::",
- stringify!(id)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
- 56usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_search_key),
- "::",
- stringify!(timestamp)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_search {
- pub key: *mut ndb_search_key,
- pub profile_key: u64,
- pub cursor: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_ndb_search() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_search> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_search>(),
- 24usize,
- concat!("Size of: ", stringify!(ndb_search))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_search>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_search))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_search),
- "::",
- stringify!(key)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).profile_key) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_search),
- "::",
- stringify!(profile_key)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).cursor) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_search),
- "::",
- stringify!(cursor)
- )
- );
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ndb_fce {
- pub evtype: fce_type,
- pub __bindgen_anon_1: ndb_fce__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union ndb_fce__bindgen_ty_1 {
- pub event: ndb_event,
-}
-#[test]
-fn bindgen_test_layout_ndb_fce__bindgen_ty_1() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_fce__bindgen_ty_1> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_fce__bindgen_ty_1>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_fce__bindgen_ty_1))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_fce__bindgen_ty_1>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_fce__bindgen_ty_1))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_fce__bindgen_ty_1),
- "::",
- stringify!(event)
- )
- );
-}
-#[test]
-fn bindgen_test_layout_ndb_fce() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_fce> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_fce>(),
- 16usize,
- concat!("Size of: ", stringify!(ndb_fce))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_fce>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_fce))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_fce),
- "::",
- stringify!(evtype)
- )
- );
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ndb_tce {
- pub evtype: tce_type,
- pub subid: *const ::std::os::raw::c_char,
- pub subid_len: ::std::os::raw::c_int,
- pub __bindgen_anon_1: ndb_tce__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union ndb_tce__bindgen_ty_1 {
- pub event: ndb_event,
- pub command_result: ndb_command_result,
-}
-#[test]
-fn bindgen_test_layout_ndb_tce__bindgen_ty_1() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_tce__bindgen_ty_1> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_tce__bindgen_ty_1>(),
- 24usize,
- concat!("Size of: ", stringify!(ndb_tce__bindgen_ty_1))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_tce__bindgen_ty_1>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_tce__bindgen_ty_1))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_tce__bindgen_ty_1),
- "::",
- stringify!(event)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).command_result) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_tce__bindgen_ty_1),
- "::",
- stringify!(command_result)
- )
- );
-}
-#[test]
-fn bindgen_test_layout_ndb_tce() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_tce> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_tce>(),
- 48usize,
- concat!("Size of: ", stringify!(ndb_tce))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_tce>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_tce))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_tce),
- "::",
- stringify!(evtype)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).subid) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_tce),
- "::",
- stringify!(subid)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).subid_len) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_tce),
- "::",
- stringify!(subid_len)
- )
- );
-}
-pub type ndb_ingest_filter_fn = ::std::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ::std::os::raw::c_void,
- arg2: *mut ndb_note,
- ) -> ndb_ingest_filter_action,
->;
-pub const ndb_filter_fieldtype_NDB_FILTER_IDS: ndb_filter_fieldtype = 1;
-pub const ndb_filter_fieldtype_NDB_FILTER_AUTHORS: ndb_filter_fieldtype = 2;
-pub const ndb_filter_fieldtype_NDB_FILTER_KINDS: ndb_filter_fieldtype = 3;
-pub const ndb_filter_fieldtype_NDB_FILTER_TAGS: ndb_filter_fieldtype = 4;
-pub const ndb_filter_fieldtype_NDB_FILTER_SINCE: ndb_filter_fieldtype = 5;
-pub const ndb_filter_fieldtype_NDB_FILTER_UNTIL: ndb_filter_fieldtype = 6;
-pub const ndb_filter_fieldtype_NDB_FILTER_LIMIT: ndb_filter_fieldtype = 7;
-pub type ndb_filter_fieldtype = ::std::os::raw::c_uint;
-pub const ndb_generic_element_type_NDB_ELEMENT_UNKNOWN: ndb_generic_element_type = 0;
-pub const ndb_generic_element_type_NDB_ELEMENT_STRING: ndb_generic_element_type = 1;
-pub const ndb_generic_element_type_NDB_ELEMENT_ID: ndb_generic_element_type = 2;
-pub const ndb_generic_element_type_NDB_ELEMENT_INT: ndb_generic_element_type = 3;
-pub type ndb_generic_element_type = ::std::os::raw::c_uint;
-pub const ndb_search_order_NDB_ORDER_DESCENDING: ndb_search_order = 0;
-pub const ndb_search_order_NDB_ORDER_ASCENDING: ndb_search_order = 1;
-pub type ndb_search_order = ::std::os::raw::c_uint;
-pub const ndb_dbs_NDB_DB_NOTE: ndb_dbs = 0;
-pub const ndb_dbs_NDB_DB_META: ndb_dbs = 1;
-pub const ndb_dbs_NDB_DB_PROFILE: ndb_dbs = 2;
-pub const ndb_dbs_NDB_DB_NOTE_ID: ndb_dbs = 3;
-pub const ndb_dbs_NDB_DB_PROFILE_PK: ndb_dbs = 4;
-pub const ndb_dbs_NDB_DB_NDB_META: ndb_dbs = 5;
-pub const ndb_dbs_NDB_DB_PROFILE_SEARCH: ndb_dbs = 6;
-pub const ndb_dbs_NDB_DB_PROFILE_LAST_FETCH: ndb_dbs = 7;
-pub const ndb_dbs_NDB_DB_NOTE_KIND: ndb_dbs = 8;
-pub const ndb_dbs_NDB_DB_NOTE_TEXT: ndb_dbs = 9;
-pub const ndb_dbs_NDB_DB_NOTE_BLOCKS: ndb_dbs = 10;
-pub const ndb_dbs_NDB_DB_NOTE_TAGS: ndb_dbs = 11;
-pub const ndb_dbs_NDB_DBS: ndb_dbs = 12;
-pub type ndb_dbs = ::std::os::raw::c_uint;
-pub const ndb_common_kind_NDB_CKIND_PROFILE: ndb_common_kind = 0;
-pub const ndb_common_kind_NDB_CKIND_TEXT: ndb_common_kind = 1;
-pub const ndb_common_kind_NDB_CKIND_CONTACTS: ndb_common_kind = 2;
-pub const ndb_common_kind_NDB_CKIND_DM: ndb_common_kind = 3;
-pub const ndb_common_kind_NDB_CKIND_DELETE: ndb_common_kind = 4;
-pub const ndb_common_kind_NDB_CKIND_REPOST: ndb_common_kind = 5;
-pub const ndb_common_kind_NDB_CKIND_REACTION: ndb_common_kind = 6;
-pub const ndb_common_kind_NDB_CKIND_ZAP: ndb_common_kind = 7;
-pub const ndb_common_kind_NDB_CKIND_ZAP_REQUEST: ndb_common_kind = 8;
-pub const ndb_common_kind_NDB_CKIND_NWC_REQUEST: ndb_common_kind = 9;
-pub const ndb_common_kind_NDB_CKIND_NWC_RESPONSE: ndb_common_kind = 10;
-pub const ndb_common_kind_NDB_CKIND_HTTP_AUTH: ndb_common_kind = 11;
-pub const ndb_common_kind_NDB_CKIND_LIST: ndb_common_kind = 12;
-pub const ndb_common_kind_NDB_CKIND_LONGFORM: ndb_common_kind = 13;
-pub const ndb_common_kind_NDB_CKIND_STATUS: ndb_common_kind = 14;
-pub const ndb_common_kind_NDB_CKIND_COUNT: ndb_common_kind = 15;
-pub type ndb_common_kind = ::std::os::raw::c_uint;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_builder {
- pub mem: cursor,
- pub note_cur: cursor,
- pub strings: cursor,
- pub str_indices: cursor,
- pub note: *mut ndb_note,
- pub current_tag: *mut ndb_tag,
-}
-#[test]
-fn bindgen_test_layout_ndb_builder() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_builder> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_builder>(),
- 112usize,
- concat!("Size of: ", stringify!(ndb_builder))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_builder>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_builder))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).mem) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_builder),
- "::",
- stringify!(mem)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).note_cur) as usize - ptr as usize },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_builder),
- "::",
- stringify!(note_cur)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
- 48usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_builder),
- "::",
- stringify!(strings)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).str_indices) as usize - ptr as usize },
- 72usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_builder),
- "::",
- stringify!(str_indices)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
- 96usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_builder),
- "::",
- stringify!(note)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).current_tag) as usize - ptr as usize },
- 104usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_builder),
- "::",
- stringify!(current_tag)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_iterator {
- pub note: *mut ndb_note,
- pub tag: *mut ndb_tag,
- pub index: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ndb_iterator() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_iterator> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_iterator>(),
- 24usize,
- concat!("Size of: ", stringify!(ndb_iterator))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_iterator>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_iterator))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_iterator),
- "::",
- stringify!(note)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_iterator),
- "::",
- stringify!(tag)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_iterator),
- "::",
- stringify!(index)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_filter_string {
- pub string: *const ::std::os::raw::c_char,
- pub len: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ndb_filter_string() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_filter_string> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_filter_string>(),
- 16usize,
- concat!("Size of: ", stringify!(ndb_filter_string))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_filter_string>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_filter_string))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_string),
- "::",
- stringify!(string)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_string),
- "::",
- stringify!(len)
- )
- );
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union ndb_filter_element {
- pub string: ndb_filter_string,
- pub id: *const ::std::os::raw::c_uchar,
- pub integer: u64,
-}
-#[test]
-fn bindgen_test_layout_ndb_filter_element() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_filter_element> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_filter_element>(),
- 16usize,
- concat!("Size of: ", stringify!(ndb_filter_element))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_filter_element>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_filter_element))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_element),
- "::",
- stringify!(string)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_element),
- "::",
- stringify!(id)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_element),
- "::",
- stringify!(integer)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_filter_field {
- pub type_: ndb_filter_fieldtype,
- pub elem_type: ndb_generic_element_type,
- pub tag: ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_ndb_filter_field() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_filter_field> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_filter_field>(),
- 12usize,
- concat!("Size of: ", stringify!(ndb_filter_field))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_filter_field>(),
- 4usize,
- concat!("Alignment of ", stringify!(ndb_filter_field))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_field),
- "::",
- stringify!(type_)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).elem_type) as usize - ptr as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_field),
- "::",
- stringify!(elem_type)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_field),
- "::",
- stringify!(tag)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug)]
-pub struct ndb_filter_elements {
- pub field: ndb_filter_field,
- pub count: ::std::os::raw::c_int,
- pub elements: __IncompleteArrayField<u64>,
-}
-#[test]
-fn bindgen_test_layout_ndb_filter_elements() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_filter_elements> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_filter_elements>(),
- 16usize,
- concat!("Size of: ", stringify!(ndb_filter_elements))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_filter_elements>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_filter_elements))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_elements),
- "::",
- stringify!(field)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
- 12usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_elements),
- "::",
- stringify!(count)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter_elements),
- "::",
- stringify!(elements)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_filter {
- pub elem_buf: cursor,
- pub data_buf: cursor,
- pub num_elements: ::std::os::raw::c_int,
- pub finalized: ::std::os::raw::c_int,
- pub current: ::std::os::raw::c_int,
- pub elements: [::std::os::raw::c_int; 7usize],
-}
-#[test]
-fn bindgen_test_layout_ndb_filter() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_filter> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_filter>(),
- 88usize,
- concat!("Size of: ", stringify!(ndb_filter))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_filter>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_filter))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).elem_buf) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter),
- "::",
- stringify!(elem_buf)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).data_buf) as usize - ptr as usize },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter),
- "::",
- stringify!(data_buf)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).num_elements) as usize - ptr as usize },
- 48usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter),
- "::",
- stringify!(num_elements)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).finalized) as usize - ptr as usize },
- 52usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter),
- "::",
- stringify!(finalized)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).current) as usize - ptr as usize },
- 56usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter),
- "::",
- stringify!(current)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
- 60usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_filter),
- "::",
- stringify!(elements)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_config {
- pub flags: ::std::os::raw::c_int,
- pub ingester_threads: ::std::os::raw::c_int,
- pub mapsize: usize,
- pub filter_context: *mut ::std::os::raw::c_void,
- pub ingest_filter: ndb_ingest_filter_fn,
- pub sub_cb_ctx: *mut ::std::os::raw::c_void,
- pub sub_cb: ndb_sub_fn,
-}
-#[test]
-fn bindgen_test_layout_ndb_config() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_config> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_config>(),
- 48usize,
- concat!("Size of: ", stringify!(ndb_config))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_config>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_config))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_config),
- "::",
- stringify!(flags)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).ingester_threads) as usize - ptr as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_config),
- "::",
- stringify!(ingester_threads)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).mapsize) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_config),
- "::",
- stringify!(mapsize)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).filter_context) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_config),
- "::",
- stringify!(filter_context)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).ingest_filter) as usize - ptr as usize },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_config),
- "::",
- stringify!(ingest_filter)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).sub_cb_ctx) as usize - ptr as usize },
- 32usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_config),
- "::",
- stringify!(sub_cb_ctx)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).sub_cb) as usize - ptr as usize },
- 40usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_config),
- "::",
- stringify!(sub_cb)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_text_search_config {
- pub order: ndb_search_order,
- pub limit: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ndb_text_search_config() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_config> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_text_search_config>(),
- 8usize,
- concat!("Size of: ", stringify!(ndb_text_search_config))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_text_search_config>(),
- 4usize,
- concat!("Alignment of ", stringify!(ndb_text_search_config))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_config),
- "::",
- stringify!(order)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).limit) as usize - ptr as usize },
- 4usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_config),
- "::",
- stringify!(limit)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_stat_counts {
- pub key_size: usize,
- pub value_size: usize,
- pub count: usize,
-}
-#[test]
-fn bindgen_test_layout_ndb_stat_counts() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_stat_counts> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_stat_counts>(),
- 24usize,
- concat!("Size of: ", stringify!(ndb_stat_counts))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_stat_counts>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_stat_counts))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).key_size) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_stat_counts),
- "::",
- stringify!(key_size)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).value_size) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_stat_counts),
- "::",
- stringify!(value_size)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_stat_counts),
- "::",
- stringify!(count)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_stat {
- pub dbs: [ndb_stat_counts; 12usize],
- pub common_kinds: [ndb_stat_counts; 15usize],
- pub other_kinds: ndb_stat_counts,
-}
-#[test]
-fn bindgen_test_layout_ndb_stat() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_stat> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_stat>(),
- 672usize,
- concat!("Size of: ", stringify!(ndb_stat))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_stat>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_stat))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).dbs) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_stat),
- "::",
- stringify!(dbs)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).common_kinds) as usize - ptr as usize },
- 288usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_stat),
- "::",
- stringify!(common_kinds)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).other_kinds) as usize - ptr as usize },
- 648usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_stat),
- "::",
- stringify!(other_kinds)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_text_search_key {
- pub str_len: ::std::os::raw::c_int,
- pub str_: *const ::std::os::raw::c_char,
- pub timestamp: u64,
- pub note_id: u64,
- pub word_index: u64,
-}
-#[test]
-fn bindgen_test_layout_ndb_text_search_key() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_key> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_text_search_key>(),
- 40usize,
- concat!("Size of: ", stringify!(ndb_text_search_key))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_text_search_key>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_text_search_key))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).str_len) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_key),
- "::",
- stringify!(str_len)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_key),
- "::",
- stringify!(str_)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_key),
- "::",
- stringify!(timestamp)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_key),
- "::",
- stringify!(note_id)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).word_index) as usize - ptr as usize },
- 32usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_key),
- "::",
- stringify!(word_index)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_text_search_result {
- pub key: ndb_text_search_key,
- pub prefix_chars: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ndb_text_search_result() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_result> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_text_search_result>(),
- 48usize,
- concat!("Size of: ", stringify!(ndb_text_search_result))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_text_search_result>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_text_search_result))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_result),
- "::",
- stringify!(key)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).prefix_chars) as usize - ptr as usize },
- 40usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_result),
- "::",
- stringify!(prefix_chars)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_text_search_results {
- pub results: [ndb_text_search_result; 128usize],
- pub num_results: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ndb_text_search_results() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_results> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_text_search_results>(),
- 6152usize,
- concat!("Size of: ", stringify!(ndb_text_search_results))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_text_search_results>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_text_search_results))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).results) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_results),
- "::",
- stringify!(results)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).num_results) as usize - ptr as usize },
- 6144usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_text_search_results),
- "::",
- stringify!(num_results)
- )
- );
-}
-pub const ndb_block_type_BLOCK_HASHTAG: ndb_block_type = 1;
-pub const ndb_block_type_BLOCK_TEXT: ndb_block_type = 2;
-pub const ndb_block_type_BLOCK_MENTION_INDEX: ndb_block_type = 3;
-pub const ndb_block_type_BLOCK_MENTION_BECH32: ndb_block_type = 4;
-pub const ndb_block_type_BLOCK_URL: ndb_block_type = 5;
-pub const ndb_block_type_BLOCK_INVOICE: ndb_block_type = 6;
-pub type ndb_block_type = ::std::os::raw::c_uint;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_relays {
- pub relays: [ndb_str_block; 24usize],
- pub num_relays: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ndb_relays() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_relays> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_relays>(),
- 392usize,
- concat!("Size of: ", stringify!(ndb_relays))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_relays>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_relays))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_relays),
- "::",
- stringify!(relays)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).num_relays) as usize - ptr as usize },
- 384usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_relays),
- "::",
- stringify!(num_relays)
- )
- );
-}
-pub const nostr_bech32_type_NOSTR_BECH32_NOTE: nostr_bech32_type = 1;
-pub const nostr_bech32_type_NOSTR_BECH32_NPUB: nostr_bech32_type = 2;
-pub const nostr_bech32_type_NOSTR_BECH32_NPROFILE: nostr_bech32_type = 3;
-pub const nostr_bech32_type_NOSTR_BECH32_NEVENT: nostr_bech32_type = 4;
-pub const nostr_bech32_type_NOSTR_BECH32_NRELAY: nostr_bech32_type = 5;
-pub const nostr_bech32_type_NOSTR_BECH32_NADDR: nostr_bech32_type = 6;
-pub const nostr_bech32_type_NOSTR_BECH32_NSEC: nostr_bech32_type = 7;
-pub type nostr_bech32_type = ::std::os::raw::c_uint;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bech32_note {
- pub event_id: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_bech32_note() {
- const UNINIT: ::std::mem::MaybeUninit<bech32_note> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<bech32_note>(),
- 8usize,
- concat!("Size of: ", stringify!(bech32_note))
- );
- assert_eq!(
- ::std::mem::align_of::<bech32_note>(),
- 8usize,
- concat!("Alignment of ", stringify!(bech32_note))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_note),
- "::",
- stringify!(event_id)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bech32_npub {
- pub pubkey: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_bech32_npub() {
- const UNINIT: ::std::mem::MaybeUninit<bech32_npub> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<bech32_npub>(),
- 8usize,
- concat!("Size of: ", stringify!(bech32_npub))
- );
- assert_eq!(
- ::std::mem::align_of::<bech32_npub>(),
- 8usize,
- concat!("Alignment of ", stringify!(bech32_npub))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_npub),
- "::",
- stringify!(pubkey)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bech32_nsec {
- pub nsec: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_bech32_nsec() {
- const UNINIT: ::std::mem::MaybeUninit<bech32_nsec> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<bech32_nsec>(),
- 8usize,
- concat!("Size of: ", stringify!(bech32_nsec))
- );
- assert_eq!(
- ::std::mem::align_of::<bech32_nsec>(),
- 8usize,
- concat!("Alignment of ", stringify!(bech32_nsec))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_nsec),
- "::",
- stringify!(nsec)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bech32_nevent {
- pub relays: ndb_relays,
- pub event_id: *const ::std::os::raw::c_uchar,
- pub pubkey: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_bech32_nevent() {
- const UNINIT: ::std::mem::MaybeUninit<bech32_nevent> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<bech32_nevent>(),
- 408usize,
- concat!("Size of: ", stringify!(bech32_nevent))
- );
- assert_eq!(
- ::std::mem::align_of::<bech32_nevent>(),
- 8usize,
- concat!("Alignment of ", stringify!(bech32_nevent))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_nevent),
- "::",
- stringify!(relays)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
- 392usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_nevent),
- "::",
- stringify!(event_id)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
- 400usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_nevent),
- "::",
- stringify!(pubkey)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bech32_nprofile {
- pub relays: ndb_relays,
- pub pubkey: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_bech32_nprofile() {
- const UNINIT: ::std::mem::MaybeUninit<bech32_nprofile> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<bech32_nprofile>(),
- 400usize,
- concat!("Size of: ", stringify!(bech32_nprofile))
- );
- assert_eq!(
- ::std::mem::align_of::<bech32_nprofile>(),
- 8usize,
- concat!("Alignment of ", stringify!(bech32_nprofile))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_nprofile),
- "::",
- stringify!(relays)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
- 392usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_nprofile),
- "::",
- stringify!(pubkey)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bech32_naddr {
- pub relays: ndb_relays,
- pub identifier: ndb_str_block,
- pub pubkey: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_bech32_naddr() {
- const UNINIT: ::std::mem::MaybeUninit<bech32_naddr> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<bech32_naddr>(),
- 416usize,
- concat!("Size of: ", stringify!(bech32_naddr))
- );
- assert_eq!(
- ::std::mem::align_of::<bech32_naddr>(),
- 8usize,
- concat!("Alignment of ", stringify!(bech32_naddr))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_naddr),
- "::",
- stringify!(relays)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).identifier) as usize - ptr as usize },
- 392usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_naddr),
- "::",
- stringify!(identifier)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
- 408usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_naddr),
- "::",
- stringify!(pubkey)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bech32_nrelay {
- pub relay: ndb_str_block,
-}
-#[test]
-fn bindgen_test_layout_bech32_nrelay() {
- const UNINIT: ::std::mem::MaybeUninit<bech32_nrelay> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<bech32_nrelay>(),
- 16usize,
- concat!("Size of: ", stringify!(bech32_nrelay))
- );
- assert_eq!(
- ::std::mem::align_of::<bech32_nrelay>(),
- 8usize,
- concat!("Alignment of ", stringify!(bech32_nrelay))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).relay) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(bech32_nrelay),
- "::",
- stringify!(relay)
- )
- );
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct nostr_bech32 {
- pub type_: nostr_bech32_type,
- pub __bindgen_anon_1: nostr_bech32__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union nostr_bech32__bindgen_ty_1 {
- pub note: bech32_note,
- pub npub: bech32_npub,
- pub nsec: bech32_nsec,
- pub nevent: bech32_nevent,
- pub nprofile: bech32_nprofile,
- pub naddr: bech32_naddr,
- pub nrelay: bech32_nrelay,
-}
-#[test]
-fn bindgen_test_layout_nostr_bech32__bindgen_ty_1() {
- const UNINIT: ::std::mem::MaybeUninit<nostr_bech32__bindgen_ty_1> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<nostr_bech32__bindgen_ty_1>(),
- 416usize,
- concat!("Size of: ", stringify!(nostr_bech32__bindgen_ty_1))
- );
- assert_eq!(
- ::std::mem::align_of::<nostr_bech32__bindgen_ty_1>(),
- 8usize,
- concat!("Alignment of ", stringify!(nostr_bech32__bindgen_ty_1))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(nostr_bech32__bindgen_ty_1),
- "::",
- stringify!(note)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).npub) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(nostr_bech32__bindgen_ty_1),
- "::",
- stringify!(npub)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(nostr_bech32__bindgen_ty_1),
- "::",
- stringify!(nsec)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).nevent) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(nostr_bech32__bindgen_ty_1),
- "::",
- stringify!(nevent)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).nprofile) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(nostr_bech32__bindgen_ty_1),
- "::",
- stringify!(nprofile)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).naddr) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(nostr_bech32__bindgen_ty_1),
- "::",
- stringify!(naddr)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).nrelay) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(nostr_bech32__bindgen_ty_1),
- "::",
- stringify!(nrelay)
- )
- );
-}
-#[test]
-fn bindgen_test_layout_nostr_bech32() {
- const UNINIT: ::std::mem::MaybeUninit<nostr_bech32> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<nostr_bech32>(),
- 424usize,
- concat!("Size of: ", stringify!(nostr_bech32))
- );
- assert_eq!(
- ::std::mem::align_of::<nostr_bech32>(),
- 8usize,
- concat!("Alignment of ", stringify!(nostr_bech32))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(nostr_bech32),
- "::",
- stringify!(type_)
- )
- );
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ndb_mention_bech32_block {
- pub str_: ndb_str_block,
- pub bech32: nostr_bech32,
-}
-#[test]
-fn bindgen_test_layout_ndb_mention_bech32_block() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_mention_bech32_block> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_mention_bech32_block>(),
- 440usize,
- concat!("Size of: ", stringify!(ndb_mention_bech32_block))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_mention_bech32_block>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_mention_bech32_block))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_mention_bech32_block),
- "::",
- stringify!(str_)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).bech32) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_mention_bech32_block),
- "::",
- stringify!(bech32)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_invoice {
- pub version: ::std::os::raw::c_uchar,
- pub amount: u64,
- pub timestamp: u64,
- pub expiry: u64,
- pub description: *mut ::std::os::raw::c_char,
- pub description_hash: *mut ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_ndb_invoice() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_invoice> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_invoice>(),
- 48usize,
- concat!("Size of: ", stringify!(ndb_invoice))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_invoice>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_invoice))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_invoice),
- "::",
- stringify!(version)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_invoice),
- "::",
- stringify!(amount)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_invoice),
- "::",
- stringify!(timestamp)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).expiry) as usize - ptr as usize },
- 24usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_invoice),
- "::",
- stringify!(expiry)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
- 32usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_invoice),
- "::",
- stringify!(description)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).description_hash) as usize - ptr as usize },
- 40usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_invoice),
- "::",
- stringify!(description_hash)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_invoice_block {
- pub invstr: ndb_str_block,
- pub invoice: ndb_invoice,
-}
-#[test]
-fn bindgen_test_layout_ndb_invoice_block() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_invoice_block> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_invoice_block>(),
- 64usize,
- concat!("Size of: ", stringify!(ndb_invoice_block))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_invoice_block>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_invoice_block))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).invstr) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_invoice_block),
- "::",
- stringify!(invstr)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_invoice_block),
- "::",
- stringify!(invoice)
- )
- );
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ndb_block {
- pub type_: ndb_block_type,
- pub block: ndb_block__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union ndb_block__bindgen_ty_1 {
- pub str_: ndb_str_block,
- pub invoice: ndb_invoice_block,
- pub mention_bech32: ndb_mention_bech32_block,
- pub mention_index: u32,
-}
-#[test]
-fn bindgen_test_layout_ndb_block__bindgen_ty_1() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_block__bindgen_ty_1> =
- ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_block__bindgen_ty_1>(),
- 440usize,
- concat!("Size of: ", stringify!(ndb_block__bindgen_ty_1))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_block__bindgen_ty_1>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_block__bindgen_ty_1))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block__bindgen_ty_1),
- "::",
- stringify!(str_)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block__bindgen_ty_1),
- "::",
- stringify!(invoice)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).mention_bech32) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block__bindgen_ty_1),
- "::",
- stringify!(mention_bech32)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).mention_index) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block__bindgen_ty_1),
- "::",
- stringify!(mention_index)
- )
- );
-}
-#[test]
-fn bindgen_test_layout_ndb_block() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_block> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_block>(),
- 448usize,
- concat!("Size of: ", stringify!(ndb_block))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_block>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_block))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block),
- "::",
- stringify!(type_)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block),
- "::",
- stringify!(block)
- )
- );
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ndb_block_iterator {
- pub content: *const ::std::os::raw::c_char,
- pub blocks: *mut ndb_blocks,
- pub block: ndb_block,
- pub p: *mut ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_ndb_block_iterator() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_block_iterator> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_block_iterator>(),
- 472usize,
- concat!("Size of: ", stringify!(ndb_block_iterator))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_block_iterator>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_block_iterator))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).content) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block_iterator),
- "::",
- stringify!(content)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).blocks) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block_iterator),
- "::",
- stringify!(blocks)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block_iterator),
- "::",
- stringify!(block)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
- 464usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_block_iterator),
- "::",
- stringify!(p)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_query_result {
- pub note: *mut ndb_note,
- pub note_size: u64,
- pub note_id: u64,
-}
-#[test]
-fn bindgen_test_layout_ndb_query_result() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_query_result> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_query_result>(),
- 24usize,
- concat!("Size of: ", stringify!(ndb_query_result))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_query_result>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_query_result))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_query_result),
- "::",
- stringify!(note)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).note_size) as usize - ptr as usize },
- 8usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_query_result),
- "::",
- stringify!(note_size)
- )
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
- 16usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_query_result),
- "::",
- stringify!(note_id)
- )
- );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ndb_query_results {
- pub cur: cursor,
-}
-#[test]
-fn bindgen_test_layout_ndb_query_results() {
- const UNINIT: ::std::mem::MaybeUninit<ndb_query_results> = ::std::mem::MaybeUninit::uninit();
- let ptr = UNINIT.as_ptr();
- assert_eq!(
- ::std::mem::size_of::<ndb_query_results>(),
- 24usize,
- concat!("Size of: ", stringify!(ndb_query_results))
- );
- assert_eq!(
- ::std::mem::align_of::<ndb_query_results>(),
- 8usize,
- concat!("Alignment of ", stringify!(ndb_query_results))
- );
- assert_eq!(
- unsafe { ::std::ptr::addr_of!((*ptr).cur) as usize - ptr as usize },
- 0usize,
- concat!(
- "Offset of field: ",
- stringify!(ndb_query_results),
- "::",
- stringify!(cur)
- )
- );
-}
-extern "C" {
- pub fn ndb_default_config(arg1: *mut ndb_config);
-}
-extern "C" {
- pub fn ndb_config_set_ingest_threads(config: *mut ndb_config, threads: ::std::os::raw::c_int);
-}
-extern "C" {
- pub fn ndb_config_set_flags(config: *mut ndb_config, flags: ::std::os::raw::c_int);
-}
-extern "C" {
- pub fn ndb_config_set_mapsize(config: *mut ndb_config, mapsize: usize);
-}
-extern "C" {
- pub fn ndb_config_set_ingest_filter(
- config: *mut ndb_config,
- fn_: ndb_ingest_filter_fn,
- arg1: *mut ::std::os::raw::c_void,
- );
-}
-extern "C" {
- pub fn ndb_config_set_subscription_callback(
- config: *mut ndb_config,
- fn_: ndb_sub_fn,
- ctx: *mut ::std::os::raw::c_void,
- );
-}
-extern "C" {
- pub fn ndb_calculate_id(
- note: *mut ndb_note,
- buf: *mut ::std::os::raw::c_uchar,
- buflen: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_sign_id(
- keypair: *mut ndb_keypair,
- id: *mut ::std::os::raw::c_uchar,
- sig: *mut ::std::os::raw::c_uchar,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_create_keypair(key: *mut ndb_keypair) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_decode_key(
- secstr: *const ::std::os::raw::c_char,
- keypair: *mut ndb_keypair,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_note_verify(
- secp_ctx: *mut ::std::os::raw::c_void,
- pubkey: *mut ::std::os::raw::c_uchar,
- id: *mut ::std::os::raw::c_uchar,
- signature: *mut ::std::os::raw::c_uchar,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_init(
- ndb: *mut *mut ndb,
- dbdir: *const ::std::os::raw::c_char,
- arg1: *const ndb_config,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_db_version(ndb: *mut ndb) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_process_event(
- arg1: *mut ndb,
- json: *const ::std::os::raw::c_char,
- len: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_process_events(
- arg1: *mut ndb,
- ldjson: *const ::std::os::raw::c_char,
- len: usize,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_process_events_stream(arg1: *mut ndb, fp: *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_process_client_event(
- arg1: *mut ndb,
- json: *const ::std::os::raw::c_char,
- len: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_process_client_events(
- arg1: *mut ndb,
- json: *const ::std::os::raw::c_char,
- len: usize,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_begin_query(arg1: *mut ndb, arg2: *mut ndb_txn) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_search_profile(
- txn: *mut ndb_txn,
- search: *mut ndb_search,
- query: *const ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_search_profile_next(search: *mut ndb_search) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_search_profile_end(search: *mut ndb_search);
-}
-extern "C" {
- pub fn ndb_end_query(arg1: *mut ndb_txn) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_write_last_profile_fetch(
- ndb: *mut ndb,
- pubkey: *const ::std::os::raw::c_uchar,
- fetched_at: u64,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_read_last_profile_fetch(
- txn: *mut ndb_txn,
- pubkey: *const ::std::os::raw::c_uchar,
- ) -> u64;
-}
-extern "C" {
- pub fn ndb_get_profile_by_pubkey(
- txn: *mut ndb_txn,
- pubkey: *const ::std::os::raw::c_uchar,
- len: *mut usize,
- primkey: *mut u64,
- ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
- pub fn ndb_get_profile_by_key(
- txn: *mut ndb_txn,
- key: u64,
- len: *mut usize,
- ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
- pub fn ndb_get_notekey_by_id(txn: *mut ndb_txn, id: *const ::std::os::raw::c_uchar) -> u64;
-}
-extern "C" {
- pub fn ndb_get_profilekey_by_pubkey(
- txn: *mut ndb_txn,
- id: *const ::std::os::raw::c_uchar,
- ) -> u64;
-}
-extern "C" {
- pub fn ndb_get_note_by_id(
- txn: *mut ndb_txn,
- id: *const ::std::os::raw::c_uchar,
- len: *mut usize,
- primkey: *mut u64,
- ) -> *mut ndb_note;
-}
-extern "C" {
- pub fn ndb_get_note_by_key(txn: *mut ndb_txn, key: u64, len: *mut usize) -> *mut ndb_note;
-}
-extern "C" {
- pub fn ndb_get_note_meta(
- txn: *mut ndb_txn,
- id: *const ::std::os::raw::c_uchar,
- len: *mut usize,
- ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
- pub fn ndb_destroy(arg1: *mut ndb);
-}
-extern "C" {
- pub fn ndb_parse_json_note(
- arg1: *mut ndb_json_parser,
- arg2: *mut *mut ndb_note,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_client_event_from_json(
- json: *const ::std::os::raw::c_char,
- len: ::std::os::raw::c_int,
- fce: *mut ndb_fce,
- buf: *mut ::std::os::raw::c_uchar,
- bufsize: ::std::os::raw::c_int,
- cb: *mut ndb_id_cb,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_ws_event_from_json(
- json: *const ::std::os::raw::c_char,
- len: ::std::os::raw::c_int,
- tce: *mut ndb_tce,
- buf: *mut ::std::os::raw::c_uchar,
- bufsize: ::std::os::raw::c_int,
- arg1: *mut ndb_id_cb,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_note_from_json(
- json: *const ::std::os::raw::c_char,
- len: ::std::os::raw::c_int,
- arg1: *mut *mut ndb_note,
- buf: *mut ::std::os::raw::c_uchar,
- buflen: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_builder_init(
- builder: *mut ndb_builder,
- buf: *mut ::std::os::raw::c_uchar,
- bufsize: usize,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_builder_finalize(
- builder: *mut ndb_builder,
- note: *mut *mut ndb_note,
- privkey: *mut ndb_keypair,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_builder_set_content(
- builder: *mut ndb_builder,
- content: *const ::std::os::raw::c_char,
- len: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_builder_set_created_at(builder: *mut ndb_builder, created_at: u64);
-}
-extern "C" {
- pub fn ndb_builder_set_sig(builder: *mut ndb_builder, sig: *mut ::std::os::raw::c_uchar);
-}
-extern "C" {
- pub fn ndb_builder_set_pubkey(builder: *mut ndb_builder, pubkey: *mut ::std::os::raw::c_uchar);
-}
-extern "C" {
- pub fn ndb_builder_set_id(builder: *mut ndb_builder, id: *mut ::std::os::raw::c_uchar);
-}
-extern "C" {
- pub fn ndb_builder_set_kind(builder: *mut ndb_builder, kind: u32);
-}
-extern "C" {
- pub fn ndb_builder_new_tag(builder: *mut ndb_builder) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_builder_push_tag_str(
- builder: *mut ndb_builder,
- str_: *const ::std::os::raw::c_char,
- len: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_init(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_add_id_element(
- arg1: *mut ndb_filter,
- id: *const ::std::os::raw::c_uchar,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_add_int_element(arg1: *mut ndb_filter, integer: u64)
- -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_add_str_element(
- arg1: *mut ndb_filter,
- str_: *const ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_from_json(
- arg1: *const ::std::os::raw::c_char,
- len: ::std::os::raw::c_int,
- filter: *mut ndb_filter,
- buf: *mut ::std::os::raw::c_uchar,
- bufsize: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_get_id_element(
- arg1: *const ndb_filter,
- arg2: *const ndb_filter_elements,
- index: ::std::os::raw::c_int,
- ) -> *mut ::std::os::raw::c_uchar;
-}
-extern "C" {
- pub fn ndb_filter_get_string_element(
- arg1: *const ndb_filter,
- arg2: *const ndb_filter_elements,
- index: ::std::os::raw::c_int,
- ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn ndb_filter_get_int_element(
- arg1: *const ndb_filter_elements,
- index: ::std::os::raw::c_int,
- ) -> u64;
-}
-extern "C" {
- pub fn ndb_filter_get_int_element_ptr(
- arg1: *mut ndb_filter_elements,
- index: ::std::os::raw::c_int,
- ) -> *mut u64;
-}
-extern "C" {
- pub fn ndb_filter_current_element(arg1: *const ndb_filter) -> *mut ndb_filter_elements;
-}
-extern "C" {
- pub fn ndb_filter_get_elements(
- arg1: *const ndb_filter,
- arg2: ::std::os::raw::c_int,
- ) -> *mut ndb_filter_elements;
-}
-extern "C" {
- pub fn ndb_filter_start_field(
- arg1: *mut ndb_filter,
- arg2: ndb_filter_fieldtype,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_start_tag_field(
- arg1: *mut ndb_filter,
- tag: ::std::os::raw::c_char,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_matches(arg1: *mut ndb_filter, arg2: *mut ndb_note) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_clone(dst: *mut ndb_filter, src: *mut ndb_filter) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_end(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_filter_end_field(arg1: *mut ndb_filter);
-}
-extern "C" {
- pub fn ndb_filter_destroy(arg1: *mut ndb_filter);
-}
-extern "C" {
- pub fn ndb_filter_json(
- arg1: *const ndb_filter,
- buf: *mut ::std::os::raw::c_char,
- buflen: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_subscribe(
- arg1: *mut ndb,
- arg2: *mut ndb_filter,
- num_filters: ::std::os::raw::c_int,
- ) -> u64;
-}
-extern "C" {
- pub fn ndb_wait_for_notes(
- arg1: *mut ndb,
- subid: u64,
- note_ids: *mut u64,
- note_id_capacity: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_poll_for_notes(
- arg1: *mut ndb,
- subid: u64,
- note_ids: *mut u64,
- note_id_capacity: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_unsubscribe(arg1: *mut ndb, subid: u64) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_num_subscriptions(arg1: *mut ndb) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_text_search(
- txn: *mut ndb_txn,
- query: *const ::std::os::raw::c_char,
- arg1: *mut ndb_text_search_results,
- arg2: *mut ndb_text_search_config,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_default_text_search_config(arg1: *mut ndb_text_search_config);
-}
-extern "C" {
- pub fn ndb_text_search_config_set_order(
- arg1: *mut ndb_text_search_config,
- arg2: ndb_search_order,
- );
-}
-extern "C" {
- pub fn ndb_text_search_config_set_limit(
- arg1: *mut ndb_text_search_config,
- limit: ::std::os::raw::c_int,
- );
-}
-extern "C" {
- pub fn ndb_query(
- txn: *mut ndb_txn,
- filters: *mut ndb_filter,
- num_filters: ::std::os::raw::c_int,
- results: *mut ndb_query_result,
- result_capacity: ::std::os::raw::c_int,
- count: *mut ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_stat(ndb: *mut ndb, stat: *mut ndb_stat) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_stat_counts_init(counts: *mut ndb_stat_counts);
-}
-extern "C" {
- pub fn ndb_note_content(note: *mut ndb_note) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn ndb_note_str(note: *mut ndb_note, pstr: *mut ndb_packed_str) -> ndb_str;
-}
-extern "C" {
- pub fn ndb_note_content_length(note: *mut ndb_note) -> u32;
-}
-extern "C" {
- pub fn ndb_note_created_at(note: *mut ndb_note) -> u32;
-}
-extern "C" {
- pub fn ndb_note_kind(note: *mut ndb_note) -> u32;
-}
-extern "C" {
- pub fn ndb_note_id(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
-}
-extern "C" {
- pub fn ndb_note_pubkey(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
-}
-extern "C" {
- pub fn ndb_note_sig(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
-}
-extern "C" {
- pub fn _ndb_note_set_kind(note: *mut ndb_note, kind: u32);
-}
-extern "C" {
- pub fn ndb_note_tags(note: *mut ndb_note) -> *mut ndb_tags;
-}
-extern "C" {
- pub fn ndb_str_len(str_: *mut ndb_str) -> ::std::os::raw::c_int;
-}
-extern "C" {
- #[doc = " write the note as json to a buffer"]
- pub fn ndb_note_json(
- arg1: *mut ndb_note,
- buf: *mut ::std::os::raw::c_char,
- buflen: ::std::os::raw::c_int,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_tags_iterate_start(note: *mut ndb_note, iter: *mut ndb_iterator);
-}
-extern "C" {
- pub fn ndb_tags_count(arg1: *mut ndb_tags) -> u16;
-}
-extern "C" {
- pub fn ndb_tag_count(arg1: *mut ndb_tag) -> u16;
-}
-extern "C" {
- pub fn ndb_tags_iterate_next(iter: *mut ndb_iterator) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_iter_tag_str(iter: *mut ndb_iterator, ind: ::std::os::raw::c_int) -> ndb_str;
-}
-extern "C" {
- pub fn ndb_tag_str(
- note: *mut ndb_note,
- tag: *mut ndb_tag,
- ind: ::std::os::raw::c_int,
- ) -> ndb_str;
-}
-extern "C" {
- pub fn ndb_db_name(db: ndb_dbs) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn ndb_kind_name(ck: ndb_common_kind) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn ndb_kind_to_common_kind(kind: ::std::os::raw::c_int) -> ndb_common_kind;
-}
-extern "C" {
- pub fn ndb_parse_content(
- buf: *mut ::std::os::raw::c_uchar,
- buf_size: ::std::os::raw::c_int,
- content: *const ::std::os::raw::c_char,
- content_len: ::std::os::raw::c_int,
- blocks_p: *mut *mut ndb_blocks,
- ) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_get_block_type(block: *mut ndb_block) -> ndb_block_type;
-}
-extern "C" {
- pub fn ndb_blocks_flags(block: *mut ndb_blocks) -> ::std::os::raw::c_int;
-}
-extern "C" {
- pub fn ndb_blocks_total_size(blocks: *mut ndb_blocks) -> usize;
-}
-extern "C" {
- pub fn ndb_blocks_word_count(blocks: *mut ndb_blocks) -> ::std::os::raw::c_int;
-}
-extern "C" {
- #[doc = " Free blocks if they are owned, safe to call on unowned blocks as well."]
- pub fn ndb_blocks_free(blocks: *mut ndb_blocks);
-}
-extern "C" {
- pub fn ndb_get_blocks_by_key(
- ndb: *mut ndb,
- txn: *mut ndb_txn,
- note_key: u64,
- ) -> *mut ndb_blocks;
-}
-extern "C" {
- pub fn ndb_blocks_iterate_start(
- arg1: *const ::std::os::raw::c_char,
- arg2: *mut ndb_blocks,
- arg3: *mut ndb_block_iterator,
- );
-}
-extern "C" {
- pub fn ndb_blocks_iterate_next(arg1: *mut ndb_block_iterator) -> *mut ndb_block;
-}
-extern "C" {
- pub fn ndb_block_str(arg1: *mut ndb_block) -> *mut ndb_str_block;
-}
-extern "C" {
- pub fn ndb_str_block_ptr(arg1: *mut ndb_str_block) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
- pub fn ndb_str_block_len(arg1: *mut ndb_str_block) -> u32;
-}
-extern "C" {
- pub fn ndb_bech32_block(block: *mut ndb_block) -> *mut nostr_bech32;
-}
-pub type __builtin_va_list = *mut ::std::os::raw::c_char;
+#[cfg(not(target_os = "windows"))]
+include! {"bindings_posix.rs"}
diff --git a/src/bindings_posix.rs b/src/bindings_posix.rs
@@ -0,0 +1,6064 @@
+/* automatically generated by rust-bindgen 0.69.2 */
+
+#[repr(C)]
+#[derive(Default)]
+pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
+impl<T> __IncompleteArrayField<T> {
+ #[inline]
+ pub const fn new() -> Self {
+ __IncompleteArrayField(::std::marker::PhantomData, [])
+ }
+ #[inline]
+ pub fn as_ptr(&self) -> *const T {
+ self as *const _ as *const T
+ }
+ #[inline]
+ pub fn as_mut_ptr(&mut self) -> *mut T {
+ self as *mut _ as *mut T
+ }
+ #[inline]
+ pub unsafe fn as_slice(&self, len: usize) -> &[T] {
+ ::std::slice::from_raw_parts(self.as_ptr(), len)
+ }
+ #[inline]
+ pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
+ ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
+ }
+}
+impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
+ fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ fmt.write_str("__IncompleteArrayField")
+ }
+}
+pub const __PRI_8_LENGTH_MODIFIER__: &[u8; 3] = b"hh\0";
+pub const __PRI_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0";
+pub const __SCN_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0";
+pub const __PRI_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0";
+pub const __SCN_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0";
+pub const PRId8: &[u8; 4] = b"hhd\0";
+pub const PRIi8: &[u8; 4] = b"hhi\0";
+pub const PRIo8: &[u8; 4] = b"hho\0";
+pub const PRIu8: &[u8; 4] = b"hhu\0";
+pub const PRIx8: &[u8; 4] = b"hhx\0";
+pub const PRIX8: &[u8; 4] = b"hhX\0";
+pub const PRId16: &[u8; 3] = b"hd\0";
+pub const PRIi16: &[u8; 3] = b"hi\0";
+pub const PRIo16: &[u8; 3] = b"ho\0";
+pub const PRIu16: &[u8; 3] = b"hu\0";
+pub const PRIx16: &[u8; 3] = b"hx\0";
+pub const PRIX16: &[u8; 3] = b"hX\0";
+pub const PRId32: &[u8; 2] = b"d\0";
+pub const PRIi32: &[u8; 2] = b"i\0";
+pub const PRIo32: &[u8; 2] = b"o\0";
+pub const PRIu32: &[u8; 2] = b"u\0";
+pub const PRIx32: &[u8; 2] = b"x\0";
+pub const PRIX32: &[u8; 2] = b"X\0";
+pub const PRId64: &[u8; 4] = b"lld\0";
+pub const PRIi64: &[u8; 4] = b"lli\0";
+pub const PRIo64: &[u8; 4] = b"llo\0";
+pub const PRIu64: &[u8; 4] = b"llu\0";
+pub const PRIx64: &[u8; 4] = b"llx\0";
+pub const PRIX64: &[u8; 4] = b"llX\0";
+pub const PRIdLEAST8: &[u8; 4] = b"hhd\0";
+pub const PRIiLEAST8: &[u8; 4] = b"hhi\0";
+pub const PRIoLEAST8: &[u8; 4] = b"hho\0";
+pub const PRIuLEAST8: &[u8; 4] = b"hhu\0";
+pub const PRIxLEAST8: &[u8; 4] = b"hhx\0";
+pub const PRIXLEAST8: &[u8; 4] = b"hhX\0";
+pub const PRIdLEAST16: &[u8; 3] = b"hd\0";
+pub const PRIiLEAST16: &[u8; 3] = b"hi\0";
+pub const PRIoLEAST16: &[u8; 3] = b"ho\0";
+pub const PRIuLEAST16: &[u8; 3] = b"hu\0";
+pub const PRIxLEAST16: &[u8; 3] = b"hx\0";
+pub const PRIXLEAST16: &[u8; 3] = b"hX\0";
+pub const PRIdLEAST32: &[u8; 2] = b"d\0";
+pub const PRIiLEAST32: &[u8; 2] = b"i\0";
+pub const PRIoLEAST32: &[u8; 2] = b"o\0";
+pub const PRIuLEAST32: &[u8; 2] = b"u\0";
+pub const PRIxLEAST32: &[u8; 2] = b"x\0";
+pub const PRIXLEAST32: &[u8; 2] = b"X\0";
+pub const PRIdLEAST64: &[u8; 4] = b"lld\0";
+pub const PRIiLEAST64: &[u8; 4] = b"lli\0";
+pub const PRIoLEAST64: &[u8; 4] = b"llo\0";
+pub const PRIuLEAST64: &[u8; 4] = b"llu\0";
+pub const PRIxLEAST64: &[u8; 4] = b"llx\0";
+pub const PRIXLEAST64: &[u8; 4] = b"llX\0";
+pub const PRIdFAST8: &[u8; 4] = b"hhd\0";
+pub const PRIiFAST8: &[u8; 4] = b"hhi\0";
+pub const PRIoFAST8: &[u8; 4] = b"hho\0";
+pub const PRIuFAST8: &[u8; 4] = b"hhu\0";
+pub const PRIxFAST8: &[u8; 4] = b"hhx\0";
+pub const PRIXFAST8: &[u8; 4] = b"hhX\0";
+pub const PRIdFAST16: &[u8; 3] = b"hd\0";
+pub const PRIiFAST16: &[u8; 3] = b"hi\0";
+pub const PRIoFAST16: &[u8; 3] = b"ho\0";
+pub const PRIuFAST16: &[u8; 3] = b"hu\0";
+pub const PRIxFAST16: &[u8; 3] = b"hx\0";
+pub const PRIXFAST16: &[u8; 3] = b"hX\0";
+pub const PRIdFAST32: &[u8; 2] = b"d\0";
+pub const PRIiFAST32: &[u8; 2] = b"i\0";
+pub const PRIoFAST32: &[u8; 2] = b"o\0";
+pub const PRIuFAST32: &[u8; 2] = b"u\0";
+pub const PRIxFAST32: &[u8; 2] = b"x\0";
+pub const PRIXFAST32: &[u8; 2] = b"X\0";
+pub const PRIdFAST64: &[u8; 4] = b"lld\0";
+pub const PRIiFAST64: &[u8; 4] = b"lli\0";
+pub const PRIoFAST64: &[u8; 4] = b"llo\0";
+pub const PRIuFAST64: &[u8; 4] = b"llu\0";
+pub const PRIxFAST64: &[u8; 4] = b"llx\0";
+pub const PRIXFAST64: &[u8; 4] = b"llX\0";
+pub const PRIdPTR: &[u8; 3] = b"ld\0";
+pub const PRIiPTR: &[u8; 3] = b"li\0";
+pub const PRIoPTR: &[u8; 3] = b"lo\0";
+pub const PRIuPTR: &[u8; 3] = b"lu\0";
+pub const PRIxPTR: &[u8; 3] = b"lx\0";
+pub const PRIXPTR: &[u8; 3] = b"lX\0";
+pub const PRIdMAX: &[u8; 3] = b"jd\0";
+pub const PRIiMAX: &[u8; 3] = b"ji\0";
+pub const PRIoMAX: &[u8; 3] = b"jo\0";
+pub const PRIuMAX: &[u8; 3] = b"ju\0";
+pub const PRIxMAX: &[u8; 3] = b"jx\0";
+pub const PRIXMAX: &[u8; 3] = b"jX\0";
+pub const SCNd8: &[u8; 4] = b"hhd\0";
+pub const SCNi8: &[u8; 4] = b"hhi\0";
+pub const SCNo8: &[u8; 4] = b"hho\0";
+pub const SCNu8: &[u8; 4] = b"hhu\0";
+pub const SCNx8: &[u8; 4] = b"hhx\0";
+pub const SCNd16: &[u8; 3] = b"hd\0";
+pub const SCNi16: &[u8; 3] = b"hi\0";
+pub const SCNo16: &[u8; 3] = b"ho\0";
+pub const SCNu16: &[u8; 3] = b"hu\0";
+pub const SCNx16: &[u8; 3] = b"hx\0";
+pub const SCNd32: &[u8; 2] = b"d\0";
+pub const SCNi32: &[u8; 2] = b"i\0";
+pub const SCNo32: &[u8; 2] = b"o\0";
+pub const SCNu32: &[u8; 2] = b"u\0";
+pub const SCNx32: &[u8; 2] = b"x\0";
+pub const SCNd64: &[u8; 4] = b"lld\0";
+pub const SCNi64: &[u8; 4] = b"lli\0";
+pub const SCNo64: &[u8; 4] = b"llo\0";
+pub const SCNu64: &[u8; 4] = b"llu\0";
+pub const SCNx64: &[u8; 4] = b"llx\0";
+pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
+pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
+pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
+pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
+pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
+pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
+pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
+pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
+pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
+pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
+pub const SCNdLEAST32: &[u8; 2] = b"d\0";
+pub const SCNiLEAST32: &[u8; 2] = b"i\0";
+pub const SCNoLEAST32: &[u8; 2] = b"o\0";
+pub const SCNuLEAST32: &[u8; 2] = b"u\0";
+pub const SCNxLEAST32: &[u8; 2] = b"x\0";
+pub const SCNdLEAST64: &[u8; 4] = b"lld\0";
+pub const SCNiLEAST64: &[u8; 4] = b"lli\0";
+pub const SCNoLEAST64: &[u8; 4] = b"llo\0";
+pub const SCNuLEAST64: &[u8; 4] = b"llu\0";
+pub const SCNxLEAST64: &[u8; 4] = b"llx\0";
+pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
+pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
+pub const SCNoFAST8: &[u8; 4] = b"hho\0";
+pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
+pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
+pub const SCNdFAST16: &[u8; 3] = b"hd\0";
+pub const SCNiFAST16: &[u8; 3] = b"hi\0";
+pub const SCNoFAST16: &[u8; 3] = b"ho\0";
+pub const SCNuFAST16: &[u8; 3] = b"hu\0";
+pub const SCNxFAST16: &[u8; 3] = b"hx\0";
+pub const SCNdFAST32: &[u8; 2] = b"d\0";
+pub const SCNiFAST32: &[u8; 2] = b"i\0";
+pub const SCNoFAST32: &[u8; 2] = b"o\0";
+pub const SCNuFAST32: &[u8; 2] = b"u\0";
+pub const SCNxFAST32: &[u8; 2] = b"x\0";
+pub const SCNdFAST64: &[u8; 4] = b"lld\0";
+pub const SCNiFAST64: &[u8; 4] = b"lli\0";
+pub const SCNoFAST64: &[u8; 4] = b"llo\0";
+pub const SCNuFAST64: &[u8; 4] = b"llu\0";
+pub const SCNxFAST64: &[u8; 4] = b"llx\0";
+pub const SCNdPTR: &[u8; 3] = b"ld\0";
+pub const SCNiPTR: &[u8; 3] = b"li\0";
+pub const SCNoPTR: &[u8; 3] = b"lo\0";
+pub const SCNuPTR: &[u8; 3] = b"lu\0";
+pub const SCNxPTR: &[u8; 3] = b"lx\0";
+pub const SCNdMAX: &[u8; 3] = b"jd\0";
+pub const SCNiMAX: &[u8; 3] = b"ji\0";
+pub const SCNoMAX: &[u8; 3] = b"jo\0";
+pub const SCNuMAX: &[u8; 3] = b"ju\0";
+pub const SCNxMAX: &[u8; 3] = b"jx\0";
+pub const __has_safe_buffers: u32 = 1;
+pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
+pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
+pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
+pub const __DARWIN_UNIX03: u32 = 1;
+pub const __DARWIN_64_BIT_INO_T: u32 = 1;
+pub const __DARWIN_VERS_1050: u32 = 1;
+pub const __DARWIN_NON_CANCELABLE: u32 = 0;
+pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
+pub const __DARWIN_C_ANSI: u32 = 4096;
+pub const __DARWIN_C_FULL: u32 = 900000;
+pub const __DARWIN_C_LEVEL: u32 = 900000;
+pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
+pub const __DARWIN_NO_LONG_LONG: u32 = 0;
+pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
+pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
+pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
+pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
+pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
+pub const __has_ptrcheck: u32 = 0;
+pub const __API_TO_BE_DEPRECATED: u32 = 100000;
+pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000;
+pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000;
+pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000;
+pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000;
+pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000;
+pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000;
+pub const __API_TO_BE_DEPRECATED_VISIONOS: u32 = 100000;
+pub const __MAC_10_0: u32 = 1000;
+pub const __MAC_10_1: u32 = 1010;
+pub const __MAC_10_2: u32 = 1020;
+pub const __MAC_10_3: u32 = 1030;
+pub const __MAC_10_4: u32 = 1040;
+pub const __MAC_10_5: u32 = 1050;
+pub const __MAC_10_6: u32 = 1060;
+pub const __MAC_10_7: u32 = 1070;
+pub const __MAC_10_8: u32 = 1080;
+pub const __MAC_10_9: u32 = 1090;
+pub const __MAC_10_10: u32 = 101000;
+pub const __MAC_10_10_2: u32 = 101002;
+pub const __MAC_10_10_3: u32 = 101003;
+pub const __MAC_10_11: u32 = 101100;
+pub const __MAC_10_11_2: u32 = 101102;
+pub const __MAC_10_11_3: u32 = 101103;
+pub const __MAC_10_11_4: u32 = 101104;
+pub const __MAC_10_12: u32 = 101200;
+pub const __MAC_10_12_1: u32 = 101201;
+pub const __MAC_10_12_2: u32 = 101202;
+pub const __MAC_10_12_4: u32 = 101204;
+pub const __MAC_10_13: u32 = 101300;
+pub const __MAC_10_13_1: u32 = 101301;
+pub const __MAC_10_13_2: u32 = 101302;
+pub const __MAC_10_13_4: u32 = 101304;
+pub const __MAC_10_14: u32 = 101400;
+pub const __MAC_10_14_1: u32 = 101401;
+pub const __MAC_10_14_4: u32 = 101404;
+pub const __MAC_10_14_5: u32 = 101405;
+pub const __MAC_10_14_6: u32 = 101406;
+pub const __MAC_10_15: u32 = 101500;
+pub const __MAC_10_15_1: u32 = 101501;
+pub const __MAC_10_15_4: u32 = 101504;
+pub const __MAC_10_16: u32 = 101600;
+pub const __MAC_11_0: u32 = 110000;
+pub const __MAC_11_1: u32 = 110100;
+pub const __MAC_11_3: u32 = 110300;
+pub const __MAC_11_4: u32 = 110400;
+pub const __MAC_11_5: u32 = 110500;
+pub const __MAC_11_6: u32 = 110600;
+pub const __MAC_12_0: u32 = 120000;
+pub const __MAC_12_1: u32 = 120100;
+pub const __MAC_12_2: u32 = 120200;
+pub const __MAC_12_3: u32 = 120300;
+pub const __MAC_12_4: u32 = 120400;
+pub const __MAC_12_5: u32 = 120500;
+pub const __MAC_12_6: u32 = 120600;
+pub const __MAC_12_7: u32 = 120700;
+pub const __MAC_13_0: u32 = 130000;
+pub const __MAC_13_1: u32 = 130100;
+pub const __MAC_13_2: u32 = 130200;
+pub const __MAC_13_3: u32 = 130300;
+pub const __MAC_13_4: u32 = 130400;
+pub const __MAC_13_5: u32 = 130500;
+pub const __MAC_13_6: u32 = 130600;
+pub const __MAC_14_0: u32 = 140000;
+pub const __MAC_14_1: u32 = 140100;
+pub const __MAC_14_2: u32 = 140200;
+pub const __MAC_14_3: u32 = 140300;
+pub const __MAC_14_4: u32 = 140400;
+pub const __MAC_14_5: u32 = 140500;
+pub const __MAC_15_0: u32 = 150000;
+pub const __MAC_15_1: u32 = 150100;
+pub const __IPHONE_2_0: u32 = 20000;
+pub const __IPHONE_2_1: u32 = 20100;
+pub const __IPHONE_2_2: u32 = 20200;
+pub const __IPHONE_3_0: u32 = 30000;
+pub const __IPHONE_3_1: u32 = 30100;
+pub const __IPHONE_3_2: u32 = 30200;
+pub const __IPHONE_4_0: u32 = 40000;
+pub const __IPHONE_4_1: u32 = 40100;
+pub const __IPHONE_4_2: u32 = 40200;
+pub const __IPHONE_4_3: u32 = 40300;
+pub const __IPHONE_5_0: u32 = 50000;
+pub const __IPHONE_5_1: u32 = 50100;
+pub const __IPHONE_6_0: u32 = 60000;
+pub const __IPHONE_6_1: u32 = 60100;
+pub const __IPHONE_7_0: u32 = 70000;
+pub const __IPHONE_7_1: u32 = 70100;
+pub const __IPHONE_8_0: u32 = 80000;
+pub const __IPHONE_8_1: u32 = 80100;
+pub const __IPHONE_8_2: u32 = 80200;
+pub const __IPHONE_8_3: u32 = 80300;
+pub const __IPHONE_8_4: u32 = 80400;
+pub const __IPHONE_9_0: u32 = 90000;
+pub const __IPHONE_9_1: u32 = 90100;
+pub const __IPHONE_9_2: u32 = 90200;
+pub const __IPHONE_9_3: u32 = 90300;
+pub const __IPHONE_10_0: u32 = 100000;
+pub const __IPHONE_10_1: u32 = 100100;
+pub const __IPHONE_10_2: u32 = 100200;
+pub const __IPHONE_10_3: u32 = 100300;
+pub const __IPHONE_11_0: u32 = 110000;
+pub const __IPHONE_11_1: u32 = 110100;
+pub const __IPHONE_11_2: u32 = 110200;
+pub const __IPHONE_11_3: u32 = 110300;
+pub const __IPHONE_11_4: u32 = 110400;
+pub const __IPHONE_12_0: u32 = 120000;
+pub const __IPHONE_12_1: u32 = 120100;
+pub const __IPHONE_12_2: u32 = 120200;
+pub const __IPHONE_12_3: u32 = 120300;
+pub const __IPHONE_12_4: u32 = 120400;
+pub const __IPHONE_13_0: u32 = 130000;
+pub const __IPHONE_13_1: u32 = 130100;
+pub const __IPHONE_13_2: u32 = 130200;
+pub const __IPHONE_13_3: u32 = 130300;
+pub const __IPHONE_13_4: u32 = 130400;
+pub const __IPHONE_13_5: u32 = 130500;
+pub const __IPHONE_13_6: u32 = 130600;
+pub const __IPHONE_13_7: u32 = 130700;
+pub const __IPHONE_14_0: u32 = 140000;
+pub const __IPHONE_14_1: u32 = 140100;
+pub const __IPHONE_14_2: u32 = 140200;
+pub const __IPHONE_14_3: u32 = 140300;
+pub const __IPHONE_14_5: u32 = 140500;
+pub const __IPHONE_14_4: u32 = 140400;
+pub const __IPHONE_14_6: u32 = 140600;
+pub const __IPHONE_14_7: u32 = 140700;
+pub const __IPHONE_14_8: u32 = 140800;
+pub const __IPHONE_15_0: u32 = 150000;
+pub const __IPHONE_15_1: u32 = 150100;
+pub const __IPHONE_15_2: u32 = 150200;
+pub const __IPHONE_15_3: u32 = 150300;
+pub const __IPHONE_15_4: u32 = 150400;
+pub const __IPHONE_15_5: u32 = 150500;
+pub const __IPHONE_15_6: u32 = 150600;
+pub const __IPHONE_15_7: u32 = 150700;
+pub const __IPHONE_15_8: u32 = 150800;
+pub const __IPHONE_16_0: u32 = 160000;
+pub const __IPHONE_16_1: u32 = 160100;
+pub const __IPHONE_16_2: u32 = 160200;
+pub const __IPHONE_16_3: u32 = 160300;
+pub const __IPHONE_16_4: u32 = 160400;
+pub const __IPHONE_16_5: u32 = 160500;
+pub const __IPHONE_16_6: u32 = 160600;
+pub const __IPHONE_16_7: u32 = 160700;
+pub const __IPHONE_17_0: u32 = 170000;
+pub const __IPHONE_17_1: u32 = 170100;
+pub const __IPHONE_17_2: u32 = 170200;
+pub const __IPHONE_17_3: u32 = 170300;
+pub const __IPHONE_17_4: u32 = 170400;
+pub const __IPHONE_17_5: u32 = 170500;
+pub const __IPHONE_18_0: u32 = 180000;
+pub const __IPHONE_18_1: u32 = 180100;
+pub const __WATCHOS_1_0: u32 = 10000;
+pub const __WATCHOS_2_0: u32 = 20000;
+pub const __WATCHOS_2_1: u32 = 20100;
+pub const __WATCHOS_2_2: u32 = 20200;
+pub const __WATCHOS_3_0: u32 = 30000;
+pub const __WATCHOS_3_1: u32 = 30100;
+pub const __WATCHOS_3_1_1: u32 = 30101;
+pub const __WATCHOS_3_2: u32 = 30200;
+pub const __WATCHOS_4_0: u32 = 40000;
+pub const __WATCHOS_4_1: u32 = 40100;
+pub const __WATCHOS_4_2: u32 = 40200;
+pub const __WATCHOS_4_3: u32 = 40300;
+pub const __WATCHOS_5_0: u32 = 50000;
+pub const __WATCHOS_5_1: u32 = 50100;
+pub const __WATCHOS_5_2: u32 = 50200;
+pub const __WATCHOS_5_3: u32 = 50300;
+pub const __WATCHOS_6_0: u32 = 60000;
+pub const __WATCHOS_6_1: u32 = 60100;
+pub const __WATCHOS_6_2: u32 = 60200;
+pub const __WATCHOS_7_0: u32 = 70000;
+pub const __WATCHOS_7_1: u32 = 70100;
+pub const __WATCHOS_7_2: u32 = 70200;
+pub const __WATCHOS_7_3: u32 = 70300;
+pub const __WATCHOS_7_4: u32 = 70400;
+pub const __WATCHOS_7_5: u32 = 70500;
+pub const __WATCHOS_7_6: u32 = 70600;
+pub const __WATCHOS_8_0: u32 = 80000;
+pub const __WATCHOS_8_1: u32 = 80100;
+pub const __WATCHOS_8_3: u32 = 80300;
+pub const __WATCHOS_8_4: u32 = 80400;
+pub const __WATCHOS_8_5: u32 = 80500;
+pub const __WATCHOS_8_6: u32 = 80600;
+pub const __WATCHOS_8_7: u32 = 80700;
+pub const __WATCHOS_8_8: u32 = 80800;
+pub const __WATCHOS_9_0: u32 = 90000;
+pub const __WATCHOS_9_1: u32 = 90100;
+pub const __WATCHOS_9_2: u32 = 90200;
+pub const __WATCHOS_9_3: u32 = 90300;
+pub const __WATCHOS_9_4: u32 = 90400;
+pub const __WATCHOS_9_5: u32 = 90500;
+pub const __WATCHOS_9_6: u32 = 90600;
+pub const __WATCHOS_10_0: u32 = 100000;
+pub const __WATCHOS_10_1: u32 = 100100;
+pub const __WATCHOS_10_2: u32 = 100200;
+pub const __WATCHOS_10_3: u32 = 100300;
+pub const __WATCHOS_10_4: u32 = 100400;
+pub const __WATCHOS_10_5: u32 = 100500;
+pub const __WATCHOS_11_0: u32 = 110000;
+pub const __WATCHOS_11_1: u32 = 110100;
+pub const __TVOS_9_0: u32 = 90000;
+pub const __TVOS_9_1: u32 = 90100;
+pub const __TVOS_9_2: u32 = 90200;
+pub const __TVOS_10_0: u32 = 100000;
+pub const __TVOS_10_0_1: u32 = 100001;
+pub const __TVOS_10_1: u32 = 100100;
+pub const __TVOS_10_2: u32 = 100200;
+pub const __TVOS_11_0: u32 = 110000;
+pub const __TVOS_11_1: u32 = 110100;
+pub const __TVOS_11_2: u32 = 110200;
+pub const __TVOS_11_3: u32 = 110300;
+pub const __TVOS_11_4: u32 = 110400;
+pub const __TVOS_12_0: u32 = 120000;
+pub const __TVOS_12_1: u32 = 120100;
+pub const __TVOS_12_2: u32 = 120200;
+pub const __TVOS_12_3: u32 = 120300;
+pub const __TVOS_12_4: u32 = 120400;
+pub const __TVOS_13_0: u32 = 130000;
+pub const __TVOS_13_2: u32 = 130200;
+pub const __TVOS_13_3: u32 = 130300;
+pub const __TVOS_13_4: u32 = 130400;
+pub const __TVOS_14_0: u32 = 140000;
+pub const __TVOS_14_1: u32 = 140100;
+pub const __TVOS_14_2: u32 = 140200;
+pub const __TVOS_14_3: u32 = 140300;
+pub const __TVOS_14_5: u32 = 140500;
+pub const __TVOS_14_6: u32 = 140600;
+pub const __TVOS_14_7: u32 = 140700;
+pub const __TVOS_15_0: u32 = 150000;
+pub const __TVOS_15_1: u32 = 150100;
+pub const __TVOS_15_2: u32 = 150200;
+pub const __TVOS_15_3: u32 = 150300;
+pub const __TVOS_15_4: u32 = 150400;
+pub const __TVOS_15_5: u32 = 150500;
+pub const __TVOS_15_6: u32 = 150600;
+pub const __TVOS_16_0: u32 = 160000;
+pub const __TVOS_16_1: u32 = 160100;
+pub const __TVOS_16_2: u32 = 160200;
+pub const __TVOS_16_3: u32 = 160300;
+pub const __TVOS_16_4: u32 = 160400;
+pub const __TVOS_16_5: u32 = 160500;
+pub const __TVOS_16_6: u32 = 160600;
+pub const __TVOS_17_0: u32 = 170000;
+pub const __TVOS_17_1: u32 = 170100;
+pub const __TVOS_17_2: u32 = 170200;
+pub const __TVOS_17_3: u32 = 170300;
+pub const __TVOS_17_4: u32 = 170400;
+pub const __TVOS_17_5: u32 = 170500;
+pub const __TVOS_18_0: u32 = 180000;
+pub const __TVOS_18_1: u32 = 180100;
+pub const __BRIDGEOS_2_0: u32 = 20000;
+pub const __BRIDGEOS_3_0: u32 = 30000;
+pub const __BRIDGEOS_3_1: u32 = 30100;
+pub const __BRIDGEOS_3_4: u32 = 30400;
+pub const __BRIDGEOS_4_0: u32 = 40000;
+pub const __BRIDGEOS_4_1: u32 = 40100;
+pub const __BRIDGEOS_5_0: u32 = 50000;
+pub const __BRIDGEOS_5_1: u32 = 50100;
+pub const __BRIDGEOS_5_3: u32 = 50300;
+pub const __BRIDGEOS_6_0: u32 = 60000;
+pub const __BRIDGEOS_6_2: u32 = 60200;
+pub const __BRIDGEOS_6_4: u32 = 60400;
+pub const __BRIDGEOS_6_5: u32 = 60500;
+pub const __BRIDGEOS_6_6: u32 = 60600;
+pub const __BRIDGEOS_7_0: u32 = 70000;
+pub const __BRIDGEOS_7_1: u32 = 70100;
+pub const __BRIDGEOS_7_2: u32 = 70200;
+pub const __BRIDGEOS_7_3: u32 = 70300;
+pub const __BRIDGEOS_7_4: u32 = 70400;
+pub const __BRIDGEOS_7_6: u32 = 70600;
+pub const __BRIDGEOS_8_0: u32 = 80000;
+pub const __BRIDGEOS_8_1: u32 = 80100;
+pub const __BRIDGEOS_8_2: u32 = 80200;
+pub const __BRIDGEOS_8_3: u32 = 80300;
+pub const __BRIDGEOS_8_4: u32 = 80400;
+pub const __BRIDGEOS_8_5: u32 = 80500;
+pub const __BRIDGEOS_9_0: u32 = 90000;
+pub const __BRIDGEOS_9_1: u32 = 90100;
+pub const __DRIVERKIT_19_0: u32 = 190000;
+pub const __DRIVERKIT_20_0: u32 = 200000;
+pub const __DRIVERKIT_21_0: u32 = 210000;
+pub const __DRIVERKIT_22_0: u32 = 220000;
+pub const __DRIVERKIT_22_4: u32 = 220400;
+pub const __DRIVERKIT_22_5: u32 = 220500;
+pub const __DRIVERKIT_22_6: u32 = 220600;
+pub const __DRIVERKIT_23_0: u32 = 230000;
+pub const __DRIVERKIT_23_1: u32 = 230100;
+pub const __DRIVERKIT_23_2: u32 = 230200;
+pub const __DRIVERKIT_23_3: u32 = 230300;
+pub const __DRIVERKIT_23_4: u32 = 230400;
+pub const __DRIVERKIT_23_5: u32 = 230500;
+pub const __DRIVERKIT_24_0: u32 = 240000;
+pub const __DRIVERKIT_24_1: u32 = 240100;
+pub const __VISIONOS_1_0: u32 = 10000;
+pub const __VISIONOS_1_1: u32 = 10100;
+pub const __VISIONOS_1_2: u32 = 10200;
+pub const __VISIONOS_2_0: u32 = 20000;
+pub const __VISIONOS_2_1: u32 = 20100;
+pub const MAC_OS_X_VERSION_10_0: u32 = 1000;
+pub const MAC_OS_X_VERSION_10_1: u32 = 1010;
+pub const MAC_OS_X_VERSION_10_2: u32 = 1020;
+pub const MAC_OS_X_VERSION_10_3: u32 = 1030;
+pub const MAC_OS_X_VERSION_10_4: u32 = 1040;
+pub const MAC_OS_X_VERSION_10_5: u32 = 1050;
+pub const MAC_OS_X_VERSION_10_6: u32 = 1060;
+pub const MAC_OS_X_VERSION_10_7: u32 = 1070;
+pub const MAC_OS_X_VERSION_10_8: u32 = 1080;
+pub const MAC_OS_X_VERSION_10_9: u32 = 1090;
+pub const MAC_OS_X_VERSION_10_10: u32 = 101000;
+pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002;
+pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003;
+pub const MAC_OS_X_VERSION_10_11: u32 = 101100;
+pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102;
+pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103;
+pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104;
+pub const MAC_OS_X_VERSION_10_12: u32 = 101200;
+pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201;
+pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202;
+pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204;
+pub const MAC_OS_X_VERSION_10_13: u32 = 101300;
+pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301;
+pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302;
+pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304;
+pub const MAC_OS_X_VERSION_10_14: u32 = 101400;
+pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401;
+pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404;
+pub const MAC_OS_X_VERSION_10_14_5: u32 = 101405;
+pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406;
+pub const MAC_OS_X_VERSION_10_15: u32 = 101500;
+pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501;
+pub const MAC_OS_X_VERSION_10_15_4: u32 = 101504;
+pub const MAC_OS_X_VERSION_10_16: u32 = 101600;
+pub const MAC_OS_VERSION_11_0: u32 = 110000;
+pub const MAC_OS_VERSION_11_1: u32 = 110100;
+pub const MAC_OS_VERSION_11_3: u32 = 110300;
+pub const MAC_OS_VERSION_11_4: u32 = 110400;
+pub const MAC_OS_VERSION_11_5: u32 = 110500;
+pub const MAC_OS_VERSION_11_6: u32 = 110600;
+pub const MAC_OS_VERSION_12_0: u32 = 120000;
+pub const MAC_OS_VERSION_12_1: u32 = 120100;
+pub const MAC_OS_VERSION_12_2: u32 = 120200;
+pub const MAC_OS_VERSION_12_3: u32 = 120300;
+pub const MAC_OS_VERSION_12_4: u32 = 120400;
+pub const MAC_OS_VERSION_12_5: u32 = 120500;
+pub const MAC_OS_VERSION_12_6: u32 = 120600;
+pub const MAC_OS_VERSION_12_7: u32 = 120700;
+pub const MAC_OS_VERSION_13_0: u32 = 130000;
+pub const MAC_OS_VERSION_13_1: u32 = 130100;
+pub const MAC_OS_VERSION_13_2: u32 = 130200;
+pub const MAC_OS_VERSION_13_3: u32 = 130300;
+pub const MAC_OS_VERSION_13_4: u32 = 130400;
+pub const MAC_OS_VERSION_13_5: u32 = 130500;
+pub const MAC_OS_VERSION_13_6: u32 = 130600;
+pub const MAC_OS_VERSION_14_0: u32 = 140000;
+pub const MAC_OS_VERSION_14_1: u32 = 140100;
+pub const MAC_OS_VERSION_14_2: u32 = 140200;
+pub const MAC_OS_VERSION_14_3: u32 = 140300;
+pub const MAC_OS_VERSION_14_4: u32 = 140400;
+pub const MAC_OS_VERSION_14_5: u32 = 140500;
+pub const MAC_OS_VERSION_15_0: u32 = 150000;
+pub const MAC_OS_VERSION_15_1: u32 = 150100;
+pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 150100;
+pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1;
+pub const USE_CLANG_TYPES: u32 = 0;
+pub const __PTHREAD_SIZE__: u32 = 8176;
+pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
+pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
+pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
+pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
+pub const __PTHREAD_COND_SIZE__: u32 = 40;
+pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
+pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
+pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
+pub const __DARWIN_WCHAR_MIN: i32 = -2147483648;
+pub const _FORTIFY_SOURCE: u32 = 2;
+pub const USE_CLANG_STDDEF: u32 = 0;
+pub const __WORDSIZE: u32 = 64;
+pub const INT8_MAX: u32 = 127;
+pub const INT16_MAX: u32 = 32767;
+pub const INT32_MAX: u32 = 2147483647;
+pub const INT64_MAX: u64 = 9223372036854775807;
+pub const INT8_MIN: i32 = -128;
+pub const INT16_MIN: i32 = -32768;
+pub const INT32_MIN: i32 = -2147483648;
+pub const INT64_MIN: i64 = -9223372036854775808;
+pub const UINT8_MAX: u32 = 255;
+pub const UINT16_MAX: u32 = 65535;
+pub const UINT32_MAX: u32 = 4294967295;
+pub const UINT64_MAX: i32 = -1;
+pub const INT_LEAST8_MIN: i32 = -128;
+pub const INT_LEAST16_MIN: i32 = -32768;
+pub const INT_LEAST32_MIN: i32 = -2147483648;
+pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
+pub const INT_LEAST8_MAX: u32 = 127;
+pub const INT_LEAST16_MAX: u32 = 32767;
+pub const INT_LEAST32_MAX: u32 = 2147483647;
+pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
+pub const UINT_LEAST8_MAX: u32 = 255;
+pub const UINT_LEAST16_MAX: u32 = 65535;
+pub const UINT_LEAST32_MAX: u32 = 4294967295;
+pub const UINT_LEAST64_MAX: i32 = -1;
+pub const INT_FAST8_MIN: i32 = -128;
+pub const INT_FAST16_MIN: i32 = -32768;
+pub const INT_FAST32_MIN: i32 = -2147483648;
+pub const INT_FAST64_MIN: i64 = -9223372036854775808;
+pub const INT_FAST8_MAX: u32 = 127;
+pub const INT_FAST16_MAX: u32 = 32767;
+pub const INT_FAST32_MAX: u32 = 2147483647;
+pub const INT_FAST64_MAX: u64 = 9223372036854775807;
+pub const UINT_FAST8_MAX: u32 = 255;
+pub const UINT_FAST16_MAX: u32 = 65535;
+pub const UINT_FAST32_MAX: u32 = 4294967295;
+pub const UINT_FAST64_MAX: i32 = -1;
+pub const INTPTR_MAX: u64 = 9223372036854775807;
+pub const INTPTR_MIN: i64 = -9223372036854775808;
+pub const UINTPTR_MAX: i32 = -1;
+pub const SIZE_MAX: i32 = -1;
+pub const RSIZE_MAX: i32 = -1;
+pub const WINT_MIN: i32 = -2147483648;
+pub const WINT_MAX: u32 = 2147483647;
+pub const SIG_ATOMIC_MIN: i32 = -2147483648;
+pub const SIG_ATOMIC_MAX: u32 = 2147483647;
+pub const CCAN_COMPILER: &[u8; 3] = b"cc\0";
+pub const CCAN_CFLAGS : & [u8 ; 111] = b"-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition\0" ;
+pub const CCAN_OUTPUT_EXE_CFLAG: &[u8; 3] = b"-o\0";
+pub const HAVE_CCAN: u32 = 1;
+pub const HAVE_UNALIGNED_ACCESS: u32 = 1;
+pub const HAVE_TYPEOF: u32 = 1;
+pub const HAVE_BIG_ENDIAN: u32 = 0;
+pub const HAVE_BYTESWAP_H: u32 = 0;
+pub const HAVE_BSWAP_64: u32 = 0;
+pub const HAVE_LITTLE_ENDIAN: u32 = 1;
+pub const __bool_true_false_are_defined: u32 = 1;
+pub const true_: u32 = 1;
+pub const false_: u32 = 0;
+pub const USE_CLANG_STDARG: u32 = 0;
+pub const RENAME_SECLUDE: u32 = 1;
+pub const RENAME_SWAP: u32 = 2;
+pub const RENAME_EXCL: u32 = 4;
+pub const RENAME_RESERVED1: u32 = 8;
+pub const RENAME_NOFOLLOW_ANY: u32 = 16;
+pub const SEEK_SET: u32 = 0;
+pub const SEEK_CUR: u32 = 1;
+pub const SEEK_END: u32 = 2;
+pub const SEEK_HOLE: u32 = 3;
+pub const SEEK_DATA: u32 = 4;
+pub const __SLBF: u32 = 1;
+pub const __SNBF: u32 = 2;
+pub const __SRD: u32 = 4;
+pub const __SWR: u32 = 8;
+pub const __SRW: u32 = 16;
+pub const __SEOF: u32 = 32;
+pub const __SERR: u32 = 64;
+pub const __SMBF: u32 = 128;
+pub const __SAPP: u32 = 256;
+pub const __SSTR: u32 = 512;
+pub const __SOPT: u32 = 1024;
+pub const __SNPT: u32 = 2048;
+pub const __SOFF: u32 = 4096;
+pub const __SMOD: u32 = 8192;
+pub const __SALC: u32 = 16384;
+pub const __SIGN: u32 = 32768;
+pub const _IOFBF: u32 = 0;
+pub const _IOLBF: u32 = 1;
+pub const _IONBF: u32 = 2;
+pub const BUFSIZ: u32 = 1024;
+pub const EOF: i32 = -1;
+pub const FOPEN_MAX: u32 = 20;
+pub const FILENAME_MAX: u32 = 1024;
+pub const P_tmpdir: &[u8; 10] = b"/var/tmp/\0";
+pub const L_tmpnam: u32 = 1024;
+pub const TMP_MAX: u32 = 308915776;
+pub const L_ctermid: u32 = 1024;
+pub const _USE_FORTIFY_LEVEL: u32 = 2;
+pub const _CACHED_RUNES: u32 = 256;
+pub const _CRMASK: i32 = -256;
+pub const _RUNE_MAGIC_A: &[u8; 9] = b"RuneMagA\0";
+pub const _CTYPE_A: u32 = 256;
+pub const _CTYPE_C: u32 = 512;
+pub const _CTYPE_D: u32 = 1024;
+pub const _CTYPE_G: u32 = 2048;
+pub const _CTYPE_L: u32 = 4096;
+pub const _CTYPE_P: u32 = 8192;
+pub const _CTYPE_S: u32 = 16384;
+pub const _CTYPE_U: u32 = 32768;
+pub const _CTYPE_X: u32 = 65536;
+pub const _CTYPE_B: u32 = 131072;
+pub const _CTYPE_R: u32 = 262144;
+pub const _CTYPE_I: u32 = 524288;
+pub const _CTYPE_T: u32 = 1048576;
+pub const _CTYPE_Q: u32 = 2097152;
+pub const _CTYPE_SW0: u32 = 536870912;
+pub const _CTYPE_SW1: u32 = 1073741824;
+pub const _CTYPE_SW2: u32 = 2147483648;
+pub const _CTYPE_SW3: u32 = 3221225472;
+pub const _CTYPE_SWM: u32 = 3758096384;
+pub const _CTYPE_SWS: u32 = 30;
+pub const __HAS_FIXED_CHK_PROTOTYPES: u32 = 1;
+pub const NDB_PACKED_STR: u32 = 1;
+pub const NDB_PACKED_ID: u32 = 2;
+pub const NDB_FLAG_NOMIGRATE: u32 = 1;
+pub const NDB_FLAG_SKIP_NOTE_VERIFY: u32 = 2;
+pub const NDB_NUM_FILTERS: u32 = 7;
+pub const MAX_TEXT_SEARCH_RESULTS: u32 = 128;
+pub const MAX_TEXT_SEARCH_WORDS: u32 = 8;
+pub const NDB_NUM_BLOCK_TYPES: u32 = 6;
+pub const NDB_MAX_RELAYS: u32 = 24;
+pub const NOSTR_BECH32_KNOWN_TYPES: u32 = 7;
+pub type __int8_t = ::std::os::raw::c_schar;
+pub type __uint8_t = ::std::os::raw::c_uchar;
+pub type __int16_t = ::std::os::raw::c_short;
+pub type __uint16_t = ::std::os::raw::c_ushort;
+pub type __int32_t = ::std::os::raw::c_int;
+pub type __uint32_t = ::std::os::raw::c_uint;
+pub type __int64_t = ::std::os::raw::c_longlong;
+pub type __uint64_t = ::std::os::raw::c_ulonglong;
+pub type __darwin_intptr_t = ::std::os::raw::c_long;
+pub type __darwin_natural_t = ::std::os::raw::c_uint;
+pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __mbstate_t {
+ pub __mbstate8: [::std::os::raw::c_char; 128usize],
+ pub _mbstateL: ::std::os::raw::c_longlong,
+}
+#[test]
+fn bindgen_test_layout___mbstate_t() {
+ const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<__mbstate_t>(),
+ 128usize,
+ concat!("Size of: ", stringify!(__mbstate_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<__mbstate_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(__mbstate_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__mbstate_t),
+ "::",
+ stringify!(__mbstate8)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__mbstate_t),
+ "::",
+ stringify!(_mbstateL)
+ )
+ );
+}
+pub type __darwin_mbstate_t = __mbstate_t;
+pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
+pub type __darwin_size_t = ::std::os::raw::c_ulong;
+pub type __darwin_va_list = __builtin_va_list;
+pub type __darwin_wchar_t = ::std::os::raw::c_int;
+pub type __darwin_rune_t = __darwin_wchar_t;
+pub type __darwin_wint_t = ::std::os::raw::c_int;
+pub type __darwin_clock_t = ::std::os::raw::c_ulong;
+pub type __darwin_socklen_t = __uint32_t;
+pub type __darwin_ssize_t = ::std::os::raw::c_long;
+pub type __darwin_time_t = ::std::os::raw::c_long;
+pub type __darwin_blkcnt_t = __int64_t;
+pub type __darwin_blksize_t = __int32_t;
+pub type __darwin_dev_t = __int32_t;
+pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
+pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
+pub type __darwin_gid_t = __uint32_t;
+pub type __darwin_id_t = __uint32_t;
+pub type __darwin_ino64_t = __uint64_t;
+pub type __darwin_ino_t = __darwin_ino64_t;
+pub type __darwin_mach_port_name_t = __darwin_natural_t;
+pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
+pub type __darwin_mode_t = __uint16_t;
+pub type __darwin_off_t = __int64_t;
+pub type __darwin_pid_t = __int32_t;
+pub type __darwin_sigset_t = __uint32_t;
+pub type __darwin_suseconds_t = __int32_t;
+pub type __darwin_uid_t = __uint32_t;
+pub type __darwin_useconds_t = __uint32_t;
+pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
+pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __darwin_pthread_handler_rec {
+ pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
+ pub __arg: *mut ::std::os::raw::c_void,
+ pub __next: *mut __darwin_pthread_handler_rec,
+}
+#[test]
+fn bindgen_test_layout___darwin_pthread_handler_rec() {
+ const UNINIT: ::std::mem::MaybeUninit<__darwin_pthread_handler_rec> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<__darwin_pthread_handler_rec>(),
+ 24usize,
+ concat!("Size of: ", stringify!(__darwin_pthread_handler_rec))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<__darwin_pthread_handler_rec>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__darwin_pthread_handler_rec),
+ "::",
+ stringify!(__routine)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__darwin_pthread_handler_rec),
+ "::",
+ stringify!(__arg)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__darwin_pthread_handler_rec),
+ "::",
+ stringify!(__next)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _opaque_pthread_attr_t {
+ pub __sig: ::std::os::raw::c_long,
+ pub __opaque: [::std::os::raw::c_char; 56usize],
+}
+#[test]
+fn bindgen_test_layout__opaque_pthread_attr_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_attr_t> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_opaque_pthread_attr_t>(),
+ 64usize,
+ concat!("Size of: ", stringify!(_opaque_pthread_attr_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_opaque_pthread_attr_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_opaque_pthread_attr_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_attr_t),
+ "::",
+ stringify!(__sig)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_attr_t),
+ "::",
+ stringify!(__opaque)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _opaque_pthread_cond_t {
+ pub __sig: ::std::os::raw::c_long,
+ pub __opaque: [::std::os::raw::c_char; 40usize],
+}
+#[test]
+fn bindgen_test_layout__opaque_pthread_cond_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_cond_t> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_opaque_pthread_cond_t>(),
+ 48usize,
+ concat!("Size of: ", stringify!(_opaque_pthread_cond_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_opaque_pthread_cond_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_opaque_pthread_cond_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_cond_t),
+ "::",
+ stringify!(__sig)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_cond_t),
+ "::",
+ stringify!(__opaque)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _opaque_pthread_condattr_t {
+ pub __sig: ::std::os::raw::c_long,
+ pub __opaque: [::std::os::raw::c_char; 8usize],
+}
+#[test]
+fn bindgen_test_layout__opaque_pthread_condattr_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_condattr_t> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_opaque_pthread_condattr_t>(),
+ 16usize,
+ concat!("Size of: ", stringify!(_opaque_pthread_condattr_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_opaque_pthread_condattr_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_condattr_t),
+ "::",
+ stringify!(__sig)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_condattr_t),
+ "::",
+ stringify!(__opaque)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _opaque_pthread_mutex_t {
+ pub __sig: ::std::os::raw::c_long,
+ pub __opaque: [::std::os::raw::c_char; 56usize],
+}
+#[test]
+fn bindgen_test_layout__opaque_pthread_mutex_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutex_t> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_opaque_pthread_mutex_t>(),
+ 64usize,
+ concat!("Size of: ", stringify!(_opaque_pthread_mutex_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_opaque_pthread_mutex_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_mutex_t),
+ "::",
+ stringify!(__sig)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_mutex_t),
+ "::",
+ stringify!(__opaque)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _opaque_pthread_mutexattr_t {
+ pub __sig: ::std::os::raw::c_long,
+ pub __opaque: [::std::os::raw::c_char; 8usize],
+}
+#[test]
+fn bindgen_test_layout__opaque_pthread_mutexattr_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutexattr_t> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(),
+ 16usize,
+ concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_mutexattr_t),
+ "::",
+ stringify!(__sig)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_mutexattr_t),
+ "::",
+ stringify!(__opaque)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _opaque_pthread_once_t {
+ pub __sig: ::std::os::raw::c_long,
+ pub __opaque: [::std::os::raw::c_char; 8usize],
+}
+#[test]
+fn bindgen_test_layout__opaque_pthread_once_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_once_t> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_opaque_pthread_once_t>(),
+ 16usize,
+ concat!("Size of: ", stringify!(_opaque_pthread_once_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_opaque_pthread_once_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_opaque_pthread_once_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_once_t),
+ "::",
+ stringify!(__sig)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_once_t),
+ "::",
+ stringify!(__opaque)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _opaque_pthread_rwlock_t {
+ pub __sig: ::std::os::raw::c_long,
+ pub __opaque: [::std::os::raw::c_char; 192usize],
+}
+#[test]
+fn bindgen_test_layout__opaque_pthread_rwlock_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlock_t> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_opaque_pthread_rwlock_t>(),
+ 200usize,
+ concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_opaque_pthread_rwlock_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_rwlock_t),
+ "::",
+ stringify!(__sig)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_rwlock_t),
+ "::",
+ stringify!(__opaque)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _opaque_pthread_rwlockattr_t {
+ pub __sig: ::std::os::raw::c_long,
+ pub __opaque: [::std::os::raw::c_char; 16usize],
+}
+#[test]
+fn bindgen_test_layout__opaque_pthread_rwlockattr_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(),
+ 24usize,
+ concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_rwlockattr_t),
+ "::",
+ stringify!(__sig)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_rwlockattr_t),
+ "::",
+ stringify!(__opaque)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _opaque_pthread_t {
+ pub __sig: ::std::os::raw::c_long,
+ pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
+ pub __opaque: [::std::os::raw::c_char; 8176usize],
+}
+#[test]
+fn bindgen_test_layout__opaque_pthread_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_t> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_opaque_pthread_t>(),
+ 8192usize,
+ concat!("Size of: ", stringify!(_opaque_pthread_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_opaque_pthread_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_opaque_pthread_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_t),
+ "::",
+ stringify!(__sig)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_t),
+ "::",
+ stringify!(__cleanup_stack)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_opaque_pthread_t),
+ "::",
+ stringify!(__opaque)
+ )
+ );
+}
+pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
+pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
+pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
+pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
+pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
+pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
+pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
+pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
+pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
+pub type __darwin_pthread_t = *mut _opaque_pthread_t;
+pub type __darwin_nl_item = ::std::os::raw::c_int;
+pub type __darwin_wctrans_t = ::std::os::raw::c_int;
+pub type __darwin_wctype_t = __uint32_t;
+pub type wchar_t = __darwin_wchar_t;
+pub type int_least8_t = i8;
+pub type int_least16_t = i16;
+pub type int_least32_t = i32;
+pub type int_least64_t = i64;
+pub type uint_least8_t = u8;
+pub type uint_least16_t = u16;
+pub type uint_least32_t = u32;
+pub type uint_least64_t = u64;
+pub type int_fast8_t = i8;
+pub type int_fast16_t = i16;
+pub type int_fast32_t = i32;
+pub type int_fast64_t = i64;
+pub type uint_fast8_t = u8;
+pub type uint_fast16_t = u16;
+pub type uint_fast32_t = u32;
+pub type uint_fast64_t = u64;
+pub type intmax_t = ::std::os::raw::c_long;
+pub type uintmax_t = ::std::os::raw::c_ulong;
+extern "C" {
+ pub fn imaxabs(j: intmax_t) -> intmax_t;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct imaxdiv_t {
+ pub quot: intmax_t,
+ pub rem: intmax_t,
+}
+#[test]
+fn bindgen_test_layout_imaxdiv_t() {
+ const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<imaxdiv_t>(),
+ 16usize,
+ concat!("Size of: ", stringify!(imaxdiv_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<imaxdiv_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(imaxdiv_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(imaxdiv_t),
+ "::",
+ stringify!(quot)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(imaxdiv_t),
+ "::",
+ stringify!(rem)
+ )
+ );
+}
+extern "C" {
+ pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
+}
+extern "C" {
+ pub fn strtoimax(
+ __nptr: *const ::std::os::raw::c_char,
+ __endptr: *mut *mut ::std::os::raw::c_char,
+ __base: ::std::os::raw::c_int,
+ ) -> intmax_t;
+}
+extern "C" {
+ pub fn strtoumax(
+ __nptr: *const ::std::os::raw::c_char,
+ __endptr: *mut *mut ::std::os::raw::c_char,
+ __base: ::std::os::raw::c_int,
+ ) -> uintmax_t;
+}
+extern "C" {
+ pub fn wcstoimax(
+ __nptr: *const wchar_t,
+ __endptr: *mut *mut wchar_t,
+ __base: ::std::os::raw::c_int,
+ ) -> intmax_t;
+}
+extern "C" {
+ pub fn wcstoumax(
+ __nptr: *const wchar_t,
+ __endptr: *mut *mut wchar_t,
+ __base: ::std::os::raw::c_int,
+ ) -> uintmax_t;
+}
+pub type u_int8_t = ::std::os::raw::c_uchar;
+pub type u_int16_t = ::std::os::raw::c_ushort;
+pub type u_int32_t = ::std::os::raw::c_uint;
+pub type u_int64_t = ::std::os::raw::c_ulonglong;
+pub type register_t = i64;
+pub type user_addr_t = u_int64_t;
+pub type user_size_t = u_int64_t;
+pub type user_ssize_t = i64;
+pub type user_long_t = i64;
+pub type user_ulong_t = u_int64_t;
+pub type user_time_t = i64;
+pub type user_off_t = i64;
+pub type syscall_arg_t = u_int64_t;
+pub type va_list = __darwin_va_list;
+extern "C" {
+ pub fn renameat(
+ arg1: ::std::os::raw::c_int,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ arg4: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn renamex_np(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_uint,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn renameatx_np(
+ arg1: ::std::os::raw::c_int,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ arg4: *const ::std::os::raw::c_char,
+ arg5: ::std::os::raw::c_uint,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
+}
+pub type fpos_t = __darwin_off_t;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sbuf {
+ pub _base: *mut ::std::os::raw::c_uchar,
+ pub _size: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout___sbuf() {
+ const UNINIT: ::std::mem::MaybeUninit<__sbuf> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<__sbuf>(),
+ 16usize,
+ concat!("Size of: ", stringify!(__sbuf))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<__sbuf>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(__sbuf))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._base) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sbuf),
+ "::",
+ stringify!(_base)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._size) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sbuf),
+ "::",
+ stringify!(_size)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sFILEX {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sFILE {
+ pub _p: *mut ::std::os::raw::c_uchar,
+ pub _r: ::std::os::raw::c_int,
+ pub _w: ::std::os::raw::c_int,
+ pub _flags: ::std::os::raw::c_short,
+ pub _file: ::std::os::raw::c_short,
+ pub _bf: __sbuf,
+ pub _lbfsize: ::std::os::raw::c_int,
+ pub _cookie: *mut ::std::os::raw::c_void,
+ pub _close: ::std::option::Option<
+ unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
+ >,
+ pub _read: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: *mut ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int,
+ >,
+ pub _seek: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: fpos_t,
+ arg3: ::std::os::raw::c_int,
+ ) -> fpos_t,
+ >,
+ pub _write: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int,
+ >,
+ pub _ub: __sbuf,
+ pub _extra: *mut __sFILEX,
+ pub _ur: ::std::os::raw::c_int,
+ pub _ubuf: [::std::os::raw::c_uchar; 3usize],
+ pub _nbuf: [::std::os::raw::c_uchar; 1usize],
+ pub _lb: __sbuf,
+ pub _blksize: ::std::os::raw::c_int,
+ pub _offset: fpos_t,
+}
+#[test]
+fn bindgen_test_layout___sFILE() {
+ const UNINIT: ::std::mem::MaybeUninit<__sFILE> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<__sFILE>(),
+ 152usize,
+ concat!("Size of: ", stringify!(__sFILE))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<__sFILE>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(__sFILE))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._p) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_p)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._r) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_r)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._w) as usize - ptr as usize },
+ 12usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_w)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_flags)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._file) as usize - ptr as usize },
+ 18usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_file)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._bf) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_bf)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._lbfsize) as usize - ptr as usize },
+ 40usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_lbfsize)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._cookie) as usize - ptr as usize },
+ 48usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_cookie)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._close) as usize - ptr as usize },
+ 56usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_close)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._read) as usize - ptr as usize },
+ 64usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_read)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._seek) as usize - ptr as usize },
+ 72usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_seek)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._write) as usize - ptr as usize },
+ 80usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_write)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._ub) as usize - ptr as usize },
+ 88usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_ub)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._extra) as usize - ptr as usize },
+ 104usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_extra)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._ur) as usize - ptr as usize },
+ 112usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_ur)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._ubuf) as usize - ptr as usize },
+ 116usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_ubuf)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._nbuf) as usize - ptr as usize },
+ 119usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_nbuf)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._lb) as usize - ptr as usize },
+ 120usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_lb)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._blksize) as usize - ptr as usize },
+ 136usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_blksize)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
+ 144usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__sFILE),
+ "::",
+ stringify!(_offset)
+ )
+ );
+}
+pub type FILE = __sFILE;
+extern "C" {
+ pub static mut __stdinp: *mut FILE;
+}
+extern "C" {
+ pub static mut __stdoutp: *mut FILE;
+}
+extern "C" {
+ pub static mut __stderrp: *mut FILE;
+}
+extern "C" {
+ pub fn clearerr(arg1: *mut FILE);
+}
+extern "C" {
+ pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fgets(
+ arg1: *mut ::std::os::raw::c_char,
+ arg2: ::std::os::raw::c_int,
+ arg3: *mut FILE,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn fopen(
+ __filename: *const ::std::os::raw::c_char,
+ __mode: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn fprintf(
+ arg1: *mut FILE,
+ arg2: *const ::std::os::raw::c_char,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fread(
+ __ptr: *mut ::std::os::raw::c_void,
+ __size: ::std::os::raw::c_ulong,
+ __nitems: ::std::os::raw::c_ulong,
+ __stream: *mut FILE,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn freopen(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: *mut FILE,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn fscanf(
+ arg1: *mut FILE,
+ arg2: *const ::std::os::raw::c_char,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fseek(
+ arg1: *mut FILE,
+ arg2: ::std::os::raw::c_long,
+ arg3: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn fwrite(
+ __ptr: *const ::std::os::raw::c_void,
+ __size: ::std::os::raw::c_ulong,
+ __nitems: ::std::os::raw::c_ulong,
+ __stream: *mut FILE,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn getchar() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn perror(arg1: *const ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn rename(
+ __old: *const ::std::os::raw::c_char,
+ __new: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn rewind(arg1: *mut FILE);
+}
+extern "C" {
+ pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn setvbuf(
+ arg1: *mut FILE,
+ arg2: *mut ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ arg4: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn sprintf(
+ arg1: *mut ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn sscanf(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn tmpfile() -> *mut FILE;
+}
+extern "C" {
+ pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vfprintf(
+ arg1: *mut FILE,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: __builtin_va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vprintf(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: __builtin_va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vsprintf(
+ arg1: *mut ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: __builtin_va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE;
+}
+extern "C" {
+ pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn popen(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn __srget(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __svfscanf(
+ arg1: *mut FILE,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __swbuf(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn flockfile(arg1: *mut FILE);
+}
+extern "C" {
+ pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn funlockfile(arg1: *mut FILE);
+}
+extern "C" {
+ pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn getchar_unlocked() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn tempnam(
+ __dir: *const ::std::os::raw::c_char,
+ __prefix: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+pub type off_t = __darwin_off_t;
+extern "C" {
+ pub fn fseeko(
+ __stream: *mut FILE,
+ __offset: off_t,
+ __whence: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ftello(__stream: *mut FILE) -> off_t;
+}
+extern "C" {
+ pub fn snprintf(
+ __str: *mut ::std::os::raw::c_char,
+ __size: ::std::os::raw::c_ulong,
+ __format: *const ::std::os::raw::c_char,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vfscanf(
+ __stream: *mut FILE,
+ __format: *const ::std::os::raw::c_char,
+ arg1: __builtin_va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vscanf(
+ __format: *const ::std::os::raw::c_char,
+ arg1: __builtin_va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vsnprintf(
+ __str: *mut ::std::os::raw::c_char,
+ __size: ::std::os::raw::c_ulong,
+ __format: *const ::std::os::raw::c_char,
+ arg1: __builtin_va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vsscanf(
+ __str: *const ::std::os::raw::c_char,
+ __format: *const ::std::os::raw::c_char,
+ arg1: __builtin_va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn dprintf(
+ arg1: ::std::os::raw::c_int,
+ arg2: *const ::std::os::raw::c_char,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vdprintf(
+ arg1: ::std::os::raw::c_int,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn getdelim(
+ __linep: *mut *mut ::std::os::raw::c_char,
+ __linecapp: *mut usize,
+ __delimiter: ::std::os::raw::c_int,
+ __stream: *mut FILE,
+ ) -> isize;
+}
+extern "C" {
+ pub fn getline(
+ __linep: *mut *mut ::std::os::raw::c_char,
+ __linecapp: *mut usize,
+ __stream: *mut FILE,
+ ) -> isize;
+}
+extern "C" {
+ pub fn fmemopen(
+ __buf: *mut ::std::os::raw::c_void,
+ __size: usize,
+ __mode: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn open_memstream(
+ __bufp: *mut *mut ::std::os::raw::c_char,
+ __sizep: *mut usize,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub static sys_nerr: ::std::os::raw::c_int;
+}
+extern "C" {
+ pub static sys_errlist: [*const ::std::os::raw::c_char; 0usize];
+}
+extern "C" {
+ pub fn asprintf(
+ arg1: *mut *mut ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ctermid_r(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn fgetln(arg1: *mut FILE, arg2: *mut usize) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn fmtcheck(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ ) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn setbuffer(
+ arg1: *mut FILE,
+ arg2: *mut ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ );
+}
+extern "C" {
+ pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vasprintf(
+ arg1: *mut *mut ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn funopen(
+ arg1: *const ::std::os::raw::c_void,
+ arg2: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: *mut ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int,
+ >,
+ arg3: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int,
+ >,
+ arg4: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: fpos_t,
+ arg3: ::std::os::raw::c_int,
+ ) -> fpos_t,
+ >,
+ arg5: ::std::option::Option<
+ unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
+ >,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn __sprintf_chk(
+ arg1: *mut ::std::os::raw::c_char,
+ arg2: ::std::os::raw::c_int,
+ arg3: usize,
+ arg4: *const ::std::os::raw::c_char,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __snprintf_chk(
+ arg1: *mut ::std::os::raw::c_char,
+ arg2: usize,
+ arg3: ::std::os::raw::c_int,
+ arg4: usize,
+ arg5: *const ::std::os::raw::c_char,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __vsprintf_chk(
+ arg1: *mut ::std::os::raw::c_char,
+ arg2: ::std::os::raw::c_int,
+ arg3: usize,
+ arg4: *const ::std::os::raw::c_char,
+ arg5: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __vsnprintf_chk(
+ arg1: *mut ::std::os::raw::c_char,
+ arg2: usize,
+ arg3: ::std::os::raw::c_int,
+ arg4: usize,
+ arg5: *const ::std::os::raw::c_char,
+ arg6: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+pub type ct_rune_t = __darwin_ct_rune_t;
+pub type rune_t = __darwin_rune_t;
+pub type wint_t = __darwin_wint_t;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _RuneEntry {
+ pub __min: __darwin_rune_t,
+ pub __max: __darwin_rune_t,
+ pub __map: __darwin_rune_t,
+ pub __types: *mut __uint32_t,
+}
+#[test]
+fn bindgen_test_layout__RuneEntry() {
+ const UNINIT: ::std::mem::MaybeUninit<_RuneEntry> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_RuneEntry>(),
+ 24usize,
+ concat!("Size of: ", stringify!(_RuneEntry))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_RuneEntry>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_RuneEntry))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__min) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneEntry),
+ "::",
+ stringify!(__min)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__max) as usize - ptr as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneEntry),
+ "::",
+ stringify!(__max)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__map) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneEntry),
+ "::",
+ stringify!(__map)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__types) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneEntry),
+ "::",
+ stringify!(__types)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _RuneRange {
+ pub __nranges: ::std::os::raw::c_int,
+ pub __ranges: *mut _RuneEntry,
+}
+#[test]
+fn bindgen_test_layout__RuneRange() {
+ const UNINIT: ::std::mem::MaybeUninit<_RuneRange> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_RuneRange>(),
+ 16usize,
+ concat!("Size of: ", stringify!(_RuneRange))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_RuneRange>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_RuneRange))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__nranges) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneRange),
+ "::",
+ stringify!(__nranges)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__ranges) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneRange),
+ "::",
+ stringify!(__ranges)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _RuneCharClass {
+ pub __name: [::std::os::raw::c_char; 14usize],
+ pub __mask: __uint32_t,
+}
+#[test]
+fn bindgen_test_layout__RuneCharClass() {
+ const UNINIT: ::std::mem::MaybeUninit<_RuneCharClass> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_RuneCharClass>(),
+ 20usize,
+ concat!("Size of: ", stringify!(_RuneCharClass))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_RuneCharClass>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(_RuneCharClass))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__name) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneCharClass),
+ "::",
+ stringify!(__name)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__mask) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneCharClass),
+ "::",
+ stringify!(__mask)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _RuneLocale {
+ pub __magic: [::std::os::raw::c_char; 8usize],
+ pub __encoding: [::std::os::raw::c_char; 32usize],
+ pub __sgetrune: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: __darwin_size_t,
+ arg3: *mut *const ::std::os::raw::c_char,
+ ) -> __darwin_rune_t,
+ >,
+ pub __sputrune: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: __darwin_rune_t,
+ arg2: *mut ::std::os::raw::c_char,
+ arg3: __darwin_size_t,
+ arg4: *mut *mut ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int,
+ >,
+ pub __invalid_rune: __darwin_rune_t,
+ pub __runetype: [__uint32_t; 256usize],
+ pub __maplower: [__darwin_rune_t; 256usize],
+ pub __mapupper: [__darwin_rune_t; 256usize],
+ pub __runetype_ext: _RuneRange,
+ pub __maplower_ext: _RuneRange,
+ pub __mapupper_ext: _RuneRange,
+ pub __variable: *mut ::std::os::raw::c_void,
+ pub __variable_len: ::std::os::raw::c_int,
+ pub __ncharclasses: ::std::os::raw::c_int,
+ pub __charclasses: *mut _RuneCharClass,
+}
+#[test]
+fn bindgen_test_layout__RuneLocale() {
+ const UNINIT: ::std::mem::MaybeUninit<_RuneLocale> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_RuneLocale>(),
+ 3208usize,
+ concat!("Size of: ", stringify!(_RuneLocale))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_RuneLocale>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_RuneLocale))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__magic) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__magic)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__encoding) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__encoding)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sgetrune) as usize - ptr as usize },
+ 40usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__sgetrune)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__sputrune) as usize - ptr as usize },
+ 48usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__sputrune)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__invalid_rune) as usize - ptr as usize },
+ 56usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__invalid_rune)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__runetype) as usize - ptr as usize },
+ 60usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__runetype)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__maplower) as usize - ptr as usize },
+ 1084usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__maplower)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__mapupper) as usize - ptr as usize },
+ 2108usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__mapupper)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__runetype_ext) as usize - ptr as usize },
+ 3136usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__runetype_ext)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__maplower_ext) as usize - ptr as usize },
+ 3152usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__maplower_ext)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__mapupper_ext) as usize - ptr as usize },
+ 3168usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__mapupper_ext)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__variable) as usize - ptr as usize },
+ 3184usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__variable)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__variable_len) as usize - ptr as usize },
+ 3192usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__variable_len)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__ncharclasses) as usize - ptr as usize },
+ 3196usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__ncharclasses)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).__charclasses) as usize - ptr as usize },
+ 3200usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_RuneLocale),
+ "::",
+ stringify!(__charclasses)
+ )
+ );
+}
+extern "C" {
+ pub static mut _DefaultRuneLocale: _RuneLocale;
+}
+extern "C" {
+ pub static mut _CurrentRuneLocale: *mut _RuneLocale;
+}
+extern "C" {
+ pub fn ___runetype(arg1: __darwin_ct_rune_t) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn ___tolower(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
+}
+extern "C" {
+ pub fn ___toupper(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
+}
+extern "C" {
+ pub fn __maskrune(
+ arg1: __darwin_ct_rune_t,
+ arg2: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __toupper(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
+}
+extern "C" {
+ pub fn __tolower(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t;
+}
+extern "C" {
+ pub fn __assert_rtn(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ arg4: *const ::std::os::raw::c_char,
+ ) -> !;
+}
+extern "C" {
+ pub fn memchr(
+ __s: *const ::std::os::raw::c_void,
+ __c: ::std::os::raw::c_int,
+ __n: ::std::os::raw::c_ulong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memcmp(
+ __s1: *const ::std::os::raw::c_void,
+ __s2: *const ::std::os::raw::c_void,
+ __n: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn memcpy(
+ __dst: *mut ::std::os::raw::c_void,
+ __src: *const ::std::os::raw::c_void,
+ __n: ::std::os::raw::c_ulong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memmove(
+ __dst: *mut ::std::os::raw::c_void,
+ __src: *const ::std::os::raw::c_void,
+ __len: ::std::os::raw::c_ulong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memset(
+ __b: *mut ::std::os::raw::c_void,
+ __c: ::std::os::raw::c_int,
+ __len: ::std::os::raw::c_ulong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn strcat(
+ __s1: *mut ::std::os::raw::c_char,
+ __s2: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strchr(
+ __s: *const ::std::os::raw::c_char,
+ __c: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strcmp(
+ __s1: *const ::std::os::raw::c_char,
+ __s2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strcoll(
+ __s1: *const ::std::os::raw::c_char,
+ __s2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strcpy(
+ __dst: *mut ::std::os::raw::c_char,
+ __src: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strcspn(
+ __s: *const ::std::os::raw::c_char,
+ __charset: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn strncat(
+ __s1: *mut ::std::os::raw::c_char,
+ __s2: *const ::std::os::raw::c_char,
+ __n: ::std::os::raw::c_ulong,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strncmp(
+ __s1: *const ::std::os::raw::c_char,
+ __s2: *const ::std::os::raw::c_char,
+ __n: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strncpy(
+ __dst: *mut ::std::os::raw::c_char,
+ __src: *const ::std::os::raw::c_char,
+ __n: ::std::os::raw::c_ulong,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strpbrk(
+ __s: *const ::std::os::raw::c_char,
+ __charset: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strrchr(
+ __s: *const ::std::os::raw::c_char,
+ __c: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strspn(
+ __s: *const ::std::os::raw::c_char,
+ __charset: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn strstr(
+ __big: *const ::std::os::raw::c_char,
+ __little: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strtok(
+ __str: *mut ::std::os::raw::c_char,
+ __sep: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strxfrm(
+ __s1: *mut ::std::os::raw::c_char,
+ __s2: *const ::std::os::raw::c_char,
+ __n: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn strtok_r(
+ __str: *mut ::std::os::raw::c_char,
+ __sep: *const ::std::os::raw::c_char,
+ __lasts: *mut *mut ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strerror_r(
+ __errnum: ::std::os::raw::c_int,
+ __strerrbuf: *mut ::std::os::raw::c_char,
+ __buflen: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strdup(__s1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn memccpy(
+ __dst: *mut ::std::os::raw::c_void,
+ __src: *const ::std::os::raw::c_void,
+ __c: ::std::os::raw::c_int,
+ __n: ::std::os::raw::c_ulong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn stpcpy(
+ __dst: *mut ::std::os::raw::c_char,
+ __src: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn stpncpy(
+ __dst: *mut ::std::os::raw::c_char,
+ __src: *const ::std::os::raw::c_char,
+ __n: ::std::os::raw::c_ulong,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strndup(
+ __s1: *const ::std::os::raw::c_char,
+ __n: ::std::os::raw::c_ulong,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strnlen(__s1: *const ::std::os::raw::c_char, __n: usize) -> usize;
+}
+extern "C" {
+ pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
+}
+pub type rsize_t = __darwin_size_t;
+pub type errno_t = ::std::os::raw::c_int;
+extern "C" {
+ pub fn memset_s(
+ __s: *mut ::std::os::raw::c_void,
+ __smax: rsize_t,
+ __c: ::std::os::raw::c_int,
+ __n: rsize_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn memmem(
+ __big: *const ::std::os::raw::c_void,
+ __big_len: usize,
+ __little: *const ::std::os::raw::c_void,
+ __little_len: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memset_pattern4(
+ __b: *mut ::std::os::raw::c_void,
+ __pattern4: *const ::std::os::raw::c_void,
+ __len: usize,
+ );
+}
+extern "C" {
+ pub fn memset_pattern8(
+ __b: *mut ::std::os::raw::c_void,
+ __pattern8: *const ::std::os::raw::c_void,
+ __len: usize,
+ );
+}
+extern "C" {
+ pub fn memset_pattern16(
+ __b: *mut ::std::os::raw::c_void,
+ __pattern16: *const ::std::os::raw::c_void,
+ __len: usize,
+ );
+}
+extern "C" {
+ pub fn strcasestr(
+ __big: *const ::std::os::raw::c_char,
+ __little: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strnstr(
+ __big: *const ::std::os::raw::c_char,
+ __little: *const ::std::os::raw::c_char,
+ __len: usize,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strlcat(
+ __dst: *mut ::std::os::raw::c_char,
+ __source: *const ::std::os::raw::c_char,
+ __size: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn strlcpy(
+ __dst: *mut ::std::os::raw::c_char,
+ __source: *const ::std::os::raw::c_char,
+ __size: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn strmode(__mode: ::std::os::raw::c_int, __bp: *mut ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn strsep(
+ __stringp: *mut *mut ::std::os::raw::c_char,
+ __delim: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn swab(
+ arg1: *const ::std::os::raw::c_void,
+ arg2: *mut ::std::os::raw::c_void,
+ arg3: isize,
+ );
+}
+extern "C" {
+ pub fn timingsafe_bcmp(
+ __b1: *const ::std::os::raw::c_void,
+ __b2: *const ::std::os::raw::c_void,
+ __len: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strsignal_r(
+ __sig: ::std::os::raw::c_int,
+ __strsignalbuf: *mut ::std::os::raw::c_char,
+ __buflen: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bcmp(
+ arg1: *const ::std::os::raw::c_void,
+ arg2: *const ::std::os::raw::c_void,
+ arg3: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bcopy(
+ arg1: *const ::std::os::raw::c_void,
+ arg2: *mut ::std::os::raw::c_void,
+ arg3: usize,
+ );
+}
+extern "C" {
+ pub fn bzero(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_ulong);
+}
+extern "C" {
+ pub fn index(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn rindex(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ffs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strcasecmp(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strncasecmp(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ffsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ffsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fls(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn flsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn flsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct cursor {
+ pub start: *mut ::std::os::raw::c_uchar,
+ pub p: *mut ::std::os::raw::c_uchar,
+ pub end: *mut ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_cursor() {
+ const UNINIT: ::std::mem::MaybeUninit<cursor> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<cursor>(),
+ 24usize,
+ concat!("Size of: ", stringify!(cursor))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<cursor>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(cursor))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(cursor),
+ "::",
+ stringify!(start)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
+ 8usize,
+ concat!("Offset of field: ", stringify!(cursor), "::", stringify!(p))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(cursor),
+ "::",
+ stringify!(end)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_str_block {
+ pub str_: *const ::std::os::raw::c_char,
+ pub len: u32,
+}
+#[test]
+fn bindgen_test_layout_ndb_str_block() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_str_block> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_str_block>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_str_block))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_str_block>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_str_block))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str_block),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str_block),
+ "::",
+ stringify!(len)
+ )
+ );
+}
+pub type str_block_t = ndb_str_block;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_json_parser {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_blocks {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_note {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_tag {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_tags {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_lmdb {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_packed_str {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bolt11 {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_tag_ptr {
+ pub ptr: *mut ndb_tag,
+}
+#[test]
+fn bindgen_test_layout_ndb_tag_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_tag_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_tag_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_tag_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_tag_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_tag_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tag_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_tags_ptr {
+ pub ptr: *mut ndb_tags,
+}
+#[test]
+fn bindgen_test_layout_ndb_tags_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_tags_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_tags_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_tags_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_tags_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_tags_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tags_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_block_ptr {
+ pub ptr: *mut ndb_block,
+}
+#[test]
+fn bindgen_test_layout_ndb_block_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_block_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_block_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_block_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_block_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_block_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_blocks_ptr {
+ pub ptr: *mut ndb_blocks,
+}
+#[test]
+fn bindgen_test_layout_ndb_blocks_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_blocks_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_blocks_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_blocks_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_blocks_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_blocks_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_blocks_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_note_ptr {
+ pub ptr: *mut ndb_note,
+}
+#[test]
+fn bindgen_test_layout_ndb_note_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_note_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_note_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_note_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_note_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_note_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_note_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_t {
+ pub ndb: *mut ndb,
+}
+#[test]
+fn bindgen_test_layout_ndb_t() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_t> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_t>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ndb) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_t),
+ "::",
+ stringify!(ndb)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_str {
+ pub flag: ::std::os::raw::c_uchar,
+ pub __bindgen_anon_1: ndb_str__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_str__bindgen_ty_1 {
+ pub str_: *const ::std::os::raw::c_char,
+ pub id: *mut ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_ndb_str__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_str__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_str__bindgen_ty_1>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_str__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_str__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_str__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str__bindgen_ty_1),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str__bindgen_ty_1),
+ "::",
+ stringify!(id)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_ndb_str() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_str> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_str>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_str))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_str>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_str))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).flag) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str),
+ "::",
+ stringify!(flag)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_keypair {
+ pub pubkey: [::std::os::raw::c_uchar; 32usize],
+ pub secret: [::std::os::raw::c_uchar; 32usize],
+ pub pair: [::std::os::raw::c_uchar; 96usize],
+}
+#[test]
+fn bindgen_test_layout_ndb_keypair() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_keypair> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_keypair>(),
+ 160usize,
+ concat!("Size of: ", stringify!(ndb_keypair))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_keypair>(),
+ 1usize,
+ concat!("Alignment of ", stringify!(ndb_keypair))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_keypair),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).secret) as usize - ptr as usize },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_keypair),
+ "::",
+ stringify!(secret)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pair) as usize - ptr as usize },
+ 64usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_keypair),
+ "::",
+ stringify!(pair)
+ )
+ );
+}
+pub type ndb_idres = i32;
+pub type ndb_id_fn = ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: *const ::std::os::raw::c_char,
+ ) -> ndb_idres,
+>;
+pub type ndb_sub_fn =
+ ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, subid: u64)>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_id_cb {
+ pub fn_: ndb_id_fn,
+ pub data: *mut ::std::os::raw::c_void,
+}
+#[test]
+fn bindgen_test_layout_ndb_id_cb() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_id_cb> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_id_cb>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_id_cb))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_id_cb>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_id_cb))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).fn_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_id_cb),
+ "::",
+ stringify!(fn_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_id_cb),
+ "::",
+ stringify!(data)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_txn {
+ pub lmdb: *mut ndb_lmdb,
+ pub mdb_txn: *mut ::std::os::raw::c_void,
+}
+#[test]
+fn bindgen_test_layout_ndb_txn() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_txn> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_txn>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_txn))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_txn>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_txn))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).lmdb) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_txn),
+ "::",
+ stringify!(lmdb)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mdb_txn) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_txn),
+ "::",
+ stringify!(mdb_txn)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_event {
+ pub note: *mut ndb_note,
+}
+#[test]
+fn bindgen_test_layout_ndb_event() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_event> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_event>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_event))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_event>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_event))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_event),
+ "::",
+ stringify!(note)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_command_result {
+ pub ok: ::std::os::raw::c_int,
+ pub msg: *const ::std::os::raw::c_char,
+ pub msglen: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_command_result() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_command_result> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_command_result>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_command_result))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_command_result>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_command_result))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ok) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_command_result),
+ "::",
+ stringify!(ok)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).msg) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_command_result),
+ "::",
+ stringify!(msg)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).msglen) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_command_result),
+ "::",
+ stringify!(msglen)
+ )
+ );
+}
+pub const fce_type_NDB_FCE_EVENT: fce_type = 1;
+pub type fce_type = ::std::os::raw::c_uint;
+pub const tce_type_NDB_TCE_EVENT: tce_type = 1;
+pub const tce_type_NDB_TCE_OK: tce_type = 2;
+pub const tce_type_NDB_TCE_NOTICE: tce_type = 3;
+pub const tce_type_NDB_TCE_EOSE: tce_type = 4;
+pub const tce_type_NDB_TCE_AUTH: tce_type = 5;
+pub type tce_type = ::std::os::raw::c_uint;
+pub const ndb_ingest_filter_action_NDB_INGEST_REJECT: ndb_ingest_filter_action = 0;
+pub const ndb_ingest_filter_action_NDB_INGEST_ACCEPT: ndb_ingest_filter_action = 1;
+pub const ndb_ingest_filter_action_NDB_INGEST_SKIP_VALIDATION: ndb_ingest_filter_action = 2;
+pub type ndb_ingest_filter_action = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_search_key {
+ pub search: [::std::os::raw::c_char; 24usize],
+ pub id: [::std::os::raw::c_uchar; 32usize],
+ pub timestamp: u64,
+}
+#[test]
+fn bindgen_test_layout_ndb_search_key() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_search_key> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_search_key>(),
+ 64usize,
+ concat!("Size of: ", stringify!(ndb_search_key))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_search_key>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_search_key))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).search) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search_key),
+ "::",
+ stringify!(search)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search_key),
+ "::",
+ stringify!(id)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
+ 56usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search_key),
+ "::",
+ stringify!(timestamp)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_search {
+ pub key: *mut ndb_search_key,
+ pub profile_key: u64,
+ pub cursor: *mut ::std::os::raw::c_void,
+}
+#[test]
+fn bindgen_test_layout_ndb_search() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_search> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_search>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_search))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_search>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_search))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search),
+ "::",
+ stringify!(key)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).profile_key) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search),
+ "::",
+ stringify!(profile_key)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).cursor) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search),
+ "::",
+ stringify!(cursor)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_fce {
+ pub evtype: fce_type,
+ pub __bindgen_anon_1: ndb_fce__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_fce__bindgen_ty_1 {
+ pub event: ndb_event,
+}
+#[test]
+fn bindgen_test_layout_ndb_fce__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_fce__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_fce__bindgen_ty_1>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_fce__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_fce__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_fce__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_fce__bindgen_ty_1),
+ "::",
+ stringify!(event)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_ndb_fce() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_fce> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_fce>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_fce))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_fce>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_fce))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_fce),
+ "::",
+ stringify!(evtype)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_tce {
+ pub evtype: tce_type,
+ pub subid: *const ::std::os::raw::c_char,
+ pub subid_len: ::std::os::raw::c_int,
+ pub __bindgen_anon_1: ndb_tce__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_tce__bindgen_ty_1 {
+ pub event: ndb_event,
+ pub command_result: ndb_command_result,
+}
+#[test]
+fn bindgen_test_layout_ndb_tce__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_tce__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_tce__bindgen_ty_1>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_tce__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_tce__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_tce__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce__bindgen_ty_1),
+ "::",
+ stringify!(event)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).command_result) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce__bindgen_ty_1),
+ "::",
+ stringify!(command_result)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_ndb_tce() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_tce> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_tce>(),
+ 48usize,
+ concat!("Size of: ", stringify!(ndb_tce))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_tce>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_tce))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce),
+ "::",
+ stringify!(evtype)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).subid) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce),
+ "::",
+ stringify!(subid)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).subid_len) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce),
+ "::",
+ stringify!(subid_len)
+ )
+ );
+}
+pub type ndb_ingest_filter_fn = ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: *mut ndb_note,
+ ) -> ndb_ingest_filter_action,
+>;
+pub const ndb_filter_fieldtype_NDB_FILTER_IDS: ndb_filter_fieldtype = 1;
+pub const ndb_filter_fieldtype_NDB_FILTER_AUTHORS: ndb_filter_fieldtype = 2;
+pub const ndb_filter_fieldtype_NDB_FILTER_KINDS: ndb_filter_fieldtype = 3;
+pub const ndb_filter_fieldtype_NDB_FILTER_TAGS: ndb_filter_fieldtype = 4;
+pub const ndb_filter_fieldtype_NDB_FILTER_SINCE: ndb_filter_fieldtype = 5;
+pub const ndb_filter_fieldtype_NDB_FILTER_UNTIL: ndb_filter_fieldtype = 6;
+pub const ndb_filter_fieldtype_NDB_FILTER_LIMIT: ndb_filter_fieldtype = 7;
+pub type ndb_filter_fieldtype = ::std::os::raw::c_uint;
+pub const ndb_generic_element_type_NDB_ELEMENT_UNKNOWN: ndb_generic_element_type = 0;
+pub const ndb_generic_element_type_NDB_ELEMENT_STRING: ndb_generic_element_type = 1;
+pub const ndb_generic_element_type_NDB_ELEMENT_ID: ndb_generic_element_type = 2;
+pub const ndb_generic_element_type_NDB_ELEMENT_INT: ndb_generic_element_type = 3;
+pub type ndb_generic_element_type = ::std::os::raw::c_uint;
+pub const ndb_search_order_NDB_ORDER_DESCENDING: ndb_search_order = 0;
+pub const ndb_search_order_NDB_ORDER_ASCENDING: ndb_search_order = 1;
+pub type ndb_search_order = ::std::os::raw::c_uint;
+pub const ndb_dbs_NDB_DB_NOTE: ndb_dbs = 0;
+pub const ndb_dbs_NDB_DB_META: ndb_dbs = 1;
+pub const ndb_dbs_NDB_DB_PROFILE: ndb_dbs = 2;
+pub const ndb_dbs_NDB_DB_NOTE_ID: ndb_dbs = 3;
+pub const ndb_dbs_NDB_DB_PROFILE_PK: ndb_dbs = 4;
+pub const ndb_dbs_NDB_DB_NDB_META: ndb_dbs = 5;
+pub const ndb_dbs_NDB_DB_PROFILE_SEARCH: ndb_dbs = 6;
+pub const ndb_dbs_NDB_DB_PROFILE_LAST_FETCH: ndb_dbs = 7;
+pub const ndb_dbs_NDB_DB_NOTE_KIND: ndb_dbs = 8;
+pub const ndb_dbs_NDB_DB_NOTE_TEXT: ndb_dbs = 9;
+pub const ndb_dbs_NDB_DB_NOTE_BLOCKS: ndb_dbs = 10;
+pub const ndb_dbs_NDB_DB_NOTE_TAGS: ndb_dbs = 11;
+pub const ndb_dbs_NDB_DBS: ndb_dbs = 12;
+pub type ndb_dbs = ::std::os::raw::c_uint;
+pub const ndb_common_kind_NDB_CKIND_PROFILE: ndb_common_kind = 0;
+pub const ndb_common_kind_NDB_CKIND_TEXT: ndb_common_kind = 1;
+pub const ndb_common_kind_NDB_CKIND_CONTACTS: ndb_common_kind = 2;
+pub const ndb_common_kind_NDB_CKIND_DM: ndb_common_kind = 3;
+pub const ndb_common_kind_NDB_CKIND_DELETE: ndb_common_kind = 4;
+pub const ndb_common_kind_NDB_CKIND_REPOST: ndb_common_kind = 5;
+pub const ndb_common_kind_NDB_CKIND_REACTION: ndb_common_kind = 6;
+pub const ndb_common_kind_NDB_CKIND_ZAP: ndb_common_kind = 7;
+pub const ndb_common_kind_NDB_CKIND_ZAP_REQUEST: ndb_common_kind = 8;
+pub const ndb_common_kind_NDB_CKIND_NWC_REQUEST: ndb_common_kind = 9;
+pub const ndb_common_kind_NDB_CKIND_NWC_RESPONSE: ndb_common_kind = 10;
+pub const ndb_common_kind_NDB_CKIND_HTTP_AUTH: ndb_common_kind = 11;
+pub const ndb_common_kind_NDB_CKIND_LIST: ndb_common_kind = 12;
+pub const ndb_common_kind_NDB_CKIND_LONGFORM: ndb_common_kind = 13;
+pub const ndb_common_kind_NDB_CKIND_STATUS: ndb_common_kind = 14;
+pub const ndb_common_kind_NDB_CKIND_COUNT: ndb_common_kind = 15;
+pub type ndb_common_kind = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_builder {
+ pub mem: cursor,
+ pub note_cur: cursor,
+ pub strings: cursor,
+ pub str_indices: cursor,
+ pub note: *mut ndb_note,
+ pub current_tag: *mut ndb_tag,
+}
+#[test]
+fn bindgen_test_layout_ndb_builder() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_builder> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_builder>(),
+ 112usize,
+ concat!("Size of: ", stringify!(ndb_builder))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_builder>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_builder))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mem) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(mem)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note_cur) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(note_cur)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
+ 48usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(strings)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_indices) as usize - ptr as usize },
+ 72usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(str_indices)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 96usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(note)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).current_tag) as usize - ptr as usize },
+ 104usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(current_tag)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_iterator {
+ pub note: *mut ndb_note,
+ pub tag: *mut ndb_tag,
+ pub index: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_iterator() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_iterator> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_iterator>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_iterator))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_iterator>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_iterator))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_iterator),
+ "::",
+ stringify!(note)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_iterator),
+ "::",
+ stringify!(tag)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_iterator),
+ "::",
+ stringify!(index)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_filter_string {
+ pub string: *const ::std::os::raw::c_char,
+ pub len: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_filter_string() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter_string> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter_string>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_filter_string))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter_string>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_filter_string))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_string),
+ "::",
+ stringify!(string)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_string),
+ "::",
+ stringify!(len)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_filter_element {
+ pub string: ndb_filter_string,
+ pub id: *const ::std::os::raw::c_uchar,
+ pub integer: u64,
+}
+#[test]
+fn bindgen_test_layout_ndb_filter_element() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter_element> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter_element>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_filter_element))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter_element>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_filter_element))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_element),
+ "::",
+ stringify!(string)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_element),
+ "::",
+ stringify!(id)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_element),
+ "::",
+ stringify!(integer)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_filter_field {
+ pub type_: ndb_filter_fieldtype,
+ pub elem_type: ndb_generic_element_type,
+ pub tag: ::std::os::raw::c_char,
+}
+#[test]
+fn bindgen_test_layout_ndb_filter_field() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter_field> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter_field>(),
+ 12usize,
+ concat!("Size of: ", stringify!(ndb_filter_field))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter_field>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(ndb_filter_field))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_field),
+ "::",
+ stringify!(type_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).elem_type) as usize - ptr as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_field),
+ "::",
+ stringify!(elem_type)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_field),
+ "::",
+ stringify!(tag)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct ndb_filter_elements {
+ pub field: ndb_filter_field,
+ pub count: ::std::os::raw::c_int,
+ pub elements: __IncompleteArrayField<u64>,
+}
+#[test]
+fn bindgen_test_layout_ndb_filter_elements() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter_elements> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter_elements>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_filter_elements))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter_elements>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_filter_elements))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_elements),
+ "::",
+ stringify!(field)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
+ 12usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_elements),
+ "::",
+ stringify!(count)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_elements),
+ "::",
+ stringify!(elements)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_filter {
+ pub elem_buf: cursor,
+ pub data_buf: cursor,
+ pub num_elements: ::std::os::raw::c_int,
+ pub finalized: ::std::os::raw::c_int,
+ pub current: ::std::os::raw::c_int,
+ pub elements: [::std::os::raw::c_int; 7usize],
+}
+#[test]
+fn bindgen_test_layout_ndb_filter() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter>(),
+ 88usize,
+ concat!("Size of: ", stringify!(ndb_filter))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_filter))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).elem_buf) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(elem_buf)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).data_buf) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(data_buf)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).num_elements) as usize - ptr as usize },
+ 48usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(num_elements)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).finalized) as usize - ptr as usize },
+ 52usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(finalized)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).current) as usize - ptr as usize },
+ 56usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(current)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
+ 60usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(elements)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_config {
+ pub flags: ::std::os::raw::c_int,
+ pub ingester_threads: ::std::os::raw::c_int,
+ pub mapsize: usize,
+ pub filter_context: *mut ::std::os::raw::c_void,
+ pub ingest_filter: ndb_ingest_filter_fn,
+ pub sub_cb_ctx: *mut ::std::os::raw::c_void,
+ pub sub_cb: ndb_sub_fn,
+}
+#[test]
+fn bindgen_test_layout_ndb_config() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_config> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_config>(),
+ 48usize,
+ concat!("Size of: ", stringify!(ndb_config))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_config>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_config))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(flags)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ingester_threads) as usize - ptr as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(ingester_threads)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mapsize) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(mapsize)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).filter_context) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(filter_context)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ingest_filter) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(ingest_filter)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).sub_cb_ctx) as usize - ptr as usize },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(sub_cb_ctx)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).sub_cb) as usize - ptr as usize },
+ 40usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(sub_cb)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_text_search_config {
+ pub order: ndb_search_order,
+ pub limit: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_text_search_config() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_config> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_text_search_config>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_text_search_config))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_text_search_config>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(ndb_text_search_config))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_config),
+ "::",
+ stringify!(order)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).limit) as usize - ptr as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_config),
+ "::",
+ stringify!(limit)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_stat_counts {
+ pub key_size: usize,
+ pub value_size: usize,
+ pub count: usize,
+}
+#[test]
+fn bindgen_test_layout_ndb_stat_counts() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_stat_counts> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_stat_counts>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_stat_counts))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_stat_counts>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_stat_counts))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).key_size) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat_counts),
+ "::",
+ stringify!(key_size)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).value_size) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat_counts),
+ "::",
+ stringify!(value_size)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat_counts),
+ "::",
+ stringify!(count)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_stat {
+ pub dbs: [ndb_stat_counts; 12usize],
+ pub common_kinds: [ndb_stat_counts; 15usize],
+ pub other_kinds: ndb_stat_counts,
+}
+#[test]
+fn bindgen_test_layout_ndb_stat() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_stat> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_stat>(),
+ 672usize,
+ concat!("Size of: ", stringify!(ndb_stat))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_stat>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_stat))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).dbs) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat),
+ "::",
+ stringify!(dbs)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).common_kinds) as usize - ptr as usize },
+ 288usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat),
+ "::",
+ stringify!(common_kinds)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).other_kinds) as usize - ptr as usize },
+ 648usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat),
+ "::",
+ stringify!(other_kinds)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_text_search_key {
+ pub str_len: ::std::os::raw::c_int,
+ pub str_: *const ::std::os::raw::c_char,
+ pub timestamp: u64,
+ pub note_id: u64,
+ pub word_index: u64,
+}
+#[test]
+fn bindgen_test_layout_ndb_text_search_key() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_key> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_text_search_key>(),
+ 40usize,
+ concat!("Size of: ", stringify!(ndb_text_search_key))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_text_search_key>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_text_search_key))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_len) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(str_len)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(timestamp)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(note_id)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).word_index) as usize - ptr as usize },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(word_index)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_text_search_result {
+ pub key: ndb_text_search_key,
+ pub prefix_chars: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_text_search_result() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_result> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_text_search_result>(),
+ 48usize,
+ concat!("Size of: ", stringify!(ndb_text_search_result))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_text_search_result>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_text_search_result))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_result),
+ "::",
+ stringify!(key)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).prefix_chars) as usize - ptr as usize },
+ 40usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_result),
+ "::",
+ stringify!(prefix_chars)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_text_search_results {
+ pub results: [ndb_text_search_result; 128usize],
+ pub num_results: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_text_search_results() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_results> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_text_search_results>(),
+ 6152usize,
+ concat!("Size of: ", stringify!(ndb_text_search_results))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_text_search_results>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_text_search_results))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).results) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_results),
+ "::",
+ stringify!(results)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).num_results) as usize - ptr as usize },
+ 6144usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_results),
+ "::",
+ stringify!(num_results)
+ )
+ );
+}
+pub const ndb_block_type_BLOCK_HASHTAG: ndb_block_type = 1;
+pub const ndb_block_type_BLOCK_TEXT: ndb_block_type = 2;
+pub const ndb_block_type_BLOCK_MENTION_INDEX: ndb_block_type = 3;
+pub const ndb_block_type_BLOCK_MENTION_BECH32: ndb_block_type = 4;
+pub const ndb_block_type_BLOCK_URL: ndb_block_type = 5;
+pub const ndb_block_type_BLOCK_INVOICE: ndb_block_type = 6;
+pub type ndb_block_type = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_relays {
+ pub relays: [ndb_str_block; 24usize],
+ pub num_relays: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_relays() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_relays> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_relays>(),
+ 392usize,
+ concat!("Size of: ", stringify!(ndb_relays))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_relays>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_relays))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_relays),
+ "::",
+ stringify!(relays)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).num_relays) as usize - ptr as usize },
+ 384usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_relays),
+ "::",
+ stringify!(num_relays)
+ )
+ );
+}
+pub const nostr_bech32_type_NOSTR_BECH32_NOTE: nostr_bech32_type = 1;
+pub const nostr_bech32_type_NOSTR_BECH32_NPUB: nostr_bech32_type = 2;
+pub const nostr_bech32_type_NOSTR_BECH32_NPROFILE: nostr_bech32_type = 3;
+pub const nostr_bech32_type_NOSTR_BECH32_NEVENT: nostr_bech32_type = 4;
+pub const nostr_bech32_type_NOSTR_BECH32_NRELAY: nostr_bech32_type = 5;
+pub const nostr_bech32_type_NOSTR_BECH32_NADDR: nostr_bech32_type = 6;
+pub const nostr_bech32_type_NOSTR_BECH32_NSEC: nostr_bech32_type = 7;
+pub type nostr_bech32_type = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_note {
+ pub event_id: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_note() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_note> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_note>(),
+ 8usize,
+ concat!("Size of: ", stringify!(bech32_note))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_note>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_note))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_note),
+ "::",
+ stringify!(event_id)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_npub {
+ pub pubkey: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_npub() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_npub> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_npub>(),
+ 8usize,
+ concat!("Size of: ", stringify!(bech32_npub))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_npub>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_npub))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_npub),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_nsec {
+ pub nsec: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_nsec() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_nsec> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_nsec>(),
+ 8usize,
+ concat!("Size of: ", stringify!(bech32_nsec))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_nsec>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_nsec))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nsec),
+ "::",
+ stringify!(nsec)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_nevent {
+ pub relays: ndb_relays,
+ pub event_id: *const ::std::os::raw::c_uchar,
+ pub pubkey: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_nevent() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_nevent> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_nevent>(),
+ 408usize,
+ concat!("Size of: ", stringify!(bech32_nevent))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_nevent>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_nevent))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nevent),
+ "::",
+ stringify!(relays)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
+ 392usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nevent),
+ "::",
+ stringify!(event_id)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 400usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nevent),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_nprofile {
+ pub relays: ndb_relays,
+ pub pubkey: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_nprofile() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_nprofile> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_nprofile>(),
+ 400usize,
+ concat!("Size of: ", stringify!(bech32_nprofile))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_nprofile>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_nprofile))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nprofile),
+ "::",
+ stringify!(relays)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 392usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nprofile),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_naddr {
+ pub relays: ndb_relays,
+ pub identifier: ndb_str_block,
+ pub pubkey: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_naddr() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_naddr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_naddr>(),
+ 416usize,
+ concat!("Size of: ", stringify!(bech32_naddr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_naddr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_naddr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_naddr),
+ "::",
+ stringify!(relays)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).identifier) as usize - ptr as usize },
+ 392usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_naddr),
+ "::",
+ stringify!(identifier)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 408usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_naddr),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_nrelay {
+ pub relay: ndb_str_block,
+}
+#[test]
+fn bindgen_test_layout_bech32_nrelay() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_nrelay> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_nrelay>(),
+ 16usize,
+ concat!("Size of: ", stringify!(bech32_nrelay))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_nrelay>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_nrelay))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relay) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nrelay),
+ "::",
+ stringify!(relay)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct nostr_bech32 {
+ pub type_: nostr_bech32_type,
+ pub __bindgen_anon_1: nostr_bech32__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union nostr_bech32__bindgen_ty_1 {
+ pub note: bech32_note,
+ pub npub: bech32_npub,
+ pub nsec: bech32_nsec,
+ pub nevent: bech32_nevent,
+ pub nprofile: bech32_nprofile,
+ pub naddr: bech32_naddr,
+ pub nrelay: bech32_nrelay,
+}
+#[test]
+fn bindgen_test_layout_nostr_bech32__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<nostr_bech32__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<nostr_bech32__bindgen_ty_1>(),
+ 416usize,
+ concat!("Size of: ", stringify!(nostr_bech32__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<nostr_bech32__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(nostr_bech32__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(note)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).npub) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(npub)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(nsec)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nevent) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(nevent)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nprofile) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(nprofile)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).naddr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(naddr)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nrelay) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(nrelay)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_nostr_bech32() {
+ const UNINIT: ::std::mem::MaybeUninit<nostr_bech32> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<nostr_bech32>(),
+ 424usize,
+ concat!("Size of: ", stringify!(nostr_bech32))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<nostr_bech32>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(nostr_bech32))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32),
+ "::",
+ stringify!(type_)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_mention_bech32_block {
+ pub str_: ndb_str_block,
+ pub bech32: nostr_bech32,
+}
+#[test]
+fn bindgen_test_layout_ndb_mention_bech32_block() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_mention_bech32_block> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_mention_bech32_block>(),
+ 440usize,
+ concat!("Size of: ", stringify!(ndb_mention_bech32_block))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_mention_bech32_block>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_mention_bech32_block))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_mention_bech32_block),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).bech32) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_mention_bech32_block),
+ "::",
+ stringify!(bech32)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_invoice {
+ pub version: ::std::os::raw::c_uchar,
+ pub amount: u64,
+ pub timestamp: u64,
+ pub expiry: u64,
+ pub description: *mut ::std::os::raw::c_char,
+ pub description_hash: *mut ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_ndb_invoice() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_invoice> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_invoice>(),
+ 48usize,
+ concat!("Size of: ", stringify!(ndb_invoice))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_invoice>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_invoice))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(version)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(amount)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(timestamp)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).expiry) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(expiry)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(description)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).description_hash) as usize - ptr as usize },
+ 40usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(description_hash)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_invoice_block {
+ pub invstr: ndb_str_block,
+ pub invoice: ndb_invoice,
+}
+#[test]
+fn bindgen_test_layout_ndb_invoice_block() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_invoice_block> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_invoice_block>(),
+ 64usize,
+ concat!("Size of: ", stringify!(ndb_invoice_block))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_invoice_block>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_invoice_block))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).invstr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice_block),
+ "::",
+ stringify!(invstr)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice_block),
+ "::",
+ stringify!(invoice)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_block {
+ pub type_: ndb_block_type,
+ pub block: ndb_block__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_block__bindgen_ty_1 {
+ pub str_: ndb_str_block,
+ pub invoice: ndb_invoice_block,
+ pub mention_bech32: ndb_mention_bech32_block,
+ pub mention_index: u32,
+}
+#[test]
+fn bindgen_test_layout_ndb_block__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_block__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_block__bindgen_ty_1>(),
+ 440usize,
+ concat!("Size of: ", stringify!(ndb_block__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_block__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_block__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block__bindgen_ty_1),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block__bindgen_ty_1),
+ "::",
+ stringify!(invoice)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mention_bech32) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block__bindgen_ty_1),
+ "::",
+ stringify!(mention_bech32)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mention_index) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block__bindgen_ty_1),
+ "::",
+ stringify!(mention_index)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_ndb_block() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_block> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_block>(),
+ 448usize,
+ concat!("Size of: ", stringify!(ndb_block))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_block>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_block))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block),
+ "::",
+ stringify!(type_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block),
+ "::",
+ stringify!(block)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_block_iterator {
+ pub content: *const ::std::os::raw::c_char,
+ pub blocks: *mut ndb_blocks,
+ pub block: ndb_block,
+ pub p: *mut ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_ndb_block_iterator() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_block_iterator> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_block_iterator>(),
+ 472usize,
+ concat!("Size of: ", stringify!(ndb_block_iterator))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_block_iterator>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_block_iterator))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).content) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_iterator),
+ "::",
+ stringify!(content)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).blocks) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_iterator),
+ "::",
+ stringify!(blocks)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_iterator),
+ "::",
+ stringify!(block)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
+ 464usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_iterator),
+ "::",
+ stringify!(p)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_query_result {
+ pub note: *mut ndb_note,
+ pub note_size: u64,
+ pub note_id: u64,
+}
+#[test]
+fn bindgen_test_layout_ndb_query_result() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_query_result> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_query_result>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_query_result))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_query_result>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_query_result))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_query_result),
+ "::",
+ stringify!(note)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note_size) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_query_result),
+ "::",
+ stringify!(note_size)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_query_result),
+ "::",
+ stringify!(note_id)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_query_results {
+ pub cur: cursor,
+}
+#[test]
+fn bindgen_test_layout_ndb_query_results() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_query_results> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_query_results>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_query_results))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_query_results>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_query_results))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).cur) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_query_results),
+ "::",
+ stringify!(cur)
+ )
+ );
+}
+extern "C" {
+ pub fn ndb_default_config(arg1: *mut ndb_config);
+}
+extern "C" {
+ pub fn ndb_config_set_ingest_threads(config: *mut ndb_config, threads: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn ndb_config_set_flags(config: *mut ndb_config, flags: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn ndb_config_set_mapsize(config: *mut ndb_config, mapsize: usize);
+}
+extern "C" {
+ pub fn ndb_config_set_ingest_filter(
+ config: *mut ndb_config,
+ fn_: ndb_ingest_filter_fn,
+ arg1: *mut ::std::os::raw::c_void,
+ );
+}
+extern "C" {
+ pub fn ndb_config_set_subscription_callback(
+ config: *mut ndb_config,
+ fn_: ndb_sub_fn,
+ ctx: *mut ::std::os::raw::c_void,
+ );
+}
+extern "C" {
+ pub fn ndb_calculate_id(
+ note: *mut ndb_note,
+ buf: *mut ::std::os::raw::c_uchar,
+ buflen: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_sign_id(
+ keypair: *mut ndb_keypair,
+ id: *mut ::std::os::raw::c_uchar,
+ sig: *mut ::std::os::raw::c_uchar,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_create_keypair(key: *mut ndb_keypair) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_decode_key(
+ secstr: *const ::std::os::raw::c_char,
+ keypair: *mut ndb_keypair,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_note_verify(
+ secp_ctx: *mut ::std::os::raw::c_void,
+ pubkey: *mut ::std::os::raw::c_uchar,
+ id: *mut ::std::os::raw::c_uchar,
+ signature: *mut ::std::os::raw::c_uchar,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_init(
+ ndb: *mut *mut ndb,
+ dbdir: *const ::std::os::raw::c_char,
+ arg1: *const ndb_config,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_db_version(ndb: *mut ndb) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_process_event(
+ arg1: *mut ndb,
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_process_events(
+ arg1: *mut ndb,
+ ldjson: *const ::std::os::raw::c_char,
+ len: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_process_events_stream(arg1: *mut ndb, fp: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_process_client_event(
+ arg1: *mut ndb,
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_process_client_events(
+ arg1: *mut ndb,
+ json: *const ::std::os::raw::c_char,
+ len: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_begin_query(arg1: *mut ndb, arg2: *mut ndb_txn) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_search_profile(
+ txn: *mut ndb_txn,
+ search: *mut ndb_search,
+ query: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_search_profile_next(search: *mut ndb_search) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_search_profile_end(search: *mut ndb_search);
+}
+extern "C" {
+ pub fn ndb_end_query(arg1: *mut ndb_txn) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_write_last_profile_fetch(
+ ndb: *mut ndb,
+ pubkey: *const ::std::os::raw::c_uchar,
+ fetched_at: u64,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_read_last_profile_fetch(
+ txn: *mut ndb_txn,
+ pubkey: *const ::std::os::raw::c_uchar,
+ ) -> u64;
+}
+extern "C" {
+ pub fn ndb_get_profile_by_pubkey(
+ txn: *mut ndb_txn,
+ pubkey: *const ::std::os::raw::c_uchar,
+ len: *mut usize,
+ primkey: *mut u64,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn ndb_get_profile_by_key(
+ txn: *mut ndb_txn,
+ key: u64,
+ len: *mut usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn ndb_get_notekey_by_id(txn: *mut ndb_txn, id: *const ::std::os::raw::c_uchar) -> u64;
+}
+extern "C" {
+ pub fn ndb_get_profilekey_by_pubkey(
+ txn: *mut ndb_txn,
+ id: *const ::std::os::raw::c_uchar,
+ ) -> u64;
+}
+extern "C" {
+ pub fn ndb_get_note_by_id(
+ txn: *mut ndb_txn,
+ id: *const ::std::os::raw::c_uchar,
+ len: *mut usize,
+ primkey: *mut u64,
+ ) -> *mut ndb_note;
+}
+extern "C" {
+ pub fn ndb_get_note_by_key(txn: *mut ndb_txn, key: u64, len: *mut usize) -> *mut ndb_note;
+}
+extern "C" {
+ pub fn ndb_get_note_meta(
+ txn: *mut ndb_txn,
+ id: *const ::std::os::raw::c_uchar,
+ len: *mut usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn ndb_destroy(arg1: *mut ndb);
+}
+extern "C" {
+ pub fn ndb_parse_json_note(
+ arg1: *mut ndb_json_parser,
+ arg2: *mut *mut ndb_note,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_client_event_from_json(
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ fce: *mut ndb_fce,
+ buf: *mut ::std::os::raw::c_uchar,
+ bufsize: ::std::os::raw::c_int,
+ cb: *mut ndb_id_cb,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_ws_event_from_json(
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ tce: *mut ndb_tce,
+ buf: *mut ::std::os::raw::c_uchar,
+ bufsize: ::std::os::raw::c_int,
+ arg1: *mut ndb_id_cb,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_note_from_json(
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ arg1: *mut *mut ndb_note,
+ buf: *mut ::std::os::raw::c_uchar,
+ buflen: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_init(
+ builder: *mut ndb_builder,
+ buf: *mut ::std::os::raw::c_uchar,
+ bufsize: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_finalize(
+ builder: *mut ndb_builder,
+ note: *mut *mut ndb_note,
+ privkey: *mut ndb_keypair,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_set_content(
+ builder: *mut ndb_builder,
+ content: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_set_created_at(builder: *mut ndb_builder, created_at: u64);
+}
+extern "C" {
+ pub fn ndb_builder_set_sig(builder: *mut ndb_builder, sig: *mut ::std::os::raw::c_uchar);
+}
+extern "C" {
+ pub fn ndb_builder_set_pubkey(builder: *mut ndb_builder, pubkey: *mut ::std::os::raw::c_uchar);
+}
+extern "C" {
+ pub fn ndb_builder_set_id(builder: *mut ndb_builder, id: *mut ::std::os::raw::c_uchar);
+}
+extern "C" {
+ pub fn ndb_builder_set_kind(builder: *mut ndb_builder, kind: u32);
+}
+extern "C" {
+ pub fn ndb_builder_new_tag(builder: *mut ndb_builder) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_push_tag_str(
+ builder: *mut ndb_builder,
+ str_: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_init(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_add_id_element(
+ arg1: *mut ndb_filter,
+ id: *const ::std::os::raw::c_uchar,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_add_int_element(arg1: *mut ndb_filter, integer: u64)
+ -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_add_str_element(
+ arg1: *mut ndb_filter,
+ str_: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_eq(arg1: *const ndb_filter, arg2: *const ndb_filter)
+ -> ::std::os::raw::c_int;
+}
+extern "C" {
+ #[doc = " is `a` a subset of `b`"]
+ pub fn ndb_filter_is_subset_of(
+ a: *const ndb_filter,
+ b: *const ndb_filter,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_from_json(
+ arg1: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ filter: *mut ndb_filter,
+ buf: *mut ::std::os::raw::c_uchar,
+ bufsize: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_get_id_element(
+ arg1: *const ndb_filter,
+ arg2: *const ndb_filter_elements,
+ index: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_uchar;
+}
+extern "C" {
+ pub fn ndb_filter_get_string_element(
+ arg1: *const ndb_filter,
+ arg2: *const ndb_filter_elements,
+ index: ::std::os::raw::c_int,
+ ) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_filter_get_int_element(
+ arg1: *const ndb_filter_elements,
+ index: ::std::os::raw::c_int,
+ ) -> u64;
+}
+extern "C" {
+ pub fn ndb_filter_get_int_element_ptr(
+ arg1: *mut ndb_filter_elements,
+ index: ::std::os::raw::c_int,
+ ) -> *mut u64;
+}
+extern "C" {
+ pub fn ndb_filter_current_element(arg1: *const ndb_filter) -> *mut ndb_filter_elements;
+}
+extern "C" {
+ pub fn ndb_filter_get_elements(
+ arg1: *const ndb_filter,
+ arg2: ::std::os::raw::c_int,
+ ) -> *mut ndb_filter_elements;
+}
+extern "C" {
+ pub fn ndb_filter_start_field(
+ arg1: *mut ndb_filter,
+ arg2: ndb_filter_fieldtype,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_start_tag_field(
+ arg1: *mut ndb_filter,
+ tag: ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_matches(arg1: *mut ndb_filter, arg2: *mut ndb_note) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_clone(dst: *mut ndb_filter, src: *mut ndb_filter) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_end(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_end_field(arg1: *mut ndb_filter);
+}
+extern "C" {
+ pub fn ndb_filter_destroy(arg1: *mut ndb_filter);
+}
+extern "C" {
+ pub fn ndb_filter_json(
+ arg1: *const ndb_filter,
+ buf: *mut ::std::os::raw::c_char,
+ buflen: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_subscribe(
+ arg1: *mut ndb,
+ arg2: *mut ndb_filter,
+ num_filters: ::std::os::raw::c_int,
+ ) -> u64;
+}
+extern "C" {
+ pub fn ndb_wait_for_notes(
+ arg1: *mut ndb,
+ subid: u64,
+ note_ids: *mut u64,
+ note_id_capacity: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_poll_for_notes(
+ arg1: *mut ndb,
+ subid: u64,
+ note_ids: *mut u64,
+ note_id_capacity: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_unsubscribe(arg1: *mut ndb, subid: u64) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_num_subscriptions(arg1: *mut ndb) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_subscription_filters(
+ arg1: *mut ndb,
+ subid: u64,
+ filters: *mut ::std::os::raw::c_int,
+ ) -> *mut ndb_filter;
+}
+extern "C" {
+ pub fn ndb_text_search(
+ txn: *mut ndb_txn,
+ query: *const ::std::os::raw::c_char,
+ arg1: *mut ndb_text_search_results,
+ arg2: *mut ndb_text_search_config,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_default_text_search_config(arg1: *mut ndb_text_search_config);
+}
+extern "C" {
+ pub fn ndb_text_search_config_set_order(
+ arg1: *mut ndb_text_search_config,
+ arg2: ndb_search_order,
+ );
+}
+extern "C" {
+ pub fn ndb_text_search_config_set_limit(
+ arg1: *mut ndb_text_search_config,
+ limit: ::std::os::raw::c_int,
+ );
+}
+extern "C" {
+ pub fn ndb_query(
+ txn: *mut ndb_txn,
+ filters: *mut ndb_filter,
+ num_filters: ::std::os::raw::c_int,
+ results: *mut ndb_query_result,
+ result_capacity: ::std::os::raw::c_int,
+ count: *mut ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_stat(ndb: *mut ndb, stat: *mut ndb_stat) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_stat_counts_init(counts: *mut ndb_stat_counts);
+}
+extern "C" {
+ pub fn ndb_note_content(note: *mut ndb_note) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_note_str(note: *mut ndb_note, pstr: *mut ndb_packed_str) -> ndb_str;
+}
+extern "C" {
+ pub fn ndb_note_content_length(note: *mut ndb_note) -> u32;
+}
+extern "C" {
+ pub fn ndb_note_created_at(note: *mut ndb_note) -> u32;
+}
+extern "C" {
+ pub fn ndb_note_kind(note: *mut ndb_note) -> u32;
+}
+extern "C" {
+ pub fn ndb_note_id(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
+}
+extern "C" {
+ pub fn ndb_note_pubkey(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
+}
+extern "C" {
+ pub fn ndb_note_sig(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
+}
+extern "C" {
+ pub fn _ndb_note_set_kind(note: *mut ndb_note, kind: u32);
+}
+extern "C" {
+ pub fn ndb_note_tags(note: *mut ndb_note) -> *mut ndb_tags;
+}
+extern "C" {
+ pub fn ndb_str_len(str_: *mut ndb_str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ #[doc = " write the note as json to a buffer"]
+ pub fn ndb_note_json(
+ arg1: *mut ndb_note,
+ buf: *mut ::std::os::raw::c_char,
+ buflen: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_tags_iterate_start(note: *mut ndb_note, iter: *mut ndb_iterator);
+}
+extern "C" {
+ pub fn ndb_tags_count(arg1: *mut ndb_tags) -> u16;
+}
+extern "C" {
+ pub fn ndb_tag_count(arg1: *mut ndb_tag) -> u16;
+}
+extern "C" {
+ pub fn ndb_tags_iterate_next(iter: *mut ndb_iterator) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_iter_tag_str(iter: *mut ndb_iterator, ind: ::std::os::raw::c_int) -> ndb_str;
+}
+extern "C" {
+ pub fn ndb_tag_str(
+ note: *mut ndb_note,
+ tag: *mut ndb_tag,
+ ind: ::std::os::raw::c_int,
+ ) -> ndb_str;
+}
+extern "C" {
+ pub fn ndb_db_name(db: ndb_dbs) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_kind_name(ck: ndb_common_kind) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_kind_to_common_kind(kind: ::std::os::raw::c_int) -> ndb_common_kind;
+}
+extern "C" {
+ pub fn ndb_parse_content(
+ buf: *mut ::std::os::raw::c_uchar,
+ buf_size: ::std::os::raw::c_int,
+ content: *const ::std::os::raw::c_char,
+ content_len: ::std::os::raw::c_int,
+ blocks_p: *mut *mut ndb_blocks,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_get_block_type(block: *mut ndb_block) -> ndb_block_type;
+}
+extern "C" {
+ pub fn ndb_blocks_flags(block: *mut ndb_blocks) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_blocks_total_size(blocks: *mut ndb_blocks) -> usize;
+}
+extern "C" {
+ pub fn ndb_blocks_word_count(blocks: *mut ndb_blocks) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ #[doc = " Free blocks if they are owned, safe to call on unowned blocks as well."]
+ pub fn ndb_blocks_free(blocks: *mut ndb_blocks);
+}
+extern "C" {
+ pub fn ndb_get_blocks_by_key(
+ ndb: *mut ndb,
+ txn: *mut ndb_txn,
+ note_key: u64,
+ ) -> *mut ndb_blocks;
+}
+extern "C" {
+ pub fn ndb_blocks_iterate_start(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *mut ndb_blocks,
+ arg3: *mut ndb_block_iterator,
+ );
+}
+extern "C" {
+ pub fn ndb_blocks_iterate_next(arg1: *mut ndb_block_iterator) -> *mut ndb_block;
+}
+extern "C" {
+ pub fn ndb_block_str(arg1: *mut ndb_block) -> *mut ndb_str_block;
+}
+extern "C" {
+ pub fn ndb_str_block_ptr(arg1: *mut ndb_str_block) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_str_block_len(arg1: *mut ndb_str_block) -> u32;
+}
+extern "C" {
+ pub fn ndb_bech32_block(block: *mut ndb_block) -> *mut nostr_bech32;
+}
+pub type __builtin_va_list = *mut ::std::os::raw::c_char;
diff --git a/src/bindings_win.rs b/src/bindings_win.rs
@@ -0,0 +1,5563 @@
+/* automatically generated by rust-bindgen 0.69.4 */
+
+#[repr(C)]
+#[derive(Default)]
+pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
+impl<T> __IncompleteArrayField<T> {
+ #[inline]
+ pub const fn new() -> Self {
+ __IncompleteArrayField(::std::marker::PhantomData, [])
+ }
+ #[inline]
+ pub fn as_ptr(&self) -> *const T {
+ self as *const _ as *const T
+ }
+ #[inline]
+ pub fn as_mut_ptr(&mut self) -> *mut T {
+ self as *mut _ as *mut T
+ }
+ #[inline]
+ pub unsafe fn as_slice(&self, len: usize) -> &[T] {
+ ::std::slice::from_raw_parts(self.as_ptr(), len)
+ }
+ #[inline]
+ pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
+ ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
+ }
+}
+impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
+ fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ fmt.write_str("__IncompleteArrayField")
+ }
+}
+pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
+pub const _SAL_VERSION: u32 = 20;
+pub const __SAL_H_VERSION: u32 = 180000000;
+pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
+pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
+pub const _CRT_PACKING: u32 = 8;
+pub const _HAS_EXCEPTIONS: u32 = 1;
+pub const _STL_LANG: u32 = 0;
+pub const _HAS_CXX17: u32 = 0;
+pub const _HAS_CXX20: u32 = 0;
+pub const _HAS_CXX23: u32 = 0;
+pub const _HAS_NODISCARD: u32 = 0;
+pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
+pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
+pub const _ARGMAX: u32 = 100;
+pub const _CRT_INT_MAX: u32 = 2147483647;
+pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
+pub const _CRT_HAS_CXX17: u32 = 0;
+pub const _CRT_HAS_C11: u32 = 1;
+pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
+pub const __STDC_SECURE_LIB__: u32 = 200411;
+pub const __GOT_SECURE_LIB__: u32 = 200411;
+pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
+pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
+pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
+pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
+pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
+pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
+pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
+pub const WCHAR_MIN: u32 = 0;
+pub const WCHAR_MAX: u32 = 65535;
+pub const WINT_MIN: u32 = 0;
+pub const WINT_MAX: u32 = 65535;
+pub const PRId8: &[u8; 4] = b"hhd\0";
+pub const PRId16: &[u8; 3] = b"hd\0";
+pub const PRId32: &[u8; 2] = b"d\0";
+pub const PRId64: &[u8; 4] = b"lld\0";
+pub const PRIdLEAST8: &[u8; 4] = b"hhd\0";
+pub const PRIdLEAST16: &[u8; 3] = b"hd\0";
+pub const PRIdLEAST32: &[u8; 2] = b"d\0";
+pub const PRIdLEAST64: &[u8; 4] = b"lld\0";
+pub const PRIdFAST8: &[u8; 4] = b"hhd\0";
+pub const PRIdFAST16: &[u8; 2] = b"d\0";
+pub const PRIdFAST32: &[u8; 2] = b"d\0";
+pub const PRIdFAST64: &[u8; 4] = b"lld\0";
+pub const PRIdMAX: &[u8; 4] = b"lld\0";
+pub const PRIdPTR: &[u8; 4] = b"lld\0";
+pub const PRIi8: &[u8; 4] = b"hhi\0";
+pub const PRIi16: &[u8; 3] = b"hi\0";
+pub const PRIi32: &[u8; 2] = b"i\0";
+pub const PRIi64: &[u8; 4] = b"lli\0";
+pub const PRIiLEAST8: &[u8; 4] = b"hhi\0";
+pub const PRIiLEAST16: &[u8; 3] = b"hi\0";
+pub const PRIiLEAST32: &[u8; 2] = b"i\0";
+pub const PRIiLEAST64: &[u8; 4] = b"lli\0";
+pub const PRIiFAST8: &[u8; 4] = b"hhi\0";
+pub const PRIiFAST16: &[u8; 2] = b"i\0";
+pub const PRIiFAST32: &[u8; 2] = b"i\0";
+pub const PRIiFAST64: &[u8; 4] = b"lli\0";
+pub const PRIiMAX: &[u8; 4] = b"lli\0";
+pub const PRIiPTR: &[u8; 4] = b"lli\0";
+pub const PRIo8: &[u8; 4] = b"hho\0";
+pub const PRIo16: &[u8; 3] = b"ho\0";
+pub const PRIo32: &[u8; 2] = b"o\0";
+pub const PRIo64: &[u8; 4] = b"llo\0";
+pub const PRIoLEAST8: &[u8; 4] = b"hho\0";
+pub const PRIoLEAST16: &[u8; 3] = b"ho\0";
+pub const PRIoLEAST32: &[u8; 2] = b"o\0";
+pub const PRIoLEAST64: &[u8; 4] = b"llo\0";
+pub const PRIoFAST8: &[u8; 4] = b"hho\0";
+pub const PRIoFAST16: &[u8; 2] = b"o\0";
+pub const PRIoFAST32: &[u8; 2] = b"o\0";
+pub const PRIoFAST64: &[u8; 4] = b"llo\0";
+pub const PRIoMAX: &[u8; 4] = b"llo\0";
+pub const PRIoPTR: &[u8; 4] = b"llo\0";
+pub const PRIu8: &[u8; 4] = b"hhu\0";
+pub const PRIu16: &[u8; 3] = b"hu\0";
+pub const PRIu32: &[u8; 2] = b"u\0";
+pub const PRIu64: &[u8; 4] = b"llu\0";
+pub const PRIuLEAST8: &[u8; 4] = b"hhu\0";
+pub const PRIuLEAST16: &[u8; 3] = b"hu\0";
+pub const PRIuLEAST32: &[u8; 2] = b"u\0";
+pub const PRIuLEAST64: &[u8; 4] = b"llu\0";
+pub const PRIuFAST8: &[u8; 4] = b"hhu\0";
+pub const PRIuFAST16: &[u8; 2] = b"u\0";
+pub const PRIuFAST32: &[u8; 2] = b"u\0";
+pub const PRIuFAST64: &[u8; 4] = b"llu\0";
+pub const PRIuMAX: &[u8; 4] = b"llu\0";
+pub const PRIuPTR: &[u8; 4] = b"llu\0";
+pub const PRIx8: &[u8; 4] = b"hhx\0";
+pub const PRIx16: &[u8; 3] = b"hx\0";
+pub const PRIx32: &[u8; 2] = b"x\0";
+pub const PRIx64: &[u8; 4] = b"llx\0";
+pub const PRIxLEAST8: &[u8; 4] = b"hhx\0";
+pub const PRIxLEAST16: &[u8; 3] = b"hx\0";
+pub const PRIxLEAST32: &[u8; 2] = b"x\0";
+pub const PRIxLEAST64: &[u8; 4] = b"llx\0";
+pub const PRIxFAST8: &[u8; 4] = b"hhx\0";
+pub const PRIxFAST16: &[u8; 2] = b"x\0";
+pub const PRIxFAST32: &[u8; 2] = b"x\0";
+pub const PRIxFAST64: &[u8; 4] = b"llx\0";
+pub const PRIxMAX: &[u8; 4] = b"llx\0";
+pub const PRIxPTR: &[u8; 4] = b"llx\0";
+pub const PRIX8: &[u8; 4] = b"hhX\0";
+pub const PRIX16: &[u8; 3] = b"hX\0";
+pub const PRIX32: &[u8; 2] = b"X\0";
+pub const PRIX64: &[u8; 4] = b"llX\0";
+pub const PRIXLEAST8: &[u8; 4] = b"hhX\0";
+pub const PRIXLEAST16: &[u8; 3] = b"hX\0";
+pub const PRIXLEAST32: &[u8; 2] = b"X\0";
+pub const PRIXLEAST64: &[u8; 4] = b"llX\0";
+pub const PRIXFAST8: &[u8; 4] = b"hhX\0";
+pub const PRIXFAST16: &[u8; 2] = b"X\0";
+pub const PRIXFAST32: &[u8; 2] = b"X\0";
+pub const PRIXFAST64: &[u8; 4] = b"llX\0";
+pub const PRIXMAX: &[u8; 4] = b"llX\0";
+pub const PRIXPTR: &[u8; 4] = b"llX\0";
+pub const SCNd8: &[u8; 4] = b"hhd\0";
+pub const SCNd16: &[u8; 3] = b"hd\0";
+pub const SCNd32: &[u8; 2] = b"d\0";
+pub const SCNd64: &[u8; 4] = b"lld\0";
+pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
+pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
+pub const SCNdLEAST32: &[u8; 2] = b"d\0";
+pub const SCNdLEAST64: &[u8; 4] = b"lld\0";
+pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
+pub const SCNdFAST16: &[u8; 2] = b"d\0";
+pub const SCNdFAST32: &[u8; 2] = b"d\0";
+pub const SCNdFAST64: &[u8; 4] = b"lld\0";
+pub const SCNdMAX: &[u8; 4] = b"lld\0";
+pub const SCNdPTR: &[u8; 4] = b"lld\0";
+pub const SCNi8: &[u8; 4] = b"hhi\0";
+pub const SCNi16: &[u8; 3] = b"hi\0";
+pub const SCNi32: &[u8; 2] = b"i\0";
+pub const SCNi64: &[u8; 4] = b"lli\0";
+pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
+pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
+pub const SCNiLEAST32: &[u8; 2] = b"i\0";
+pub const SCNiLEAST64: &[u8; 4] = b"lli\0";
+pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
+pub const SCNiFAST16: &[u8; 2] = b"i\0";
+pub const SCNiFAST32: &[u8; 2] = b"i\0";
+pub const SCNiFAST64: &[u8; 4] = b"lli\0";
+pub const SCNiMAX: &[u8; 4] = b"lli\0";
+pub const SCNiPTR: &[u8; 4] = b"lli\0";
+pub const SCNo8: &[u8; 4] = b"hho\0";
+pub const SCNo16: &[u8; 3] = b"ho\0";
+pub const SCNo32: &[u8; 2] = b"o\0";
+pub const SCNo64: &[u8; 4] = b"llo\0";
+pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
+pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
+pub const SCNoLEAST32: &[u8; 2] = b"o\0";
+pub const SCNoLEAST64: &[u8; 4] = b"llo\0";
+pub const SCNoFAST8: &[u8; 4] = b"hho\0";
+pub const SCNoFAST16: &[u8; 2] = b"o\0";
+pub const SCNoFAST32: &[u8; 2] = b"o\0";
+pub const SCNoFAST64: &[u8; 4] = b"llo\0";
+pub const SCNoMAX: &[u8; 4] = b"llo\0";
+pub const SCNoPTR: &[u8; 4] = b"llo\0";
+pub const SCNu8: &[u8; 4] = b"hhu\0";
+pub const SCNu16: &[u8; 3] = b"hu\0";
+pub const SCNu32: &[u8; 2] = b"u\0";
+pub const SCNu64: &[u8; 4] = b"llu\0";
+pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
+pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
+pub const SCNuLEAST32: &[u8; 2] = b"u\0";
+pub const SCNuLEAST64: &[u8; 4] = b"llu\0";
+pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
+pub const SCNuFAST16: &[u8; 2] = b"u\0";
+pub const SCNuFAST32: &[u8; 2] = b"u\0";
+pub const SCNuFAST64: &[u8; 4] = b"llu\0";
+pub const SCNuMAX: &[u8; 4] = b"llu\0";
+pub const SCNuPTR: &[u8; 4] = b"llu\0";
+pub const SCNx8: &[u8; 4] = b"hhx\0";
+pub const SCNx16: &[u8; 3] = b"hx\0";
+pub const SCNx32: &[u8; 2] = b"x\0";
+pub const SCNx64: &[u8; 4] = b"llx\0";
+pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
+pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
+pub const SCNxLEAST32: &[u8; 2] = b"x\0";
+pub const SCNxLEAST64: &[u8; 4] = b"llx\0";
+pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
+pub const SCNxFAST16: &[u8; 2] = b"x\0";
+pub const SCNxFAST32: &[u8; 2] = b"x\0";
+pub const SCNxFAST64: &[u8; 4] = b"llx\0";
+pub const SCNxMAX: &[u8; 4] = b"llx\0";
+pub const SCNxPTR: &[u8; 4] = b"llx\0";
+pub const CCAN_COMPILER: &[u8; 3] = b"cc\0";
+pub const CCAN_CFLAGS : & [u8 ; 111] = b"-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition\0" ;
+pub const CCAN_OUTPUT_EXE_CFLAG: &[u8; 3] = b"-o\0";
+pub const HAVE_CCAN: u32 = 1;
+pub const HAVE_UNALIGNED_ACCESS: u32 = 1;
+pub const HAVE_TYPEOF: u32 = 1;
+pub const HAVE_BIG_ENDIAN: u32 = 0;
+pub const HAVE_BYTESWAP_H: u32 = 0;
+pub const HAVE_BSWAP_64: u32 = 0;
+pub const HAVE_LITTLE_ENDIAN: u32 = 1;
+pub const __bool_true_false_are_defined: u32 = 1;
+pub const false_: u32 = 0;
+pub const true_: u32 = 1;
+pub const _CRT_INTERNAL_STDIO_SYMBOL_PREFIX: &[u8; 1] = b"\0";
+pub const _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION: u32 = 1;
+pub const _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR: u32 = 2;
+pub const _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS: u32 = 4;
+pub const _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 8;
+pub const _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS: u32 = 16;
+pub const _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING: u32 = 32;
+pub const _CRT_INTERNAL_SCANF_SECURECRT: u32 = 1;
+pub const _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS: u32 = 2;
+pub const _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 4;
+pub const BUFSIZ: u32 = 512;
+pub const _NSTREAM_: u32 = 512;
+pub const _IOB_ENTRIES: u32 = 3;
+pub const EOF: i32 = -1;
+pub const _IOFBF: u32 = 0;
+pub const _IOLBF: u32 = 64;
+pub const _IONBF: u32 = 4;
+pub const L_tmpnam: u32 = 260;
+pub const L_tmpnam_s: u32 = 260;
+pub const SEEK_CUR: u32 = 1;
+pub const SEEK_END: u32 = 2;
+pub const SEEK_SET: u32 = 0;
+pub const FILENAME_MAX: u32 = 260;
+pub const FOPEN_MAX: u32 = 20;
+pub const _SYS_OPEN: u32 = 20;
+pub const TMP_MAX: u32 = 2147483647;
+pub const TMP_MAX_S: u32 = 2147483647;
+pub const _TMP_MAX_S: u32 = 2147483647;
+pub const SYS_OPEN: u32 = 20;
+pub const _UPPER: u32 = 1;
+pub const _LOWER: u32 = 2;
+pub const _DIGIT: u32 = 4;
+pub const _SPACE: u32 = 8;
+pub const _PUNCT: u32 = 16;
+pub const _CONTROL: u32 = 32;
+pub const _BLANK: u32 = 64;
+pub const _HEX: u32 = 128;
+pub const _LEADBYTE: u32 = 32768;
+pub const _ALPHA: u32 = 259;
+pub const EPERM: u32 = 1;
+pub const ENOENT: u32 = 2;
+pub const ESRCH: u32 = 3;
+pub const EINTR: u32 = 4;
+pub const EIO: u32 = 5;
+pub const ENXIO: u32 = 6;
+pub const E2BIG: u32 = 7;
+pub const ENOEXEC: u32 = 8;
+pub const EBADF: u32 = 9;
+pub const ECHILD: u32 = 10;
+pub const EAGAIN: u32 = 11;
+pub const ENOMEM: u32 = 12;
+pub const EACCES: u32 = 13;
+pub const EFAULT: u32 = 14;
+pub const EBUSY: u32 = 16;
+pub const EEXIST: u32 = 17;
+pub const EXDEV: u32 = 18;
+pub const ENODEV: u32 = 19;
+pub const ENOTDIR: u32 = 20;
+pub const EISDIR: u32 = 21;
+pub const ENFILE: u32 = 23;
+pub const EMFILE: u32 = 24;
+pub const ENOTTY: u32 = 25;
+pub const EFBIG: u32 = 27;
+pub const ENOSPC: u32 = 28;
+pub const ESPIPE: u32 = 29;
+pub const EROFS: u32 = 30;
+pub const EMLINK: u32 = 31;
+pub const EPIPE: u32 = 32;
+pub const EDOM: u32 = 33;
+pub const EDEADLK: u32 = 36;
+pub const ENAMETOOLONG: u32 = 38;
+pub const ENOLCK: u32 = 39;
+pub const ENOSYS: u32 = 40;
+pub const ENOTEMPTY: u32 = 41;
+pub const EINVAL: u32 = 22;
+pub const ERANGE: u32 = 34;
+pub const EILSEQ: u32 = 42;
+pub const STRUNCATE: u32 = 80;
+pub const EDEADLOCK: u32 = 36;
+pub const EADDRINUSE: u32 = 100;
+pub const EADDRNOTAVAIL: u32 = 101;
+pub const EAFNOSUPPORT: u32 = 102;
+pub const EALREADY: u32 = 103;
+pub const EBADMSG: u32 = 104;
+pub const ECANCELED: u32 = 105;
+pub const ECONNABORTED: u32 = 106;
+pub const ECONNREFUSED: u32 = 107;
+pub const ECONNRESET: u32 = 108;
+pub const EDESTADDRREQ: u32 = 109;
+pub const EHOSTUNREACH: u32 = 110;
+pub const EIDRM: u32 = 111;
+pub const EINPROGRESS: u32 = 112;
+pub const EISCONN: u32 = 113;
+pub const ELOOP: u32 = 114;
+pub const EMSGSIZE: u32 = 115;
+pub const ENETDOWN: u32 = 116;
+pub const ENETRESET: u32 = 117;
+pub const ENETUNREACH: u32 = 118;
+pub const ENOBUFS: u32 = 119;
+pub const ENODATA: u32 = 120;
+pub const ENOLINK: u32 = 121;
+pub const ENOMSG: u32 = 122;
+pub const ENOPROTOOPT: u32 = 123;
+pub const ENOSR: u32 = 124;
+pub const ENOSTR: u32 = 125;
+pub const ENOTCONN: u32 = 126;
+pub const ENOTRECOVERABLE: u32 = 127;
+pub const ENOTSOCK: u32 = 128;
+pub const ENOTSUP: u32 = 129;
+pub const EOPNOTSUPP: u32 = 130;
+pub const EOTHER: u32 = 131;
+pub const EOVERFLOW: u32 = 132;
+pub const EOWNERDEAD: u32 = 133;
+pub const EPROTO: u32 = 134;
+pub const EPROTONOSUPPORT: u32 = 135;
+pub const EPROTOTYPE: u32 = 136;
+pub const ETIME: u32 = 137;
+pub const ETIMEDOUT: u32 = 138;
+pub const ETXTBSY: u32 = 139;
+pub const EWOULDBLOCK: u32 = 140;
+pub const _NLSCMPERROR: u32 = 2147483647;
+pub const NDB_PACKED_STR: u32 = 1;
+pub const NDB_PACKED_ID: u32 = 2;
+pub const NDB_FLAG_NOMIGRATE: u32 = 1;
+pub const NDB_FLAG_SKIP_NOTE_VERIFY: u32 = 2;
+pub const NDB_NUM_FILTERS: u32 = 7;
+pub const MAX_TEXT_SEARCH_RESULTS: u32 = 128;
+pub const MAX_TEXT_SEARCH_WORDS: u32 = 8;
+pub const NDB_NUM_BLOCK_TYPES: u32 = 6;
+pub const NDB_MAX_RELAYS: u32 = 24;
+pub const NOSTR_BECH32_KNOWN_TYPES: u32 = 7;
+pub type va_list = *mut ::std::os::raw::c_char;
+extern "C" {
+ pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
+}
+pub type __vcrt_bool = bool;
+pub type wchar_t = ::std::os::raw::c_ushort;
+extern "C" {
+ pub fn __security_init_cookie();
+}
+extern "C" {
+ pub fn __security_check_cookie(_StackCookie: usize);
+}
+extern "C" {
+ pub fn __report_gsfailure(_StackCookie: usize) -> !;
+}
+extern "C" {
+ pub static mut __security_cookie: usize;
+}
+pub type __crt_bool = bool;
+extern "C" {
+ pub fn _invalid_parameter_noinfo();
+}
+extern "C" {
+ pub fn _invalid_parameter_noinfo_noreturn() -> !;
+}
+extern "C" {
+ pub fn _invoke_watson(
+ _Expression: *const wchar_t,
+ _FunctionName: *const wchar_t,
+ _FileName: *const wchar_t,
+ _LineNo: ::std::os::raw::c_uint,
+ _Reserved: usize,
+ ) -> !;
+}
+pub type errno_t = ::std::os::raw::c_int;
+pub type wint_t = ::std::os::raw::c_ushort;
+pub type wctype_t = ::std::os::raw::c_ushort;
+pub type __time32_t = ::std::os::raw::c_long;
+pub type __time64_t = ::std::os::raw::c_longlong;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __crt_locale_data_public {
+ pub _locale_pctype: *const ::std::os::raw::c_ushort,
+ pub _locale_mb_cur_max: ::std::os::raw::c_int,
+ pub _locale_lc_codepage: ::std::os::raw::c_uint,
+}
+#[test]
+fn bindgen_test_layout___crt_locale_data_public() {
+ const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<__crt_locale_data_public>(),
+ 16usize,
+ concat!("Size of: ", stringify!(__crt_locale_data_public))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<__crt_locale_data_public>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(__crt_locale_data_public))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__crt_locale_data_public),
+ "::",
+ stringify!(_locale_pctype)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__crt_locale_data_public),
+ "::",
+ stringify!(_locale_mb_cur_max)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize },
+ 12usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__crt_locale_data_public),
+ "::",
+ stringify!(_locale_lc_codepage)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __crt_locale_pointers {
+ pub locinfo: *mut __crt_locale_data,
+ pub mbcinfo: *mut __crt_multibyte_data,
+}
+#[test]
+fn bindgen_test_layout___crt_locale_pointers() {
+ const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<__crt_locale_pointers>(),
+ 16usize,
+ concat!("Size of: ", stringify!(__crt_locale_pointers))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<__crt_locale_pointers>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(__crt_locale_pointers))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__crt_locale_pointers),
+ "::",
+ stringify!(locinfo)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(__crt_locale_pointers),
+ "::",
+ stringify!(mbcinfo)
+ )
+ );
+}
+pub type _locale_t = *mut __crt_locale_pointers;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _Mbstatet {
+ pub _Wchar: ::std::os::raw::c_ulong,
+ pub _Byte: ::std::os::raw::c_ushort,
+ pub _State: ::std::os::raw::c_ushort,
+}
+#[test]
+fn bindgen_test_layout__Mbstatet() {
+ const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_Mbstatet>(),
+ 8usize,
+ concat!("Size of: ", stringify!(_Mbstatet))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_Mbstatet>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(_Mbstatet))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_Mbstatet),
+ "::",
+ stringify!(_Wchar)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_Mbstatet),
+ "::",
+ stringify!(_Byte)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize },
+ 6usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_Mbstatet),
+ "::",
+ stringify!(_State)
+ )
+ );
+}
+pub type mbstate_t = _Mbstatet;
+pub type time_t = __time64_t;
+pub type rsize_t = usize;
+pub type int_least8_t = ::std::os::raw::c_schar;
+pub type int_least16_t = ::std::os::raw::c_short;
+pub type int_least32_t = ::std::os::raw::c_int;
+pub type int_least64_t = ::std::os::raw::c_longlong;
+pub type uint_least8_t = ::std::os::raw::c_uchar;
+pub type uint_least16_t = ::std::os::raw::c_ushort;
+pub type uint_least32_t = ::std::os::raw::c_uint;
+pub type uint_least64_t = ::std::os::raw::c_ulonglong;
+pub type int_fast8_t = ::std::os::raw::c_schar;
+pub type int_fast16_t = ::std::os::raw::c_int;
+pub type int_fast32_t = ::std::os::raw::c_int;
+pub type int_fast64_t = ::std::os::raw::c_longlong;
+pub type uint_fast8_t = ::std::os::raw::c_uchar;
+pub type uint_fast16_t = ::std::os::raw::c_uint;
+pub type uint_fast32_t = ::std::os::raw::c_uint;
+pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
+pub type intmax_t = ::std::os::raw::c_longlong;
+pub type uintmax_t = ::std::os::raw::c_ulonglong;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _Lldiv_t {
+ pub quot: intmax_t,
+ pub rem: intmax_t,
+}
+#[test]
+fn bindgen_test_layout__Lldiv_t() {
+ const UNINIT: ::std::mem::MaybeUninit<_Lldiv_t> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_Lldiv_t>(),
+ 16usize,
+ concat!("Size of: ", stringify!(_Lldiv_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_Lldiv_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_Lldiv_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_Lldiv_t),
+ "::",
+ stringify!(quot)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_Lldiv_t),
+ "::",
+ stringify!(rem)
+ )
+ );
+}
+pub type imaxdiv_t = _Lldiv_t;
+extern "C" {
+ pub fn imaxabs(_Number: intmax_t) -> intmax_t;
+}
+extern "C" {
+ pub fn imaxdiv(_Numerator: intmax_t, _Denominator: intmax_t) -> imaxdiv_t;
+}
+extern "C" {
+ pub fn strtoimax(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> intmax_t;
+}
+extern "C" {
+ pub fn _strtoimax_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> intmax_t;
+}
+extern "C" {
+ pub fn strtoumax(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> uintmax_t;
+}
+extern "C" {
+ pub fn _strtoumax_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> uintmax_t;
+}
+extern "C" {
+ pub fn wcstoimax(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> intmax_t;
+}
+extern "C" {
+ pub fn _wcstoimax_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> intmax_t;
+}
+extern "C" {
+ pub fn wcstoumax(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> uintmax_t;
+}
+extern "C" {
+ pub fn _wcstoumax_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> uintmax_t;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _iobuf {
+ pub _Placeholder: *mut ::std::os::raw::c_void,
+}
+#[test]
+fn bindgen_test_layout__iobuf() {
+ const UNINIT: ::std::mem::MaybeUninit<_iobuf> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<_iobuf>(),
+ 8usize,
+ concat!("Size of: ", stringify!(_iobuf))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<_iobuf>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(_iobuf))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr)._Placeholder) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(_iobuf),
+ "::",
+ stringify!(_Placeholder)
+ )
+ );
+}
+pub type FILE = _iobuf;
+extern "C" {
+ pub fn __acrt_iob_func(_Ix: ::std::os::raw::c_uint) -> *mut FILE;
+}
+extern "C" {
+ pub fn fgetwc(_Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _fgetwchar() -> wint_t;
+}
+extern "C" {
+ pub fn fputwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _fputwchar(_Character: wchar_t) -> wint_t;
+}
+extern "C" {
+ pub fn getwc(_Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn getwchar() -> wint_t;
+}
+extern "C" {
+ pub fn fgetws(
+ _Buffer: *mut wchar_t,
+ _BufferCount: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn fputws(_Buffer: *const wchar_t, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _getws_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn putwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn putwchar(_Character: wchar_t) -> wint_t;
+}
+extern "C" {
+ pub fn _putws(_Buffer: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ungetwc(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _wfdopen(_FileHandle: ::std::os::raw::c_int, _Mode: *const wchar_t) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wfopen(_FileName: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wfopen_s(
+ _Stream: *mut *mut FILE,
+ _FileName: *const wchar_t,
+ _Mode: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wfreopen(
+ _FileName: *const wchar_t,
+ _Mode: *const wchar_t,
+ _OldStream: *mut FILE,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wfreopen_s(
+ _Stream: *mut *mut FILE,
+ _FileName: *const wchar_t,
+ _Mode: *const wchar_t,
+ _OldStream: *mut FILE,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wfsopen(
+ _FileName: *const wchar_t,
+ _Mode: *const wchar_t,
+ _ShFlag: ::std::os::raw::c_int,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wperror(_ErrorMessage: *const wchar_t);
+}
+extern "C" {
+ pub fn _wpopen(_Command: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wremove(_FileName: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wtempnam(_Directory: *const wchar_t, _FilePrefix: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wtmpnam_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _wtmpnam(_Buffer: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _fgetwc_nolock(_Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _fputwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _getwc_nolock(_Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _putwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _ungetwc_nolock(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn __stdio_common_vfwprintf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfwprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfwprintf_p(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfwscanf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vswprintf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vswprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsnwprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _MaxCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vswprintf_p(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vswscanf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *const wchar_t,
+ _BufferCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+pub type fpos_t = ::std::os::raw::c_longlong;
+extern "C" {
+ pub fn _get_stream_buffer_pointers(
+ _Stream: *mut FILE,
+ _Base: *mut *mut *mut ::std::os::raw::c_char,
+ _Pointer: *mut *mut *mut ::std::os::raw::c_char,
+ _Count: *mut *mut ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn clearerr_s(_Stream: *mut FILE) -> errno_t;
+}
+extern "C" {
+ pub fn fopen_s(
+ _Stream: *mut *mut FILE,
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn fread_s(
+ _Buffer: *mut ::std::os::raw::c_void,
+ _BufferSize: usize,
+ _ElementSize: usize,
+ _ElementCount: usize,
+ _Stream: *mut FILE,
+ ) -> usize;
+}
+extern "C" {
+ pub fn freopen_s(
+ _Stream: *mut *mut FILE,
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ _OldStream: *mut FILE,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn gets_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Size: rsize_t,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn tmpfile_s(_Stream: *mut *mut FILE) -> errno_t;
+}
+extern "C" {
+ pub fn tmpnam_s(_Buffer: *mut ::std::os::raw::c_char, _Size: rsize_t) -> errno_t;
+}
+extern "C" {
+ pub fn clearerr(_Stream: *mut FILE);
+}
+extern "C" {
+ pub fn fclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fcloseall() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fdopen(
+ _FileHandle: ::std::os::raw::c_int,
+ _Mode: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn feof(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ferror(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fflush(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fgetc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fgetchar() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fgetpos(_Stream: *mut FILE, _Position: *mut fpos_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fgets(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _MaxCount: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _flushall() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fopen(
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn fputc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fputchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fputs(
+ _Buffer: *const ::std::os::raw::c_char,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fread(
+ _Buffer: *mut ::std::os::raw::c_void,
+ _ElementSize: ::std::os::raw::c_ulonglong,
+ _ElementCount: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn freopen(
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ _Stream: *mut FILE,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn _fsopen(
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ _ShFlag: ::std::os::raw::c_int,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn fsetpos(_Stream: *mut FILE, _Position: *const fpos_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fseek(
+ _Stream: *mut FILE,
+ _Offset: ::std::os::raw::c_long,
+ _Origin: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fseeki64(
+ _Stream: *mut FILE,
+ _Offset: ::std::os::raw::c_longlong,
+ _Origin: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ftell(_Stream: *mut FILE) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn _ftelli64(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn fwrite(
+ _Buffer: *const ::std::os::raw::c_void,
+ _ElementSize: ::std::os::raw::c_ulonglong,
+ _ElementCount: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn getc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn getchar() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _getmaxstdio() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn perror(_ErrorMessage: *const ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn _pclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _popen(
+ _Command: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn putc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn putchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn puts(_Buffer: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _putw(_Word: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn remove(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn rename(
+ _OldFileName: *const ::std::os::raw::c_char,
+ _NewFileName: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn rewind(_Stream: *mut FILE);
+}
+extern "C" {
+ pub fn _rmtmp() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn setbuf(_Stream: *mut FILE, _Buffer: *mut ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn _setmaxstdio(_Maximum: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn setvbuf(
+ _Stream: *mut FILE,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Mode: ::std::os::raw::c_int,
+ _Size: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _tempnam(
+ _DirectoryName: *const ::std::os::raw::c_char,
+ _FilePrefix: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn tmpfile() -> *mut FILE;
+}
+extern "C" {
+ pub fn tmpnam(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ungetc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _lock_file(_Stream: *mut FILE);
+}
+extern "C" {
+ pub fn _unlock_file(_Stream: *mut FILE);
+}
+extern "C" {
+ pub fn _fclose_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fflush_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fgetc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fputc_nolock(
+ _Character: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fread_nolock(
+ _Buffer: *mut ::std::os::raw::c_void,
+ _ElementSize: usize,
+ _ElementCount: usize,
+ _Stream: *mut FILE,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _fread_nolock_s(
+ _Buffer: *mut ::std::os::raw::c_void,
+ _BufferSize: usize,
+ _ElementSize: usize,
+ _ElementCount: usize,
+ _Stream: *mut FILE,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _fseek_nolock(
+ _Stream: *mut FILE,
+ _Offset: ::std::os::raw::c_long,
+ _Origin: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fseeki64_nolock(
+ _Stream: *mut FILE,
+ _Offset: ::std::os::raw::c_longlong,
+ _Origin: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _ftell_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn _ftelli64_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _fwrite_nolock(
+ _Buffer: *const ::std::os::raw::c_void,
+ _ElementSize: usize,
+ _ElementCount: usize,
+ _Stream: *mut FILE,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _getc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _putc_nolock(
+ _Character: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _ungetc_nolock(
+ _Character: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __p__commode() -> *mut ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfprintf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfprintf_p(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _set_printf_count_output(_Value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _get_printf_count_output() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfscanf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _Arglist: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsprintf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsnprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _MaxCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsprintf_p(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsscanf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *const ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn tempnam(
+ _Directory: *const ::std::os::raw::c_char,
+ _FilePrefix: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn fcloseall() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fdopen(
+ _FileHandle: ::std::os::raw::c_int,
+ _Format: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn fgetchar() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn flushall() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fputchar(_Ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn putw(_Ch: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn rmtmp() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __pctype_func() -> *const ::std::os::raw::c_ushort;
+}
+extern "C" {
+ pub fn __pwctype_func() -> *const wctype_t;
+}
+extern "C" {
+ pub fn iswalnum(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswalpha(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswascii(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswblank(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswcntrl(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswdigit(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswgraph(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswlower(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswprint(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswpunct(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswspace(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswupper(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iswxdigit(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __iswcsymf(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __iswcsym(_C: wint_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswalnum_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswalpha_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswblank_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswcntrl_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswgraph_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswlower_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswprint_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswpunct_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswspace_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswupper_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswxdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswcsymf_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iswcsym_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn towupper(_C: wint_t) -> wint_t;
+}
+extern "C" {
+ pub fn towlower(_C: wint_t) -> wint_t;
+}
+extern "C" {
+ pub fn iswctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _towupper_l(_C: wint_t, _Locale: _locale_t) -> wint_t;
+}
+extern "C" {
+ pub fn _towlower_l(_C: wint_t, _Locale: _locale_t) -> wint_t;
+}
+extern "C" {
+ pub fn _iswctype_l(_C: wint_t, _Type: wctype_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isleadbyte(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isleadbyte_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn is_wctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isctype(
+ _C: ::std::os::raw::c_int,
+ _Type: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isctype_l(
+ _C: ::std::os::raw::c_int,
+ _Type: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isalpha(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isalpha_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn islower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _islower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isxdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isxdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isspace(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isspace_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ispunct(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _ispunct_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isblank(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isblank_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isalnum(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isalnum_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isprint(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isprint_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn isgraph(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _isgraph_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn iscntrl(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _iscntrl_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _tolower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _toupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __isascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __toascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __iscsymf(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __iscsym(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ___mb_cur_max_func() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ___mb_cur_max_l_func(_Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wassert(_Message: *const wchar_t, _File: *const wchar_t, _Line: ::std::os::raw::c_uint);
+}
+extern "C" {
+ pub fn _errno() -> *mut ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t;
+}
+extern "C" {
+ pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t;
+}
+extern "C" {
+ pub fn __doserrno() -> *mut ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t;
+}
+extern "C" {
+ pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t;
+}
+extern "C" {
+ pub fn memchr(
+ _Buf: *const ::std::os::raw::c_void,
+ _Val: ::std::os::raw::c_int,
+ _MaxCount: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memcmp(
+ _Buf1: *const ::std::os::raw::c_void,
+ _Buf2: *const ::std::os::raw::c_void,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn memcpy(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Src: *const ::std::os::raw::c_void,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memmove(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Src: *const ::std::os::raw::c_void,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memset(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Val: ::std::os::raw::c_int,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn strchr(
+ _Str: *const ::std::os::raw::c_char,
+ _Val: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strrchr(
+ _Str: *const ::std::os::raw::c_char,
+ _Ch: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strstr(
+ _Str: *const ::std::os::raw::c_char,
+ _SubStr: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn wcschr(
+ _Str: *const ::std::os::raw::c_ushort,
+ _Ch: ::std::os::raw::c_ushort,
+ ) -> *mut ::std::os::raw::c_ushort;
+}
+extern "C" {
+ pub fn wcsrchr(_Str: *const wchar_t, _Ch: wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsstr(_Str: *const wchar_t, _SubStr: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _memicmp(
+ _Buf1: *const ::std::os::raw::c_void,
+ _Buf2: *const ::std::os::raw::c_void,
+ _Size: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _memicmp_l(
+ _Buf1: *const ::std::os::raw::c_void,
+ _Buf2: *const ::std::os::raw::c_void,
+ _Size: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn memccpy(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Src: *const ::std::os::raw::c_void,
+ _Val: ::std::os::raw::c_int,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memicmp(
+ _Buf1: *const ::std::os::raw::c_void,
+ _Buf2: *const ::std::os::raw::c_void,
+ _Size: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcscat_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: rsize_t,
+ _Source: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcscpy_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: rsize_t,
+ _Source: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcsncat_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: rsize_t,
+ _Source: *const wchar_t,
+ _MaxCount: rsize_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcsncpy_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: rsize_t,
+ _Source: *const wchar_t,
+ _MaxCount: rsize_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcstok_s(
+ _String: *mut wchar_t,
+ _Delimiter: *const wchar_t,
+ _Context: *mut *mut wchar_t,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsdup(_String: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcscat(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcscmp(
+ _String1: *const ::std::os::raw::c_ushort,
+ _String2: *const ::std::os::raw::c_ushort,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcscpy(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcscspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
+}
+extern "C" {
+ pub fn wcslen(_String: *const ::std::os::raw::c_ushort) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn wcsnlen(_Source: *const wchar_t, _MaxCount: usize) -> usize;
+}
+extern "C" {
+ pub fn wcsncat(
+ _Destination: *mut wchar_t,
+ _Source: *const wchar_t,
+ _Count: usize,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsncmp(
+ _String1: *const ::std::os::raw::c_ushort,
+ _String2: *const ::std::os::raw::c_ushort,
+ _MaxCount: ::std::os::raw::c_ulonglong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcsncpy(
+ _Destination: *mut wchar_t,
+ _Source: *const wchar_t,
+ _Count: usize,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcspbrk(_String: *const wchar_t, _Control: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
+}
+extern "C" {
+ pub fn wcstok(
+ _String: *mut wchar_t,
+ _Delimiter: *const wchar_t,
+ _Context: *mut *mut wchar_t,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcserror(_ErrorNumber: ::std::os::raw::c_int) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcserror_s(
+ _Buffer: *mut wchar_t,
+ _SizeInWords: usize,
+ _ErrorNumber: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn __wcserror(_String: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn __wcserror_s(
+ _Buffer: *mut wchar_t,
+ _SizeInWords: usize,
+ _ErrorMessage: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsicmp_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnicmp(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnicmp_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnset_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: usize,
+ _Value: wchar_t,
+ _MaxCount: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsset_s(_Destination: *mut wchar_t, _SizeInWords: usize, _Value: wchar_t) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcslwr_s(_String: *mut wchar_t, _SizeInWords: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcslwr_s_l(_String: *mut wchar_t, _SizeInWords: usize, _Locale: _locale_t) -> errno_t;
+}
+extern "C" {
+ pub fn _wcslwr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsupr_s(_String: *mut wchar_t, _Size: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsupr_s_l(_String: *mut wchar_t, _Size: usize, _Locale: _locale_t) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsupr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsxfrm(_Destination: *mut wchar_t, _Source: *const wchar_t, _MaxCount: usize) -> usize;
+}
+extern "C" {
+ pub fn _wcsxfrm_l(
+ _Destination: *mut wchar_t,
+ _Source: *const wchar_t,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> usize;
+}
+extern "C" {
+ pub fn wcscoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcscoll_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsicoll_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsncoll(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsncoll_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnicoll(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnicoll_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcsdup(_String: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcsnicmp(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strcpy_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _SizeInBytes: rsize_t,
+ _Source: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strcat_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _SizeInBytes: rsize_t,
+ _Source: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strerror_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _SizeInBytes: usize,
+ _ErrorNumber: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strncat_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _SizeInBytes: rsize_t,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: rsize_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strncpy_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _SizeInBytes: rsize_t,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: rsize_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strtok_s(
+ _String: *mut ::std::os::raw::c_char,
+ _Delimiter: *const ::std::os::raw::c_char,
+ _Context: *mut *mut ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _memccpy(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Src: *const ::std::os::raw::c_void,
+ _Val: ::std::os::raw::c_int,
+ _MaxCount: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn strcat(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strcmp(
+ _Str1: *const ::std::os::raw::c_char,
+ _Str2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strcmpi(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strcoll(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strcoll_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strcpy(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strcspn(
+ _Str: *const ::std::os::raw::c_char,
+ _Control: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _strdup(_Source: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strerror(_ErrorMessage: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strerror_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _SizeInBytes: usize,
+ _ErrorMessage: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strerror(_ErrorMessage: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _stricmp(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _stricoll(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _stricoll_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _stricmp_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strlen(_Str: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _strlwr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strlwr_s_l(
+ _String: *mut ::std::os::raw::c_char,
+ _Size: usize,
+ _Locale: _locale_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _strlwr_l(
+ _String: *mut ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strncat(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ _Count: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strncmp(
+ _Str1: *const ::std::os::raw::c_char,
+ _Str2: *const ::std::os::raw::c_char,
+ _MaxCount: ::std::os::raw::c_ulonglong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strnicmp(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strnicmp_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strnicoll(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strnicoll_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strncoll(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strncoll_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __strncnt(_String: *const ::std::os::raw::c_char, _Count: usize) -> usize;
+}
+extern "C" {
+ pub fn strncpy(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ _Count: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize;
+}
+extern "C" {
+ pub fn _strnset_s(
+ _String: *mut ::std::os::raw::c_char,
+ _SizeInBytes: usize,
+ _Value: ::std::os::raw::c_int,
+ _MaxCount: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _strnset(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Value: ::std::os::raw::c_int,
+ _Count: usize,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strpbrk(
+ _Str: *const ::std::os::raw::c_char,
+ _Control: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strrev(_Str: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strset_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _DestinationSize: usize,
+ _Value: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _strset(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Value: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strspn(
+ _Str: *const ::std::os::raw::c_char,
+ _Control: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn strtok(
+ _String: *mut ::std::os::raw::c_char,
+ _Delimiter: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strupr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strupr_s_l(
+ _String: *mut ::std::os::raw::c_char,
+ _Size: usize,
+ _Locale: _locale_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _strupr_l(
+ _String: *mut ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strxfrm(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: ::std::os::raw::c_ulonglong,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _strxfrm_l(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> usize;
+}
+extern "C" {
+ pub fn strdup(_String: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strcmpi(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn stricmp(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strnicmp(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strnset(
+ _String: *mut ::std::os::raw::c_char,
+ _Value: ::std::os::raw::c_int,
+ _MaxCount: usize,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strrev(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strset(
+ _String: *mut ::std::os::raw::c_char,
+ _Value: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct cursor {
+ pub start: *mut ::std::os::raw::c_uchar,
+ pub p: *mut ::std::os::raw::c_uchar,
+ pub end: *mut ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_cursor() {
+ const UNINIT: ::std::mem::MaybeUninit<cursor> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<cursor>(),
+ 24usize,
+ concat!("Size of: ", stringify!(cursor))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<cursor>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(cursor))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(cursor),
+ "::",
+ stringify!(start)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
+ 8usize,
+ concat!("Offset of field: ", stringify!(cursor), "::", stringify!(p))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(cursor),
+ "::",
+ stringify!(end)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_str_block {
+ pub str_: *const ::std::os::raw::c_char,
+ pub len: u32,
+}
+#[test]
+fn bindgen_test_layout_ndb_str_block() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_str_block> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_str_block>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_str_block))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_str_block>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_str_block))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str_block),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str_block),
+ "::",
+ stringify!(len)
+ )
+ );
+}
+pub type str_block_t = ndb_str_block;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_json_parser {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_blocks {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_note {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_tag {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_tags {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_lmdb {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_packed_str {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bolt11 {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_tag_ptr {
+ pub ptr: *mut ndb_tag,
+}
+#[test]
+fn bindgen_test_layout_ndb_tag_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_tag_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_tag_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_tag_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_tag_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_tag_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tag_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_tags_ptr {
+ pub ptr: *mut ndb_tags,
+}
+#[test]
+fn bindgen_test_layout_ndb_tags_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_tags_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_tags_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_tags_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_tags_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_tags_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tags_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_block_ptr {
+ pub ptr: *mut ndb_block,
+}
+#[test]
+fn bindgen_test_layout_ndb_block_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_block_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_block_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_block_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_block_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_block_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_blocks_ptr {
+ pub ptr: *mut ndb_blocks,
+}
+#[test]
+fn bindgen_test_layout_ndb_blocks_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_blocks_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_blocks_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_blocks_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_blocks_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_blocks_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_blocks_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_note_ptr {
+ pub ptr: *mut ndb_note,
+}
+#[test]
+fn bindgen_test_layout_ndb_note_ptr() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_note_ptr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_note_ptr>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_note_ptr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_note_ptr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_note_ptr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_note_ptr),
+ "::",
+ stringify!(ptr)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_t {
+ pub ndb: *mut ndb,
+}
+#[test]
+fn bindgen_test_layout_ndb_t() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_t> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_t>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_t))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_t>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_t))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ndb) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_t),
+ "::",
+ stringify!(ndb)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_str {
+ pub flag: ::std::os::raw::c_uchar,
+ pub __bindgen_anon_1: ndb_str__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_str__bindgen_ty_1 {
+ pub str_: *const ::std::os::raw::c_char,
+ pub id: *mut ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_ndb_str__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_str__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_str__bindgen_ty_1>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_str__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_str__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_str__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str__bindgen_ty_1),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str__bindgen_ty_1),
+ "::",
+ stringify!(id)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_ndb_str() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_str> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_str>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_str))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_str>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_str))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).flag) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_str),
+ "::",
+ stringify!(flag)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_keypair {
+ pub pubkey: [::std::os::raw::c_uchar; 32usize],
+ pub secret: [::std::os::raw::c_uchar; 32usize],
+ pub pair: [::std::os::raw::c_uchar; 96usize],
+}
+#[test]
+fn bindgen_test_layout_ndb_keypair() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_keypair> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_keypair>(),
+ 160usize,
+ concat!("Size of: ", stringify!(ndb_keypair))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_keypair>(),
+ 1usize,
+ concat!("Alignment of ", stringify!(ndb_keypair))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_keypair),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).secret) as usize - ptr as usize },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_keypair),
+ "::",
+ stringify!(secret)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pair) as usize - ptr as usize },
+ 64usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_keypair),
+ "::",
+ stringify!(pair)
+ )
+ );
+}
+pub type ndb_idres = ::std::os::raw::c_int;
+pub type ndb_id_fn = ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: *const ::std::os::raw::c_char,
+ ) -> ndb_idres,
+>;
+pub type ndb_sub_fn =
+ ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, subid: u64)>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_id_cb {
+ pub fn_: ndb_id_fn,
+ pub data: *mut ::std::os::raw::c_void,
+}
+#[test]
+fn bindgen_test_layout_ndb_id_cb() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_id_cb> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_id_cb>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_id_cb))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_id_cb>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_id_cb))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).fn_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_id_cb),
+ "::",
+ stringify!(fn_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_id_cb),
+ "::",
+ stringify!(data)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_txn {
+ pub lmdb: *mut ndb_lmdb,
+ pub mdb_txn: *mut ::std::os::raw::c_void,
+}
+#[test]
+fn bindgen_test_layout_ndb_txn() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_txn> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_txn>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_txn))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_txn>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_txn))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).lmdb) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_txn),
+ "::",
+ stringify!(lmdb)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mdb_txn) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_txn),
+ "::",
+ stringify!(mdb_txn)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_event {
+ pub note: *mut ndb_note,
+}
+#[test]
+fn bindgen_test_layout_ndb_event() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_event> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_event>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_event))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_event>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_event))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_event),
+ "::",
+ stringify!(note)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_command_result {
+ pub ok: ::std::os::raw::c_int,
+ pub msg: *const ::std::os::raw::c_char,
+ pub msglen: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_command_result() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_command_result> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_command_result>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_command_result))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_command_result>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_command_result))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ok) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_command_result),
+ "::",
+ stringify!(ok)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).msg) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_command_result),
+ "::",
+ stringify!(msg)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).msglen) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_command_result),
+ "::",
+ stringify!(msglen)
+ )
+ );
+}
+pub const fce_type_NDB_FCE_EVENT: fce_type = 1;
+pub type fce_type = ::std::os::raw::c_int;
+pub const tce_type_NDB_TCE_EVENT: tce_type = 1;
+pub const tce_type_NDB_TCE_OK: tce_type = 2;
+pub const tce_type_NDB_TCE_NOTICE: tce_type = 3;
+pub const tce_type_NDB_TCE_EOSE: tce_type = 4;
+pub const tce_type_NDB_TCE_AUTH: tce_type = 5;
+pub type tce_type = ::std::os::raw::c_int;
+pub const ndb_ingest_filter_action_NDB_INGEST_REJECT: ndb_ingest_filter_action = 0;
+pub const ndb_ingest_filter_action_NDB_INGEST_ACCEPT: ndb_ingest_filter_action = 1;
+pub const ndb_ingest_filter_action_NDB_INGEST_SKIP_VALIDATION: ndb_ingest_filter_action = 2;
+pub type ndb_ingest_filter_action = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_search_key {
+ pub search: [::std::os::raw::c_char; 24usize],
+ pub id: [::std::os::raw::c_uchar; 32usize],
+ pub timestamp: u64,
+}
+#[test]
+fn bindgen_test_layout_ndb_search_key() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_search_key> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_search_key>(),
+ 64usize,
+ concat!("Size of: ", stringify!(ndb_search_key))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_search_key>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_search_key))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).search) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search_key),
+ "::",
+ stringify!(search)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search_key),
+ "::",
+ stringify!(id)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
+ 56usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search_key),
+ "::",
+ stringify!(timestamp)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_search {
+ pub key: *mut ndb_search_key,
+ pub profile_key: u64,
+ pub cursor: *mut ::std::os::raw::c_void,
+}
+#[test]
+fn bindgen_test_layout_ndb_search() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_search> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_search>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_search))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_search>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_search))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search),
+ "::",
+ stringify!(key)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).profile_key) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search),
+ "::",
+ stringify!(profile_key)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).cursor) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_search),
+ "::",
+ stringify!(cursor)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_fce {
+ pub evtype: fce_type,
+ pub __bindgen_anon_1: ndb_fce__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_fce__bindgen_ty_1 {
+ pub event: ndb_event,
+}
+#[test]
+fn bindgen_test_layout_ndb_fce__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_fce__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_fce__bindgen_ty_1>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_fce__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_fce__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_fce__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_fce__bindgen_ty_1),
+ "::",
+ stringify!(event)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_ndb_fce() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_fce> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_fce>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_fce))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_fce>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_fce))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_fce),
+ "::",
+ stringify!(evtype)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_tce {
+ pub evtype: tce_type,
+ pub subid: *const ::std::os::raw::c_char,
+ pub subid_len: ::std::os::raw::c_int,
+ pub __bindgen_anon_1: ndb_tce__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_tce__bindgen_ty_1 {
+ pub event: ndb_event,
+ pub command_result: ndb_command_result,
+}
+#[test]
+fn bindgen_test_layout_ndb_tce__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_tce__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_tce__bindgen_ty_1>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_tce__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_tce__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_tce__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce__bindgen_ty_1),
+ "::",
+ stringify!(event)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).command_result) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce__bindgen_ty_1),
+ "::",
+ stringify!(command_result)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_ndb_tce() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_tce> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_tce>(),
+ 48usize,
+ concat!("Size of: ", stringify!(ndb_tce))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_tce>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_tce))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).evtype) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce),
+ "::",
+ stringify!(evtype)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).subid) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce),
+ "::",
+ stringify!(subid)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).subid_len) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_tce),
+ "::",
+ stringify!(subid_len)
+ )
+ );
+}
+pub type ndb_ingest_filter_fn = ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: *mut ndb_note,
+ ) -> ndb_ingest_filter_action,
+>;
+pub const ndb_filter_fieldtype_NDB_FILTER_IDS: ndb_filter_fieldtype = 1;
+pub const ndb_filter_fieldtype_NDB_FILTER_AUTHORS: ndb_filter_fieldtype = 2;
+pub const ndb_filter_fieldtype_NDB_FILTER_KINDS: ndb_filter_fieldtype = 3;
+pub const ndb_filter_fieldtype_NDB_FILTER_TAGS: ndb_filter_fieldtype = 4;
+pub const ndb_filter_fieldtype_NDB_FILTER_SINCE: ndb_filter_fieldtype = 5;
+pub const ndb_filter_fieldtype_NDB_FILTER_UNTIL: ndb_filter_fieldtype = 6;
+pub const ndb_filter_fieldtype_NDB_FILTER_LIMIT: ndb_filter_fieldtype = 7;
+pub type ndb_filter_fieldtype = ::std::os::raw::c_int;
+pub const ndb_generic_element_type_NDB_ELEMENT_UNKNOWN: ndb_generic_element_type = 0;
+pub const ndb_generic_element_type_NDB_ELEMENT_STRING: ndb_generic_element_type = 1;
+pub const ndb_generic_element_type_NDB_ELEMENT_ID: ndb_generic_element_type = 2;
+pub const ndb_generic_element_type_NDB_ELEMENT_INT: ndb_generic_element_type = 3;
+pub type ndb_generic_element_type = ::std::os::raw::c_int;
+pub const ndb_search_order_NDB_ORDER_DESCENDING: ndb_search_order = 0;
+pub const ndb_search_order_NDB_ORDER_ASCENDING: ndb_search_order = 1;
+pub type ndb_search_order = ::std::os::raw::c_int;
+pub const ndb_dbs_NDB_DB_NOTE: ndb_dbs = 0;
+pub const ndb_dbs_NDB_DB_META: ndb_dbs = 1;
+pub const ndb_dbs_NDB_DB_PROFILE: ndb_dbs = 2;
+pub const ndb_dbs_NDB_DB_NOTE_ID: ndb_dbs = 3;
+pub const ndb_dbs_NDB_DB_PROFILE_PK: ndb_dbs = 4;
+pub const ndb_dbs_NDB_DB_NDB_META: ndb_dbs = 5;
+pub const ndb_dbs_NDB_DB_PROFILE_SEARCH: ndb_dbs = 6;
+pub const ndb_dbs_NDB_DB_PROFILE_LAST_FETCH: ndb_dbs = 7;
+pub const ndb_dbs_NDB_DB_NOTE_KIND: ndb_dbs = 8;
+pub const ndb_dbs_NDB_DB_NOTE_TEXT: ndb_dbs = 9;
+pub const ndb_dbs_NDB_DB_NOTE_BLOCKS: ndb_dbs = 10;
+pub const ndb_dbs_NDB_DB_NOTE_TAGS: ndb_dbs = 11;
+pub const ndb_dbs_NDB_DBS: ndb_dbs = 12;
+pub type ndb_dbs = ::std::os::raw::c_int;
+pub const ndb_common_kind_NDB_CKIND_PROFILE: ndb_common_kind = 0;
+pub const ndb_common_kind_NDB_CKIND_TEXT: ndb_common_kind = 1;
+pub const ndb_common_kind_NDB_CKIND_CONTACTS: ndb_common_kind = 2;
+pub const ndb_common_kind_NDB_CKIND_DM: ndb_common_kind = 3;
+pub const ndb_common_kind_NDB_CKIND_DELETE: ndb_common_kind = 4;
+pub const ndb_common_kind_NDB_CKIND_REPOST: ndb_common_kind = 5;
+pub const ndb_common_kind_NDB_CKIND_REACTION: ndb_common_kind = 6;
+pub const ndb_common_kind_NDB_CKIND_ZAP: ndb_common_kind = 7;
+pub const ndb_common_kind_NDB_CKIND_ZAP_REQUEST: ndb_common_kind = 8;
+pub const ndb_common_kind_NDB_CKIND_NWC_REQUEST: ndb_common_kind = 9;
+pub const ndb_common_kind_NDB_CKIND_NWC_RESPONSE: ndb_common_kind = 10;
+pub const ndb_common_kind_NDB_CKIND_HTTP_AUTH: ndb_common_kind = 11;
+pub const ndb_common_kind_NDB_CKIND_LIST: ndb_common_kind = 12;
+pub const ndb_common_kind_NDB_CKIND_LONGFORM: ndb_common_kind = 13;
+pub const ndb_common_kind_NDB_CKIND_STATUS: ndb_common_kind = 14;
+pub const ndb_common_kind_NDB_CKIND_COUNT: ndb_common_kind = 15;
+pub type ndb_common_kind = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_builder {
+ pub mem: cursor,
+ pub note_cur: cursor,
+ pub strings: cursor,
+ pub str_indices: cursor,
+ pub note: *mut ndb_note,
+ pub current_tag: *mut ndb_tag,
+}
+#[test]
+fn bindgen_test_layout_ndb_builder() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_builder> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_builder>(),
+ 112usize,
+ concat!("Size of: ", stringify!(ndb_builder))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_builder>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_builder))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mem) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(mem)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note_cur) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(note_cur)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
+ 48usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(strings)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_indices) as usize - ptr as usize },
+ 72usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(str_indices)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 96usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(note)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).current_tag) as usize - ptr as usize },
+ 104usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_builder),
+ "::",
+ stringify!(current_tag)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_iterator {
+ pub note: *mut ndb_note,
+ pub tag: *mut ndb_tag,
+ pub index: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_iterator() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_iterator> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_iterator>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_iterator))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_iterator>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_iterator))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_iterator),
+ "::",
+ stringify!(note)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_iterator),
+ "::",
+ stringify!(tag)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_iterator),
+ "::",
+ stringify!(index)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_filter_string {
+ pub string: *const ::std::os::raw::c_char,
+ pub len: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_filter_string() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter_string> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter_string>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_filter_string))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter_string>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_filter_string))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_string),
+ "::",
+ stringify!(string)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_string),
+ "::",
+ stringify!(len)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_filter_element {
+ pub string: ndb_filter_string,
+ pub id: *const ::std::os::raw::c_uchar,
+ pub integer: u64,
+}
+#[test]
+fn bindgen_test_layout_ndb_filter_element() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter_element> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter_element>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_filter_element))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter_element>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_filter_element))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_element),
+ "::",
+ stringify!(string)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_element),
+ "::",
+ stringify!(id)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_element),
+ "::",
+ stringify!(integer)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_filter_field {
+ pub type_: ndb_filter_fieldtype,
+ pub elem_type: ndb_generic_element_type,
+ pub tag: ::std::os::raw::c_char,
+}
+#[test]
+fn bindgen_test_layout_ndb_filter_field() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter_field> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter_field>(),
+ 12usize,
+ concat!("Size of: ", stringify!(ndb_filter_field))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter_field>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(ndb_filter_field))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_field),
+ "::",
+ stringify!(type_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).elem_type) as usize - ptr as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_field),
+ "::",
+ stringify!(elem_type)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_field),
+ "::",
+ stringify!(tag)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct ndb_filter_elements {
+ pub field: ndb_filter_field,
+ pub count: ::std::os::raw::c_int,
+ pub elements: __IncompleteArrayField<u64>,
+}
+#[test]
+fn bindgen_test_layout_ndb_filter_elements() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter_elements> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter_elements>(),
+ 16usize,
+ concat!("Size of: ", stringify!(ndb_filter_elements))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter_elements>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_filter_elements))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_elements),
+ "::",
+ stringify!(field)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
+ 12usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_elements),
+ "::",
+ stringify!(count)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter_elements),
+ "::",
+ stringify!(elements)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_filter {
+ pub elem_buf: cursor,
+ pub data_buf: cursor,
+ pub num_elements: ::std::os::raw::c_int,
+ pub finalized: ::std::os::raw::c_int,
+ pub current: ::std::os::raw::c_int,
+ pub elements: [::std::os::raw::c_int; 7usize],
+}
+#[test]
+fn bindgen_test_layout_ndb_filter() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_filter> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_filter>(),
+ 88usize,
+ concat!("Size of: ", stringify!(ndb_filter))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_filter>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_filter))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).elem_buf) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(elem_buf)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).data_buf) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(data_buf)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).num_elements) as usize - ptr as usize },
+ 48usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(num_elements)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).finalized) as usize - ptr as usize },
+ 52usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(finalized)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).current) as usize - ptr as usize },
+ 56usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(current)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).elements) as usize - ptr as usize },
+ 60usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_filter),
+ "::",
+ stringify!(elements)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_config {
+ pub flags: ::std::os::raw::c_int,
+ pub ingester_threads: ::std::os::raw::c_int,
+ pub mapsize: usize,
+ pub filter_context: *mut ::std::os::raw::c_void,
+ pub ingest_filter: ndb_ingest_filter_fn,
+ pub sub_cb_ctx: *mut ::std::os::raw::c_void,
+ pub sub_cb: ndb_sub_fn,
+}
+#[test]
+fn bindgen_test_layout_ndb_config() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_config> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_config>(),
+ 48usize,
+ concat!("Size of: ", stringify!(ndb_config))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_config>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_config))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(flags)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ingester_threads) as usize - ptr as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(ingester_threads)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mapsize) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(mapsize)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).filter_context) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(filter_context)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).ingest_filter) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(ingest_filter)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).sub_cb_ctx) as usize - ptr as usize },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(sub_cb_ctx)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).sub_cb) as usize - ptr as usize },
+ 40usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_config),
+ "::",
+ stringify!(sub_cb)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_text_search_config {
+ pub order: ndb_search_order,
+ pub limit: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_text_search_config() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_config> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_text_search_config>(),
+ 8usize,
+ concat!("Size of: ", stringify!(ndb_text_search_config))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_text_search_config>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(ndb_text_search_config))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_config),
+ "::",
+ stringify!(order)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).limit) as usize - ptr as usize },
+ 4usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_config),
+ "::",
+ stringify!(limit)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_stat_counts {
+ pub key_size: usize,
+ pub value_size: usize,
+ pub count: usize,
+}
+#[test]
+fn bindgen_test_layout_ndb_stat_counts() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_stat_counts> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_stat_counts>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_stat_counts))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_stat_counts>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_stat_counts))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).key_size) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat_counts),
+ "::",
+ stringify!(key_size)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).value_size) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat_counts),
+ "::",
+ stringify!(value_size)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat_counts),
+ "::",
+ stringify!(count)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_stat {
+ pub dbs: [ndb_stat_counts; 12usize],
+ pub common_kinds: [ndb_stat_counts; 15usize],
+ pub other_kinds: ndb_stat_counts,
+}
+#[test]
+fn bindgen_test_layout_ndb_stat() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_stat> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_stat>(),
+ 672usize,
+ concat!("Size of: ", stringify!(ndb_stat))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_stat>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_stat))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).dbs) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat),
+ "::",
+ stringify!(dbs)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).common_kinds) as usize - ptr as usize },
+ 288usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat),
+ "::",
+ stringify!(common_kinds)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).other_kinds) as usize - ptr as usize },
+ 648usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_stat),
+ "::",
+ stringify!(other_kinds)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_text_search_key {
+ pub str_len: ::std::os::raw::c_int,
+ pub str_: *const ::std::os::raw::c_char,
+ pub timestamp: u64,
+ pub note_id: u64,
+ pub word_index: u64,
+}
+#[test]
+fn bindgen_test_layout_ndb_text_search_key() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_key> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_text_search_key>(),
+ 40usize,
+ concat!("Size of: ", stringify!(ndb_text_search_key))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_text_search_key>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_text_search_key))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_len) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(str_len)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(timestamp)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(note_id)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).word_index) as usize - ptr as usize },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_key),
+ "::",
+ stringify!(word_index)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_text_search_result {
+ pub key: ndb_text_search_key,
+ pub prefix_chars: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_text_search_result() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_result> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_text_search_result>(),
+ 48usize,
+ concat!("Size of: ", stringify!(ndb_text_search_result))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_text_search_result>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_text_search_result))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_result),
+ "::",
+ stringify!(key)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).prefix_chars) as usize - ptr as usize },
+ 40usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_result),
+ "::",
+ stringify!(prefix_chars)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_text_search_results {
+ pub results: [ndb_text_search_result; 128usize],
+ pub num_results: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_text_search_results() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_text_search_results> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_text_search_results>(),
+ 6152usize,
+ concat!("Size of: ", stringify!(ndb_text_search_results))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_text_search_results>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_text_search_results))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).results) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_results),
+ "::",
+ stringify!(results)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).num_results) as usize - ptr as usize },
+ 6144usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_text_search_results),
+ "::",
+ stringify!(num_results)
+ )
+ );
+}
+pub const ndb_block_type_BLOCK_HASHTAG: ndb_block_type = 1;
+pub const ndb_block_type_BLOCK_TEXT: ndb_block_type = 2;
+pub const ndb_block_type_BLOCK_MENTION_INDEX: ndb_block_type = 3;
+pub const ndb_block_type_BLOCK_MENTION_BECH32: ndb_block_type = 4;
+pub const ndb_block_type_BLOCK_URL: ndb_block_type = 5;
+pub const ndb_block_type_BLOCK_INVOICE: ndb_block_type = 6;
+pub type ndb_block_type = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_relays {
+ pub relays: [ndb_str_block; 24usize],
+ pub num_relays: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_ndb_relays() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_relays> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_relays>(),
+ 392usize,
+ concat!("Size of: ", stringify!(ndb_relays))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_relays>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_relays))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_relays),
+ "::",
+ stringify!(relays)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).num_relays) as usize - ptr as usize },
+ 384usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_relays),
+ "::",
+ stringify!(num_relays)
+ )
+ );
+}
+pub const nostr_bech32_type_NOSTR_BECH32_NOTE: nostr_bech32_type = 1;
+pub const nostr_bech32_type_NOSTR_BECH32_NPUB: nostr_bech32_type = 2;
+pub const nostr_bech32_type_NOSTR_BECH32_NPROFILE: nostr_bech32_type = 3;
+pub const nostr_bech32_type_NOSTR_BECH32_NEVENT: nostr_bech32_type = 4;
+pub const nostr_bech32_type_NOSTR_BECH32_NRELAY: nostr_bech32_type = 5;
+pub const nostr_bech32_type_NOSTR_BECH32_NADDR: nostr_bech32_type = 6;
+pub const nostr_bech32_type_NOSTR_BECH32_NSEC: nostr_bech32_type = 7;
+pub type nostr_bech32_type = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_note {
+ pub event_id: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_note() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_note> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_note>(),
+ 8usize,
+ concat!("Size of: ", stringify!(bech32_note))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_note>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_note))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_note),
+ "::",
+ stringify!(event_id)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_npub {
+ pub pubkey: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_npub() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_npub> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_npub>(),
+ 8usize,
+ concat!("Size of: ", stringify!(bech32_npub))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_npub>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_npub))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_npub),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_nsec {
+ pub nsec: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_nsec() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_nsec> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_nsec>(),
+ 8usize,
+ concat!("Size of: ", stringify!(bech32_nsec))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_nsec>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_nsec))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nsec),
+ "::",
+ stringify!(nsec)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_nevent {
+ pub relays: ndb_relays,
+ pub event_id: *const ::std::os::raw::c_uchar,
+ pub pubkey: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_nevent() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_nevent> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_nevent>(),
+ 408usize,
+ concat!("Size of: ", stringify!(bech32_nevent))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_nevent>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_nevent))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nevent),
+ "::",
+ stringify!(relays)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).event_id) as usize - ptr as usize },
+ 392usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nevent),
+ "::",
+ stringify!(event_id)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 400usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nevent),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_nprofile {
+ pub relays: ndb_relays,
+ pub pubkey: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_nprofile() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_nprofile> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_nprofile>(),
+ 400usize,
+ concat!("Size of: ", stringify!(bech32_nprofile))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_nprofile>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_nprofile))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nprofile),
+ "::",
+ stringify!(relays)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 392usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nprofile),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_naddr {
+ pub relays: ndb_relays,
+ pub identifier: ndb_str_block,
+ pub pubkey: *const ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_bech32_naddr() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_naddr> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_naddr>(),
+ 416usize,
+ concat!("Size of: ", stringify!(bech32_naddr))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_naddr>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_naddr))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relays) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_naddr),
+ "::",
+ stringify!(relays)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).identifier) as usize - ptr as usize },
+ 392usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_naddr),
+ "::",
+ stringify!(identifier)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
+ 408usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_naddr),
+ "::",
+ stringify!(pubkey)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bech32_nrelay {
+ pub relay: ndb_str_block,
+}
+#[test]
+fn bindgen_test_layout_bech32_nrelay() {
+ const UNINIT: ::std::mem::MaybeUninit<bech32_nrelay> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<bech32_nrelay>(),
+ 16usize,
+ concat!("Size of: ", stringify!(bech32_nrelay))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<bech32_nrelay>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(bech32_nrelay))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).relay) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(bech32_nrelay),
+ "::",
+ stringify!(relay)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct nostr_bech32 {
+ pub type_: nostr_bech32_type,
+ pub __bindgen_anon_1: nostr_bech32__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union nostr_bech32__bindgen_ty_1 {
+ pub note: bech32_note,
+ pub npub: bech32_npub,
+ pub nsec: bech32_nsec,
+ pub nevent: bech32_nevent,
+ pub nprofile: bech32_nprofile,
+ pub naddr: bech32_naddr,
+ pub nrelay: bech32_nrelay,
+}
+#[test]
+fn bindgen_test_layout_nostr_bech32__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<nostr_bech32__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<nostr_bech32__bindgen_ty_1>(),
+ 416usize,
+ concat!("Size of: ", stringify!(nostr_bech32__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<nostr_bech32__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(nostr_bech32__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(note)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).npub) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(npub)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nsec) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(nsec)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nevent) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(nevent)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nprofile) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(nprofile)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).naddr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(naddr)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).nrelay) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32__bindgen_ty_1),
+ "::",
+ stringify!(nrelay)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_nostr_bech32() {
+ const UNINIT: ::std::mem::MaybeUninit<nostr_bech32> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<nostr_bech32>(),
+ 424usize,
+ concat!("Size of: ", stringify!(nostr_bech32))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<nostr_bech32>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(nostr_bech32))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(nostr_bech32),
+ "::",
+ stringify!(type_)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_mention_bech32_block {
+ pub str_: ndb_str_block,
+ pub bech32: nostr_bech32,
+}
+#[test]
+fn bindgen_test_layout_ndb_mention_bech32_block() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_mention_bech32_block> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_mention_bech32_block>(),
+ 440usize,
+ concat!("Size of: ", stringify!(ndb_mention_bech32_block))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_mention_bech32_block>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_mention_bech32_block))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_mention_bech32_block),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).bech32) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_mention_bech32_block),
+ "::",
+ stringify!(bech32)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_invoice {
+ pub version: ::std::os::raw::c_uchar,
+ pub amount: u64,
+ pub timestamp: u64,
+ pub expiry: u64,
+ pub description: *mut ::std::os::raw::c_char,
+ pub description_hash: *mut ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_ndb_invoice() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_invoice> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_invoice>(),
+ 48usize,
+ concat!("Size of: ", stringify!(ndb_invoice))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_invoice>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_invoice))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(version)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(amount)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(timestamp)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).expiry) as usize - ptr as usize },
+ 24usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(expiry)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
+ 32usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(description)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).description_hash) as usize - ptr as usize },
+ 40usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice),
+ "::",
+ stringify!(description_hash)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_invoice_block {
+ pub invstr: ndb_str_block,
+ pub invoice: ndb_invoice,
+}
+#[test]
+fn bindgen_test_layout_ndb_invoice_block() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_invoice_block> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_invoice_block>(),
+ 64usize,
+ concat!("Size of: ", stringify!(ndb_invoice_block))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_invoice_block>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_invoice_block))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).invstr) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice_block),
+ "::",
+ stringify!(invstr)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_invoice_block),
+ "::",
+ stringify!(invoice)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_block {
+ pub type_: ndb_block_type,
+ pub block: ndb_block__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ndb_block__bindgen_ty_1 {
+ pub str_: ndb_str_block,
+ pub invoice: ndb_invoice_block,
+ pub mention_bech32: ndb_mention_bech32_block,
+ pub mention_index: u32,
+}
+#[test]
+fn bindgen_test_layout_ndb_block__bindgen_ty_1() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_block__bindgen_ty_1> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_block__bindgen_ty_1>(),
+ 440usize,
+ concat!("Size of: ", stringify!(ndb_block__bindgen_ty_1))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_block__bindgen_ty_1>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_block__bindgen_ty_1))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block__bindgen_ty_1),
+ "::",
+ stringify!(str_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).invoice) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block__bindgen_ty_1),
+ "::",
+ stringify!(invoice)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mention_bech32) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block__bindgen_ty_1),
+ "::",
+ stringify!(mention_bech32)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).mention_index) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block__bindgen_ty_1),
+ "::",
+ stringify!(mention_index)
+ )
+ );
+}
+#[test]
+fn bindgen_test_layout_ndb_block() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_block> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_block>(),
+ 448usize,
+ concat!("Size of: ", stringify!(ndb_block))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_block>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_block))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block),
+ "::",
+ stringify!(type_)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block),
+ "::",
+ stringify!(block)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ndb_block_iterator {
+ pub content: *const ::std::os::raw::c_char,
+ pub blocks: *mut ndb_blocks,
+ pub block: ndb_block,
+ pub p: *mut ::std::os::raw::c_uchar,
+}
+#[test]
+fn bindgen_test_layout_ndb_block_iterator() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_block_iterator> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_block_iterator>(),
+ 472usize,
+ concat!("Size of: ", stringify!(ndb_block_iterator))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_block_iterator>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_block_iterator))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).content) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_iterator),
+ "::",
+ stringify!(content)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).blocks) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_iterator),
+ "::",
+ stringify!(blocks)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_iterator),
+ "::",
+ stringify!(block)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
+ 464usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_block_iterator),
+ "::",
+ stringify!(p)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_query_result {
+ pub note: *mut ndb_note,
+ pub note_size: u64,
+ pub note_id: u64,
+}
+#[test]
+fn bindgen_test_layout_ndb_query_result() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_query_result> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_query_result>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_query_result))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_query_result>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_query_result))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_query_result),
+ "::",
+ stringify!(note)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note_size) as usize - ptr as usize },
+ 8usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_query_result),
+ "::",
+ stringify!(note_size)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).note_id) as usize - ptr as usize },
+ 16usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_query_result),
+ "::",
+ stringify!(note_id)
+ )
+ );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndb_query_results {
+ pub cur: cursor,
+}
+#[test]
+fn bindgen_test_layout_ndb_query_results() {
+ const UNINIT: ::std::mem::MaybeUninit<ndb_query_results> = ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<ndb_query_results>(),
+ 24usize,
+ concat!("Size of: ", stringify!(ndb_query_results))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<ndb_query_results>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(ndb_query_results))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).cur) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(ndb_query_results),
+ "::",
+ stringify!(cur)
+ )
+ );
+}
+extern "C" {
+ pub fn ndb_default_config(arg1: *mut ndb_config);
+}
+extern "C" {
+ pub fn ndb_config_set_ingest_threads(config: *mut ndb_config, threads: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn ndb_config_set_flags(config: *mut ndb_config, flags: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn ndb_config_set_mapsize(config: *mut ndb_config, mapsize: usize);
+}
+extern "C" {
+ pub fn ndb_config_set_ingest_filter(
+ config: *mut ndb_config,
+ fn_: ndb_ingest_filter_fn,
+ arg1: *mut ::std::os::raw::c_void,
+ );
+}
+extern "C" {
+ pub fn ndb_config_set_subscription_callback(
+ config: *mut ndb_config,
+ fn_: ndb_sub_fn,
+ ctx: *mut ::std::os::raw::c_void,
+ );
+}
+extern "C" {
+ pub fn ndb_calculate_id(
+ note: *mut ndb_note,
+ buf: *mut ::std::os::raw::c_uchar,
+ buflen: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_sign_id(
+ keypair: *mut ndb_keypair,
+ id: *mut ::std::os::raw::c_uchar,
+ sig: *mut ::std::os::raw::c_uchar,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_create_keypair(key: *mut ndb_keypair) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_decode_key(
+ secstr: *const ::std::os::raw::c_char,
+ keypair: *mut ndb_keypair,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_note_verify(
+ secp_ctx: *mut ::std::os::raw::c_void,
+ pubkey: *mut ::std::os::raw::c_uchar,
+ id: *mut ::std::os::raw::c_uchar,
+ signature: *mut ::std::os::raw::c_uchar,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_init(
+ ndb: *mut *mut ndb,
+ dbdir: *const ::std::os::raw::c_char,
+ arg1: *const ndb_config,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_db_version(ndb: *mut ndb) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_process_event(
+ arg1: *mut ndb,
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_process_events(
+ arg1: *mut ndb,
+ ldjson: *const ::std::os::raw::c_char,
+ len: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_process_client_event(
+ arg1: *mut ndb,
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_process_client_events(
+ arg1: *mut ndb,
+ json: *const ::std::os::raw::c_char,
+ len: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_begin_query(arg1: *mut ndb, arg2: *mut ndb_txn) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_search_profile(
+ txn: *mut ndb_txn,
+ search: *mut ndb_search,
+ query: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_search_profile_next(search: *mut ndb_search) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_search_profile_end(search: *mut ndb_search);
+}
+extern "C" {
+ pub fn ndb_end_query(arg1: *mut ndb_txn) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_write_last_profile_fetch(
+ ndb: *mut ndb,
+ pubkey: *const ::std::os::raw::c_uchar,
+ fetched_at: u64,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_read_last_profile_fetch(
+ txn: *mut ndb_txn,
+ pubkey: *const ::std::os::raw::c_uchar,
+ ) -> u64;
+}
+extern "C" {
+ pub fn ndb_get_profile_by_pubkey(
+ txn: *mut ndb_txn,
+ pubkey: *const ::std::os::raw::c_uchar,
+ len: *mut usize,
+ primkey: *mut u64,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn ndb_get_profile_by_key(
+ txn: *mut ndb_txn,
+ key: u64,
+ len: *mut usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn ndb_get_notekey_by_id(txn: *mut ndb_txn, id: *const ::std::os::raw::c_uchar) -> u64;
+}
+extern "C" {
+ pub fn ndb_get_profilekey_by_pubkey(
+ txn: *mut ndb_txn,
+ id: *const ::std::os::raw::c_uchar,
+ ) -> u64;
+}
+extern "C" {
+ pub fn ndb_get_note_by_id(
+ txn: *mut ndb_txn,
+ id: *const ::std::os::raw::c_uchar,
+ len: *mut usize,
+ primkey: *mut u64,
+ ) -> *mut ndb_note;
+}
+extern "C" {
+ pub fn ndb_get_note_by_key(txn: *mut ndb_txn, key: u64, len: *mut usize) -> *mut ndb_note;
+}
+extern "C" {
+ pub fn ndb_get_note_meta(
+ txn: *mut ndb_txn,
+ id: *const ::std::os::raw::c_uchar,
+ len: *mut usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn ndb_destroy(arg1: *mut ndb);
+}
+extern "C" {
+ pub fn ndb_parse_json_note(
+ arg1: *mut ndb_json_parser,
+ arg2: *mut *mut ndb_note,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_client_event_from_json(
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ fce: *mut ndb_fce,
+ buf: *mut ::std::os::raw::c_uchar,
+ bufsize: ::std::os::raw::c_int,
+ cb: *mut ndb_id_cb,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_ws_event_from_json(
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ tce: *mut ndb_tce,
+ buf: *mut ::std::os::raw::c_uchar,
+ bufsize: ::std::os::raw::c_int,
+ arg1: *mut ndb_id_cb,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_note_from_json(
+ json: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ arg1: *mut *mut ndb_note,
+ buf: *mut ::std::os::raw::c_uchar,
+ buflen: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_init(
+ builder: *mut ndb_builder,
+ buf: *mut ::std::os::raw::c_uchar,
+ bufsize: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_finalize(
+ builder: *mut ndb_builder,
+ note: *mut *mut ndb_note,
+ privkey: *mut ndb_keypair,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_set_content(
+ builder: *mut ndb_builder,
+ content: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_set_created_at(builder: *mut ndb_builder, created_at: u64);
+}
+extern "C" {
+ pub fn ndb_builder_set_sig(builder: *mut ndb_builder, sig: *mut ::std::os::raw::c_uchar);
+}
+extern "C" {
+ pub fn ndb_builder_set_pubkey(builder: *mut ndb_builder, pubkey: *mut ::std::os::raw::c_uchar);
+}
+extern "C" {
+ pub fn ndb_builder_set_id(builder: *mut ndb_builder, id: *mut ::std::os::raw::c_uchar);
+}
+extern "C" {
+ pub fn ndb_builder_set_kind(builder: *mut ndb_builder, kind: u32);
+}
+extern "C" {
+ pub fn ndb_builder_new_tag(builder: *mut ndb_builder) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_builder_push_tag_str(
+ builder: *mut ndb_builder,
+ str_: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_init(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_add_id_element(
+ arg1: *mut ndb_filter,
+ id: *const ::std::os::raw::c_uchar,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_add_int_element(arg1: *mut ndb_filter, integer: u64)
+ -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_add_str_element(
+ arg1: *mut ndb_filter,
+ str_: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_eq(arg1: *const ndb_filter, arg2: *const ndb_filter)
+ -> ::std::os::raw::c_int;
+}
+extern "C" {
+ #[doc = " is `a` a subset of `b`"]
+ pub fn ndb_filter_is_subset_of(
+ a: *const ndb_filter,
+ b: *const ndb_filter,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_from_json(
+ arg1: *const ::std::os::raw::c_char,
+ len: ::std::os::raw::c_int,
+ filter: *mut ndb_filter,
+ buf: *mut ::std::os::raw::c_uchar,
+ bufsize: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_get_id_element(
+ arg1: *const ndb_filter,
+ arg2: *const ndb_filter_elements,
+ index: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_uchar;
+}
+extern "C" {
+ pub fn ndb_filter_get_string_element(
+ arg1: *const ndb_filter,
+ arg2: *const ndb_filter_elements,
+ index: ::std::os::raw::c_int,
+ ) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_filter_get_int_element(
+ arg1: *const ndb_filter_elements,
+ index: ::std::os::raw::c_int,
+ ) -> u64;
+}
+extern "C" {
+ pub fn ndb_filter_get_int_element_ptr(
+ arg1: *mut ndb_filter_elements,
+ index: ::std::os::raw::c_int,
+ ) -> *mut u64;
+}
+extern "C" {
+ pub fn ndb_filter_current_element(arg1: *const ndb_filter) -> *mut ndb_filter_elements;
+}
+extern "C" {
+ pub fn ndb_filter_get_elements(
+ arg1: *const ndb_filter,
+ arg2: ::std::os::raw::c_int,
+ ) -> *mut ndb_filter_elements;
+}
+extern "C" {
+ pub fn ndb_filter_start_field(
+ arg1: *mut ndb_filter,
+ arg2: ndb_filter_fieldtype,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_start_tag_field(
+ arg1: *mut ndb_filter,
+ tag: ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_matches(arg1: *mut ndb_filter, arg2: *mut ndb_note) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_clone(dst: *mut ndb_filter, src: *mut ndb_filter) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_end(arg1: *mut ndb_filter) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_filter_end_field(arg1: *mut ndb_filter);
+}
+extern "C" {
+ pub fn ndb_filter_destroy(arg1: *mut ndb_filter);
+}
+extern "C" {
+ pub fn ndb_filter_json(
+ arg1: *const ndb_filter,
+ buf: *mut ::std::os::raw::c_char,
+ buflen: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_subscribe(
+ arg1: *mut ndb,
+ arg2: *mut ndb_filter,
+ num_filters: ::std::os::raw::c_int,
+ ) -> u64;
+}
+extern "C" {
+ pub fn ndb_wait_for_notes(
+ arg1: *mut ndb,
+ subid: u64,
+ note_ids: *mut u64,
+ note_id_capacity: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_poll_for_notes(
+ arg1: *mut ndb,
+ subid: u64,
+ note_ids: *mut u64,
+ note_id_capacity: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_unsubscribe(arg1: *mut ndb, subid: u64) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_num_subscriptions(arg1: *mut ndb) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_subscription_filters(
+ arg1: *mut ndb,
+ subid: u64,
+ filters: *mut ::std::os::raw::c_int,
+ ) -> *mut ndb_filter;
+}
+extern "C" {
+ pub fn ndb_text_search(
+ txn: *mut ndb_txn,
+ query: *const ::std::os::raw::c_char,
+ arg1: *mut ndb_text_search_results,
+ arg2: *mut ndb_text_search_config,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_default_text_search_config(arg1: *mut ndb_text_search_config);
+}
+extern "C" {
+ pub fn ndb_text_search_config_set_order(
+ arg1: *mut ndb_text_search_config,
+ arg2: ndb_search_order,
+ );
+}
+extern "C" {
+ pub fn ndb_text_search_config_set_limit(
+ arg1: *mut ndb_text_search_config,
+ limit: ::std::os::raw::c_int,
+ );
+}
+extern "C" {
+ pub fn ndb_query(
+ txn: *mut ndb_txn,
+ filters: *mut ndb_filter,
+ num_filters: ::std::os::raw::c_int,
+ results: *mut ndb_query_result,
+ result_capacity: ::std::os::raw::c_int,
+ count: *mut ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_stat(ndb: *mut ndb, stat: *mut ndb_stat) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_stat_counts_init(counts: *mut ndb_stat_counts);
+}
+extern "C" {
+ pub fn ndb_note_content(note: *mut ndb_note) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_note_str(note: *mut ndb_note, pstr: *mut ndb_packed_str) -> ndb_str;
+}
+extern "C" {
+ pub fn ndb_note_content_length(note: *mut ndb_note) -> u32;
+}
+extern "C" {
+ pub fn ndb_note_created_at(note: *mut ndb_note) -> u32;
+}
+extern "C" {
+ pub fn ndb_note_kind(note: *mut ndb_note) -> u32;
+}
+extern "C" {
+ pub fn ndb_note_id(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
+}
+extern "C" {
+ pub fn ndb_note_pubkey(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
+}
+extern "C" {
+ pub fn ndb_note_sig(note: *mut ndb_note) -> *mut ::std::os::raw::c_uchar;
+}
+extern "C" {
+ pub fn _ndb_note_set_kind(note: *mut ndb_note, kind: u32);
+}
+extern "C" {
+ pub fn ndb_note_tags(note: *mut ndb_note) -> *mut ndb_tags;
+}
+extern "C" {
+ pub fn ndb_str_len(str_: *mut ndb_str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ #[doc = " write the note as json to a buffer"]
+ pub fn ndb_note_json(
+ arg1: *mut ndb_note,
+ buf: *mut ::std::os::raw::c_char,
+ buflen: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_tags_iterate_start(note: *mut ndb_note, iter: *mut ndb_iterator);
+}
+extern "C" {
+ pub fn ndb_tags_count(arg1: *mut ndb_tags) -> u16;
+}
+extern "C" {
+ pub fn ndb_tag_count(arg1: *mut ndb_tag) -> u16;
+}
+extern "C" {
+ pub fn ndb_tags_iterate_next(iter: *mut ndb_iterator) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_iter_tag_str(iter: *mut ndb_iterator, ind: ::std::os::raw::c_int) -> ndb_str;
+}
+extern "C" {
+ pub fn ndb_tag_str(
+ note: *mut ndb_note,
+ tag: *mut ndb_tag,
+ ind: ::std::os::raw::c_int,
+ ) -> ndb_str;
+}
+extern "C" {
+ pub fn ndb_db_name(db: ndb_dbs) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_kind_name(ck: ndb_common_kind) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_kind_to_common_kind(kind: ::std::os::raw::c_int) -> ndb_common_kind;
+}
+extern "C" {
+ pub fn ndb_parse_content(
+ buf: *mut ::std::os::raw::c_uchar,
+ buf_size: ::std::os::raw::c_int,
+ content: *const ::std::os::raw::c_char,
+ content_len: ::std::os::raw::c_int,
+ blocks_p: *mut *mut ndb_blocks,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_get_block_type(block: *mut ndb_block) -> ndb_block_type;
+}
+extern "C" {
+ pub fn ndb_blocks_flags(block: *mut ndb_blocks) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ndb_blocks_total_size(blocks: *mut ndb_blocks) -> usize;
+}
+extern "C" {
+ pub fn ndb_blocks_word_count(blocks: *mut ndb_blocks) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ #[doc = " Free blocks if they are owned, safe to call on unowned blocks as well."]
+ pub fn ndb_blocks_free(blocks: *mut ndb_blocks);
+}
+extern "C" {
+ pub fn ndb_get_blocks_by_key(
+ ndb: *mut ndb,
+ txn: *mut ndb_txn,
+ note_key: u64,
+ ) -> *mut ndb_blocks;
+}
+extern "C" {
+ pub fn ndb_blocks_iterate_start(
+ arg1: *const ::std::os::raw::c_char,
+ arg2: *mut ndb_blocks,
+ arg3: *mut ndb_block_iterator,
+ );
+}
+extern "C" {
+ pub fn ndb_blocks_iterate_next(arg1: *mut ndb_block_iterator) -> *mut ndb_block;
+}
+extern "C" {
+ pub fn ndb_block_str(arg1: *mut ndb_block) -> *mut ndb_str_block;
+}
+extern "C" {
+ pub fn ndb_str_block_ptr(arg1: *mut ndb_str_block) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ndb_str_block_len(arg1: *mut ndb_str_block) -> u32;
+}
+extern "C" {
+ pub fn ndb_bech32_block(block: *mut ndb_block) -> *mut nostr_bech32;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __crt_locale_data {
+ pub _address: u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __crt_multibyte_data {
+ pub _address: u8,
+}
+pub type __builtin_va_list = *mut ::std::os::raw::c_char;
diff --git a/src/block.rs b/src/block.rs
@@ -221,7 +221,7 @@ impl<'a> Blocks<'a> {
}
}
-impl<'a> Drop for Blocks<'a> {
+impl Drop for Blocks<'_> {
fn drop(&mut self) {
unsafe { bindings::ndb_blocks_free(self.as_ptr()) };
}
diff --git a/src/filter.rs b/src/filter.rs
@@ -1008,7 +1008,7 @@ impl<'a> IntoIterator for FilterIntElements<'a> {
}
}
-impl<'a> Iterator for FilterIntElemIter<'a> {
+impl Iterator for FilterIntElemIter<'_> {
type Item = u64;
fn next(&mut self) -> Option<u64> {
diff --git a/src/ndb.rs b/src/ndb.rs
@@ -159,7 +159,11 @@ impl Ndb {
vec.into_iter().map(NoteKey::new).collect()
}
- pub async fn wait_for_notes(&self, sub_id: Subscription, max_notes: u32) -> Result<Vec<NoteKey>> {
+ pub async fn wait_for_notes(
+ &self,
+ sub_id: Subscription,
+ max_notes: u32,
+ ) -> Result<Vec<NoteKey>> {
let ndb = self.clone();
let handle = task::spawn_blocking(move || {
let mut vec: Vec<u64> = vec![];
diff --git a/src/ndb_profile.rs b/src/ndb_profile.rs
@@ -1,10 +1,9 @@
// automatically generated by the FlatBuffers compiler, do not modify
-
// @generated
-use core::mem;
use core::cmp::Ordering;
+use core::mem;
extern crate flatbuffers;
use self::flatbuffers::{EndianScalar, Follow};
@@ -13,165 +12,228 @@ pub enum NdbProfileOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct NdbProfile<'a> {
- pub _tab: flatbuffers::Table<'a>,
+ pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for NdbProfile<'a> {
- type Inner = NdbProfile<'a>;
- #[inline]
- unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
- Self { _tab: flatbuffers::Table::new(buf, loc) }
- }
+ type Inner = NdbProfile<'a>;
+ #[inline]
+ unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
+ Self {
+ _tab: flatbuffers::Table::new(buf, loc),
+ }
+ }
}
impl<'a> NdbProfile<'a> {
- pub const VT_NAME: flatbuffers::VOffsetT = 4;
- pub const VT_WEBSITE: flatbuffers::VOffsetT = 6;
- pub const VT_ABOUT: flatbuffers::VOffsetT = 8;
- pub const VT_LUD16: flatbuffers::VOffsetT = 10;
- pub const VT_BANNER: flatbuffers::VOffsetT = 12;
- pub const VT_DISPLAY_NAME: flatbuffers::VOffsetT = 14;
- pub const VT_REACTIONS: flatbuffers::VOffsetT = 16;
- pub const VT_PICTURE: flatbuffers::VOffsetT = 18;
- pub const VT_NIP05: flatbuffers::VOffsetT = 20;
- pub const VT_DAMUS_DONATION: flatbuffers::VOffsetT = 22;
- pub const VT_DAMUS_DONATION_V2: flatbuffers::VOffsetT = 24;
- pub const VT_LUD06: flatbuffers::VOffsetT = 26;
-
- #[inline]
- pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
- NdbProfile { _tab: table }
- }
- #[allow(unused_mut)]
- pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
- _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
- args: &'args NdbProfileArgs<'args>
- ) -> flatbuffers::WIPOffset<NdbProfile<'bldr>> {
- let mut builder = NdbProfileBuilder::new(_fbb);
- if let Some(x) = args.lud06 { builder.add_lud06(x); }
- builder.add_damus_donation_v2(args.damus_donation_v2);
- builder.add_damus_donation(args.damus_donation);
- if let Some(x) = args.nip05 { builder.add_nip05(x); }
- if let Some(x) = args.picture { builder.add_picture(x); }
- if let Some(x) = args.display_name { builder.add_display_name(x); }
- if let Some(x) = args.banner { builder.add_banner(x); }
- if let Some(x) = args.lud16 { builder.add_lud16(x); }
- if let Some(x) = args.about { builder.add_about(x); }
- if let Some(x) = args.website { builder.add_website(x); }
- if let Some(x) = args.name { builder.add_name(x); }
- builder.add_reactions(args.reactions);
- builder.finish()
- }
+ pub const VT_NAME: flatbuffers::VOffsetT = 4;
+ pub const VT_WEBSITE: flatbuffers::VOffsetT = 6;
+ pub const VT_ABOUT: flatbuffers::VOffsetT = 8;
+ pub const VT_LUD16: flatbuffers::VOffsetT = 10;
+ pub const VT_BANNER: flatbuffers::VOffsetT = 12;
+ pub const VT_DISPLAY_NAME: flatbuffers::VOffsetT = 14;
+ pub const VT_REACTIONS: flatbuffers::VOffsetT = 16;
+ pub const VT_PICTURE: flatbuffers::VOffsetT = 18;
+ pub const VT_NIP05: flatbuffers::VOffsetT = 20;
+ pub const VT_DAMUS_DONATION: flatbuffers::VOffsetT = 22;
+ pub const VT_DAMUS_DONATION_V2: flatbuffers::VOffsetT = 24;
+ pub const VT_LUD06: flatbuffers::VOffsetT = 26;
+ #[inline]
+ pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
+ NdbProfile { _tab: table }
+ }
+ #[allow(unused_mut)]
+ pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
+ _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
+ args: &'args NdbProfileArgs<'args>,
+ ) -> flatbuffers::WIPOffset<NdbProfile<'bldr>> {
+ let mut builder = NdbProfileBuilder::new(_fbb);
+ if let Some(x) = args.lud06 {
+ builder.add_lud06(x);
+ }
+ builder.add_damus_donation_v2(args.damus_donation_v2);
+ builder.add_damus_donation(args.damus_donation);
+ if let Some(x) = args.nip05 {
+ builder.add_nip05(x);
+ }
+ if let Some(x) = args.picture {
+ builder.add_picture(x);
+ }
+ if let Some(x) = args.display_name {
+ builder.add_display_name(x);
+ }
+ if let Some(x) = args.banner {
+ builder.add_banner(x);
+ }
+ if let Some(x) = args.lud16 {
+ builder.add_lud16(x);
+ }
+ if let Some(x) = args.about {
+ builder.add_about(x);
+ }
+ if let Some(x) = args.website {
+ builder.add_website(x);
+ }
+ if let Some(x) = args.name {
+ builder.add_name(x);
+ }
+ builder.add_reactions(args.reactions);
+ builder.finish()
+ }
- #[inline]
- pub fn name(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_NAME, None)}
- }
- #[inline]
- pub fn website(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_WEBSITE, None)}
- }
- #[inline]
- pub fn about(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_ABOUT, None)}
- }
- #[inline]
- pub fn lud16(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_LUD16, None)}
- }
- #[inline]
- pub fn banner(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_BANNER, None)}
- }
- #[inline]
- pub fn display_name(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_DISPLAY_NAME, None)}
- }
- #[inline]
- pub fn reactions(&self) -> bool {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<bool>(NdbProfile::VT_REACTIONS, Some(true)).unwrap()}
- }
- #[inline]
- pub fn picture(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_PICTURE, None)}
- }
- #[inline]
- pub fn nip05(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_NIP05, None)}
- }
- #[inline]
- pub fn damus_donation(&self) -> i32 {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<i32>(NdbProfile::VT_DAMUS_DONATION, Some(0)).unwrap()}
- }
- #[inline]
- pub fn damus_donation_v2(&self) -> i32 {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<i32>(NdbProfile::VT_DAMUS_DONATION_V2, Some(0)).unwrap()}
- }
- #[inline]
- pub fn lud06(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_LUD06, None)}
- }
+ #[inline]
+ pub fn name(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_NAME, None)
+ }
+ }
+ #[inline]
+ pub fn website(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_WEBSITE, None)
+ }
+ }
+ #[inline]
+ pub fn about(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_ABOUT, None)
+ }
+ }
+ #[inline]
+ pub fn lud16(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_LUD16, None)
+ }
+ }
+ #[inline]
+ pub fn banner(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_BANNER, None)
+ }
+ }
+ #[inline]
+ pub fn display_name(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_DISPLAY_NAME, None)
+ }
+ }
+ #[inline]
+ pub fn reactions(&self) -> bool {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<bool>(NdbProfile::VT_REACTIONS, Some(true))
+ .unwrap()
+ }
+ }
+ #[inline]
+ pub fn picture(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_PICTURE, None)
+ }
+ }
+ #[inline]
+ pub fn nip05(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_NIP05, None)
+ }
+ }
+ #[inline]
+ pub fn damus_donation(&self) -> i32 {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<i32>(NdbProfile::VT_DAMUS_DONATION, Some(0))
+ .unwrap()
+ }
+ }
+ #[inline]
+ pub fn damus_donation_v2(&self) -> i32 {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<i32>(NdbProfile::VT_DAMUS_DONATION_V2, Some(0))
+ .unwrap()
+ }
+ }
+ #[inline]
+ pub fn lud06(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfile::VT_LUD06, None)
+ }
+ }
}
impl flatbuffers::Verifiable for NdbProfile<'_> {
- #[inline]
- fn run_verifier(
- v: &mut flatbuffers::Verifier, pos: usize
- ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
- use self::flatbuffers::Verifiable;
- v.visit_table(pos)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("website", Self::VT_WEBSITE, false)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("about", Self::VT_ABOUT, false)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("lud16", Self::VT_LUD16, false)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("banner", Self::VT_BANNER, false)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("display_name", Self::VT_DISPLAY_NAME, false)?
- .visit_field::<bool>("reactions", Self::VT_REACTIONS, false)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("picture", Self::VT_PICTURE, false)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("nip05", Self::VT_NIP05, false)?
- .visit_field::<i32>("damus_donation", Self::VT_DAMUS_DONATION, false)?
- .visit_field::<i32>("damus_donation_v2", Self::VT_DAMUS_DONATION_V2, false)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("lud06", Self::VT_LUD06, false)?
- .finish();
- Ok(())
- }
+ #[inline]
+ fn run_verifier(
+ v: &mut flatbuffers::Verifier,
+ pos: usize,
+ ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
+ use self::flatbuffers::Verifiable;
+ v.visit_table(pos)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>("website", Self::VT_WEBSITE, false)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>("about", Self::VT_ABOUT, false)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>("lud16", Self::VT_LUD16, false)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>("banner", Self::VT_BANNER, false)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>(
+ "display_name",
+ Self::VT_DISPLAY_NAME,
+ false,
+ )?
+ .visit_field::<bool>("reactions", Self::VT_REACTIONS, false)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>("picture", Self::VT_PICTURE, false)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>("nip05", Self::VT_NIP05, false)?
+ .visit_field::<i32>("damus_donation", Self::VT_DAMUS_DONATION, false)?
+ .visit_field::<i32>("damus_donation_v2", Self::VT_DAMUS_DONATION_V2, false)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>("lud06", Self::VT_LUD06, false)?
+ .finish();
+ Ok(())
+ }
}
pub struct NdbProfileArgs<'a> {
pub name: Option<flatbuffers::WIPOffset<&'a str>>,
@@ -188,194 +250,232 @@ pub struct NdbProfileArgs<'a> {
pub lud06: Option<flatbuffers::WIPOffset<&'a str>>,
}
impl<'a> Default for NdbProfileArgs<'a> {
- #[inline]
- fn default() -> Self {
- NdbProfileArgs {
- name: None,
- website: None,
- about: None,
- lud16: None,
- banner: None,
- display_name: None,
- reactions: true,
- picture: None,
- nip05: None,
- damus_donation: 0,
- damus_donation_v2: 0,
- lud06: None,
- }
- }
+ #[inline]
+ fn default() -> Self {
+ NdbProfileArgs {
+ name: None,
+ website: None,
+ about: None,
+ lud16: None,
+ banner: None,
+ display_name: None,
+ reactions: true,
+ picture: None,
+ nip05: None,
+ damus_donation: 0,
+ damus_donation_v2: 0,
+ lud06: None,
+ }
+ }
}
pub struct NdbProfileBuilder<'a: 'b, 'b> {
- fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
- start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
+ fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
+ start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
}
impl<'a: 'b, 'b> NdbProfileBuilder<'a, 'b> {
- #[inline]
- pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_NAME, name);
- }
- #[inline]
- pub fn add_website(&mut self, website: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_WEBSITE, website);
- }
- #[inline]
- pub fn add_about(&mut self, about: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_ABOUT, about);
- }
- #[inline]
- pub fn add_lud16(&mut self, lud16: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_LUD16, lud16);
- }
- #[inline]
- pub fn add_banner(&mut self, banner: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_BANNER, banner);
- }
- #[inline]
- pub fn add_display_name(&mut self, display_name: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_DISPLAY_NAME, display_name);
- }
- #[inline]
- pub fn add_reactions(&mut self, reactions: bool) {
- self.fbb_.push_slot::<bool>(NdbProfile::VT_REACTIONS, reactions, true);
- }
- #[inline]
- pub fn add_picture(&mut self, picture: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_PICTURE, picture);
- }
- #[inline]
- pub fn add_nip05(&mut self, nip05: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_NIP05, nip05);
- }
- #[inline]
- pub fn add_damus_donation(&mut self, damus_donation: i32) {
- self.fbb_.push_slot::<i32>(NdbProfile::VT_DAMUS_DONATION, damus_donation, 0);
- }
- #[inline]
- pub fn add_damus_donation_v2(&mut self, damus_donation_v2: i32) {
- self.fbb_.push_slot::<i32>(NdbProfile::VT_DAMUS_DONATION_V2, damus_donation_v2, 0);
- }
- #[inline]
- pub fn add_lud06(&mut self, lud06: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_LUD06, lud06);
- }
- #[inline]
- pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> NdbProfileBuilder<'a, 'b> {
- let start = _fbb.start_table();
- NdbProfileBuilder {
- fbb_: _fbb,
- start_: start,
- }
- }
- #[inline]
- pub fn finish(self) -> flatbuffers::WIPOffset<NdbProfile<'a>> {
- let o = self.fbb_.end_table(self.start_);
- flatbuffers::WIPOffset::new(o.value())
- }
+ #[inline]
+ pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_NAME, name);
+ }
+ #[inline]
+ pub fn add_website(&mut self, website: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_WEBSITE, website);
+ }
+ #[inline]
+ pub fn add_about(&mut self, about: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_ABOUT, about);
+ }
+ #[inline]
+ pub fn add_lud16(&mut self, lud16: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_LUD16, lud16);
+ }
+ #[inline]
+ pub fn add_banner(&mut self, banner: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_BANNER, banner);
+ }
+ #[inline]
+ pub fn add_display_name(&mut self, display_name: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(
+ NdbProfile::VT_DISPLAY_NAME,
+ display_name,
+ );
+ }
+ #[inline]
+ pub fn add_reactions(&mut self, reactions: bool) {
+ self.fbb_
+ .push_slot::<bool>(NdbProfile::VT_REACTIONS, reactions, true);
+ }
+ #[inline]
+ pub fn add_picture(&mut self, picture: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_PICTURE, picture);
+ }
+ #[inline]
+ pub fn add_nip05(&mut self, nip05: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_NIP05, nip05);
+ }
+ #[inline]
+ pub fn add_damus_donation(&mut self, damus_donation: i32) {
+ self.fbb_
+ .push_slot::<i32>(NdbProfile::VT_DAMUS_DONATION, damus_donation, 0);
+ }
+ #[inline]
+ pub fn add_damus_donation_v2(&mut self, damus_donation_v2: i32) {
+ self.fbb_
+ .push_slot::<i32>(NdbProfile::VT_DAMUS_DONATION_V2, damus_donation_v2, 0);
+ }
+ #[inline]
+ pub fn add_lud06(&mut self, lud06: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfile::VT_LUD06, lud06);
+ }
+ #[inline]
+ pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> NdbProfileBuilder<'a, 'b> {
+ let start = _fbb.start_table();
+ NdbProfileBuilder {
+ fbb_: _fbb,
+ start_: start,
+ }
+ }
+ #[inline]
+ pub fn finish(self) -> flatbuffers::WIPOffset<NdbProfile<'a>> {
+ let o = self.fbb_.end_table(self.start_);
+ flatbuffers::WIPOffset::new(o.value())
+ }
}
impl core::fmt::Debug for NdbProfile<'_> {
- fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
- let mut ds = f.debug_struct("NdbProfile");
- ds.field("name", &self.name());
- ds.field("website", &self.website());
- ds.field("about", &self.about());
- ds.field("lud16", &self.lud16());
- ds.field("banner", &self.banner());
- ds.field("display_name", &self.display_name());
- ds.field("reactions", &self.reactions());
- ds.field("picture", &self.picture());
- ds.field("nip05", &self.nip05());
- ds.field("damus_donation", &self.damus_donation());
- ds.field("damus_donation_v2", &self.damus_donation_v2());
- ds.field("lud06", &self.lud06());
- ds.finish()
- }
+ fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
+ let mut ds = f.debug_struct("NdbProfile");
+ ds.field("name", &self.name());
+ ds.field("website", &self.website());
+ ds.field("about", &self.about());
+ ds.field("lud16", &self.lud16());
+ ds.field("banner", &self.banner());
+ ds.field("display_name", &self.display_name());
+ ds.field("reactions", &self.reactions());
+ ds.field("picture", &self.picture());
+ ds.field("nip05", &self.nip05());
+ ds.field("damus_donation", &self.damus_donation());
+ ds.field("damus_donation_v2", &self.damus_donation_v2());
+ ds.field("lud06", &self.lud06());
+ ds.finish()
+ }
}
pub enum NdbProfileRecordOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct NdbProfileRecord<'a> {
- pub _tab: flatbuffers::Table<'a>,
+ pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for NdbProfileRecord<'a> {
- type Inner = NdbProfileRecord<'a>;
- #[inline]
- unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
- Self { _tab: flatbuffers::Table::new(buf, loc) }
- }
+ type Inner = NdbProfileRecord<'a>;
+ #[inline]
+ unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
+ Self {
+ _tab: flatbuffers::Table::new(buf, loc),
+ }
+ }
}
impl<'a> NdbProfileRecord<'a> {
- pub const VT_PROFILE: flatbuffers::VOffsetT = 4;
- pub const VT_RECEIVED_AT: flatbuffers::VOffsetT = 6;
- pub const VT_NOTE_KEY: flatbuffers::VOffsetT = 8;
- pub const VT_LNURL: flatbuffers::VOffsetT = 10;
-
- #[inline]
- pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
- NdbProfileRecord { _tab: table }
- }
- #[allow(unused_mut)]
- pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
- _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
- args: &'args NdbProfileRecordArgs<'args>
- ) -> flatbuffers::WIPOffset<NdbProfileRecord<'bldr>> {
- let mut builder = NdbProfileRecordBuilder::new(_fbb);
- builder.add_note_key(args.note_key);
- builder.add_received_at(args.received_at);
- if let Some(x) = args.lnurl { builder.add_lnurl(x); }
- if let Some(x) = args.profile { builder.add_profile(x); }
- builder.finish()
- }
+ pub const VT_PROFILE: flatbuffers::VOffsetT = 4;
+ pub const VT_RECEIVED_AT: flatbuffers::VOffsetT = 6;
+ pub const VT_NOTE_KEY: flatbuffers::VOffsetT = 8;
+ pub const VT_LNURL: flatbuffers::VOffsetT = 10;
+ #[inline]
+ pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
+ NdbProfileRecord { _tab: table }
+ }
+ #[allow(unused_mut)]
+ pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
+ _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
+ args: &'args NdbProfileRecordArgs<'args>,
+ ) -> flatbuffers::WIPOffset<NdbProfileRecord<'bldr>> {
+ let mut builder = NdbProfileRecordBuilder::new(_fbb);
+ builder.add_note_key(args.note_key);
+ builder.add_received_at(args.received_at);
+ if let Some(x) = args.lnurl {
+ builder.add_lnurl(x);
+ }
+ if let Some(x) = args.profile {
+ builder.add_profile(x);
+ }
+ builder.finish()
+ }
- #[inline]
- pub fn profile(&self) -> Option<NdbProfile<'a>> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<NdbProfile>>(NdbProfileRecord::VT_PROFILE, None)}
- }
- #[inline]
- pub fn received_at(&self) -> u64 {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<u64>(NdbProfileRecord::VT_RECEIVED_AT, Some(0)).unwrap()}
- }
- #[inline]
- pub fn note_key(&self) -> u64 {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<u64>(NdbProfileRecord::VT_NOTE_KEY, Some(0)).unwrap()}
- }
- #[inline]
- pub fn lnurl(&self) -> Option<&'a str> {
- // Safety:
- // Created from valid Table for this object
- // which contains a valid value in this slot
- unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfileRecord::VT_LNURL, None)}
- }
+ #[inline]
+ pub fn profile(&self) -> Option<NdbProfile<'a>> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<NdbProfile>>(NdbProfileRecord::VT_PROFILE, None)
+ }
+ }
+ #[inline]
+ pub fn received_at(&self) -> u64 {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<u64>(NdbProfileRecord::VT_RECEIVED_AT, Some(0))
+ .unwrap()
+ }
+ }
+ #[inline]
+ pub fn note_key(&self) -> u64 {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<u64>(NdbProfileRecord::VT_NOTE_KEY, Some(0))
+ .unwrap()
+ }
+ }
+ #[inline]
+ pub fn lnurl(&self) -> Option<&'a str> {
+ // Safety:
+ // Created from valid Table for this object
+ // which contains a valid value in this slot
+ unsafe {
+ self._tab
+ .get::<flatbuffers::ForwardsUOffset<&str>>(NdbProfileRecord::VT_LNURL, None)
+ }
+ }
}
impl flatbuffers::Verifiable for NdbProfileRecord<'_> {
- #[inline]
- fn run_verifier(
- v: &mut flatbuffers::Verifier, pos: usize
- ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
- use self::flatbuffers::Verifiable;
- v.visit_table(pos)?
- .visit_field::<flatbuffers::ForwardsUOffset<NdbProfile>>("profile", Self::VT_PROFILE, false)?
- .visit_field::<u64>("received_at", Self::VT_RECEIVED_AT, false)?
- .visit_field::<u64>("note_key", Self::VT_NOTE_KEY, false)?
- .visit_field::<flatbuffers::ForwardsUOffset<&str>>("lnurl", Self::VT_LNURL, false)?
- .finish();
- Ok(())
- }
+ #[inline]
+ fn run_verifier(
+ v: &mut flatbuffers::Verifier,
+ pos: usize,
+ ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
+ use self::flatbuffers::Verifiable;
+ v.visit_table(pos)?
+ .visit_field::<flatbuffers::ForwardsUOffset<NdbProfile>>(
+ "profile",
+ Self::VT_PROFILE,
+ false,
+ )?
+ .visit_field::<u64>("received_at", Self::VT_RECEIVED_AT, false)?
+ .visit_field::<u64>("note_key", Self::VT_NOTE_KEY, false)?
+ .visit_field::<flatbuffers::ForwardsUOffset<&str>>("lnurl", Self::VT_LNURL, false)?
+ .finish();
+ Ok(())
+ }
}
pub struct NdbProfileRecordArgs<'a> {
pub profile: Option<flatbuffers::WIPOffset<NdbProfile<'a>>>,
@@ -384,62 +484,71 @@ pub struct NdbProfileRecordArgs<'a> {
pub lnurl: Option<flatbuffers::WIPOffset<&'a str>>,
}
impl<'a> Default for NdbProfileRecordArgs<'a> {
- #[inline]
- fn default() -> Self {
- NdbProfileRecordArgs {
- profile: None,
- received_at: 0,
- note_key: 0,
- lnurl: None,
- }
- }
+ #[inline]
+ fn default() -> Self {
+ NdbProfileRecordArgs {
+ profile: None,
+ received_at: 0,
+ note_key: 0,
+ lnurl: None,
+ }
+ }
}
pub struct NdbProfileRecordBuilder<'a: 'b, 'b> {
- fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
- start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
+ fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
+ start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
}
impl<'a: 'b, 'b> NdbProfileRecordBuilder<'a, 'b> {
- #[inline]
- pub fn add_profile(&mut self, profile: flatbuffers::WIPOffset<NdbProfile<'b >>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<NdbProfile>>(NdbProfileRecord::VT_PROFILE, profile);
- }
- #[inline]
- pub fn add_received_at(&mut self, received_at: u64) {
- self.fbb_.push_slot::<u64>(NdbProfileRecord::VT_RECEIVED_AT, received_at, 0);
- }
- #[inline]
- pub fn add_note_key(&mut self, note_key: u64) {
- self.fbb_.push_slot::<u64>(NdbProfileRecord::VT_NOTE_KEY, note_key, 0);
- }
- #[inline]
- pub fn add_lnurl(&mut self, lnurl: flatbuffers::WIPOffset<&'b str>) {
- self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfileRecord::VT_LNURL, lnurl);
- }
- #[inline]
- pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> NdbProfileRecordBuilder<'a, 'b> {
- let start = _fbb.start_table();
- NdbProfileRecordBuilder {
- fbb_: _fbb,
- start_: start,
- }
- }
- #[inline]
- pub fn finish(self) -> flatbuffers::WIPOffset<NdbProfileRecord<'a>> {
- let o = self.fbb_.end_table(self.start_);
- flatbuffers::WIPOffset::new(o.value())
- }
+ #[inline]
+ pub fn add_profile(&mut self, profile: flatbuffers::WIPOffset<NdbProfile<'b>>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<NdbProfile>>(
+ NdbProfileRecord::VT_PROFILE,
+ profile,
+ );
+ }
+ #[inline]
+ pub fn add_received_at(&mut self, received_at: u64) {
+ self.fbb_
+ .push_slot::<u64>(NdbProfileRecord::VT_RECEIVED_AT, received_at, 0);
+ }
+ #[inline]
+ pub fn add_note_key(&mut self, note_key: u64) {
+ self.fbb_
+ .push_slot::<u64>(NdbProfileRecord::VT_NOTE_KEY, note_key, 0);
+ }
+ #[inline]
+ pub fn add_lnurl(&mut self, lnurl: flatbuffers::WIPOffset<&'b str>) {
+ self.fbb_
+ .push_slot_always::<flatbuffers::WIPOffset<_>>(NdbProfileRecord::VT_LNURL, lnurl);
+ }
+ #[inline]
+ pub fn new(
+ _fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>,
+ ) -> NdbProfileRecordBuilder<'a, 'b> {
+ let start = _fbb.start_table();
+ NdbProfileRecordBuilder {
+ fbb_: _fbb,
+ start_: start,
+ }
+ }
+ #[inline]
+ pub fn finish(self) -> flatbuffers::WIPOffset<NdbProfileRecord<'a>> {
+ let o = self.fbb_.end_table(self.start_);
+ flatbuffers::WIPOffset::new(o.value())
+ }
}
impl core::fmt::Debug for NdbProfileRecord<'_> {
- fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
- let mut ds = f.debug_struct("NdbProfileRecord");
- ds.field("profile", &self.profile());
- ds.field("received_at", &self.received_at());
- ds.field("note_key", &self.note_key());
- ds.field("lnurl", &self.lnurl());
- ds.finish()
- }
+ fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
+ let mut ds = f.debug_struct("NdbProfileRecord");
+ ds.field("profile", &self.profile());
+ ds.field("received_at", &self.received_at());
+ ds.field("note_key", &self.note_key());
+ ds.field("lnurl", &self.lnurl());
+ ds.finish()
+ }
}
#[inline]
/// Verifies that a buffer of bytes contains a `NdbProfileRecord`
@@ -448,8 +557,10 @@ impl core::fmt::Debug for NdbProfileRecord<'_> {
/// catch every error, or be maximally performant. For the
/// previous, unchecked, behavior use
/// `root_as_ndb_profile_record_unchecked`.
-pub fn root_as_ndb_profile_record(buf: &[u8]) -> Result<NdbProfileRecord, flatbuffers::InvalidFlatbuffer> {
- flatbuffers::root::<NdbProfileRecord>(buf)
+pub fn root_as_ndb_profile_record(
+ buf: &[u8],
+) -> Result<NdbProfileRecord, flatbuffers::InvalidFlatbuffer> {
+ flatbuffers::root::<NdbProfileRecord>(buf)
}
#[inline]
/// Verifies that a buffer of bytes contains a size prefixed
@@ -458,8 +569,10 @@ pub fn root_as_ndb_profile_record(buf: &[u8]) -> Result<NdbProfileRecord, flatbu
/// catch every error, or be maximally performant. For the
/// previous, unchecked, behavior use
/// `size_prefixed_root_as_ndb_profile_record_unchecked`.
-pub fn size_prefixed_root_as_ndb_profile_record(buf: &[u8]) -> Result<NdbProfileRecord, flatbuffers::InvalidFlatbuffer> {
- flatbuffers::size_prefixed_root::<NdbProfileRecord>(buf)
+pub fn size_prefixed_root_as_ndb_profile_record(
+ buf: &[u8],
+) -> Result<NdbProfileRecord, flatbuffers::InvalidFlatbuffer> {
+ flatbuffers::size_prefixed_root::<NdbProfileRecord>(buf)
}
#[inline]
/// Verifies, with the given options, that a buffer of bytes
@@ -469,10 +582,10 @@ pub fn size_prefixed_root_as_ndb_profile_record(buf: &[u8]) -> Result<NdbProfile
/// previous, unchecked, behavior use
/// `root_as_ndb_profile_record_unchecked`.
pub fn root_as_ndb_profile_record_with_opts<'b, 'o>(
- opts: &'o flatbuffers::VerifierOptions,
- buf: &'b [u8],
+ opts: &'o flatbuffers::VerifierOptions,
+ buf: &'b [u8],
) -> Result<NdbProfileRecord<'b>, flatbuffers::InvalidFlatbuffer> {
- flatbuffers::root_with_opts::<NdbProfileRecord<'b>>(opts, buf)
+ flatbuffers::root_with_opts::<NdbProfileRecord<'b>>(opts, buf)
}
#[inline]
/// Verifies, with the given verifier options, that a buffer of
@@ -482,33 +595,37 @@ pub fn root_as_ndb_profile_record_with_opts<'b, 'o>(
/// previous, unchecked, behavior use
/// `root_as_ndb_profile_record_unchecked`.
pub fn size_prefixed_root_as_ndb_profile_record_with_opts<'b, 'o>(
- opts: &'o flatbuffers::VerifierOptions,
- buf: &'b [u8],
+ opts: &'o flatbuffers::VerifierOptions,
+ buf: &'b [u8],
) -> Result<NdbProfileRecord<'b>, flatbuffers::InvalidFlatbuffer> {
- flatbuffers::size_prefixed_root_with_opts::<NdbProfileRecord<'b>>(opts, buf)
+ flatbuffers::size_prefixed_root_with_opts::<NdbProfileRecord<'b>>(opts, buf)
}
#[inline]
/// Assumes, without verification, that a buffer of bytes contains a NdbProfileRecord and returns it.
/// # Safety
/// Callers must trust the given bytes do indeed contain a valid `NdbProfileRecord`.
pub unsafe fn root_as_ndb_profile_record_unchecked(buf: &[u8]) -> NdbProfileRecord {
- flatbuffers::root_unchecked::<NdbProfileRecord>(buf)
+ flatbuffers::root_unchecked::<NdbProfileRecord>(buf)
}
#[inline]
/// Assumes, without verification, that a buffer of bytes contains a size prefixed NdbProfileRecord and returns it.
/// # Safety
/// Callers must trust the given bytes do indeed contain a valid size prefixed `NdbProfileRecord`.
pub unsafe fn size_prefixed_root_as_ndb_profile_record_unchecked(buf: &[u8]) -> NdbProfileRecord {
- flatbuffers::size_prefixed_root_unchecked::<NdbProfileRecord>(buf)
+ flatbuffers::size_prefixed_root_unchecked::<NdbProfileRecord>(buf)
}
#[inline]
pub fn finish_ndb_profile_record_buffer<'a, 'b>(
fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>,
- root: flatbuffers::WIPOffset<NdbProfileRecord<'a>>) {
- fbb.finish(root, None);
+ root: flatbuffers::WIPOffset<NdbProfileRecord<'a>>,
+) {
+ fbb.finish(root, None);
}
#[inline]
-pub fn finish_size_prefixed_ndb_profile_record_buffer<'a, 'b>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>, root: flatbuffers::WIPOffset<NdbProfileRecord<'a>>) {
- fbb.finish_size_prefixed(root, None);
+pub fn finish_size_prefixed_ndb_profile_record_buffer<'a, 'b>(
+ fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>,
+ root: flatbuffers::WIPOffset<NdbProfileRecord<'a>>,
+) {
+ fbb.finish_size_prefixed(root, None);
}
diff --git a/src/note.rs b/src/note.rs
@@ -25,7 +25,7 @@ pub struct NoteBuildOptions<'a> {
pub sign_key: Option<&'a [u8; 32]>,
}
-impl<'a> Default for NoteBuildOptions<'a> {
+impl Default for NoteBuildOptions<'_> {
fn default() -> Self {
NoteBuildOptions {
set_created_at: true,
@@ -46,7 +46,7 @@ impl<'a> NoteBuildOptions<'a> {
}
}
-#[derive(Debug, Clone)]
+#[derive(Debug)]
pub enum Note<'a> {
/// A note in-memory outside of nostrdb. This note is a pointer to a note in
/// memory and will be free'd when [Drop]ped. Method such as [Note::from_json]
@@ -69,6 +69,51 @@ pub enum Note<'a> {
},
}
+impl Clone for Note<'_> {
+ fn clone(&self) -> Self {
+ // TODO (jb55): it is still probably better to just separate owned notes
+ // into NoteBuf... that way we know exactly what we are cloning
+ // and when. Owned notes are a bit more expensive to clone, so
+ // it would be better if API encoded that explicitly.
+ match self {
+ Note::Owned { ptr, size } => {
+ // Allocate memory for the cloned note
+ let new_ptr = unsafe { libc::malloc(*size) as *mut bindings::ndb_note };
+ if new_ptr.is_null() {
+ panic!("Failed to allocate memory for cloned note");
+ }
+
+ // Use memcpy to copy the memory
+ unsafe {
+ libc::memcpy(
+ new_ptr as *mut libc::c_void,
+ *ptr as *const libc::c_void,
+ *size,
+ );
+ }
+
+ // Return a new Owned Note
+ Note::Owned {
+ ptr: new_ptr,
+ size: *size,
+ }
+ }
+
+ Note::Transactional {
+ ptr,
+ size,
+ key,
+ transaction,
+ } => Note::Transactional {
+ ptr: *ptr,
+ size: *size,
+ key: *key,
+ transaction,
+ },
+ }
+ }
+}
+
impl<'a> Note<'a> {
/// Constructs an owned `Note`. This note is a pointer to a note in
/// memory and will be free'd when [Drop]ped. You normally wouldn't
@@ -205,7 +250,7 @@ impl<'a> Note<'a> {
}
}
-impl<'a> Drop for Note<'a> {
+impl Drop for Note<'_> {
fn drop(&mut self) {
if let Note::Owned { ptr, .. } = self {
unsafe { libc::free((*ptr) as *mut libc::c_void) }
@@ -264,7 +309,7 @@ pub struct NoteBuilder<'a> {
options: NoteBuildOptions<'a>,
}
-impl<'a> Default for NoteBuilder<'a> {
+impl Default for NoteBuilder<'_> {
fn default() -> Self {
NoteBuilder::new()
}
diff --git a/src/subscription.rs b/src/subscription.rs
@@ -1,4 +1,3 @@
-
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Subscription(u64);
diff --git a/src/util/nip10.rs b/src/util/nip10.rs
@@ -16,7 +16,7 @@ pub struct NoteIdRef<'a> {
pub marker: Option<Marker>,
}
-impl<'a> NoteIdRef<'a> {
+impl NoteIdRef<'_> {
pub fn to_owned(&self) -> NoteIdRefBuf {
NoteIdRefBuf {
index: self.index,