[INFO] fetching crate tinydtls-sys 0.2.0+tinydtls-9d6cf54... [INFO] checking tinydtls-sys-0.2.0+tinydtls-9d6cf54 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate tinydtls-sys 0.2.0+tinydtls-9d6cf54 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate tinydtls-sys 0.2.0+tinydtls-9d6cf54 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate tinydtls-sys 0.2.0+tinydtls-9d6cf54 [INFO] finished tweaking crates.io crate tinydtls-sys 0.2.0+tinydtls-9d6cf54 [INFO] tweaked toml for crates.io crate tinydtls-sys 0.2.0+tinydtls-9d6cf54 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 46 packages to latest compatible versions [INFO] [stderr] Adding bindgen v0.69.4 (available: v0.70.1) [INFO] [stderr] Adding itertools v0.12.1 (available: v0.13.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding which v4.4.2 (available: v6.0.3) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 766f3b86ab69d2fb3252d270beb6ec7fad862900d224ea6067c45dd95655684f [INFO] running `Command { std: "docker" "start" "-a" "766f3b86ab69d2fb3252d270beb6ec7fad862900d224ea6067c45dd95655684f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "766f3b86ab69d2fb3252d270beb6ec7fad862900d224ea6067c45dd95655684f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "766f3b86ab69d2fb3252d270beb6ec7fad862900d224ea6067c45dd95655684f", kill_on_drop: false }` [INFO] [stdout] 766f3b86ab69d2fb3252d270beb6ec7fad862900d224ea6067c45dd95655684f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a3d4956e5732aa1d8ed14d84f6ddfe2023b12661f03bea552ee452227d059e5f [INFO] running `Command { std: "docker" "start" "-a" "a3d4956e5732aa1d8ed14d84f6ddfe2023b12661f03bea552ee452227d059e5f", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling prettyplease v0.2.22 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling bindgen v0.69.4 [INFO] [stderr] Compiling home v0.5.9 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling libloading v0.8.5 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling autotools v0.2.7 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Compiling tinydtls-sys v0.2.0+tinydtls-9d6cf54 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Fixed /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs (54 fixes) [INFO] [stderr] Fixed src/lib.rs (9 fixes) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.87s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling tinydtls-sys v0.2.0+tinydtls-9d6cf54 (/tmp/fixit) [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12046 [INFO] [stdout] | [INFO] [stdout] 3 | ...sha384_ctx = dtls_sha512_ctx ; extern "C" { pub fn dtls_sha256_init (arg1 : * mut dtls_sha256_ctx) ; } extern "C" { pub fn dtls_sha256... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12118 [INFO] [stdout] | [INFO] [stdout] 3 | ..._ctx) ; } extern "C" { pub fn dtls_sha256_update (arg1 : * mut dtls_sha256_ctx , arg2 : * const u_int8_t , arg3 : usize) ; } extern "C... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12233 [INFO] [stdout] | [INFO] [stdout] 3 | ... arg3 : usize) ; } extern "C" { pub fn dtls_sha256_final (arg1 : * mut u_int8_t , arg2 : * mut dtls_sha256_ctx) ; } extern "C" { pub f... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12330 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_sha256_end (arg1 : * mut dtls_sha256_ctx , arg2 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12485 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_sha256_data (arg1 : * const u_int8_t , arg2 : usize , arg3 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pu... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:14658 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Initializes an existing HMAC context.\n\n @param ctx The HMAC context to initialize.\n @param key The secret key.\n @param klen The length of @p key."] pub fn dtls_hmac_init (ctx : * mut dtls_hmac_context_t , key : * const :: std :: os :: raw :: c_uchar , klen : usize) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:14961 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Updates the HMAC context with data from \\p input.\n\n \\param ctx The HMAC context.\n \\param input The input data.\n \\param ilen Size of \\p input."] pub fn dtls_hmac_update (ctx : * mut dtls_hmac_context_t , input : * const :: std :: os :: raw :: c_uchar , ilen : usize) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:15270 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Completes the HMAC generation and writes the result to the given\n output parameter \\c result. The buffer must be large enough to hold\n the message digest created by the actual hash function. If in\n doubt, use \\c DTLS_HMAC_MAX. The function returns the number of\n bytes written to \\c result.\n\n \\param ctx The HMAC context.\n \\param result Output parameter where the MAC is written to.\n \\return Length of the MAC written to \\p result."] pub fn dtls_hmac_finalize (ctx : * mut dtls_hmac_context_t , result : * mut :: std :: os :: raw :: c_uchar) -> :: std :: os :: raw :: c_int ; } # ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:21170 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Resets the given session_t object @p sess to its default\n values. In particular, the member rlen must be initialized to the\n available size for storing addresses.\n\n @param sess The session_t object to initialize."] pub fn dtls_session_init (sess : * mut session_t) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:21468 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Creates a new ::session_t for the given address.\n\n @param addr Address which should be stored in the ::session_t.\n @param addrlen Length of the @p addr.\n @return The new session or @c NULL on error."] pub fn dtls_new_session (addr : * mut sockaddr , addrlen : socklen_t) -> * mut session_t ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:21790 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Frees memory allocated for a session using ::dtls_new_session.\n\n @param sess Pointer to a session for which allocated memory should be\n freed."] pub fn dtls_free_session (sess : * mut session_t) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:22020 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Extracts the address of the given ::session_t.\n\n @param sess Session to extract address for.\n @param addrlen Pointer to memory location where the address\n length should be stored.\n @return The address or @c NULL if @p sess was @c NULL."] pub fn dtls_session_addr (sess : * mut session_t , addrlen : * mut socklen_t) -> * mut sockaddr ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:22391 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Compares the given session objects. This function returns @c 0\n when @p a and @p b differ, @c 1 otherwise."] pub fn dtls_session_equals (a : * const session_t , b : * const session_t) -> :: std :: os :: raw :: c_int ; } pu... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:23638 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Authenticates and encrypts a message using AES in CCM mode. Please\n see also RFC 3610 for the meaning of \\p M, \\p L, \\p lm and \\p la.\n\n \\param ctx The initialized rijndael_ctx object to be used for AES operations.\n \\param M The number of authentication octets.\n \\param L The number of bytes used to encode the message length.\n \\param nonce The nonce value to use. You must provide \\c DTLS_CCM_BLOCKSIZE\n nonce octets, although only the first \\c 16 - \\p L - 1 are used.\n \\param msg The message to encrypt. The first \\p la octets are additional\n authentication data that will be cleartext. Note that the\n encryption operation modifies the contents of \\p msg and adds\n \\p M bytes MAC. Therefore, the buffer must be at least\n \\p lm + \\p M bytes large.\n \\param lm The actual length of \\p msg.\n \\param aad A pointer to the additional authentication data (can be \\c NULL if\n \\p la is zero).\n \\param la The number of additional authentication octets (may be zero).\n \\return FIXME"] pub fn dtls_ccm_encrypt_message (ctx : * mut rijndael_ctx , M : usize , L : usize , nonce : * const :: std :: os :: raw :: c_uchar , msg : * mut :: std :: os :: raw :: c_uchar , lm : usize , aad : * const :: std :: os :: raw :: c_uchar , la : usize) -> :: std :: os :: raw :: c_long ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:25036 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ccm_decrypt_message (ctx : * mut rijndael_ctx , M : usize , L : usize , nonce : * const :: std :: os :: raw :: c_uchar , msg : * mut :: std :: os :: raw :: c_uchar , lm : usize , aad : * const :: std :: os :: raw :: c_uchar , la : usize) -> :: std :: os :: raw :: c_long ; } # ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12046 [INFO] [stdout] | [INFO] [stdout] 3 | ...sha384_ctx = dtls_sha512_ctx ; extern "C" { pub fn dtls_sha256_init (arg1 : * mut dtls_sha256_ctx) ; } extern "C" { pub fn dtls_sha256... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:46688 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Expands the secret and key to a block of DTLS_HMAC_MAX\n size according to the algorithm specified in section 5 of\n RFC 4346.\n\n \\param h Identifier of the hash function to use.\n \\param key The secret.\n \\param keylen Length of \\p key.\n \\param label The label.\n \\param labellen Length of \\p label.\n \\param random1 The random pt 1.\n \\param random1len Length of \\p random1.\n \\param random2 The random pt 2.\n \\param random2len Length of \\p random2.\n \\param buf Output buffer where the result is XORed into\n \\param buflen The available space for \\p buf\n\n \\return The actual number of bytes written to \\p buf or 0\n on error."] pub fn dtls_p_hash (h : dtls_hashfunc_t , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , label : * const :: std :: os :: raw :: c_uchar , labellen : usize , random1 : * const :: std :: os :: raw :: c_uchar , random1len : usize , random2 : * const :: std :: os :: raw :: c_uchar , random2len : usize , buf : * mut :: std :: os :: raw :: c_uchar , buflen : usize) -> usize ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12118 [INFO] [stdout] | [INFO] [stdout] 3 | ..._ctx) ; } extern "C" { pub fn dtls_sha256_update (arg1 : * mut dtls_sha256_ctx , arg2 : * const u_int8_t , arg3 : usize) ; } extern "C... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12233 [INFO] [stdout] | [INFO] [stdout] 3 | ... arg3 : usize) ; } extern "C" { pub fn dtls_sha256_final (arg1 : * mut u_int8_t , arg2 : * mut dtls_sha256_ctx) ; } extern "C" { pub f... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:47777 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " This function implements the TLS PRF for DTLS_VERSION. For version\n 1.0, the PRF is P_MD5 ^ P_SHA1 while version 1.2 uses\n P_SHA256. Currently, the actual PRF is selected at compile time."] pub fn dtls_prf (key : * const :: std :: os :: raw :: c_uchar , keylen : usize , label : * const :: std :: os :: raw :: c_uchar , labellen : usize , random1 : * const :: std :: os :: raw :: c_uchar , random1len : usize , random2 : * const :: std :: os :: raw :: c_uchar , random2len : usize , buf : * mut :: std :: os :: raw :: c_uchar , buflen : usize) -> usize ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12330 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_sha256_end (arg1 : * mut dtls_sha256_ctx , arg2 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:48360 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Calculates MAC for record + cleartext packet and places the result\n in \\p buf. The given \\p hmac_ctx must be initialized with the HMAC\n function to use and the proper secret. As the DTLS mac calculation\n requires data from the record header, \\p record must point to a\n buffer of at least \\c sizeof(dtls_record_header_t) bytes. Usually,\n the remaining packet will be encrypted, therefore, the cleartext\n is passed separately in \\p packet.\n\n \\param hmac_ctx The HMAC context to use for MAC calculation.\n \\param record The record header.\n \\param packet Cleartext payload to apply the MAC to.\n \\param length Size of \\p packet.\n \\param buf A result buffer that is large enough to hold\n the generated digest."] pub fn dtls_mac (hmac_ctx : * mut dtls_hmac_context_t , record : * const :: std :: os :: raw :: c_uchar , packet : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar) ; } # ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:12485 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_sha256_data (arg1 : * const u_int8_t , arg2 : usize , arg3 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pu... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:14658 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Initializes an existing HMAC context.\n\n @param ctx The HMAC context to initialize.\n @param key The secret key.\n @param klen The length of @p key."] pub fn dtls_hmac_init (ctx : * mut dtls_hmac_context_t , key : * const :: std :: os :: raw :: c_uchar , klen : usize) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:50797 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Encrypts the specified \\p src of given \\p length, writing the\n result to \\p buf. The cipher implementation may add more data to\n the result buffer such as an initialization vector or padding\n (e.g. for block ciphers in CBC mode). The caller therefore must\n ensure that \\p buf provides sufficient storage to hold the result.\n Usually this means ( 2 + \\p length / blocksize ) * blocksize. The\n function returns a value less than zero on error or otherwise the\n number of bytes written. The provided \\p src and \\p buf may overlap.\n\n \\param params AEAD parameters: Nonce, M and L.\n \\param src The data to encrypt.\n \\param length The actual size of of \\p src.\n \\param buf The result buffer. \\p src and \\p buf must not\n overlap.\n \\param key The key to use\n \\param keylen The length of the key\n \\param aad additional data for AEAD ciphers\n \\param aad_length actual size of @p aad\n \\return The number of encrypted bytes on success, less than zero\n otherwise."] pub fn dtls_encrypt_params (params : * const dtls_ccm_params_t , src : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , aad : * const :: std :: os :: raw :: c_uchar , aad_length : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:14961 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Updates the HMAC context with data from \\p input.\n\n \\param ctx The HMAC context.\n \\param input The input data.\n \\param ilen Size of \\p input."] pub fn dtls_hmac_update (ctx : * mut dtls_hmac_context_t , input : * const :: std :: os :: raw :: c_uchar , ilen : usize) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:52190 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Encrypts the specified \\p src of given \\p length, writing the\n result to \\p buf. The cipher implementation may add more data to\n the result buffer such as an initialization vector or padding\n (e.g. for block ciphers in CBC mode). The caller therefore must\n ensure that \\p buf provides sufficient storage to hold the result.\n Usually this means ( 2 + \\p length / blocksize ) * blocksize. The\n function returns a value less than zero on error or otherwise the\n number of bytes written. The provided \\p src and \\p buf may overlap.\n\n \\param src The data to encrypt.\n \\param length The actual size of of \\p src.\n \\param buf The result buffer.\n \\param nonce The nonce used for encryption. Must be exactly 13\n bytes, because L is set to 2.\n \\param key The key to use\n \\param keylen The length of the key\n \\param aad additional data for AEAD ciphers\n \\param aad_length actual size of @p aad\n\n \\return The number of encrypted bytes on success, less than zero\n otherwise.\n\n \\deprecated dtls_encrypt() always sets M=8, L=2. Use\n dtls_encrypt_params() instead."] pub fn dtls_encrypt (src : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar , nonce : * const :: std :: os :: raw :: c_uchar , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , aad : * const :: std :: os :: raw :: c_uchar , aad_length : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:15270 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Completes the HMAC generation and writes the result to the given\n output parameter \\c result. The buffer must be large enough to hold\n the message digest created by the actual hash function. If in\n doubt, use \\c DTLS_HMAC_MAX. The function returns the number of\n bytes written to \\c result.\n\n \\param ctx The HMAC context.\n \\param result Output parameter where the MAC is written to.\n \\return Length of the MAC written to \\p result."] pub fn dtls_hmac_finalize (ctx : * mut dtls_hmac_context_t , result : * mut :: std :: os :: raw :: c_uchar) -> :: std :: os :: raw :: c_int ; } # ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:21170 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Resets the given session_t object @p sess to its default\n values. In particular, the member rlen must be initialized to the\n available size for storing addresses.\n\n @param sess The session_t object to initialize."] pub fn dtls_session_init (sess : * mut session_t) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:53700 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Decrypts the given buffer \\p src of given \\p length, writing the\n result to \\p buf. The function returns \\c -1 in case of an error,\n or the number of bytes written. Note that for block ciphers, \\p\n length must be a multiple of the cipher's block size. A return\n value between \\c 0 and the actual length indicates that only \\c n-1\n block have been processed. The provided \\p src and \\p buf may overlap.\n\n \\param params AEAD parameters: Nonce, M and L.\n \\param src The input buffer to decrypt.\n \\param length The length of the input buffer.\n \\param buf The result buffer.\n \\param key The key to use\n \\param keylen The length of the key\n \\param aad additional authentication data for AEAD ciphers\n \\param aad_length actual size of @p aad\n\n \\return Less than zero on error, the number of decrypted bytes\n otherwise."] pub fn dtls_decrypt_params (params : * const dtls_ccm_params_t , src : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , aad : * const :: std :: os :: raw :: c_uchar , aad_length : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:21468 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Creates a new ::session_t for the given address.\n\n @param addr Address which should be stored in the ::session_t.\n @param addrlen Length of the @p addr.\n @return The new session or @c NULL on error."] pub fn dtls_new_session (addr : * mut sockaddr , addrlen : socklen_t) -> * mut session_t ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:54940 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Decrypts the given buffer \\p src of given \\p length, writing the\n result to \\p buf. The function returns \\c -1 in case of an error,\n or the number of bytes written. Note that for block ciphers, \\p\n length must be a multiple of the cipher's block size. A return\n value between \\c 0 and the actual length indicates that only \\c n-1\n block have been processed. The provided \\p src and \\p buf may overlap.\n\n \\param src The buffer to decrypt.\n \\param length The length of the input buffer.\n \\param buf The result buffer.\n \\param nonce The nonce used for encryption. Must be exactly 13\n bytes, because L is set to 2.\n \\param key The key to use\n \\param keylen The key to use\n \\param a_data additional authentication data for AEAD ciphers\n \\param a_data_length actual size of @p aad\n \\return Less than zero on error, the number of decrypted bytes\n otherwise.\n\n \\deprecated dtls_decrypt() always sets M=8, L=2. Use\n dtls_decrypt_params() instead."] pub fn dtls_decrypt (src : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar , nonce : * const :: std :: os :: raw :: c_uchar , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , a_data : * const :: std :: os :: raw :: c_uchar , a_data_length : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:21790 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Frees memory allocated for a session using ::dtls_new_session.\n\n @param sess Pointer to a session for which allocated memory should be\n freed."] pub fn dtls_free_session (sess : * mut session_t) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:56345 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Generates pre_master_sercet from given PSK and fills the result\n according to the \"plain PSK\" case in section 2 of RFC 4279.\n Diffie-Hellman and RSA key exchange are currently not supported.\n\n @param key The shared key.\n @param keylen Length of @p key in bytes.\n @param result The derived pre master secret.\n @param result_len The length of derived pre master secret.\n @return The actual length of @p result."] pub fn dtls_psk_pre_master_secret (key : * mut :: std :: os :: raw :: c_uchar , keylen : usize , result : * mut :: std :: os :: raw :: c_uchar , result_len : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:22020 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Extracts the address of the given ::session_t.\n\n @param sess Session to extract address for.\n @param addrlen Pointer to memory location where the address\n length should be stored.\n @return The address or @c NULL if @p sess was @c NULL."] pub fn dtls_session_addr (sess : * mut session_t , addrlen : * mut socklen_t) -> * mut sockaddr ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:22391 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Compares the given session objects. This function returns @c 0\n when @p a and @p b differ, @c 1 otherwise."] pub fn dtls_session_equals (a : * const session_t , b : * const session_t) -> :: std :: os :: raw :: c_int ; } pu... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:56994 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdh_pre_master_secret (priv_key : * mut :: std :: os :: raw :: c_uchar , pub_key_x : * mut :: std :: os :: raw :: c_uchar , pub_key_y : * mut :: std :: os :: raw :: c_uchar , key_size : usize , result : * mut :: std :: os :: raw :: c_uchar , result_len : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:23638 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Authenticates and encrypts a message using AES in CCM mode. Please\n see also RFC 3610 for the meaning of \\p M, \\p L, \\p lm and \\p la.\n\n \\param ctx The initialized rijndael_ctx object to be used for AES operations.\n \\param M The number of authentication octets.\n \\param L The number of bytes used to encode the message length.\n \\param nonce The nonce value to use. You must provide \\c DTLS_CCM_BLOCKSIZE\n nonce octets, although only the first \\c 16 - \\p L - 1 are used.\n \\param msg The message to encrypt. The first \\p la octets are additional\n authentication data that will be cleartext. Note that the\n encryption operation modifies the contents of \\p msg and adds\n \\p M bytes MAC. Therefore, the buffer must be at least\n \\p lm + \\p M bytes large.\n \\param lm The actual length of \\p msg.\n \\param aad A pointer to the additional authentication data (can be \\c NULL if\n \\p la is zero).\n \\param la The number of additional authentication octets (may be zero).\n \\return FIXME"] pub fn dtls_ccm_encrypt_message (ctx : * mut rijndael_ctx , M : usize , L : usize , nonce : * const :: std :: os :: raw :: c_uchar , msg : * mut :: std :: os :: raw :: c_uchar , lm : usize , aad : * const :: std :: os :: raw :: c_uchar , la : usize) -> :: std :: os :: raw :: c_long ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:57318 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_generate_key (priv_key : * mut :: std :: os :: raw :: c_uchar , pub_key_x : * mut :: std :: os :: raw :: c_uchar , pub_key_y : * mut :: std :: os :: raw :: c_uchar , key_size : usize) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:25036 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ccm_decrypt_message (ctx : * mut rijndael_ctx , M : usize , L : usize , nonce : * const :: std :: os :: raw :: c_uchar , msg : * mut :: std :: os :: raw :: c_uchar , lm : usize , aad : * const :: std :: os :: raw :: c_uchar , la : usize) -> :: std :: os :: raw :: c_long ; } # ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:57537 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_create_sig_hash (priv_key : * const :: std :: os :: raw :: c_uchar , key_size : usize , sign_hash : * const :: std :: os :: raw :: c_uchar , sign_hash_size : usize , point_r : * mut u32 , point_s : * mut u32) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:46688 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Expands the secret and key to a block of DTLS_HMAC_MAX\n size according to the algorithm specified in section 5 of\n RFC 4346.\n\n \\param h Identifier of the hash function to use.\n \\param key The secret.\n \\param keylen Length of \\p key.\n \\param label The label.\n \\param labellen Length of \\p label.\n \\param random1 The random pt 1.\n \\param random1len Length of \\p random1.\n \\param random2 The random pt 2.\n \\param random2len Length of \\p random2.\n \\param buf Output buffer where the result is XORed into\n \\param buflen The available space for \\p buf\n\n \\return The actual number of bytes written to \\p buf or 0\n on error."] pub fn dtls_p_hash (h : dtls_hashfunc_t , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , label : * const :: std :: os :: raw :: c_uchar , labellen : usize , random1 : * const :: std :: os :: raw :: c_uchar , random1len : usize , random2 : * const :: std :: os :: raw :: c_uchar , random2len : usize , buf : * mut :: std :: os :: raw :: c_uchar , buflen : usize) -> usize ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:57781 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_create_sig (priv_key : * const :: std :: os :: raw :: c_uchar , key_size : usize , client_random : * const :: std :: os :: raw :: c_uchar , client_random_size : usize , server_random : * const :: std :: os :: raw :: c_uchar , server_random_size : usize , keyx_params : * const :: std :: os :: raw :: c_uchar , keyx_params_size : usize , point_r : * mut u32 , point_s : * mut u32) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:47777 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " This function implements the TLS PRF for DTLS_VERSION. For version\n 1.0, the PRF is P_MD5 ^ P_SHA1 while version 1.2 uses\n P_SHA256. Currently, the actual PRF is selected at compile time."] pub fn dtls_prf (key : * const :: std :: os :: raw :: c_uchar , keylen : usize , label : * const :: std :: os :: raw :: c_uchar , labellen : usize , random1 : * const :: std :: os :: raw :: c_uchar , random1len : usize , random2 : * const :: std :: os :: raw :: c_uchar , random2len : usize , buf : * mut :: std :: os :: raw :: c_uchar , buflen : usize) -> usize ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:58196 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_verify_sig_hash (pub_key_x : * const :: std :: os :: raw :: c_uchar , pub_key_y : * const :: std :: os :: raw :: c_uchar , key_size : usize , sign_hash : * const :: std :: os :: raw :: c_uchar , sign_hash_size : usize , result_r : * mut :: std :: os :: raw :: c_uchar , result_s : * mut :: std :: os :: raw :: c_uchar) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:48360 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Calculates MAC for record + cleartext packet and places the result\n in \\p buf. The given \\p hmac_ctx must be initialized with the HMAC\n function to use and the proper secret. As the DTLS mac calculation\n requires data from the record header, \\p record must point to a\n buffer of at least \\c sizeof(dtls_record_header_t) bytes. Usually,\n the remaining packet will be encrypted, therefore, the cleartext\n is passed separately in \\p packet.\n\n \\param hmac_ctx The HMAC context to use for MAC calculation.\n \\param record The record header.\n \\param packet Cleartext payload to apply the MAC to.\n \\param length Size of \\p packet.\n \\param buf A result buffer that is large enough to hold\n the generated digest."] pub fn dtls_mac (hmac_ctx : * mut dtls_hmac_context_t , record : * const :: std :: os :: raw :: c_uchar , packet : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar) ; } # ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:50797 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Encrypts the specified \\p src of given \\p length, writing the\n result to \\p buf. The cipher implementation may add more data to\n the result buffer such as an initialization vector or padding\n (e.g. for block ciphers in CBC mode). The caller therefore must\n ensure that \\p buf provides sufficient storage to hold the result.\n Usually this means ( 2 + \\p length / blocksize ) * blocksize. The\n function returns a value less than zero on error or otherwise the\n number of bytes written. The provided \\p src and \\p buf may overlap.\n\n \\param params AEAD parameters: Nonce, M and L.\n \\param src The data to encrypt.\n \\param length The actual size of of \\p src.\n \\param buf The result buffer. \\p src and \\p buf must not\n overlap.\n \\param key The key to use\n \\param keylen The length of the key\n \\param aad additional data for AEAD ciphers\n \\param aad_length actual size of @p aad\n \\return The number of encrypted bytes on success, less than zero\n otherwise."] pub fn dtls_encrypt_params (params : * const dtls_ccm_params_t , src : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , aad : * const :: std :: os :: raw :: c_uchar , aad_length : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:58582 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_verify_sig (pub_key_x : * const :: std :: os :: raw :: c_uchar , pub_key_y : * const :: std :: os :: raw :: c_uchar , key_size : usize , client_random : * const :: std :: os :: raw :: c_uchar , client_random_size : usize , server_random : * const :: std :: os :: raw :: c_uchar , server_random_size : usize , keyx_params : * const :: std :: os :: raw :: c_uchar , keyx_params_size : usize , result_r : * mut :: std :: os :: raw :: c_uchar , result_s : * mut :: std :: os :: raw :: c_uchar) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:52190 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Encrypts the specified \\p src of given \\p length, writing the\n result to \\p buf. The cipher implementation may add more data to\n the result buffer such as an initialization vector or padding\n (e.g. for block ciphers in CBC mode). The caller therefore must\n ensure that \\p buf provides sufficient storage to hold the result.\n Usually this means ( 2 + \\p length / blocksize ) * blocksize. The\n function returns a value less than zero on error or otherwise the\n number of bytes written. The provided \\p src and \\p buf may overlap.\n\n \\param src The data to encrypt.\n \\param length The actual size of of \\p src.\n \\param buf The result buffer.\n \\param nonce The nonce used for encryption. Must be exactly 13\n bytes, because L is set to 2.\n \\param key The key to use\n \\param keylen The length of the key\n \\param aad additional data for AEAD ciphers\n \\param aad_length actual size of @p aad\n\n \\return The number of encrypted bytes on success, less than zero\n otherwise.\n\n \\deprecated dtls_encrypt() always sets M=8, L=2. Use\n dtls_encrypt_params() instead."] pub fn dtls_encrypt (src : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar , nonce : * const :: std :: os :: raw :: c_uchar , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , aad : * const :: std :: os :: raw :: c_uchar , aad_length : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59139 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ec_key_asn1_from_uint32 (key : * const u32 , key_size : usize , buf : * mut :: std :: os :: raw :: c_uchar) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:53700 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Decrypts the given buffer \\p src of given \\p length, writing the\n result to \\p buf. The function returns \\c -1 in case of an error,\n or the number of bytes written. Note that for block ciphers, \\p\n length must be a multiple of the cipher's block size. A return\n value between \\c 0 and the actual length indicates that only \\c n-1\n block have been processed. The provided \\p src and \\p buf may overlap.\n\n \\param params AEAD parameters: Nonce, M and L.\n \\param src The input buffer to decrypt.\n \\param length The length of the input buffer.\n \\param buf The result buffer.\n \\param key The key to use\n \\param keylen The length of the key\n \\param aad additional authentication data for AEAD ciphers\n \\param aad_length actual size of @p aad\n\n \\return Less than zero on error, the number of decrypted bytes\n otherwise."] pub fn dtls_decrypt_params (params : * const dtls_ccm_params_t , src : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , aad : * const :: std :: os :: raw :: c_uchar , aad_length : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59308 [INFO] [stdout] | [INFO] [stdout] 3 | ...:: os :: raw :: c_int ; } extern "C" { pub fn dtls_handshake_new () -> * mut dtls_handshake_parameters_t ; } extern "C" { pub fn dtls_... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:54940 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Decrypts the given buffer \\p src of given \\p length, writing the\n result to \\p buf. The function returns \\c -1 in case of an error,\n or the number of bytes written. Note that for block ciphers, \\p\n length must be a multiple of the cipher's block size. A return\n value between \\c 0 and the actual length indicates that only \\c n-1\n block have been processed. The provided \\p src and \\p buf may overlap.\n\n \\param src The buffer to decrypt.\n \\param length The length of the input buffer.\n \\param buf The result buffer.\n \\param nonce The nonce used for encryption. Must be exactly 13\n bytes, because L is set to 2.\n \\param key The key to use\n \\param keylen The key to use\n \\param a_data additional authentication data for AEAD ciphers\n \\param a_data_length actual size of @p aad\n \\return Less than zero on error, the number of decrypted bytes\n otherwise.\n\n \\deprecated dtls_decrypt() always sets M=8, L=2. Use\n dtls_decrypt_params() instead."] pub fn dtls_decrypt (src : * const :: std :: os :: raw :: c_uchar , length : usize , buf : * mut :: std :: os :: raw :: c_uchar , nonce : * const :: std :: os :: raw :: c_uchar , key : * const :: std :: os :: raw :: c_uchar , keylen : usize , a_data : * const :: std :: os :: raw :: c_uchar , a_data_length : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59391 [INFO] [stdout] | [INFO] [stdout] 3 | ...ake_parameters_t ; } extern "C" { pub fn dtls_handshake_free (handshake : * mut dtls_handshake_parameters_t) ; } extern "C" { pub fn d... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:56345 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Generates pre_master_sercet from given PSK and fills the result\n according to the \"plain PSK\" case in section 2 of RFC 4279.\n Diffie-Hellman and RSA key exchange are currently not supported.\n\n @param key The shared key.\n @param keylen Length of @p key in bytes.\n @param result The derived pre master secret.\n @param result_len The length of derived pre master secret.\n @return The actual length of @p result."] pub fn dtls_psk_pre_master_secret (key : * mut :: std :: os :: raw :: c_uchar , keylen : usize , result : * mut :: std :: os :: raw :: c_uchar , result_len : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59483 [INFO] [stdout] | [INFO] [stdout] 3 | ...andshake_parameters_t) ; } extern "C" { pub fn dtls_security_new () -> * mut dtls_security_parameters_t ; } extern "C" { pub fn dtls_s... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:56994 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdh_pre_master_secret (priv_key : * mut :: std :: os :: raw :: c_uchar , pub_key_x : * mut :: std :: os :: raw :: c_uchar , pub_key_y : * mut :: std :: os :: raw :: c_uchar , key_size : usize , result : * mut :: std :: os :: raw :: c_uchar , result_len : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59564 [INFO] [stdout] | [INFO] [stdout] 3 | ...urity_parameters_t ; } extern "C" { pub fn dtls_security_free (security : * mut dtls_security_parameters_t) ; } # [repr (C)] # [derive... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:57318 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_generate_key (priv_key : * mut :: std :: os :: raw :: c_uchar , pub_key_x : * mut :: std :: os :: raw :: c_uchar , pub_key_y : * mut :: std :: os :: raw :: c_uchar , key_size : usize) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:70934 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Creates a new peer for given @p session. The current configuration\n is initialized with the cipher suite TLS_NULL_WITH_NULL_NULL (i.e.\n no security at all). This function returns a pointer to the new\n peer or NULL on error. The caller is responsible for releasing the\n storage allocated for this peer using dtls_free_peer().\n\n @param session The remote peer's address and local interface index.\n @return A pointer to a newly created and initialized peer object\n or NULL on error."] pub fn dtls_new_peer (session : * const session_t) -> * mut dtls_peer_t ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:57537 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_create_sig_hash (priv_key : * const :: std :: os :: raw :: c_uchar , key_size : usize , sign_hash : * const :: std :: os :: raw :: c_uchar , sign_hash_size : usize , point_r : * mut u32 , point_s : * mut u32) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:57781 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_create_sig (priv_key : * const :: std :: os :: raw :: c_uchar , key_size : usize , client_random : * const :: std :: os :: raw :: c_uchar , client_random_size : usize , server_random : * const :: std :: os :: raw :: c_uchar , server_random_size : usize , keyx_params : * const :: std :: os :: raw :: c_uchar , keyx_params_size : usize , point_r : * mut u32 , point_s : * mut u32) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:71525 [INFO] [stdout] | [INFO] [stdout] 3 | ...t ; } extern "C" { # [doc = " Releases the storage allocated to @p peer."] pub fn dtls_free_peer (peer : * mut dtls_peer_t) ; } # [rep... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:58196 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_verify_sig_hash (pub_key_x : * const :: std :: os :: raw :: c_uchar , pub_key_y : * const :: std :: os :: raw :: c_uchar , key_size : usize , sign_hash : * const :: std :: os :: raw :: c_uchar , sign_hash_size : usize , result_r : * mut :: std :: os :: raw :: c_uchar , result_s : * mut :: std :: os :: raw :: c_uchar) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:72794 [INFO] [stdout] | [INFO] [stdout] 3 | ...= u32 ; pub type dtls_tick_t = clock_time_t ; extern "C" { pub fn dtls_clock_init () ; } extern "C" { pub fn dtls_ticks (t : * mut dtl... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:58582 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ecdsa_verify_sig (pub_key_x : * const :: std :: os :: raw :: c_uchar , pub_key_y : * const :: std :: os :: raw :: c_uchar , key_size : usize , client_random : * const :: std :: os :: raw :: c_uchar , client_random_size : usize , server_random : * const :: std :: os :: raw :: c_uchar , server_random_size : usize , keyx_params : * const :: std :: os :: raw :: c_uchar , keyx_params_size : usize , result_r : * mut :: std :: os :: raw :: c_uchar , result_s : * mut :: std :: os :: raw :: c_uchar) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:72837 [INFO] [stdout] | [INFO] [stdout] 3 | ...n "C" { pub fn dtls_clock_init () ; } extern "C" { pub fn dtls_ticks (t : * mut dtls_tick_t) ; } # [repr (u32)] # [non_exhaustive] # [... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59139 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { pub fn dtls_ec_key_asn1_from_uint32 (key : * const u32 , key_size : usize , buf : * mut :: std :: os :: raw :: c_uchar) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:86156 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " This function initializes the tinyDTLS memory management and must\n be called first."] pub fn dtls_init () ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59308 [INFO] [stdout] | [INFO] [stdout] 3 | ...:: os :: raw :: c_int ; } extern "C" { pub fn dtls_handshake_new () -> * mut dtls_handshake_parameters_t ; } extern "C" { pub fn dtls_... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59391 [INFO] [stdout] | [INFO] [stdout] 3 | ...ake_parameters_t ; } extern "C" { pub fn dtls_handshake_free (handshake : * mut dtls_handshake_parameters_t) ; } extern "C" { pub fn d... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:86291 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Creates a new context object. The storage allocated for the new\n object must be released with dtls_free_context()."] pub fn dtls_new_context (app_data : * mut :: std :: os :: raw :: c_void) -> * mut dtls_context_t ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59483 [INFO] [stdout] | [INFO] [stdout] 3 | ...andshake_parameters_t) ; } extern "C" { pub fn dtls_security_new () -> * mut dtls_security_parameters_t ; } extern "C" { pub fn dtls_s... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:86534 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Releases any storage that has been allocated for \\p ctx."] pub fn dtls_free_context (ctx : * mut dtls_context_t) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:59564 [INFO] [stdout] | [INFO] [stdout] 3 | ...urity_parameters_t ; } extern "C" { pub fn dtls_security_free (security : * mut dtls_security_parameters_t) ; } # [repr (C)] # [derive... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:86676 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Establishes a DTLS channel with the specified remote peer @p dst.\n This function returns @c 0 if that channel already exists, a value\n greater than zero when a new ClientHello message was sent, and\n a value less than zero on error.\n\n @param ctx The DTLS context to use.\n @param dst The remote party to connect to.\n @return A value less than zero on error, greater or equal otherwise."] pub fn dtls_connect (ctx : * mut dtls_context_t , dst : * const session_t) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:70934 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Creates a new peer for given @p session. The current configuration\n is initialized with the cipher suite TLS_NULL_WITH_NULL_NULL (i.e.\n no security at all). This function returns a pointer to the new\n peer or NULL on error. The caller is responsible for releasing the\n storage allocated for this peer using dtls_free_peer().\n\n @param session The remote peer's address and local interface index.\n @return A pointer to a newly created and initialized peer object\n or NULL on error."] pub fn dtls_new_peer (session : * const session_t) -> * mut dtls_peer_t ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:87210 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Establishes a DTLS channel with the specified remote peer.\n This function returns @c 0 if that channel already exists and a renegotiate\n was initiated, a value greater than zero when a new ClientHello message was\n sent, and a value less than zero on error.\n\n @param ctx The DTLS context to use.\n @param peer The peer object that describes the session.\n @return A value less than zero on error, greater or equal otherwise."] pub fn dtls_connect_peer (ctx : * mut dtls_context_t , peer : * mut dtls_peer_t) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:71525 [INFO] [stdout] | [INFO] [stdout] 3 | ...t ; } extern "C" { # [doc = " Releases the storage allocated to @p peer."] pub fn dtls_free_peer (peer : * mut dtls_peer_t) ; } # [rep... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:72794 [INFO] [stdout] | [INFO] [stdout] 3 | ...= u32 ; pub type dtls_tick_t = clock_time_t ; extern "C" { pub fn dtls_clock_init () ; } extern "C" { pub fn dtls_ticks (t : * mut dtl... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:87787 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Closes the DTLS connection associated with @p remote. This function\n returns zero on success, and a value less than zero on error."] pub fn dtls_close (ctx : * mut dtls_context_t , remote : * const session_t) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:72837 [INFO] [stdout] | [INFO] [stdout] 3 | ...n "C" { pub fn dtls_clock_init () ; } extern "C" { pub fn dtls_ticks (t : * mut dtls_tick_t) ; } # [repr (u32)] # [non_exhaustive] # [... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:88057 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Writes the application data given in multiple buffers to the peer\n specified by @p session.\n\n @param ctx The DTLS context to use.\n @param session The remote transport address and local interface.\n @param buf_array Array of buffers with the data to write.\n @param buf_len_array The length of the arrays in @p buf_array.\n @param buf_array_len The number of data arrays.\n\n @return The number of bytes written, @c -1 on error or @c 0\n if the peer already exists but is not connected yet."] pub fn dtls_writev (ctx : * mut dtls_context_t , session : * mut session_t , buf_array : * mut * mut uint8 , buf_len_array : * mut usize , buf_array_len : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:86156 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " This function initializes the tinyDTLS memory management and must\n be called first."] pub fn dtls_init () ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:88793 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Writes the application data given in @p buf to the peer specified\n by @p session.\n\n @param ctx The DTLS context to use.\n @param session The remote transport address and local interface.\n @param buf The data to write.\n @param len The actual length of @p data.\n\n @return The number of bytes written, @c -1 on error or @c 0\n if the peer already exists but is not connected yet."] pub fn dtls_write (ctx : * mut dtls_context_t , session : * mut session_t , buf : * mut uint8 , len : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:86291 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Creates a new context object. The storage allocated for the new\n object must be released with dtls_free_context()."] pub fn dtls_new_context (app_data : * mut :: std :: os :: raw :: c_void) -> * mut dtls_context_t ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:89372 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Checks sendqueue of given DTLS context object for any outstanding\n packets to be transmitted.\n\n @param context The DTLS context object to use.\n @param next If not NULL, @p next is filled with the timestamp\n of the next scheduled retransmission, or @c 0 when no packets are\n waiting."] pub fn dtls_check_retransmit (context : * mut dtls_context_t , next : * mut clock_time_t) ; } # ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:86534 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Releases any storage that has been allocated for \\p ctx."] pub fn dtls_free_context (ctx : * mut dtls_context_t) ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:96864 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Handles incoming data as DTLS message from given peer.\n\n @param ctx The dtls context to use.\n @param session The current session\n @param msg The received data\n @param msglen The actual length of @p msg.\n @return A value less than zero on error, zero on success."] pub fn dtls_handle_message (ctx : * mut dtls_context_t , session : * mut session_t , msg : * mut uint8 , msglen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:86676 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Establishes a DTLS channel with the specified remote peer @p dst.\n This function returns @c 0 if that channel already exists, a value\n greater than zero when a new ClientHello message was sent, and\n a value less than zero on error.\n\n @param ctx The DTLS context to use.\n @param dst The remote party to connect to.\n @return A value less than zero on error, greater or equal otherwise."] pub fn dtls_connect (ctx : * mut dtls_context_t , dst : * const session_t) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:97347 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Check if @p session is associated with a peer object in @p context.\n This function returns a pointer to the peer if found, NULL otherwise.\n\n @param context The DTLS context to search.\n @param session The remote address and local interface\n @return A pointer to the peer associated with @p session or NULL if\n none exists."] pub fn dtls_get_peer (context : * const dtls_context_t , session : * const session_t) -> * mut dtls_peer_t ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:87210 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Establishes a DTLS channel with the specified remote peer.\n This function returns @c 0 if that channel already exists and a renegotiate\n was initiated, a value greater than zero when a new ClientHello message was\n sent, and a value less than zero on error.\n\n @param ctx The DTLS context to use.\n @param peer The peer object that describes the session.\n @return A value less than zero on error, greater or equal otherwise."] pub fn dtls_connect_peer (ctx : * mut dtls_context_t , peer : * mut dtls_peer_t) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:97815 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Resets all connections with @p peer.\n\n @param context The active DTLS context.\n @param peer The peer to reset."] pub fn dtls_reset_peer (context : * mut dtls_context_t , peer : * mut dtls_peer_t) ; } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:87787 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Closes the DTLS connection associated with @p remote. This function\n returns zero on success, and a value less than zero on error."] pub fn dtls_close (ctx : * mut dtls_context_t , remote : * const session_t) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:88057 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Writes the application data given in multiple buffers to the peer\n specified by @p session.\n\n @param ctx The DTLS context to use.\n @param session The remote transport address and local interface.\n @param buf_array Array of buffers with the data to write.\n @param buf_len_array The length of the arrays in @p buf_array.\n @param buf_array_len The number of data arrays.\n\n @return The number of bytes written, @c -1 on error or @c 0\n if the peer already exists but is not connected yet."] pub fn dtls_writev (ctx : * mut dtls_context_t , session : * mut session_t , buf_array : * mut * mut uint8 , buf_len_array : * mut usize , buf_array_len : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:88793 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Writes the application data given in @p buf to the peer specified\n by @p session.\n\n @param ctx The DTLS context to use.\n @param session The remote transport address and local interface.\n @param buf The data to write.\n @param len The actual length of @p data.\n\n @return The number of bytes written, @c -1 on error or @c 0\n if the peer already exists but is not connected yet."] pub fn dtls_write (ctx : * mut dtls_context_t , session : * mut session_t , buf : * mut uint8 , len : usize) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:89372 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Checks sendqueue of given DTLS context object for any outstanding\n packets to be transmitted.\n\n @param context The DTLS context object to use.\n @param next If not NULL, @p next is filled with the timestamp\n of the next scheduled retransmission, or @c 0 when no packets are\n waiting."] pub fn dtls_check_retransmit (context : * mut dtls_context_t , next : * mut clock_time_t) ; } # ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:96864 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Handles incoming data as DTLS message from given peer.\n\n @param ctx The dtls context to use.\n @param session The current session\n @param msg The received data\n @param msglen The actual length of @p msg.\n @return A value less than zero on error, zero on success."] pub fn dtls_handle_message (ctx : * mut dtls_context_t , session : * mut session_t , msg : * mut uint8 , msglen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:97347 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Check if @p session is associated with a peer object in @p context.\n This function returns a pointer to the peer if found, NULL otherwise.\n\n @param context The DTLS context to search.\n @param session The remote address and local interface\n @return A pointer to the peer associated with @p session or NULL if\n none exists."] pub fn dtls_get_peer (context : * const dtls_context_t , session : * const session_t) -> * mut dtls_peer_t ; } ex... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:97815 [INFO] [stdout] | [INFO] [stdout] 3 | ... } extern "C" { # [doc = " Resets all connections with @p peer.\n\n @param context The active DTLS context.\n @param peer The peer to reset."] pub fn dtls_reset_peer (context : * mut dtls_context_t , peer : * mut dtls_peer_t) ; } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:2697 [INFO] [stdout] | [INFO] [stdout] 3 | ..., len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut se... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:2640 [INFO] [stdout] | [INFO] [stdout] 3 | ...self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (se... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:2838 [INFO] [stdout] | [INFO] [stdout] 3 | ...usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __I... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:2769 [INFO] [stdout] | [INFO] [stdout] 3 | ...f . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_par... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:3396 [INFO] [stdout] | [INFO] [stdout] 3 | ...ub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { ::... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:3357 [INFO] [stdout] | [INFO] [stdout] 3 | ...d (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline]... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:3490 [INFO] [stdout] | [INFO] [stdout] 3 | ...e fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnion... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:3443 [INFO] [stdout] | [INFO] [stdout] 3 | ... std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 50 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `tinydtls-sys` (lib) due to 51 previous errors; 4 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:2697 [INFO] [stdout] | [INFO] [stdout] 3 | ..., len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut se... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:2640 [INFO] [stdout] | [INFO] [stdout] 3 | ...self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (se... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:2838 [INFO] [stdout] | [INFO] [stdout] 3 | ...usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __I... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:2769 [INFO] [stdout] | [INFO] [stdout] 3 | ...f . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_par... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:3396 [INFO] [stdout] | [INFO] [stdout] 3 | ...ub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { ::... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:3357 [INFO] [stdout] | [INFO] [stdout] 3 | ...d (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline]... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:3490 [INFO] [stdout] | [INFO] [stdout] 3 | ...e fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnion... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> /opt/rustwide/target/debug/build/tinydtls-sys-e676e8f7ab5bf1e6/out/bindings.rs:3:3443 [INFO] [stdout] | [INFO] [stdout] 3 | ... std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 50 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `tinydtls-sys` (lib test) due to 51 previous errors; 4 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "a3d4956e5732aa1d8ed14d84f6ddfe2023b12661f03bea552ee452227d059e5f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a3d4956e5732aa1d8ed14d84f6ddfe2023b12661f03bea552ee452227d059e5f", kill_on_drop: false }` [INFO] [stdout] a3d4956e5732aa1d8ed14d84f6ddfe2023b12661f03bea552ee452227d059e5f