adds rust binding
Tento commit je obsažen v:
rodič
8659d89bc4
revize
64dc00767e
351
src/rustapi/pqc-sys/Cargo.lock
vygenerováno
Normální soubor
351
src/rustapi/pqc-sys/Cargo.lock
vygenerováno
Normální soubor
@ -0,0 +1,351 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "0.7.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ansi_term"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
|
||||
dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "atty"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bindgen"
|
||||
version = "0.56.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2da379dbebc0b76ef63ca68d8fc6e71c0f13e59432e0987e508c1820e6ab5239"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cexpr",
|
||||
"clang-sys",
|
||||
"clap",
|
||||
"env_logger",
|
||||
"lazy_static",
|
||||
"lazycell",
|
||||
"log",
|
||||
"peeking_take_while",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"regex",
|
||||
"rustc-hash",
|
||||
"shlex",
|
||||
"which",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.67"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
|
||||
|
||||
[[package]]
|
||||
name = "cexpr"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27"
|
||||
dependencies = [
|
||||
"nom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "clang-sys"
|
||||
version = "1.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f54d78e30b388d4815220c8dd03fea5656b6c6d32adb59e89061552a102f8da1"
|
||||
dependencies = [
|
||||
"glob",
|
||||
"libc",
|
||||
"libloading",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "2.33.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"atty",
|
||||
"bitflags",
|
||||
"strsim",
|
||||
"textwrap",
|
||||
"unicode-width",
|
||||
"vec_map",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cmake"
|
||||
version = "0.1.45"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eb6210b637171dfba4cda12e579ac6dc73f5165ad56133e5d72ef3131f320855"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "env_logger"
|
||||
version = "0.8.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"humantime",
|
||||
"log",
|
||||
"regex",
|
||||
"termcolor",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glob"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.1.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "humantime"
|
||||
version = "2.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "lazycell"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.91"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7"
|
||||
|
||||
[[package]]
|
||||
name = "libloading"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
|
||||
|
||||
[[package]]
|
||||
name = "nom"
|
||||
version = "5.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "peeking_take_while"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
|
||||
|
||||
[[package]]
|
||||
name = "pqc-sys"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"bindgen",
|
||||
"cmake",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.6.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-hash"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
||||
|
||||
[[package]]
|
||||
name = "termcolor"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "textwrap"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
|
||||
dependencies = [
|
||||
"unicode-width",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-width"
|
||||
version = "0.1.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
|
||||
|
||||
[[package]]
|
||||
name = "vec_map"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
|
||||
|
||||
[[package]]
|
||||
name = "which"
|
||||
version = "3.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||
dependencies = [
|
||||
"winapi-i686-pc-windows-gnu",
|
||||
"winapi-x86_64-pc-windows-gnu",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-i686-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
|
||||
[[package]]
|
||||
name = "winapi-util"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
|
||||
dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-x86_64-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
15
src/rustapi/pqc-sys/Cargo.toml
Normální soubor
15
src/rustapi/pqc-sys/Cargo.toml
Normální soubor
@ -0,0 +1,15 @@
|
||||
[package]
|
||||
name = "pqc-sys"
|
||||
version = "0.1.0"
|
||||
authors = ["Kris Kwiatkowski <contact@amongbytes.com>"]
|
||||
edition = "2018"
|
||||
links = "pqc_s"
|
||||
build = "src/build.rs"
|
||||
|
||||
[build-dependencies]
|
||||
cmake = "0.1.31"
|
||||
bindgen = "0.56.0"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
551
src/rustapi/pqc-sys/src/bindings.rs
Normální soubor
551
src/rustapi/pqc-sys/src/bindings.rs
Normální soubor
@ -0,0 +1,551 @@
|
||||
/* automatically generated by rust-bindgen 0.56.0 */
|
||||
|
||||
pub const _STDINT_H: u32 = 1;
|
||||
pub const _FEATURES_H: u32 = 1;
|
||||
pub const _DEFAULT_SOURCE: u32 = 1;
|
||||
pub const __GLIBC_USE_ISOC2X: u32 = 0;
|
||||
pub const __USE_ISOC11: u32 = 1;
|
||||
pub const __USE_ISOC99: u32 = 1;
|
||||
pub const __USE_ISOC95: u32 = 1;
|
||||
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
|
||||
pub const _POSIX_SOURCE: u32 = 1;
|
||||
pub const _POSIX_C_SOURCE: u32 = 200809;
|
||||
pub const __USE_POSIX: u32 = 1;
|
||||
pub const __USE_POSIX2: u32 = 1;
|
||||
pub const __USE_POSIX199309: u32 = 1;
|
||||
pub const __USE_POSIX199506: u32 = 1;
|
||||
pub const __USE_XOPEN2K: u32 = 1;
|
||||
pub const __USE_XOPEN2K8: u32 = 1;
|
||||
pub const _ATFILE_SOURCE: u32 = 1;
|
||||
pub const __USE_MISC: u32 = 1;
|
||||
pub const __USE_ATFILE: u32 = 1;
|
||||
pub const __USE_FORTIFY_LEVEL: u32 = 0;
|
||||
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
|
||||
pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
|
||||
pub const _STDC_PREDEF_H: u32 = 1;
|
||||
pub const __STDC_IEC_559__: u32 = 1;
|
||||
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
|
||||
pub const __STDC_ISO_10646__: u32 = 201706;
|
||||
pub const __GNU_LIBRARY__: u32 = 6;
|
||||
pub const __GLIBC__: u32 = 2;
|
||||
pub const __GLIBC_MINOR__: u32 = 33;
|
||||
pub const _SYS_CDEFS_H: u32 = 1;
|
||||
pub const __glibc_c99_flexarr_available: u32 = 1;
|
||||
pub const __WORDSIZE: u32 = 64;
|
||||
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
|
||||
pub const __SYSCALL_WORDSIZE: u32 = 64;
|
||||
pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
|
||||
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
|
||||
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
|
||||
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
|
||||
pub const _BITS_TYPES_H: u32 = 1;
|
||||
pub const __TIMESIZE: u32 = 64;
|
||||
pub const _BITS_TYPESIZES_H: u32 = 1;
|
||||
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
|
||||
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
|
||||
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
|
||||
pub const __STATFS_MATCHES_STATFS64: u32 = 1;
|
||||
pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
|
||||
pub const __FD_SETSIZE: u32 = 1024;
|
||||
pub const _BITS_TIME64_H: u32 = 1;
|
||||
pub const _BITS_WCHAR_H: u32 = 1;
|
||||
pub const _BITS_STDINT_INTN_H: u32 = 1;
|
||||
pub const _BITS_STDINT_UINTN_H: u32 = 1;
|
||||
pub const INT8_MIN: i32 = -128;
|
||||
pub const INT16_MIN: i32 = -32768;
|
||||
pub const INT32_MIN: i32 = -2147483648;
|
||||
pub const INT8_MAX: u32 = 127;
|
||||
pub const INT16_MAX: u32 = 32767;
|
||||
pub const INT32_MAX: u32 = 2147483647;
|
||||
pub const UINT8_MAX: u32 = 255;
|
||||
pub const UINT16_MAX: u32 = 65535;
|
||||
pub const UINT32_MAX: u32 = 4294967295;
|
||||
pub const INT_LEAST8_MIN: i32 = -128;
|
||||
pub const INT_LEAST16_MIN: i32 = -32768;
|
||||
pub const INT_LEAST32_MIN: i32 = -2147483648;
|
||||
pub const INT_LEAST8_MAX: u32 = 127;
|
||||
pub const INT_LEAST16_MAX: u32 = 32767;
|
||||
pub const INT_LEAST32_MAX: u32 = 2147483647;
|
||||
pub const UINT_LEAST8_MAX: u32 = 255;
|
||||
pub const UINT_LEAST16_MAX: u32 = 65535;
|
||||
pub const UINT_LEAST32_MAX: u32 = 4294967295;
|
||||
pub const INT_FAST8_MIN: i32 = -128;
|
||||
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
|
||||
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
|
||||
pub const INT_FAST8_MAX: u32 = 127;
|
||||
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
|
||||
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
|
||||
pub const UINT_FAST8_MAX: u32 = 255;
|
||||
pub const UINT_FAST16_MAX: i32 = -1;
|
||||
pub const UINT_FAST32_MAX: i32 = -1;
|
||||
pub const INTPTR_MIN: i64 = -9223372036854775808;
|
||||
pub const INTPTR_MAX: u64 = 9223372036854775807;
|
||||
pub const UINTPTR_MAX: i32 = -1;
|
||||
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
|
||||
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
|
||||
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
|
||||
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
|
||||
pub const SIZE_MAX: i32 = -1;
|
||||
pub const WINT_MIN: u32 = 0;
|
||||
pub const WINT_MAX: u32 = 4294967295;
|
||||
pub const true_: u32 = 1;
|
||||
pub const false_: u32 = 0;
|
||||
pub const __bool_true_false_are_defined: u32 = 1;
|
||||
pub type __u_char = ::std::os::raw::c_uchar;
|
||||
pub type __u_short = ::std::os::raw::c_ushort;
|
||||
pub type __u_int = ::std::os::raw::c_uint;
|
||||
pub type __u_long = ::std::os::raw::c_ulong;
|
||||
pub type __int8_t = ::std::os::raw::c_schar;
|
||||
pub type __uint8_t = ::std::os::raw::c_uchar;
|
||||
pub type __int16_t = ::std::os::raw::c_short;
|
||||
pub type __uint16_t = ::std::os::raw::c_ushort;
|
||||
pub type __int32_t = ::std::os::raw::c_int;
|
||||
pub type __uint32_t = ::std::os::raw::c_uint;
|
||||
pub type __int64_t = ::std::os::raw::c_long;
|
||||
pub type __uint64_t = ::std::os::raw::c_ulong;
|
||||
pub type __int_least8_t = __int8_t;
|
||||
pub type __uint_least8_t = __uint8_t;
|
||||
pub type __int_least16_t = __int16_t;
|
||||
pub type __uint_least16_t = __uint16_t;
|
||||
pub type __int_least32_t = __int32_t;
|
||||
pub type __uint_least32_t = __uint32_t;
|
||||
pub type __int_least64_t = __int64_t;
|
||||
pub type __uint_least64_t = __uint64_t;
|
||||
pub type __quad_t = ::std::os::raw::c_long;
|
||||
pub type __u_quad_t = ::std::os::raw::c_ulong;
|
||||
pub type __intmax_t = ::std::os::raw::c_long;
|
||||
pub type __uintmax_t = ::std::os::raw::c_ulong;
|
||||
pub type __dev_t = ::std::os::raw::c_ulong;
|
||||
pub type __uid_t = ::std::os::raw::c_uint;
|
||||
pub type __gid_t = ::std::os::raw::c_uint;
|
||||
pub type __ino_t = ::std::os::raw::c_ulong;
|
||||
pub type __ino64_t = ::std::os::raw::c_ulong;
|
||||
pub type __mode_t = ::std::os::raw::c_uint;
|
||||
pub type __nlink_t = ::std::os::raw::c_ulong;
|
||||
pub type __off_t = ::std::os::raw::c_long;
|
||||
pub type __off64_t = ::std::os::raw::c_long;
|
||||
pub type __pid_t = ::std::os::raw::c_int;
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Default, Copy, Clone)]
|
||||
pub struct __fsid_t {
|
||||
pub __val: [::std::os::raw::c_int; 2usize],
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout___fsid_t() {
|
||||
assert_eq!(
|
||||
::std::mem::size_of::<__fsid_t>(),
|
||||
8usize,
|
||||
concat!("Size of: ", stringify!(__fsid_t))
|
||||
);
|
||||
assert_eq!(
|
||||
::std::mem::align_of::<__fsid_t>(),
|
||||
4usize,
|
||||
concat!("Alignment of ", stringify!(__fsid_t))
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
|
||||
0usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(__fsid_t),
|
||||
"::",
|
||||
stringify!(__val)
|
||||
)
|
||||
);
|
||||
}
|
||||
pub type __clock_t = ::std::os::raw::c_long;
|
||||
pub type __rlim_t = ::std::os::raw::c_ulong;
|
||||
pub type __rlim64_t = ::std::os::raw::c_ulong;
|
||||
pub type __id_t = ::std::os::raw::c_uint;
|
||||
pub type __time_t = ::std::os::raw::c_long;
|
||||
pub type __useconds_t = ::std::os::raw::c_uint;
|
||||
pub type __suseconds_t = ::std::os::raw::c_long;
|
||||
pub type __suseconds64_t = ::std::os::raw::c_long;
|
||||
pub type __daddr_t = ::std::os::raw::c_int;
|
||||
pub type __key_t = ::std::os::raw::c_int;
|
||||
pub type __clockid_t = ::std::os::raw::c_int;
|
||||
pub type __timer_t = *mut ::std::os::raw::c_void;
|
||||
pub type __blksize_t = ::std::os::raw::c_long;
|
||||
pub type __blkcnt_t = ::std::os::raw::c_long;
|
||||
pub type __blkcnt64_t = ::std::os::raw::c_long;
|
||||
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
|
||||
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
|
||||
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
|
||||
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
|
||||
pub type __fsword_t = ::std::os::raw::c_long;
|
||||
pub type __ssize_t = ::std::os::raw::c_long;
|
||||
pub type __syscall_slong_t = ::std::os::raw::c_long;
|
||||
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
|
||||
pub type __loff_t = __off64_t;
|
||||
pub type __caddr_t = *mut ::std::os::raw::c_char;
|
||||
pub type __intptr_t = ::std::os::raw::c_long;
|
||||
pub type __socklen_t = ::std::os::raw::c_uint;
|
||||
pub type __sig_atomic_t = ::std::os::raw::c_int;
|
||||
pub type int_least8_t = __int_least8_t;
|
||||
pub type int_least16_t = __int_least16_t;
|
||||
pub type int_least32_t = __int_least32_t;
|
||||
pub type int_least64_t = __int_least64_t;
|
||||
pub type uint_least8_t = __uint_least8_t;
|
||||
pub type uint_least16_t = __uint_least16_t;
|
||||
pub type uint_least32_t = __uint_least32_t;
|
||||
pub type uint_least64_t = __uint_least64_t;
|
||||
pub type int_fast8_t = ::std::os::raw::c_schar;
|
||||
pub type int_fast16_t = ::std::os::raw::c_long;
|
||||
pub type int_fast32_t = ::std::os::raw::c_long;
|
||||
pub type int_fast64_t = ::std::os::raw::c_long;
|
||||
pub type uint_fast8_t = ::std::os::raw::c_uchar;
|
||||
pub type uint_fast16_t = ::std::os::raw::c_ulong;
|
||||
pub type uint_fast32_t = ::std::os::raw::c_ulong;
|
||||
pub type uint_fast64_t = ::std::os::raw::c_ulong;
|
||||
pub type intmax_t = __intmax_t;
|
||||
pub type uintmax_t = __uintmax_t;
|
||||
pub const DILITHIUM2: ::std::os::raw::c_uint = 0;
|
||||
pub const DILITHIUM3: ::std::os::raw::c_uint = 1;
|
||||
pub const DILITHIUM5: ::std::os::raw::c_uint = 2;
|
||||
pub const FALCON1024: ::std::os::raw::c_uint = 3;
|
||||
pub const FALCON512: ::std::os::raw::c_uint = 4;
|
||||
pub const RAINBOWVCLASSIC: ::std::os::raw::c_uint = 5;
|
||||
pub const RAINBOWICLASSIC: ::std::os::raw::c_uint = 6;
|
||||
pub const RAINBOWIIICLASSIC: ::std::os::raw::c_uint = 7;
|
||||
pub const SPHINCSSHA256192FSIMPLE: ::std::os::raw::c_uint = 8;
|
||||
pub const SPHINCSSHAKE256256FSIMPLE: ::std::os::raw::c_uint = 9;
|
||||
pub const SPHINCSSHAKE256192FROBUST: ::std::os::raw::c_uint = 10;
|
||||
pub const SPHINCSSHAKE256128FSIMPLE: ::std::os::raw::c_uint = 11;
|
||||
pub const SPHINCSSHAKE256256SSIMPLE: ::std::os::raw::c_uint = 12;
|
||||
pub const SPHINCSSHAKE256128SSIMPLE: ::std::os::raw::c_uint = 13;
|
||||
pub const SPHINCSSHA256128FROBUST: ::std::os::raw::c_uint = 14;
|
||||
pub const SPHINCSSHA256192SROBUST: ::std::os::raw::c_uint = 15;
|
||||
pub const SPHINCSSHAKE256128FROBUST: ::std::os::raw::c_uint = 16;
|
||||
pub const SPHINCSSHAKE256128SROBUST: ::std::os::raw::c_uint = 17;
|
||||
pub const SPHINCSSHAKE256256SROBUST: ::std::os::raw::c_uint = 18;
|
||||
pub const SPHINCSSHA256192SSIMPLE: ::std::os::raw::c_uint = 19;
|
||||
pub const SPHINCSSHAKE256192SSIMPLE: ::std::os::raw::c_uint = 20;
|
||||
pub const SPHINCSSHAKE256192SROBUST: ::std::os::raw::c_uint = 21;
|
||||
pub const SPHINCSSHAKE256192FSIMPLE: ::std::os::raw::c_uint = 22;
|
||||
pub const SPHINCSSHA256256SSIMPLE: ::std::os::raw::c_uint = 23;
|
||||
pub const SPHINCSSHA256128SSIMPLE: ::std::os::raw::c_uint = 24;
|
||||
pub const SPHINCSSHAKE256256FROBUST: ::std::os::raw::c_uint = 25;
|
||||
pub const SPHINCSSHA256256FROBUST: ::std::os::raw::c_uint = 26;
|
||||
pub const SPHINCSSHA256256FSIMPLE: ::std::os::raw::c_uint = 27;
|
||||
pub const SPHINCSSHA256256SROBUST: ::std::os::raw::c_uint = 28;
|
||||
pub const SPHINCSSHA256128SROBUST: ::std::os::raw::c_uint = 29;
|
||||
pub const SPHINCSSHA256128FSIMPLE: ::std::os::raw::c_uint = 30;
|
||||
pub const SPHINCSSHA256192FROBUST: ::std::os::raw::c_uint = 31;
|
||||
pub const PQC_ALG_SIG_MAX: ::std::os::raw::c_uint = 32;
|
||||
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
|
||||
pub const FRODOKEM976SHAKE: ::std::os::raw::c_uint = 0;
|
||||
pub const FRODOKEM1344SHAKE: ::std::os::raw::c_uint = 1;
|
||||
pub const FRODOKEM640SHAKE: ::std::os::raw::c_uint = 2;
|
||||
pub const KYBER768: ::std::os::raw::c_uint = 3;
|
||||
pub const KYBER1024: ::std::os::raw::c_uint = 4;
|
||||
pub const KYBER512: ::std::os::raw::c_uint = 5;
|
||||
pub const NTRUHPS4096821: ::std::os::raw::c_uint = 6;
|
||||
pub const NTRUHPS2048509: ::std::os::raw::c_uint = 7;
|
||||
pub const NTRUHRSS701: ::std::os::raw::c_uint = 8;
|
||||
pub const NTRUHPS2048677: ::std::os::raw::c_uint = 9;
|
||||
pub const NTRULPR761: ::std::os::raw::c_uint = 10;
|
||||
pub const NTRULPR653: ::std::os::raw::c_uint = 11;
|
||||
pub const NTRULPR857: ::std::os::raw::c_uint = 12;
|
||||
pub const LIGHTSABER: ::std::os::raw::c_uint = 13;
|
||||
pub const FIRESABER: ::std::os::raw::c_uint = 14;
|
||||
pub const SABER: ::std::os::raw::c_uint = 15;
|
||||
pub const PQC_ALG_KEM_MAX: ::std::os::raw::c_uint = 16;
|
||||
pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct params_t {
|
||||
pub alg_id: u8,
|
||||
pub alg_name: *const ::std::os::raw::c_char,
|
||||
pub prv_key_bsz: u32,
|
||||
pub pub_key_bsz: u32,
|
||||
pub is_kem: bool,
|
||||
pub keygen: ::std::option::Option<
|
||||
unsafe extern "C" fn(sk: *mut u8, pk: *mut u8) -> ::std::os::raw::c_int,
|
||||
>,
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_params_t() {
|
||||
assert_eq!(
|
||||
::std::mem::size_of::<params_t>(),
|
||||
40usize,
|
||||
concat!("Size of: ", stringify!(params_t))
|
||||
);
|
||||
assert_eq!(
|
||||
::std::mem::align_of::<params_t>(),
|
||||
8usize,
|
||||
concat!("Alignment of ", stringify!(params_t))
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<params_t>())).alg_id as *const _ as usize },
|
||||
0usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(params_t),
|
||||
"::",
|
||||
stringify!(alg_id)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<params_t>())).alg_name as *const _ as usize },
|
||||
8usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(params_t),
|
||||
"::",
|
||||
stringify!(alg_name)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<params_t>())).prv_key_bsz as *const _ as usize },
|
||||
16usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(params_t),
|
||||
"::",
|
||||
stringify!(prv_key_bsz)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<params_t>())).pub_key_bsz as *const _ as usize },
|
||||
20usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(params_t),
|
||||
"::",
|
||||
stringify!(pub_key_bsz)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<params_t>())).is_kem as *const _ as usize },
|
||||
24usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(params_t),
|
||||
"::",
|
||||
stringify!(is_kem)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<params_t>())).keygen as *const _ as usize },
|
||||
32usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(params_t),
|
||||
"::",
|
||||
stringify!(keygen)
|
||||
)
|
||||
);
|
||||
}
|
||||
impl Default for params_t {
|
||||
fn default() -> Self {
|
||||
unsafe { ::std::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct kem_params_t {
|
||||
pub p: params_t,
|
||||
pub ciphertext_bsz: u32,
|
||||
pub secret_bsz: u32,
|
||||
pub encapsulate: ::std::option::Option<
|
||||
unsafe extern "C" fn(ct: *mut u8, ss: *mut u8, pk: *const u8) -> ::std::os::raw::c_int,
|
||||
>,
|
||||
pub decapsulate: ::std::option::Option<
|
||||
unsafe extern "C" fn(ss: *mut u8, ct: *const u8, sk: *const u8) -> ::std::os::raw::c_int,
|
||||
>,
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_kem_params_t() {
|
||||
assert_eq!(
|
||||
::std::mem::size_of::<kem_params_t>(),
|
||||
64usize,
|
||||
concat!("Size of: ", stringify!(kem_params_t))
|
||||
);
|
||||
assert_eq!(
|
||||
::std::mem::align_of::<kem_params_t>(),
|
||||
8usize,
|
||||
concat!("Alignment of ", stringify!(kem_params_t))
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<kem_params_t>())).p as *const _ as usize },
|
||||
0usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(kem_params_t),
|
||||
"::",
|
||||
stringify!(p)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<kem_params_t>())).ciphertext_bsz as *const _ as usize },
|
||||
40usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(kem_params_t),
|
||||
"::",
|
||||
stringify!(ciphertext_bsz)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<kem_params_t>())).secret_bsz as *const _ as usize },
|
||||
44usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(kem_params_t),
|
||||
"::",
|
||||
stringify!(secret_bsz)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<kem_params_t>())).encapsulate as *const _ as usize },
|
||||
48usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(kem_params_t),
|
||||
"::",
|
||||
stringify!(encapsulate)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<kem_params_t>())).decapsulate as *const _ as usize },
|
||||
56usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(kem_params_t),
|
||||
"::",
|
||||
stringify!(decapsulate)
|
||||
)
|
||||
);
|
||||
}
|
||||
impl Default for kem_params_t {
|
||||
fn default() -> Self {
|
||||
unsafe { ::std::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct sig_params_t {
|
||||
pub p: params_t,
|
||||
pub sign_bsz: u32,
|
||||
pub sign: ::std::option::Option<
|
||||
unsafe extern "C" fn(
|
||||
sig: *mut u8,
|
||||
siglen: *mut u64,
|
||||
m: *const u8,
|
||||
mlen: u64,
|
||||
sk: *const u8,
|
||||
) -> ::std::os::raw::c_int,
|
||||
>,
|
||||
pub verify: ::std::option::Option<
|
||||
unsafe extern "C" fn(
|
||||
sig: *const u8,
|
||||
siglen: u64,
|
||||
m: *const u8,
|
||||
mlen: u64,
|
||||
pk: *const u8,
|
||||
) -> ::std::os::raw::c_int,
|
||||
>,
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_sig_params_t() {
|
||||
assert_eq!(
|
||||
::std::mem::size_of::<sig_params_t>(),
|
||||
64usize,
|
||||
concat!("Size of: ", stringify!(sig_params_t))
|
||||
);
|
||||
assert_eq!(
|
||||
::std::mem::align_of::<sig_params_t>(),
|
||||
8usize,
|
||||
concat!("Alignment of ", stringify!(sig_params_t))
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<sig_params_t>())).p as *const _ as usize },
|
||||
0usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(sig_params_t),
|
||||
"::",
|
||||
stringify!(p)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<sig_params_t>())).sign_bsz as *const _ as usize },
|
||||
40usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(sig_params_t),
|
||||
"::",
|
||||
stringify!(sign_bsz)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<sig_params_t>())).sign as *const _ as usize },
|
||||
48usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(sig_params_t),
|
||||
"::",
|
||||
stringify!(sign)
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
unsafe { &(*(::std::ptr::null::<sig_params_t>())).verify as *const _ as usize },
|
||||
56usize,
|
||||
concat!(
|
||||
"Offset of field: ",
|
||||
stringify!(sig_params_t),
|
||||
"::",
|
||||
stringify!(verify)
|
||||
)
|
||||
);
|
||||
}
|
||||
impl Default for sig_params_t {
|
||||
fn default() -> Self {
|
||||
unsafe { ::std::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
extern "C" {
|
||||
pub fn pqc_keygen(p: *const params_t, sk: *mut u8, pk: *mut u8) -> bool;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn pqc_kem_encapsulate(p: *const params_t, ct: *mut u8, ss: *mut u8, pk: *const u8)
|
||||
-> bool;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn pqc_kem_decapsulate(
|
||||
p: *const params_t,
|
||||
ss: *mut u8,
|
||||
ct: *const u8,
|
||||
sk: *const u8,
|
||||
) -> bool;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn pqc_sig_create(
|
||||
p: *const params_t,
|
||||
sig: *mut u8,
|
||||
siglen: *mut u64,
|
||||
m: *const u8,
|
||||
mlen: u64,
|
||||
sk: *const u8,
|
||||
) -> bool;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn pqc_sig_verify(
|
||||
p: *const params_t,
|
||||
sig: *const u8,
|
||||
siglen: u64,
|
||||
m: *const u8,
|
||||
mlen: u64,
|
||||
pk: *const u8,
|
||||
) -> bool;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn pqc_kem_alg_by_id(id: u8) -> *const params_t;
|
||||
}
|
||||
extern "C" {
|
||||
pub fn pqc_sig_alg_by_id(id: u8) -> *const params_t;
|
||||
}
|
34
src/rustapi/pqc-sys/src/build.rs
Normální soubor
34
src/rustapi/pqc-sys/src/build.rs
Normální soubor
@ -0,0 +1,34 @@
|
||||
extern crate cmake;
|
||||
use cmake::Config;
|
||||
extern crate bindgen;
|
||||
|
||||
fn main() {
|
||||
let dst = Config::new("../../../")
|
||||
.profile("Release")
|
||||
.very_verbose(true)
|
||||
.build();
|
||||
|
||||
println!("cargo:rustc-link-search=native={}/lib", dst.display());
|
||||
println!("cargo:rustc-link-lib=dylib=pqc");
|
||||
println!("cargo:rerun-if-changed=../../../capi/*,../../../kem/*,../../../sign/*,../../../../public/pqc/pqc.h");
|
||||
|
||||
// The bindgen::Builder is the main entry point
|
||||
// to bindgen, and lets you build up options for
|
||||
// the resulting bindings.
|
||||
let bindings = bindgen::Builder::default()
|
||||
// The input header we would like to generate
|
||||
// bindings for.
|
||||
.header("../../../public/pqc/pqc.h")
|
||||
// Tell cargo to invalidate the built crate whenever any of the
|
||||
// included header files changed.
|
||||
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
|
||||
// Add "Default" whenever possible
|
||||
.derive_default(true)
|
||||
// Finish the builder and generate the bindings.
|
||||
.generate()
|
||||
// Unwrap the Result and panic on failure.
|
||||
.expect("Unable to generate bindings");
|
||||
bindings
|
||||
.write_to_file("src/bindings.rs")
|
||||
.expect("Couldn't write bindings");
|
||||
}
|
5
src/rustapi/pqc-sys/src/lib.rs
Normální soubor
5
src/rustapi/pqc-sys/src/lib.rs
Normální soubor
@ -0,0 +1,5 @@
|
||||
#![allow(non_upper_case_globals)]
|
||||
#![allow(non_camel_case_types)]
|
||||
#![allow(non_snake_case)]
|
||||
|
||||
include!("bindings.rs");
|
Načítá se…
Odkázat v novém úkolu
Zablokovat Uživatele