From c224818da452d307ce904788535edf992c1e3abc Mon Sep 17 00:00:00 2001 From: Jesper Brynolf Date: Sat, 24 Feb 2024 23:10:36 +0100 Subject: [PATCH] Updated the tpm2-tss version for bindings. - Generate the bindings from version 3.2.2 of the tpm2-tss library. - Update bindgen dependency. - Add comment in the generated bindings from what version it was generated. - Starts using an explicit 4.0.1 version in tests. Signed-off-by: Jesper Brynolf --- .github/workflows/ci.yml | 2 +- tss-esapi-sys/Cargo.toml | 2 +- tss-esapi-sys/regenerate-bindings.sh | 2 +- .../src/bindings/aarch64-unknown-linux-gnu.rs | 1267 +++++++++++------ .../src/bindings/arm-unknown-linux-gnueabi.rs | 944 ++++++++---- .../src/bindings/x86_64-unknown-linux-gnu.rs | 880 ++++++++---- tss-esapi/tests/Dockerfile-ubuntu | 4 +- 7 files changed, 2053 insertions(+), 1048 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a18ce88..1661645e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Build the container - run: docker build -t ubuntucontainer tss-esapi/tests/ --build-arg TPM2_TSS_VERSION=3.0.4 --file tss-esapi/tests/Dockerfile-ubuntu + run: docker build -t ubuntucontainer tss-esapi/tests/ --build-arg TPM2_TSS_VERSION=4.0.1 --file tss-esapi/tests/Dockerfile-ubuntu - name: Run the container run: docker run -v $(pwd):/tmp/rust-tss-esapi -w /tmp/rust-tss-esapi/tss-esapi ubuntucontainer /tmp/rust-tss-esapi/tss-esapi/tests/all-ubuntu.sh diff --git a/tss-esapi-sys/Cargo.toml b/tss-esapi-sys/Cargo.toml index a421315e..25f9ab74 100644 --- a/tss-esapi-sys/Cargo.toml +++ b/tss-esapi-sys/Cargo.toml @@ -14,7 +14,7 @@ links = "tss2-esys" rust-version = "1.66.0" [build-dependencies] -bindgen = { version = "0.66.1", optional = true } +bindgen = { version = "0.69.4", optional = true } pkg-config = "0.3.18" target-lexicon = "0.12.0" diff --git a/tss-esapi-sys/regenerate-bindings.sh b/tss-esapi-sys/regenerate-bindings.sh index 87390c3d..af5dafba 100755 --- a/tss-esapi-sys/regenerate-bindings.sh +++ b/tss-esapi-sys/regenerate-bindings.sh @@ -11,7 +11,7 @@ set -euf -o pipefail OPENSSL_GIT="https://github.com/openssl/openssl.git" OPENSSL_VERSION="OpenSSL_1_1_1j" TPM2_TSS_GIT="https://github.com/tpm2-software/tpm2-tss.git" -TPM2_TSS_VERSION="2.4.6" +TPM2_TSS_VERSION="3.2.2" export SYSROOT="/tmp/sysroot" diff --git a/tss-esapi-sys/src/bindings/aarch64-unknown-linux-gnu.rs b/tss-esapi-sys/src/bindings/aarch64-unknown-linux-gnu.rs index 0930c45e..9300d8d3 100644 --- a/tss-esapi-sys/src/bindings/aarch64-unknown-linux-gnu.rs +++ b/tss-esapi-sys/src/bindings/aarch64-unknown-linux-gnu.rs @@ -1,4 +1,5 @@ -/* automatically generated by rust-bindgen 0.66.1 */ +/* automatically generated by rust-bindgen 0.69.4 */ +/* TPM2_TSS_VERSION="3.2.2" */ pub const _STDINT_H: u32 = 1; pub const _FEATURES_H: u32 = 1; @@ -17,6 +18,9 @@ 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 __WORDSIZE: u32 = 64; +pub const __WORDSIZE_TIME64_COMPAT32: u32 = 0; +pub const __TIMESIZE: u32 = 64; pub const __USE_MISC: u32 = 1; pub const __USE_ATFILE: u32 = 1; pub const __USE_FORTIFY_LEVEL: u32 = 0; @@ -24,30 +28,30 @@ 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_60559_BFP__: u32 = 201404; pub const __STDC_IEC_559_COMPLEX__: u32 = 1; +pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404; pub const __STDC_ISO_10646__: u32 = 201706; pub const __GNU_LIBRARY__: u32 = 6; pub const __GLIBC__: u32 = 2; -pub const __GLIBC_MINOR__: u32 = 31; +pub const __GLIBC_MINOR__: u32 = 35; pub const _SYS_CDEFS_H: u32 = 1; pub const __glibc_c99_flexarr_available: u32 = 1; -pub const __WORDSIZE: u32 = 32; -pub const __WORDSIZE32_SIZE_ULONG: u32 = 0; -pub const __WORDSIZE32_PTRDIFF_LONG: u32 = 0; -pub const __WORDSIZE_TIME64_COMPAT32: u32 = 0; -pub const __LONG_DOUBLE_USES_FLOAT128: u32 = 0; +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_EXT: 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 = 32; pub const _BITS_TYPESIZES_H: u32 = 1; -pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 0; -pub const __STATFS_MATCHES_STATFS64: u32 = 0; +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 __FD_SETSIZE: u32 = 1024; pub const _BITS_TIME64_H: u32 = 1; pub const _BITS_WCHAR_H: u32 = 1; @@ -72,22 +76,22 @@ 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: i32 = -2147483648; -pub const INT_FAST32_MIN: i32 = -2147483648; +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: u32 = 2147483647; -pub const INT_FAST32_MAX: u32 = 2147483647; +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: u32 = 4294967295; -pub const UINT_FAST32_MAX: u32 = 4294967295; -pub const INTPTR_MIN: i32 = -2147483648; -pub const INTPTR_MAX: u32 = 2147483647; -pub const UINTPTR_MAX: u32 = 4294967295; -pub const PTRDIFF_MIN: i32 = -2147483648; -pub const PTRDIFF_MAX: u32 = 2147483647; +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: u32 = 4294967295; +pub const SIZE_MAX: i32 = -1; pub const WINT_MIN: u32 = 0; pub const WINT_MAX: u32 = 4294967295; pub const TSS2_RC_LAYER_SHIFT: u32 = 16; @@ -142,6 +146,8 @@ pub const TSS2_BASE_RC_NAME_ALREADY_EXISTS: u32 = 48; pub const TSS2_BASE_RC_NO_TPM: u32 = 49; pub const TSS2_BASE_RC_BAD_KEY: u32 = 50; pub const TSS2_BASE_RC_NO_HANDLE: u32 = 51; +pub const TSS2_BASE_RC_NOT_PROVISIONED: u32 = 52; +pub const TSS2_BASE_RC_ALREADY_PROVISIONED: u32 = 53; pub const TSS2_LAYER_IMPLEMENTATION_SPECIFIC_OFFSET: u32 = 63488; pub const TSS2_LEVEL_IMPLEMENTATION_SPECIFIC_SHIFT: u32 = 11; pub const TPM2_MAX_COMMAND_SIZE: u32 = 4096; @@ -233,131 +239,166 @@ pub const ESYS_TR_RH_ENDORSEMENT: u32 = 267; pub const ESYS_TR_RH_PLATFORM: u32 = 268; pub const ESYS_TR_RH_PLATFORM_NV: u32 = 269; pub const ESYS_TR_RH_AUTH_FIRST: u32 = 272; -pub const ESYS_TR_MIN_OBJECT: u32 = 4096; +pub const ESYS_TR_RH_ACT_FIRST: u32 = 288; +pub const ESYS_TR_RH_ACT_LAST: u32 = 303; pub const _INTTYPES_H: u32 = 1; pub const ____gwchar_t_defined: u32 = 1; -pub const __PRI64_PREFIX: &[u8; 3] = b"ll\0"; +pub const __PRI64_PREFIX: &[u8; 2] = b"l\0"; +pub const __PRIPTR_PREFIX: &[u8; 2] = b"l\0"; pub const PRId8: &[u8; 2] = b"d\0"; pub const PRId16: &[u8; 2] = b"d\0"; pub const PRId32: &[u8; 2] = b"d\0"; -pub const PRId64: &[u8; 4] = b"lld\0"; +pub const PRId64: &[u8; 3] = b"ld\0"; pub const PRIdLEAST8: &[u8; 2] = b"d\0"; pub const PRIdLEAST16: &[u8; 2] = b"d\0"; pub const PRIdLEAST32: &[u8; 2] = b"d\0"; -pub const PRIdLEAST64: &[u8; 4] = b"lld\0"; +pub const PRIdLEAST64: &[u8; 3] = b"ld\0"; pub const PRIdFAST8: &[u8; 2] = b"d\0"; -pub const PRIdFAST64: &[u8; 4] = b"lld\0"; +pub const PRIdFAST16: &[u8; 3] = b"ld\0"; +pub const PRIdFAST32: &[u8; 3] = b"ld\0"; +pub const PRIdFAST64: &[u8; 3] = b"ld\0"; pub const PRIi8: &[u8; 2] = b"i\0"; pub const PRIi16: &[u8; 2] = b"i\0"; pub const PRIi32: &[u8; 2] = b"i\0"; -pub const PRIi64: &[u8; 4] = b"lli\0"; +pub const PRIi64: &[u8; 3] = b"li\0"; pub const PRIiLEAST8: &[u8; 2] = b"i\0"; pub const PRIiLEAST16: &[u8; 2] = b"i\0"; pub const PRIiLEAST32: &[u8; 2] = b"i\0"; -pub const PRIiLEAST64: &[u8; 4] = b"lli\0"; +pub const PRIiLEAST64: &[u8; 3] = b"li\0"; pub const PRIiFAST8: &[u8; 2] = b"i\0"; -pub const PRIiFAST64: &[u8; 4] = b"lli\0"; +pub const PRIiFAST16: &[u8; 3] = b"li\0"; +pub const PRIiFAST32: &[u8; 3] = b"li\0"; +pub const PRIiFAST64: &[u8; 3] = b"li\0"; pub const PRIo8: &[u8; 2] = b"o\0"; pub const PRIo16: &[u8; 2] = b"o\0"; pub const PRIo32: &[u8; 2] = b"o\0"; -pub const PRIo64: &[u8; 4] = b"llo\0"; +pub const PRIo64: &[u8; 3] = b"lo\0"; pub const PRIoLEAST8: &[u8; 2] = b"o\0"; pub const PRIoLEAST16: &[u8; 2] = b"o\0"; pub const PRIoLEAST32: &[u8; 2] = b"o\0"; -pub const PRIoLEAST64: &[u8; 4] = b"llo\0"; +pub const PRIoLEAST64: &[u8; 3] = b"lo\0"; pub const PRIoFAST8: &[u8; 2] = b"o\0"; -pub const PRIoFAST64: &[u8; 4] = b"llo\0"; +pub const PRIoFAST16: &[u8; 3] = b"lo\0"; +pub const PRIoFAST32: &[u8; 3] = b"lo\0"; +pub const PRIoFAST64: &[u8; 3] = b"lo\0"; pub const PRIu8: &[u8; 2] = b"u\0"; pub const PRIu16: &[u8; 2] = b"u\0"; pub const PRIu32: &[u8; 2] = b"u\0"; -pub const PRIu64: &[u8; 4] = b"llu\0"; +pub const PRIu64: &[u8; 3] = b"lu\0"; pub const PRIuLEAST8: &[u8; 2] = b"u\0"; pub const PRIuLEAST16: &[u8; 2] = b"u\0"; pub const PRIuLEAST32: &[u8; 2] = b"u\0"; -pub const PRIuLEAST64: &[u8; 4] = b"llu\0"; +pub const PRIuLEAST64: &[u8; 3] = b"lu\0"; pub const PRIuFAST8: &[u8; 2] = b"u\0"; -pub const PRIuFAST64: &[u8; 4] = b"llu\0"; +pub const PRIuFAST16: &[u8; 3] = b"lu\0"; +pub const PRIuFAST32: &[u8; 3] = b"lu\0"; +pub const PRIuFAST64: &[u8; 3] = b"lu\0"; pub const PRIx8: &[u8; 2] = b"x\0"; pub const PRIx16: &[u8; 2] = b"x\0"; pub const PRIx32: &[u8; 2] = b"x\0"; -pub const PRIx64: &[u8; 4] = b"llx\0"; +pub const PRIx64: &[u8; 3] = b"lx\0"; pub const PRIxLEAST8: &[u8; 2] = b"x\0"; pub const PRIxLEAST16: &[u8; 2] = b"x\0"; pub const PRIxLEAST32: &[u8; 2] = b"x\0"; -pub const PRIxLEAST64: &[u8; 4] = b"llx\0"; +pub const PRIxLEAST64: &[u8; 3] = b"lx\0"; pub const PRIxFAST8: &[u8; 2] = b"x\0"; -pub const PRIxFAST64: &[u8; 4] = b"llx\0"; +pub const PRIxFAST16: &[u8; 3] = b"lx\0"; +pub const PRIxFAST32: &[u8; 3] = b"lx\0"; +pub const PRIxFAST64: &[u8; 3] = b"lx\0"; pub const PRIX8: &[u8; 2] = b"X\0"; pub const PRIX16: &[u8; 2] = b"X\0"; pub const PRIX32: &[u8; 2] = b"X\0"; -pub const PRIX64: &[u8; 4] = b"llX\0"; +pub const PRIX64: &[u8; 3] = b"lX\0"; pub const PRIXLEAST8: &[u8; 2] = b"X\0"; pub const PRIXLEAST16: &[u8; 2] = b"X\0"; pub const PRIXLEAST32: &[u8; 2] = b"X\0"; -pub const PRIXLEAST64: &[u8; 4] = b"llX\0"; +pub const PRIXLEAST64: &[u8; 3] = b"lX\0"; pub const PRIXFAST8: &[u8; 2] = b"X\0"; -pub const PRIXFAST64: &[u8; 4] = b"llX\0"; -pub const PRIdMAX: &[u8; 4] = b"lld\0"; -pub const PRIiMAX: &[u8; 4] = b"lli\0"; -pub const PRIoMAX: &[u8; 4] = b"llo\0"; -pub const PRIuMAX: &[u8; 4] = b"llu\0"; -pub const PRIxMAX: &[u8; 4] = b"llx\0"; -pub const PRIXMAX: &[u8; 4] = b"llX\0"; +pub const PRIXFAST16: &[u8; 3] = b"lX\0"; +pub const PRIXFAST32: &[u8; 3] = b"lX\0"; +pub const PRIXFAST64: &[u8; 3] = b"lX\0"; +pub const PRIdMAX: &[u8; 3] = b"ld\0"; +pub const PRIiMAX: &[u8; 3] = b"li\0"; +pub const PRIoMAX: &[u8; 3] = b"lo\0"; +pub const PRIuMAX: &[u8; 3] = b"lu\0"; +pub const PRIxMAX: &[u8; 3] = b"lx\0"; +pub const PRIXMAX: &[u8; 3] = b"lX\0"; +pub const PRIdPTR: &[u8; 3] = b"ld\0"; +pub const PRIiPTR: &[u8; 3] = b"li\0"; +pub const PRIoPTR: &[u8; 3] = b"lo\0"; +pub const PRIuPTR: &[u8; 3] = b"lu\0"; +pub const PRIxPTR: &[u8; 3] = b"lx\0"; +pub const PRIXPTR: &[u8; 3] = b"lX\0"; pub const SCNd8: &[u8; 4] = b"hhd\0"; pub const SCNd16: &[u8; 3] = b"hd\0"; pub const SCNd32: &[u8; 2] = b"d\0"; -pub const SCNd64: &[u8; 4] = b"lld\0"; +pub const SCNd64: &[u8; 3] = b"ld\0"; pub const SCNdLEAST8: &[u8; 4] = b"hhd\0"; pub const SCNdLEAST16: &[u8; 3] = b"hd\0"; pub const SCNdLEAST32: &[u8; 2] = b"d\0"; -pub const SCNdLEAST64: &[u8; 4] = b"lld\0"; +pub const SCNdLEAST64: &[u8; 3] = b"ld\0"; pub const SCNdFAST8: &[u8; 4] = b"hhd\0"; -pub const SCNdFAST64: &[u8; 4] = b"lld\0"; +pub const SCNdFAST16: &[u8; 3] = b"ld\0"; +pub const SCNdFAST32: &[u8; 3] = b"ld\0"; +pub const SCNdFAST64: &[u8; 3] = b"ld\0"; pub const SCNi8: &[u8; 4] = b"hhi\0"; pub const SCNi16: &[u8; 3] = b"hi\0"; pub const SCNi32: &[u8; 2] = b"i\0"; -pub const SCNi64: &[u8; 4] = b"lli\0"; +pub const SCNi64: &[u8; 3] = b"li\0"; pub const SCNiLEAST8: &[u8; 4] = b"hhi\0"; pub const SCNiLEAST16: &[u8; 3] = b"hi\0"; pub const SCNiLEAST32: &[u8; 2] = b"i\0"; -pub const SCNiLEAST64: &[u8; 4] = b"lli\0"; +pub const SCNiLEAST64: &[u8; 3] = b"li\0"; pub const SCNiFAST8: &[u8; 4] = b"hhi\0"; -pub const SCNiFAST64: &[u8; 4] = b"lli\0"; +pub const SCNiFAST16: &[u8; 3] = b"li\0"; +pub const SCNiFAST32: &[u8; 3] = b"li\0"; +pub const SCNiFAST64: &[u8; 3] = b"li\0"; pub const SCNu8: &[u8; 4] = b"hhu\0"; pub const SCNu16: &[u8; 3] = b"hu\0"; pub const SCNu32: &[u8; 2] = b"u\0"; -pub const SCNu64: &[u8; 4] = b"llu\0"; +pub const SCNu64: &[u8; 3] = b"lu\0"; pub const SCNuLEAST8: &[u8; 4] = b"hhu\0"; pub const SCNuLEAST16: &[u8; 3] = b"hu\0"; pub const SCNuLEAST32: &[u8; 2] = b"u\0"; -pub const SCNuLEAST64: &[u8; 4] = b"llu\0"; +pub const SCNuLEAST64: &[u8; 3] = b"lu\0"; pub const SCNuFAST8: &[u8; 4] = b"hhu\0"; -pub const SCNuFAST64: &[u8; 4] = b"llu\0"; +pub const SCNuFAST16: &[u8; 3] = b"lu\0"; +pub const SCNuFAST32: &[u8; 3] = b"lu\0"; +pub const SCNuFAST64: &[u8; 3] = b"lu\0"; pub const SCNo8: &[u8; 4] = b"hho\0"; pub const SCNo16: &[u8; 3] = b"ho\0"; pub const SCNo32: &[u8; 2] = b"o\0"; -pub const SCNo64: &[u8; 4] = b"llo\0"; +pub const SCNo64: &[u8; 3] = b"lo\0"; pub const SCNoLEAST8: &[u8; 4] = b"hho\0"; pub const SCNoLEAST16: &[u8; 3] = b"ho\0"; pub const SCNoLEAST32: &[u8; 2] = b"o\0"; -pub const SCNoLEAST64: &[u8; 4] = b"llo\0"; +pub const SCNoLEAST64: &[u8; 3] = b"lo\0"; pub const SCNoFAST8: &[u8; 4] = b"hho\0"; -pub const SCNoFAST64: &[u8; 4] = b"llo\0"; +pub const SCNoFAST16: &[u8; 3] = b"lo\0"; +pub const SCNoFAST32: &[u8; 3] = b"lo\0"; +pub const SCNoFAST64: &[u8; 3] = b"lo\0"; pub const SCNx8: &[u8; 4] = b"hhx\0"; pub const SCNx16: &[u8; 3] = b"hx\0"; pub const SCNx32: &[u8; 2] = b"x\0"; -pub const SCNx64: &[u8; 4] = b"llx\0"; +pub const SCNx64: &[u8; 3] = b"lx\0"; pub const SCNxLEAST8: &[u8; 4] = b"hhx\0"; pub const SCNxLEAST16: &[u8; 3] = b"hx\0"; pub const SCNxLEAST32: &[u8; 2] = b"x\0"; -pub const SCNxLEAST64: &[u8; 4] = b"llx\0"; +pub const SCNxLEAST64: &[u8; 3] = b"lx\0"; pub const SCNxFAST8: &[u8; 4] = b"hhx\0"; -pub const SCNxFAST64: &[u8; 4] = b"llx\0"; -pub const SCNdMAX: &[u8; 4] = b"lld\0"; -pub const SCNiMAX: &[u8; 4] = b"lli\0"; -pub const SCNoMAX: &[u8; 4] = b"llo\0"; -pub const SCNuMAX: &[u8; 4] = b"llu\0"; -pub const SCNxMAX: &[u8; 4] = b"llx\0"; +pub const SCNxFAST16: &[u8; 3] = b"lx\0"; +pub const SCNxFAST32: &[u8; 3] = b"lx\0"; +pub const SCNxFAST64: &[u8; 3] = b"lx\0"; +pub const SCNdMAX: &[u8; 3] = b"ld\0"; +pub const SCNiMAX: &[u8; 3] = b"li\0"; +pub const SCNoMAX: &[u8; 3] = b"lo\0"; +pub const SCNuMAX: &[u8; 3] = b"lu\0"; +pub const SCNxMAX: &[u8; 3] = b"lx\0"; +pub const SCNdPTR: &[u8; 3] = b"ld\0"; +pub const SCNiPTR: &[u8; 3] = b"li\0"; +pub const SCNoPTR: &[u8; 3] = b"lo\0"; +pub const SCNuPTR: &[u8; 3] = b"lu\0"; +pub const SCNxPTR: &[u8; 3] = b"lx\0"; pub const _STDLIB_H: u32 = 1; pub const WNOHANG: u32 = 1; pub const WUNTRACED: u32 = 2; @@ -368,10 +409,9 @@ pub const WNOWAIT: u32 = 16777216; pub const __WNOTHREAD: u32 = 536870912; pub const __WALL: u32 = 1073741824; pub const __WCLONE: u32 = 2147483648; -pub const __ENUM_IDTYPE_T: u32 = 1; pub const __W_CONTINUED: u32 = 65535; pub const __WCOREFLAG: u32 = 128; -pub const __HAVE_FLOAT128: u32 = 0; +pub const __HAVE_FLOAT128: u32 = 1; pub const __HAVE_DISTINCT_FLOAT128: u32 = 0; pub const __HAVE_FLOAT64X: u32 = 1; pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1; @@ -413,7 +453,6 @@ pub const BYTE_ORDER: u32 = 1234; pub const _BITS_BYTESWAP_H: u32 = 1; pub const _BITS_UINTN_IDENTITY_H: u32 = 1; pub const _SYS_SELECT_H: u32 = 1; -pub const __FD_ZERO_STOS: &[u8; 6] = b"stosl\0"; pub const __sigset_t_defined: u32 = 1; pub const __timeval_defined: u32 = 1; pub const _STRUCT_TIMESPEC: u32 = 1; @@ -421,17 +460,17 @@ pub const FD_SETSIZE: u32 = 1024; pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1; pub const _THREAD_SHARED_TYPES_H: u32 = 1; pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1; -pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 24; -pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 36; -pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 32; -pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 20; -pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4; +pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 64; +pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 48; +pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 8; +pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 8; +pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56; +pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32; +pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 8; pub const __SIZEOF_PTHREAD_COND_T: u32 = 48; -pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8; -pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4; pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1; -pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 0; +pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1; pub const __have_pthread_attr_t: u32 = 1; pub const _ALLOCA_H: u32 = 1; pub type __u_char = ::std::os::raw::c_uchar; @@ -444,8 +483,8 @@ pub type __int16_t = ::std::os::raw::c_short; pub type __uint16_t = ::std::os::raw::c_ushort; pub type __int32_t = ::std::os::raw::c_int; pub type __uint32_t = ::std::os::raw::c_uint; -pub type __int64_t = ::std::os::raw::c_longlong; -pub type __uint64_t = ::std::os::raw::c_ulonglong; +pub type __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; @@ -454,19 +493,19 @@ 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_longlong; -pub type __u_quad_t = ::std::os::raw::c_ulonglong; -pub type __intmax_t = ::std::os::raw::c_longlong; -pub type __uintmax_t = ::std::os::raw::c_ulonglong; -pub type __dev_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 = __uint64_t; +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_uint; pub type __off_t = ::std::os::raw::c_long; -pub type __off64_t = __int64_t; +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)] @@ -500,32 +539,32 @@ fn bindgen_test_layout___fsid_t() { } pub type __clock_t = ::std::os::raw::c_long; pub type __rlim_t = ::std::os::raw::c_ulong; -pub type __rlim64_t = __uint64_t; +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 __blksize_t = ::std::os::raw::c_int; pub type __blkcnt_t = ::std::os::raw::c_long; -pub type __blkcnt64_t = __int64_t; +pub type __blkcnt64_t = ::std::os::raw::c_long; pub type __fsblkcnt_t = ::std::os::raw::c_ulong; -pub type __fsblkcnt64_t = __uint64_t; +pub type __fsblkcnt64_t = ::std::os::raw::c_ulong; pub type __fsfilcnt_t = ::std::os::raw::c_ulong; -pub type __fsfilcnt64_t = __uint64_t; -pub type __fsword_t = ::std::os::raw::c_int; -pub type __ssize_t = ::std::os::raw::c_int; +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_int; +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 __time64_t = __int64_t; pub type int_least8_t = __int_least8_t; pub type int_least16_t = __int_least16_t; pub type int_least32_t = __int_least32_t; @@ -535,13 +574,13 @@ 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_int; -pub type int_fast32_t = ::std::os::raw::c_int; -pub type int_fast64_t = ::std::os::raw::c_longlong; +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_uint; -pub type uint_fast32_t = ::std::os::raw::c_uint; -pub type uint_fast64_t = ::std::os::raw::c_ulonglong; +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 type size_t = ::std::os::raw::c_ulong; @@ -654,6 +693,8 @@ pub type TPMA_STARTUP_CLEAR = u32; pub type TPMA_MEMORY = u32; pub type TPMA_CC = u32; pub type TPMA_MODES = u32; +pub type TPMA_X509_KEY_USAGE = u32; +pub type TPMA_ACT = u32; pub type TPMI_YES_NO = BYTE; pub type TPMI_DH_OBJECT = TPM2_HANDLE; pub type TPMI_DH_PERSISTENT = TPM2_HANDLE; @@ -663,9 +704,11 @@ pub type TPMI_SH_AUTH_SESSION = TPM2_HANDLE; pub type TPMI_SH_HMAC = TPM2_HANDLE; pub type TPMI_SH_POLICY = TPM2_HANDLE; pub type TPMI_DH_CONTEXT = TPM2_HANDLE; +pub type TPMI_DH_SAVED = TPM2_HANDLE; pub type TPMI_RH_HIERARCHY = TPM2_HANDLE; pub type TPMI_RH_ENABLES = TPM2_HANDLE; pub type TPMI_RH_HIERARCHY_AUTH = TPM2_HANDLE; +pub type TPMI_RH_HIERARCHY_POLICY = TPM2_HANDLE; pub type TPMI_RH_PLATFORM = TPM2_HANDLE; pub type TPMI_RH_OWNER = TPM2_HANDLE; pub type TPMI_RH_ENDORSEMENT = TPM2_HANDLE; @@ -674,6 +717,8 @@ pub type TPMI_RH_CLEAR = TPM2_HANDLE; pub type TPMI_RH_NV_AUTH = TPM2_HANDLE; pub type TPMI_RH_LOCKOUT = TPM2_HANDLE; pub type TPMI_RH_NV_INDEX = TPM2_HANDLE; +pub type TPMI_RH_AC = TPM2_HANDLE; +pub type TPMI_RH_ACT = TPM2_HANDLE; pub type TPMI_ALG_HASH = TPM2_ALG_ID; pub type TPMI_ALG_ASYM = TPM2_ALG_ID; pub type TPMI_ALG_SYM = TPM2_ALG_ID; @@ -683,6 +728,8 @@ pub type TPMI_ALG_KDF = TPM2_ALG_ID; pub type TPMI_ALG_SIG_SCHEME = TPM2_ALG_ID; pub type TPMI_ECC_KEY_EXCHANGE = TPM2_ALG_ID; pub type TPMI_ST_COMMAND_TAG = TPM2_ST; +pub type TPMI_ALG_MAC_SCHEME = TPM2_ALG_ID; +pub type TPMI_ALG_CIPHER_MODE = TPM2_ALG_ID; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct TPMS_EMPTY { @@ -1806,6 +1853,58 @@ impl Default for TPMS_TAGGED_POLICY { } } #[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TPMS_ACT_DATA { + pub handle: TPM2_HANDLE, + pub timeout: UINT32, + pub attributes: TPMA_ACT, +} +#[test] +fn bindgen_test_layout_TPMS_ACT_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(TPMS_ACT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(TPMS_ACT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMS_ACT_DATA), + "::", + stringify!(handle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).timeout) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(TPMS_ACT_DATA), + "::", + stringify!(timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(TPMS_ACT_DATA), + "::", + stringify!(attributes) + ) + ); +} +#[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TPML_CC { pub count: UINT32, @@ -2349,6 +2448,106 @@ impl Default for TPML_ECC_CURVE { } } #[repr(C)] +#[derive(Copy, Clone)] +pub struct TPML_TAGGED_POLICY { + pub count: UINT32, + pub policies: [TPMS_TAGGED_POLICY; 14usize], +} +#[test] +fn bindgen_test_layout_TPML_TAGGED_POLICY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1012usize, + concat!("Size of: ", stringify!(TPML_TAGGED_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(TPML_TAGGED_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPML_TAGGED_POLICY), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).policies) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(TPML_TAGGED_POLICY), + "::", + stringify!(policies) + ) + ); +} +impl Default for TPML_TAGGED_POLICY { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TPML_ACT_DATA { + pub count: UINT32, + pub actData: [TPMS_ACT_DATA; 84usize], +} +#[test] +fn bindgen_test_layout_TPML_ACT_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1012usize, + concat!("Size of: ", stringify!(TPML_ACT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(TPML_ACT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPML_ACT_DATA), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).actData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(TPML_ACT_DATA), + "::", + stringify!(actData) + ) + ); +} +impl Default for TPML_ACT_DATA { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TPML_INTEL_PTT_PROPERTY { pub count: UINT32, @@ -2411,6 +2610,8 @@ pub union TPMU_CAPABILITIES { pub tpmProperties: TPML_TAGGED_TPM_PROPERTY, pub pcrProperties: TPML_TAGGED_PCR_PROPERTY, pub eccCurves: TPML_ECC_CURVE, + pub authPolicies: TPML_TAGGED_POLICY, + pub actData: TPML_ACT_DATA, pub intelPttProperty: TPML_INTEL_PTT_PROPERTY, } #[test] @@ -2517,6 +2718,26 @@ fn bindgen_test_layout_TPMU_CAPABILITIES() { stringify!(eccCurves) ) ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).authPolicies) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMU_CAPABILITIES), + "::", + stringify!(authPolicies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).actData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMU_CAPABILITIES), + "::", + stringify!(actData) + ) + ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).intelPttProperty) as usize - ptr as usize }, 0usize, @@ -3068,6 +3289,57 @@ impl Default for TPMS_NV_CERTIFY_INFO { } } } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TPMS_NV_DIGEST_CERTIFY_INFO { + pub indexName: TPM2B_NAME, + pub nvDigest: TPM2B_DIGEST, +} +#[test] +fn bindgen_test_layout_TPMS_NV_DIGEST_CERTIFY_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(TPMS_NV_DIGEST_CERTIFY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(TPMS_NV_DIGEST_CERTIFY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).indexName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMS_NV_DIGEST_CERTIFY_INFO), + "::", + stringify!(indexName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nvDigest) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(TPMS_NV_DIGEST_CERTIFY_INFO), + "::", + stringify!(nvDigest) + ) + ); +} +impl Default for TPMS_NV_DIGEST_CERTIFY_INFO { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} pub type TPMI_ST_ATTEST = TPM2_ST; #[repr(C)] #[derive(Copy, Clone)] @@ -7314,7 +7586,6 @@ impl Default for TPM2B_CREATION_DATA { } pub type TPM_AT = UINT32; pub type TPM_EA = UINT32; -pub type TPMI_RH_AC = TPM2_HANDLE; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct TPMS_AC_OUTPUT { @@ -8553,7 +8824,7 @@ extern "C" { sysContext: *mut TSS2_SYS_CONTEXT, keyHandle: TPMI_DH_OBJECT, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, ) -> TSS2_RC; @@ -8571,7 +8842,7 @@ extern "C" { keyHandle: TPMI_DH_OBJECT, cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, outData: *mut TPM2B_MAX_BUFFER, @@ -8585,7 +8856,7 @@ extern "C" { keyHandle: TPMI_DH_OBJECT, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, ) -> TSS2_RC; } @@ -8603,7 +8874,7 @@ extern "C" { cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, outData: *mut TPM2B_MAX_BUFFER, ivOut: *mut TPM2B_IV, @@ -8848,6 +9119,39 @@ extern "C" { rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_Sys_CertifyX509_Prepare( + sysContext: *mut TSS2_SYS_CONTEXT, + objectHandle: TPMI_DH_OBJECT, + signHandle: TPMI_DH_OBJECT, + reserved: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + partialCertificate: *const TPM2B_MAX_BUFFER, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_CertifyX509_Complete( + sysContext: *mut TSS2_SYS_CONTEXT, + addedToCertificate: *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut TPM2B_DIGEST, + signature: *mut TPMT_SIGNATURE, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_CertifyX509( + sysContext: *mut TSS2_SYS_CONTEXT, + objectHandle: TPMI_DH_OBJECT, + signHandle: TPMI_DH_OBJECT, + cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, + reserved: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + partialCertificate: *const TPM2B_MAX_BUFFER, + addedToCertificate: *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut TPM2B_DIGEST, + signature: *mut TPMT_SIGNATURE, + rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_Sys_CertifyCreation_Prepare( sysContext: *mut TSS2_SYS_CONTEXT, @@ -10094,7 +10398,9 @@ extern "C" { extern "C" { pub fn Tss2_Sys_ReadClock( sysContext: *mut TSS2_SYS_CONTEXT, + cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, currentTime: *mut TPMS_TIME_INFO, + rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, ) -> TSS2_RC; } extern "C" { @@ -10581,6 +10887,25 @@ extern "C" { rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_Sys_ACT_SetTimeout_Prepare( + sysContext: *mut TSS2_SYS_CONTEXT, + actHandle: TPMI_RH_ACT, + startTimeout: UINT32, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_ACT_SetTimeout_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_ACT_SetTimeout( + sysContext: *mut TSS2_SYS_CONTEXT, + actHandle: TPMI_RH_ACT, + cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, + startTimeout: UINT32, + rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_Sys_PolicyTemplate_Prepare( sysContext: *mut TSS2_SYS_CONTEXT, @@ -11010,7 +11335,7 @@ extern "C" { shandle3: ESYS_TR, inPrivate: *const TPM2B_SENSITIVE, inPublic: *const TPM2B_PUBLIC, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, objectHandle: *mut ESYS_TR, ) -> TSS2_RC; } @@ -11022,7 +11347,7 @@ extern "C" { shandle3: ESYS_TR, inPrivate: *const TPM2B_SENSITIVE, inPublic: *const TPM2B_PUBLIC, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, ) -> TSS2_RC; } extern "C" { @@ -11091,6 +11416,29 @@ extern "C" { certInfo: *mut *mut TPM2B_DIGEST, ) -> TSS2_RC; } +extern "C" { + pub fn Esys_ACT_SetTimeout( + esysContext: *mut ESYS_CONTEXT, + actHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + startTimeout: UINT32, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_ACT_SetTimeout_Async( + esysContext: *mut ESYS_CONTEXT, + actHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + startTimeout: UINT32, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_ACT_SetTimeout_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC; +} extern "C" { pub fn Esys_MakeCredential( esysContext: *mut ESYS_CONTEXT, @@ -11498,7 +11846,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, outData: *mut *mut TPM2B_MAX_BUFFER, @@ -11513,7 +11861,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, ) -> TSS2_RC; @@ -11534,7 +11882,7 @@ extern "C" { shandle3: ESYS_TR, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, outData: *mut *mut TPM2B_MAX_BUFFER, ivOut: *mut *mut TPM2B_IV, @@ -11549,7 +11897,7 @@ extern "C" { shandle3: ESYS_TR, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, ) -> TSS2_RC; } @@ -11568,7 +11916,7 @@ extern "C" { shandle3: ESYS_TR, data: *const TPM2B_MAX_BUFFER, hashAlg: TPMI_ALG_HASH, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, outHash: *mut *mut TPM2B_DIGEST, validation: *mut *mut TPMT_TK_HASHCHECK, ) -> TSS2_RC; @@ -11581,7 +11929,7 @@ extern "C" { shandle3: ESYS_TR, data: *const TPM2B_MAX_BUFFER, hashAlg: TPMI_ALG_HASH, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, ) -> TSS2_RC; } extern "C" { @@ -11753,7 +12101,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, buffer: *const TPM2B_MAX_BUFFER, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, result: *mut *mut TPM2B_DIGEST, validation: *mut *mut TPMT_TK_HASHCHECK, ) -> TSS2_RC; @@ -11766,7 +12114,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, buffer: *const TPM2B_MAX_BUFFER, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, ) -> TSS2_RC; } extern "C" { @@ -11875,6 +12223,43 @@ extern "C" { signature: *mut *mut TPMT_SIGNATURE, ) -> TSS2_RC; } +extern "C" { + pub fn Esys_CertifyX509( + esysContext: *mut ESYS_CONTEXT, + objectHandle: ESYS_TR, + signHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + reserved: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + partialCertificate: *const TPM2B_MAX_BUFFER, + addedToCertificate: *mut *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut *mut TPM2B_DIGEST, + signature: *mut *mut TPMT_SIGNATURE, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_CertifyX509_Async( + esysContext: *mut ESYS_CONTEXT, + objectHandle: ESYS_TR, + signHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + reserved: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + partialCertificate: *const TPM2B_MAX_BUFFER, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_CertifyX509_Finish( + esysContext: *mut ESYS_CONTEXT, + addedToCertificate: *mut *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut *mut TPM2B_DIGEST, + signature: *mut *mut TPMT_SIGNATURE, + ) -> TSS2_RC; +} extern "C" { pub fn Esys_Quote( esysContext: *mut ESYS_CONTEXT, @@ -12911,7 +13296,7 @@ extern "C" { shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - enable: TPMI_RH_ENABLES, + enable: ESYS_TR, state: TPMI_YES_NO, ) -> TSS2_RC; } @@ -12922,7 +13307,7 @@ extern "C" { shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - enable: TPMI_RH_ENABLES, + enable: ESYS_TR, state: TPMI_YES_NO, ) -> TSS2_RC; } @@ -13833,8 +14218,8 @@ pub type __gwchar_t = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct imaxdiv_t { - pub quot: ::std::os::raw::c_longlong, - pub rem: ::std::os::raw::c_longlong, + pub quot: ::std::os::raw::c_long, + pub rem: ::std::os::raw::c_long, } #[test] fn bindgen_test_layout_imaxdiv_t() { @@ -13905,10 +14290,7 @@ extern "C" { __base: ::std::os::raw::c_int, ) -> uintmax_t; } -pub const idtype_t_P_ALL: idtype_t = 0; -pub const idtype_t_P_PID: idtype_t = 1; -pub const idtype_t_P_PGID: idtype_t = 2; -pub type idtype_t = ::std::os::raw::c_uint; +pub type _Float128 = u128; pub type _Float32 = f32; pub type _Float64 = f64; pub type _Float32x = f64; @@ -14320,6 +14702,102 @@ pub type blkcnt_t = __blkcnt_t; pub type fsblkcnt_t = __fsblkcnt_t; pub type fsfilcnt_t = __fsfilcnt_t; #[repr(C)] +#[derive(Copy, Clone)] +pub union __atomic_wide_counter { + pub __value64: ::std::os::raw::c_ulonglong, + pub __value32: __atomic_wide_counter__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct __atomic_wide_counter__bindgen_ty_1 { + pub __low: ::std::os::raw::c_uint, + pub __high: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(__atomic_wide_counter__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(__atomic_wide_counter__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter__bindgen_ty_1), + "::", + stringify!(__low) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter__bindgen_ty_1), + "::", + stringify!(__high) + ) + ); +} +#[test] +fn bindgen_test_layout___atomic_wide_counter() { + const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__atomic_wide_counter>(), + 8usize, + concat!("Size of: ", stringify!(__atomic_wide_counter)) + ); + assert_eq!( + ::std::mem::align_of::<__atomic_wide_counter>(), + 8usize, + concat!("Alignment of ", stringify!(__atomic_wide_counter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter), + "::", + stringify!(__value64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter), + "::", + stringify!(__value32) + ) + ); +} +impl Default for __atomic_wide_counter { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __pthread_internal_list { pub __prev: *mut __pthread_internal_list, @@ -14413,113 +14891,15 @@ impl Default for __pthread_internal_slist { } pub type __pthread_slist_t = __pthread_internal_slist; #[repr(C)] -#[derive(Copy, Clone)] +#[derive(Debug, Copy, Clone)] pub struct __pthread_mutex_s { pub __lock: ::std::os::raw::c_int, pub __count: ::std::os::raw::c_uint, pub __owner: ::std::os::raw::c_int, - pub __kind: ::std::os::raw::c_int, pub __nusers: ::std::os::raw::c_uint, - pub __bindgen_anon_1: __pthread_mutex_s__bindgen_ty_1, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union __pthread_mutex_s__bindgen_ty_1 { - pub __elision_data: __pthread_mutex_s__bindgen_ty_1__bindgen_ty_1, - pub __list: __pthread_slist_t, -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __pthread_mutex_s__bindgen_ty_1__bindgen_ty_1 { - pub __espins: ::std::os::raw::c_short, - pub __eelision: ::std::os::raw::c_short, -} -#[test] -fn bindgen_test_layout___pthread_mutex_s__bindgen_ty_1__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1>(), - 4usize, - concat!( - "Size of: ", - stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1>(), - 2usize, - concat!( - "Alignment of ", - stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__espins) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__espins) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__eelision) as usize - ptr as usize }, - 2usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__eelision) - ) - ); -} -#[test] -fn bindgen_test_layout___pthread_mutex_s__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_mutex_s__bindgen_ty_1>(), - 8usize, - concat!("Size of: ", stringify!(__pthread_mutex_s__bindgen_ty_1)) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_mutex_s__bindgen_ty_1>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_mutex_s__bindgen_ty_1)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__elision_data) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s__bindgen_ty_1), - "::", - stringify!(__elision_data) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s__bindgen_ty_1), - "::", - stringify!(__list) - ) - ); -} -impl Default for __pthread_mutex_s__bindgen_ty_1 { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } + pub __kind: ::std::os::raw::c_int, + pub __spins: ::std::os::raw::c_int, + pub __list: __pthread_list_t, } #[test] fn bindgen_test_layout___pthread_mutex_s() { @@ -14527,7 +14907,7 @@ fn bindgen_test_layout___pthread_mutex_s() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__pthread_mutex_s>(), - 32usize, + 40usize, concat!("Size of: ", stringify!(__pthread_mutex_s)) ); assert_eq!( @@ -14566,23 +14946,43 @@ fn bindgen_test_layout___pthread_mutex_s() { ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize }, 12usize, concat!( "Offset of field: ", stringify!(__pthread_mutex_s), "::", - stringify!(__kind) + stringify!(__nusers) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(__pthread_mutex_s), "::", - stringify!(__nusers) + stringify!(__kind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__spins) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__list) ) ); } @@ -14604,11 +15004,11 @@ pub struct __pthread_rwlock_arch_t { pub __writers_futex: ::std::os::raw::c_uint, pub __pad3: ::std::os::raw::c_uint, pub __pad4: ::std::os::raw::c_uint, - pub __flags: ::std::os::raw::c_uchar, - pub __shared: ::std::os::raw::c_uchar, - pub __rwelision: ::std::os::raw::c_schar, - pub __pad2: ::std::os::raw::c_uchar, pub __cur_writer: ::std::os::raw::c_int, + pub __shared: ::std::os::raw::c_int, + pub __pad1: ::std::os::raw::c_ulong, + pub __pad2: ::std::os::raw::c_ulong, + pub __flags: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout___pthread_rwlock_arch_t() { @@ -14617,12 +15017,12 @@ fn bindgen_test_layout___pthread_rwlock_arch_t() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__pthread_rwlock_arch_t>(), - 32usize, + 56usize, concat!("Size of: ", stringify!(__pthread_rwlock_arch_t)) ); assert_eq!( ::std::mem::align_of::<__pthread_rwlock_arch_t>(), - 4usize, + 8usize, concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t)) ); assert_eq!( @@ -14686,18 +15086,18 @@ fn bindgen_test_layout___pthread_rwlock_arch_t() { ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(__pthread_rwlock_arch_t), "::", - stringify!(__flags) + stringify!(__cur_writer) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize }, - 25usize, + 28usize, concat!( "Offset of field: ", stringify!(__pthread_rwlock_arch_t), @@ -14706,18 +15106,18 @@ fn bindgen_test_layout___pthread_rwlock_arch_t() { ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize }, - 26usize, + unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize }, + 32usize, concat!( "Offset of field: ", stringify!(__pthread_rwlock_arch_t), "::", - stringify!(__rwelision) + stringify!(__pad1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize }, - 27usize, + 40usize, concat!( "Offset of field: ", stringify!(__pthread_rwlock_arch_t), @@ -14726,239 +15126,61 @@ fn bindgen_test_layout___pthread_rwlock_arch_t() { ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize }, - 28usize, + unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize }, + 48usize, concat!( "Offset of field: ", stringify!(__pthread_rwlock_arch_t), "::", - stringify!(__cur_writer) + stringify!(__flags) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct __pthread_cond_s { - pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1, - pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2, + pub __wseq: __atomic_wide_counter, + pub __g1_start: __atomic_wide_counter, pub __g_refs: [::std::os::raw::c_uint; 2usize], pub __g_size: [::std::os::raw::c_uint; 2usize], pub __g1_orig_size: ::std::os::raw::c_uint, pub __wrefs: ::std::os::raw::c_uint, pub __g_signals: [::std::os::raw::c_uint; 2usize], } -#[repr(C)] -#[derive(Copy, Clone)] -pub union __pthread_cond_s__bindgen_ty_1 { - pub __wseq: ::std::os::raw::c_ulonglong, - pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 { - pub __low: ::std::os::raw::c_uint, - pub __high: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(), - 8usize, - concat!( - "Size of: ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(), - 4usize, - concat!( - "Alignment of ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__low) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__high) - ) - ); -} #[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___pthread_cond_s() { + const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(), - 8usize, - concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1)) + ::std::mem::size_of::<__pthread_cond_s>(), + 48usize, + concat!("Size of: ", stringify!(__pthread_cond_s)) ); assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(), + ::std::mem::align_of::<__pthread_cond_s>(), 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1)) + concat!("Alignment of ", stringify!(__pthread_cond_s)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1), + stringify!(__pthread_cond_s), "::", stringify!(__wseq) ) ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wseq32) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1), - "::", - stringify!(__wseq32) - ) - ); -} -impl Default for __pthread_cond_s__bindgen_ty_1 { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union __pthread_cond_s__bindgen_ty_2 { - pub __g1_start: ::std::os::raw::c_ulonglong, - pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 { - pub __low: ::std::os::raw::c_uint, - pub __high: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(), - 8usize, - concat!( - "Size of: ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(), - 4usize, - concat!( - "Alignment of ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(__low) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(__high) - ) - ); -} -#[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(), - 8usize, - concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2)) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2)) - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize }, - 0usize, + 8usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2), + stringify!(__pthread_cond_s), "::", stringify!(__g1_start) ) ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g1_start32) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2), - "::", - stringify!(__g1_start32) - ) - ); -} -impl Default for __pthread_cond_s__bindgen_ty_2 { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[test] -fn bindgen_test_layout___pthread_cond_s() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s>(), - 48usize, - concat!("Size of: ", stringify!(__pthread_cond_s)) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s)) - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize }, 16usize, @@ -15019,11 +15241,43 @@ impl Default for __pthread_cond_s { } } } +pub type __tss_t = ::std::os::raw::c_uint; +pub type __thrd_t = ::std::os::raw::c_ulong; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct __once_flag { + pub __data: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout___once_flag() { + const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__once_flag>(), + 4usize, + concat!("Size of: ", stringify!(__once_flag)) + ); + assert_eq!( + ::std::mem::align_of::<__once_flag>(), + 4usize, + concat!("Alignment of ", stringify!(__once_flag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__once_flag), + "::", + stringify!(__data) + ) + ); +} pub type pthread_t = ::std::os::raw::c_ulong; #[repr(C)] #[derive(Copy, Clone)] pub union pthread_mutexattr_t { - pub __size: [::std::os::raw::c_char; 4usize], + pub __size: [::std::os::raw::c_char; 8usize], pub __align: ::std::os::raw::c_int, } #[test] @@ -15032,7 +15286,7 @@ fn bindgen_test_layout_pthread_mutexattr_t() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 4usize, + 8usize, concat!("Size of: ", stringify!(pthread_mutexattr_t)) ); assert_eq!( @@ -15073,7 +15327,7 @@ impl Default for pthread_mutexattr_t { #[repr(C)] #[derive(Copy, Clone)] pub union pthread_condattr_t { - pub __size: [::std::os::raw::c_char; 4usize], + pub __size: [::std::os::raw::c_char; 8usize], pub __align: ::std::os::raw::c_int, } #[test] @@ -15082,7 +15336,7 @@ fn bindgen_test_layout_pthread_condattr_t() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 4usize, + 8usize, concat!("Size of: ", stringify!(pthread_condattr_t)) ); assert_eq!( @@ -15125,7 +15379,7 @@ pub type pthread_once_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Copy, Clone)] pub union pthread_attr_t { - pub __size: [::std::os::raw::c_char; 36usize], + pub __size: [::std::os::raw::c_char; 64usize], pub __align: ::std::os::raw::c_long, } #[test] @@ -15134,7 +15388,7 @@ fn bindgen_test_layout_pthread_attr_t() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 40usize, + 64usize, concat!("Size of: ", stringify!(pthread_attr_t)) ); assert_eq!( @@ -15176,7 +15430,7 @@ impl Default for pthread_attr_t { #[derive(Copy, Clone)] pub union pthread_mutex_t { pub __data: __pthread_mutex_s, - pub __size: [::std::os::raw::c_char; 24usize], + pub __size: [::std::os::raw::c_char; 48usize], pub __align: ::std::os::raw::c_long, } #[test] @@ -15185,7 +15439,7 @@ fn bindgen_test_layout_pthread_mutex_t() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 32usize, + 48usize, concat!("Size of: ", stringify!(pthread_mutex_t)) ); assert_eq!( @@ -15298,7 +15552,7 @@ impl Default for pthread_cond_t { #[derive(Copy, Clone)] pub union pthread_rwlock_t { pub __data: __pthread_rwlock_arch_t, - pub __size: [::std::os::raw::c_char; 32usize], + pub __size: [::std::os::raw::c_char; 56usize], pub __align: ::std::os::raw::c_long, } #[test] @@ -15307,7 +15561,7 @@ fn bindgen_test_layout_pthread_rwlock_t() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 32usize, + 56usize, concat!("Size of: ", stringify!(pthread_rwlock_t)) ); assert_eq!( @@ -15409,7 +15663,7 @@ pub type pthread_spinlock_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Copy, Clone)] pub union pthread_barrier_t { - pub __size: [::std::os::raw::c_char; 20usize], + pub __size: [::std::os::raw::c_char; 32usize], pub __align: ::std::os::raw::c_long, } #[test] @@ -15418,7 +15672,7 @@ fn bindgen_test_layout_pthread_barrier_t() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 24usize, + 32usize, concat!("Size of: ", stringify!(pthread_barrier_t)) ); assert_eq!( @@ -15459,7 +15713,7 @@ impl Default for pthread_barrier_t { #[repr(C)] #[derive(Copy, Clone)] pub union pthread_barrierattr_t { - pub __size: [::std::os::raw::c_char; 4usize], + pub __size: [::std::os::raw::c_char; 8usize], pub __align: ::std::os::raw::c_int, } #[test] @@ -15469,7 +15723,7 @@ fn bindgen_test_layout_pthread_barrierattr_t() { let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), - 4usize, + 8usize, concat!("Size of: ", stringify!(pthread_barrierattr_t)) ); assert_eq!( @@ -15830,6 +16084,9 @@ extern "C" { __size: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void; } +extern "C" { + pub fn free(__ptr: *mut ::std::os::raw::c_void); +} extern "C" { pub fn reallocarray( __ptr: *mut ::std::os::raw::c_void, @@ -15837,9 +16094,6 @@ extern "C" { __size: size_t, ) -> *mut ::std::os::raw::c_void; } -extern "C" { - pub fn free(__ptr: *mut ::std::os::raw::c_void); -} extern "C" { pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; } @@ -15854,7 +16108,10 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - pub fn aligned_alloc(__alignment: size_t, __size: size_t) -> *mut ::std::os::raw::c_void; + pub fn aligned_alloc( + __alignment: ::std::os::raw::c_ulong, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn abort() -> !; @@ -16126,22 +16383,6 @@ extern "C" { extern "C" { pub fn Tss2_TctiLdr_FreeInfo(info: *mut *mut TSS2_TCTI_INFO); } -extern "C" { - pub fn Tss2_MU_BYTE_Marshal( - src: BYTE, - buffer: *mut u8, - buffer_size: size_t, - offset: *mut size_t, - ) -> TSS2_RC; -} -extern "C" { - pub fn Tss2_MU_BYTE_Unmarshal( - buffer: *const u8, - buffer_size: size_t, - offset: *mut size_t, - dest: *mut BYTE, - ) -> TSS2_RC; -} extern "C" { pub fn Tss2_MU_INT8_Marshal( src: INT8, @@ -17518,6 +17759,38 @@ extern "C" { dest: *mut TPMS_ID_OBJECT, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_MU_TPMS_ACT_DATA_Marshal( + src: *const TPMS_ACT_DATA, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPMS_ACT_DATA_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPMS_ACT_DATA, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Marshal( + src: *const TPMS_NV_DIGEST_CERTIFY_INFO, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPMS_NV_DIGEST_CERTIFY_INFO, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_MU_TPML_CC_Marshal( src: *const TPML_CC, @@ -17726,6 +17999,38 @@ extern "C" { dest: *mut TPML_AC_CAPABILITIES, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_MU_TPML_TAGGED_POLICY_Marshal( + src: *const TPML_TAGGED_POLICY, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPML_TAGGED_POLICY_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPML_TAGGED_POLICY, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPML_ACT_DATA_Marshal( + src: *const TPML_ACT_DATA, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPML_ACT_DATA_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPML_ACT_DATA, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_MU_TPMU_HA_Marshal( src: *const TPMU_HA, @@ -18316,6 +18621,22 @@ extern "C" { out: *mut TPMI_ALG_HASH, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_MU_BYTE_Marshal( + in_: BYTE, + buffer: *mut u8, + size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_BYTE_Unmarshal( + buffer: *const u8, + size: size_t, + offset: *mut size_t, + out: *mut BYTE, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_MU_TPM2_SE_Marshal( in_: TPM2_SE, diff --git a/tss-esapi-sys/src/bindings/arm-unknown-linux-gnueabi.rs b/tss-esapi-sys/src/bindings/arm-unknown-linux-gnueabi.rs index 8ffaf22a..fd1ad14d 100644 --- a/tss-esapi-sys/src/bindings/arm-unknown-linux-gnueabi.rs +++ b/tss-esapi-sys/src/bindings/arm-unknown-linux-gnueabi.rs @@ -1,4 +1,5 @@ -/* automatically generated by rust-bindgen 0.66.1 */ +/* automatically generated by rust-bindgen 0.69.4 */ +/* TPM2_TSS_VERSION="3.2.2" */ pub const _STDINT_H: u32 = 1; pub const _FEATURES_H: u32 = 1; @@ -17,6 +18,11 @@ 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 __WORDSIZE: u32 = 32; +pub const __WORDSIZE_TIME64_COMPAT32: u32 = 0; +pub const __WORDSIZE32_SIZE_ULONG: u32 = 0; +pub const __WORDSIZE32_PTRDIFF_LONG: u32 = 0; +pub const __TIMESIZE: u32 = 32; pub const __USE_MISC: u32 = 1; pub const __USE_ATFILE: u32 = 1; pub const __USE_FORTIFY_LEVEL: u32 = 0; @@ -24,30 +30,30 @@ 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_60559_BFP__: u32 = 201404; pub const __STDC_IEC_559_COMPLEX__: u32 = 1; +pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404; pub const __STDC_ISO_10646__: u32 = 201706; pub const __GNU_LIBRARY__: u32 = 6; pub const __GLIBC__: u32 = 2; -pub const __GLIBC_MINOR__: u32 = 31; +pub const __GLIBC_MINOR__: u32 = 35; pub const _SYS_CDEFS_H: u32 = 1; pub const __glibc_c99_flexarr_available: u32 = 1; -pub const __WORDSIZE: u32 = 32; -pub const __WORDSIZE32_SIZE_ULONG: u32 = 0; -pub const __WORDSIZE32_PTRDIFF_LONG: u32 = 0; -pub const __WORDSIZE_TIME64_COMPAT32: u32 = 0; -pub const __LONG_DOUBLE_USES_FLOAT128: u32 = 0; +pub const __NO_LONG_DOUBLE_MATH: u32 = 1; +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_EXT: 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 = 32; pub const _BITS_TYPESIZES_H: u32 = 1; pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 0; pub const __STATFS_MATCHES_STATFS64: u32 = 0; +pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 0; pub const __FD_SETSIZE: u32 = 1024; pub const _BITS_TIME64_H: u32 = 1; pub const _BITS_WCHAR_H: u32 = 1; @@ -142,6 +148,8 @@ pub const TSS2_BASE_RC_NAME_ALREADY_EXISTS: u32 = 48; pub const TSS2_BASE_RC_NO_TPM: u32 = 49; pub const TSS2_BASE_RC_BAD_KEY: u32 = 50; pub const TSS2_BASE_RC_NO_HANDLE: u32 = 51; +pub const TSS2_BASE_RC_NOT_PROVISIONED: u32 = 52; +pub const TSS2_BASE_RC_ALREADY_PROVISIONED: u32 = 53; pub const TSS2_LAYER_IMPLEMENTATION_SPECIFIC_OFFSET: u32 = 63488; pub const TSS2_LEVEL_IMPLEMENTATION_SPECIFIC_SHIFT: u32 = 11; pub const TPM2_MAX_COMMAND_SIZE: u32 = 4096; @@ -233,7 +241,8 @@ pub const ESYS_TR_RH_ENDORSEMENT: u32 = 267; pub const ESYS_TR_RH_PLATFORM: u32 = 268; pub const ESYS_TR_RH_PLATFORM_NV: u32 = 269; pub const ESYS_TR_RH_AUTH_FIRST: u32 = 272; -pub const ESYS_TR_MIN_OBJECT: u32 = 4096; +pub const ESYS_TR_RH_ACT_FIRST: u32 = 288; +pub const ESYS_TR_RH_ACT_LAST: u32 = 303; pub const _INTTYPES_H: u32 = 1; pub const ____gwchar_t_defined: u32 = 1; pub const __PRI64_PREFIX: &[u8; 3] = b"ll\0"; @@ -368,13 +377,12 @@ pub const WNOWAIT: u32 = 16777216; pub const __WNOTHREAD: u32 = 536870912; pub const __WALL: u32 = 1073741824; pub const __WCLONE: u32 = 2147483648; -pub const __ENUM_IDTYPE_T: u32 = 1; pub const __W_CONTINUED: u32 = 65535; pub const __WCOREFLAG: u32 = 128; pub const __HAVE_FLOAT128: u32 = 0; pub const __HAVE_DISTINCT_FLOAT128: u32 = 0; -pub const __HAVE_FLOAT64X: u32 = 1; -pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1; +pub const __HAVE_FLOAT64X: u32 = 0; +pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 0; pub const __HAVE_FLOAT16: u32 = 0; pub const __HAVE_FLOAT32: u32 = 1; pub const __HAVE_FLOAT64: u32 = 1; @@ -413,7 +421,6 @@ pub const BYTE_ORDER: u32 = 1234; pub const _BITS_BYTESWAP_H: u32 = 1; pub const _BITS_UINTN_IDENTITY_H: u32 = 1; pub const _SYS_SELECT_H: u32 = 1; -pub const __FD_ZERO_STOS: &[u8; 6] = b"stosl\0"; pub const __sigset_t_defined: u32 = 1; pub const __timeval_defined: u32 = 1; pub const _STRUCT_TIMESPEC: u32 = 1; @@ -421,15 +428,15 @@ pub const FD_SETSIZE: u32 = 1024; pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1; pub const _THREAD_SHARED_TYPES_H: u32 = 1; pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1; -pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 24; pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 36; +pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 24; pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 32; pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 20; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4; -pub const __SIZEOF_PTHREAD_COND_T: u32 = 48; -pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8; pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4; +pub const __SIZEOF_PTHREAD_COND_T: u32 = 48; +pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4; pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1; pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 0; pub const __have_pthread_attr_t: u32 = 1; @@ -505,6 +512,7 @@ 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 = __int64_t; 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; @@ -654,6 +662,8 @@ pub type TPMA_STARTUP_CLEAR = u32; pub type TPMA_MEMORY = u32; pub type TPMA_CC = u32; pub type TPMA_MODES = u32; +pub type TPMA_X509_KEY_USAGE = u32; +pub type TPMA_ACT = u32; pub type TPMI_YES_NO = BYTE; pub type TPMI_DH_OBJECT = TPM2_HANDLE; pub type TPMI_DH_PERSISTENT = TPM2_HANDLE; @@ -663,9 +673,11 @@ pub type TPMI_SH_AUTH_SESSION = TPM2_HANDLE; pub type TPMI_SH_HMAC = TPM2_HANDLE; pub type TPMI_SH_POLICY = TPM2_HANDLE; pub type TPMI_DH_CONTEXT = TPM2_HANDLE; +pub type TPMI_DH_SAVED = TPM2_HANDLE; pub type TPMI_RH_HIERARCHY = TPM2_HANDLE; pub type TPMI_RH_ENABLES = TPM2_HANDLE; pub type TPMI_RH_HIERARCHY_AUTH = TPM2_HANDLE; +pub type TPMI_RH_HIERARCHY_POLICY = TPM2_HANDLE; pub type TPMI_RH_PLATFORM = TPM2_HANDLE; pub type TPMI_RH_OWNER = TPM2_HANDLE; pub type TPMI_RH_ENDORSEMENT = TPM2_HANDLE; @@ -674,6 +686,8 @@ pub type TPMI_RH_CLEAR = TPM2_HANDLE; pub type TPMI_RH_NV_AUTH = TPM2_HANDLE; pub type TPMI_RH_LOCKOUT = TPM2_HANDLE; pub type TPMI_RH_NV_INDEX = TPM2_HANDLE; +pub type TPMI_RH_AC = TPM2_HANDLE; +pub type TPMI_RH_ACT = TPM2_HANDLE; pub type TPMI_ALG_HASH = TPM2_ALG_ID; pub type TPMI_ALG_ASYM = TPM2_ALG_ID; pub type TPMI_ALG_SYM = TPM2_ALG_ID; @@ -683,6 +697,8 @@ pub type TPMI_ALG_KDF = TPM2_ALG_ID; pub type TPMI_ALG_SIG_SCHEME = TPM2_ALG_ID; pub type TPMI_ECC_KEY_EXCHANGE = TPM2_ALG_ID; pub type TPMI_ST_COMMAND_TAG = TPM2_ST; +pub type TPMI_ALG_MAC_SCHEME = TPM2_ALG_ID; +pub type TPMI_ALG_CIPHER_MODE = TPM2_ALG_ID; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct TPMS_EMPTY { @@ -1806,6 +1822,58 @@ impl Default for TPMS_TAGGED_POLICY { } } #[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TPMS_ACT_DATA { + pub handle: TPM2_HANDLE, + pub timeout: UINT32, + pub attributes: TPMA_ACT, +} +#[test] +fn bindgen_test_layout_TPMS_ACT_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(TPMS_ACT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(TPMS_ACT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMS_ACT_DATA), + "::", + stringify!(handle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).timeout) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(TPMS_ACT_DATA), + "::", + stringify!(timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(TPMS_ACT_DATA), + "::", + stringify!(attributes) + ) + ); +} +#[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TPML_CC { pub count: UINT32, @@ -2349,6 +2417,106 @@ impl Default for TPML_ECC_CURVE { } } #[repr(C)] +#[derive(Copy, Clone)] +pub struct TPML_TAGGED_POLICY { + pub count: UINT32, + pub policies: [TPMS_TAGGED_POLICY; 14usize], +} +#[test] +fn bindgen_test_layout_TPML_TAGGED_POLICY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1012usize, + concat!("Size of: ", stringify!(TPML_TAGGED_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(TPML_TAGGED_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPML_TAGGED_POLICY), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).policies) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(TPML_TAGGED_POLICY), + "::", + stringify!(policies) + ) + ); +} +impl Default for TPML_TAGGED_POLICY { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TPML_ACT_DATA { + pub count: UINT32, + pub actData: [TPMS_ACT_DATA; 84usize], +} +#[test] +fn bindgen_test_layout_TPML_ACT_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1012usize, + concat!("Size of: ", stringify!(TPML_ACT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(TPML_ACT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPML_ACT_DATA), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).actData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(TPML_ACT_DATA), + "::", + stringify!(actData) + ) + ); +} +impl Default for TPML_ACT_DATA { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TPML_INTEL_PTT_PROPERTY { pub count: UINT32, @@ -2411,6 +2579,8 @@ pub union TPMU_CAPABILITIES { pub tpmProperties: TPML_TAGGED_TPM_PROPERTY, pub pcrProperties: TPML_TAGGED_PCR_PROPERTY, pub eccCurves: TPML_ECC_CURVE, + pub authPolicies: TPML_TAGGED_POLICY, + pub actData: TPML_ACT_DATA, pub intelPttProperty: TPML_INTEL_PTT_PROPERTY, } #[test] @@ -2517,6 +2687,26 @@ fn bindgen_test_layout_TPMU_CAPABILITIES() { stringify!(eccCurves) ) ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).authPolicies) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMU_CAPABILITIES), + "::", + stringify!(authPolicies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).actData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMU_CAPABILITIES), + "::", + stringify!(actData) + ) + ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).intelPttProperty) as usize - ptr as usize }, 0usize, @@ -3068,6 +3258,57 @@ impl Default for TPMS_NV_CERTIFY_INFO { } } } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TPMS_NV_DIGEST_CERTIFY_INFO { + pub indexName: TPM2B_NAME, + pub nvDigest: TPM2B_DIGEST, +} +#[test] +fn bindgen_test_layout_TPMS_NV_DIGEST_CERTIFY_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(TPMS_NV_DIGEST_CERTIFY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(TPMS_NV_DIGEST_CERTIFY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).indexName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMS_NV_DIGEST_CERTIFY_INFO), + "::", + stringify!(indexName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nvDigest) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(TPMS_NV_DIGEST_CERTIFY_INFO), + "::", + stringify!(nvDigest) + ) + ); +} +impl Default for TPMS_NV_DIGEST_CERTIFY_INFO { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} pub type TPMI_ST_ATTEST = TPM2_ST; #[repr(C)] #[derive(Copy, Clone)] @@ -7314,7 +7555,6 @@ impl Default for TPM2B_CREATION_DATA { } pub type TPM_AT = UINT32; pub type TPM_EA = UINT32; -pub type TPMI_RH_AC = TPM2_HANDLE; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct TPMS_AC_OUTPUT { @@ -8553,7 +8793,7 @@ extern "C" { sysContext: *mut TSS2_SYS_CONTEXT, keyHandle: TPMI_DH_OBJECT, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, ) -> TSS2_RC; @@ -8571,7 +8811,7 @@ extern "C" { keyHandle: TPMI_DH_OBJECT, cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, outData: *mut TPM2B_MAX_BUFFER, @@ -8585,7 +8825,7 @@ extern "C" { keyHandle: TPMI_DH_OBJECT, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, ) -> TSS2_RC; } @@ -8603,7 +8843,7 @@ extern "C" { cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, outData: *mut TPM2B_MAX_BUFFER, ivOut: *mut TPM2B_IV, @@ -8848,6 +9088,39 @@ extern "C" { rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_Sys_CertifyX509_Prepare( + sysContext: *mut TSS2_SYS_CONTEXT, + objectHandle: TPMI_DH_OBJECT, + signHandle: TPMI_DH_OBJECT, + reserved: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + partialCertificate: *const TPM2B_MAX_BUFFER, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_CertifyX509_Complete( + sysContext: *mut TSS2_SYS_CONTEXT, + addedToCertificate: *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut TPM2B_DIGEST, + signature: *mut TPMT_SIGNATURE, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_CertifyX509( + sysContext: *mut TSS2_SYS_CONTEXT, + objectHandle: TPMI_DH_OBJECT, + signHandle: TPMI_DH_OBJECT, + cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, + reserved: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + partialCertificate: *const TPM2B_MAX_BUFFER, + addedToCertificate: *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut TPM2B_DIGEST, + signature: *mut TPMT_SIGNATURE, + rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_Sys_CertifyCreation_Prepare( sysContext: *mut TSS2_SYS_CONTEXT, @@ -10094,7 +10367,9 @@ extern "C" { extern "C" { pub fn Tss2_Sys_ReadClock( sysContext: *mut TSS2_SYS_CONTEXT, + cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, currentTime: *mut TPMS_TIME_INFO, + rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, ) -> TSS2_RC; } extern "C" { @@ -10581,6 +10856,25 @@ extern "C" { rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_Sys_ACT_SetTimeout_Prepare( + sysContext: *mut TSS2_SYS_CONTEXT, + actHandle: TPMI_RH_ACT, + startTimeout: UINT32, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_ACT_SetTimeout_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_ACT_SetTimeout( + sysContext: *mut TSS2_SYS_CONTEXT, + actHandle: TPMI_RH_ACT, + cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, + startTimeout: UINT32, + rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_Sys_PolicyTemplate_Prepare( sysContext: *mut TSS2_SYS_CONTEXT, @@ -11010,7 +11304,7 @@ extern "C" { shandle3: ESYS_TR, inPrivate: *const TPM2B_SENSITIVE, inPublic: *const TPM2B_PUBLIC, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, objectHandle: *mut ESYS_TR, ) -> TSS2_RC; } @@ -11022,7 +11316,7 @@ extern "C" { shandle3: ESYS_TR, inPrivate: *const TPM2B_SENSITIVE, inPublic: *const TPM2B_PUBLIC, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, ) -> TSS2_RC; } extern "C" { @@ -11091,6 +11385,29 @@ extern "C" { certInfo: *mut *mut TPM2B_DIGEST, ) -> TSS2_RC; } +extern "C" { + pub fn Esys_ACT_SetTimeout( + esysContext: *mut ESYS_CONTEXT, + actHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + startTimeout: UINT32, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_ACT_SetTimeout_Async( + esysContext: *mut ESYS_CONTEXT, + actHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + startTimeout: UINT32, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_ACT_SetTimeout_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC; +} extern "C" { pub fn Esys_MakeCredential( esysContext: *mut ESYS_CONTEXT, @@ -11498,7 +11815,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, outData: *mut *mut TPM2B_MAX_BUFFER, @@ -11513,7 +11830,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, ) -> TSS2_RC; @@ -11534,7 +11851,7 @@ extern "C" { shandle3: ESYS_TR, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, outData: *mut *mut TPM2B_MAX_BUFFER, ivOut: *mut *mut TPM2B_IV, @@ -11549,7 +11866,7 @@ extern "C" { shandle3: ESYS_TR, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, ) -> TSS2_RC; } @@ -11568,7 +11885,7 @@ extern "C" { shandle3: ESYS_TR, data: *const TPM2B_MAX_BUFFER, hashAlg: TPMI_ALG_HASH, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, outHash: *mut *mut TPM2B_DIGEST, validation: *mut *mut TPMT_TK_HASHCHECK, ) -> TSS2_RC; @@ -11581,7 +11898,7 @@ extern "C" { shandle3: ESYS_TR, data: *const TPM2B_MAX_BUFFER, hashAlg: TPMI_ALG_HASH, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, ) -> TSS2_RC; } extern "C" { @@ -11753,7 +12070,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, buffer: *const TPM2B_MAX_BUFFER, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, result: *mut *mut TPM2B_DIGEST, validation: *mut *mut TPMT_TK_HASHCHECK, ) -> TSS2_RC; @@ -11766,7 +12083,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, buffer: *const TPM2B_MAX_BUFFER, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, ) -> TSS2_RC; } extern "C" { @@ -11876,42 +12193,79 @@ extern "C" { ) -> TSS2_RC; } extern "C" { - pub fn Esys_Quote( + pub fn Esys_CertifyX509( esysContext: *mut ESYS_CONTEXT, + objectHandle: ESYS_TR, signHandle: ESYS_TR, shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - qualifyingData: *const TPM2B_DATA, + reserved: *const TPM2B_DATA, inScheme: *const TPMT_SIG_SCHEME, - PCRselect: *const TPML_PCR_SELECTION, - quoted: *mut *mut TPM2B_ATTEST, + partialCertificate: *const TPM2B_MAX_BUFFER, + addedToCertificate: *mut *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut *mut TPM2B_DIGEST, signature: *mut *mut TPMT_SIGNATURE, ) -> TSS2_RC; } extern "C" { - pub fn Esys_Quote_Async( + pub fn Esys_CertifyX509_Async( esysContext: *mut ESYS_CONTEXT, + objectHandle: ESYS_TR, signHandle: ESYS_TR, shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - qualifyingData: *const TPM2B_DATA, + reserved: *const TPM2B_DATA, inScheme: *const TPMT_SIG_SCHEME, - PCRselect: *const TPML_PCR_SELECTION, + partialCertificate: *const TPM2B_MAX_BUFFER, ) -> TSS2_RC; } extern "C" { - pub fn Esys_Quote_Finish( + pub fn Esys_CertifyX509_Finish( esysContext: *mut ESYS_CONTEXT, - quoted: *mut *mut TPM2B_ATTEST, + addedToCertificate: *mut *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut *mut TPM2B_DIGEST, signature: *mut *mut TPMT_SIGNATURE, ) -> TSS2_RC; } extern "C" { - pub fn Esys_GetSessionAuditDigest( + pub fn Esys_Quote( esysContext: *mut ESYS_CONTEXT, - privacyAdminHandle: ESYS_TR, + signHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + qualifyingData: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + PCRselect: *const TPML_PCR_SELECTION, + quoted: *mut *mut TPM2B_ATTEST, + signature: *mut *mut TPMT_SIGNATURE, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_Quote_Async( + esysContext: *mut ESYS_CONTEXT, + signHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + qualifyingData: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + PCRselect: *const TPML_PCR_SELECTION, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_Quote_Finish( + esysContext: *mut ESYS_CONTEXT, + quoted: *mut *mut TPM2B_ATTEST, + signature: *mut *mut TPMT_SIGNATURE, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_GetSessionAuditDigest( + esysContext: *mut ESYS_CONTEXT, + privacyAdminHandle: ESYS_TR, signHandle: ESYS_TR, sessionHandle: ESYS_TR, shandle1: ESYS_TR, @@ -12911,7 +13265,7 @@ extern "C" { shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - enable: TPMI_RH_ENABLES, + enable: ESYS_TR, state: TPMI_YES_NO, ) -> TSS2_RC; } @@ -12922,7 +13276,7 @@ extern "C" { shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - enable: TPMI_RH_ENABLES, + enable: ESYS_TR, state: TPMI_YES_NO, ) -> TSS2_RC; } @@ -13905,14 +14259,9 @@ extern "C" { __base: ::std::os::raw::c_int, ) -> uintmax_t; } -pub const idtype_t_P_ALL: idtype_t = 0; -pub const idtype_t_P_PID: idtype_t = 1; -pub const idtype_t_P_PGID: idtype_t = 2; -pub type idtype_t = ::std::os::raw::c_uint; pub type _Float32 = f32; pub type _Float64 = f64; pub type _Float32x = f64; -pub type _Float64x = f64; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct div_t { @@ -14320,6 +14669,102 @@ pub type blkcnt_t = __blkcnt_t; pub type fsblkcnt_t = __fsblkcnt_t; pub type fsfilcnt_t = __fsfilcnt_t; #[repr(C)] +#[derive(Copy, Clone)] +pub union __atomic_wide_counter { + pub __value64: ::std::os::raw::c_ulonglong, + pub __value32: __atomic_wide_counter__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct __atomic_wide_counter__bindgen_ty_1 { + pub __low: ::std::os::raw::c_uint, + pub __high: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(__atomic_wide_counter__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(__atomic_wide_counter__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter__bindgen_ty_1), + "::", + stringify!(__low) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter__bindgen_ty_1), + "::", + stringify!(__high) + ) + ); +} +#[test] +fn bindgen_test_layout___atomic_wide_counter() { + const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__atomic_wide_counter>(), + 8usize, + concat!("Size of: ", stringify!(__atomic_wide_counter)) + ); + assert_eq!( + ::std::mem::align_of::<__atomic_wide_counter>(), + 8usize, + concat!("Alignment of ", stringify!(__atomic_wide_counter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter), + "::", + stringify!(__value64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter), + "::", + stringify!(__value32) + ) + ); +} +impl Default for __atomic_wide_counter { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __pthread_internal_list { pub __prev: *mut __pthread_internal_list, @@ -14425,57 +14870,9 @@ pub struct __pthread_mutex_s { #[repr(C)] #[derive(Copy, Clone)] pub union __pthread_mutex_s__bindgen_ty_1 { - pub __elision_data: __pthread_mutex_s__bindgen_ty_1__bindgen_ty_1, + pub __spins: ::std::os::raw::c_int, pub __list: __pthread_slist_t, } -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __pthread_mutex_s__bindgen_ty_1__bindgen_ty_1 { - pub __espins: ::std::os::raw::c_short, - pub __eelision: ::std::os::raw::c_short, -} -#[test] -fn bindgen_test_layout___pthread_mutex_s__bindgen_ty_1__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1>(), - 4usize, - concat!( - "Size of: ", - stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1>(), - 2usize, - concat!( - "Alignment of ", - stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__espins) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__espins) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__eelision) as usize - ptr as usize }, - 2usize, - concat!( - "Offset of field: ", - stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__eelision) - ) - ); -} #[test] fn bindgen_test_layout___pthread_mutex_s__bindgen_ty_1() { const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s__bindgen_ty_1> = @@ -14492,13 +14889,13 @@ fn bindgen_test_layout___pthread_mutex_s__bindgen_ty_1() { concat!("Alignment of ", stringify!(__pthread_mutex_s__bindgen_ty_1)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__elision_data) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__pthread_mutex_s__bindgen_ty_1), "::", - stringify!(__elision_data) + stringify!(__spins) ) ); assert_eq!( @@ -14606,7 +15003,7 @@ pub struct __pthread_rwlock_arch_t { pub __pad4: ::std::os::raw::c_uint, pub __flags: ::std::os::raw::c_uchar, pub __shared: ::std::os::raw::c_uchar, - pub __rwelision: ::std::os::raw::c_schar, + pub __pad1: ::std::os::raw::c_uchar, pub __pad2: ::std::os::raw::c_uchar, pub __cur_writer: ::std::os::raw::c_int, } @@ -14706,13 +15103,13 @@ fn bindgen_test_layout___pthread_rwlock_arch_t() { ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize }, 26usize, concat!( "Offset of field: ", stringify!(__pthread_rwlock_arch_t), "::", - stringify!(__rwelision) + stringify!(__pad1) ) ); assert_eq!( @@ -14739,226 +15136,48 @@ fn bindgen_test_layout___pthread_rwlock_arch_t() { #[repr(C)] #[derive(Copy, Clone)] pub struct __pthread_cond_s { - pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1, - pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2, + pub __wseq: __atomic_wide_counter, + pub __g1_start: __atomic_wide_counter, pub __g_refs: [::std::os::raw::c_uint; 2usize], pub __g_size: [::std::os::raw::c_uint; 2usize], pub __g1_orig_size: ::std::os::raw::c_uint, pub __wrefs: ::std::os::raw::c_uint, pub __g_signals: [::std::os::raw::c_uint; 2usize], } -#[repr(C)] -#[derive(Copy, Clone)] -pub union __pthread_cond_s__bindgen_ty_1 { - pub __wseq: ::std::os::raw::c_ulonglong, - pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 { - pub __low: ::std::os::raw::c_uint, - pub __high: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(), - 8usize, - concat!( - "Size of: ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(), - 4usize, - concat!( - "Alignment of ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__low) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__high) - ) - ); -} #[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___pthread_cond_s() { + const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(), - 8usize, - concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1)) + ::std::mem::size_of::<__pthread_cond_s>(), + 48usize, + concat!("Size of: ", stringify!(__pthread_cond_s)) ); assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(), + ::std::mem::align_of::<__pthread_cond_s>(), 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1)) + concat!("Alignment of ", stringify!(__pthread_cond_s)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1), + stringify!(__pthread_cond_s), "::", stringify!(__wseq) ) ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wseq32) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1), - "::", - stringify!(__wseq32) - ) - ); -} -impl Default for __pthread_cond_s__bindgen_ty_1 { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union __pthread_cond_s__bindgen_ty_2 { - pub __g1_start: ::std::os::raw::c_ulonglong, - pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 { - pub __low: ::std::os::raw::c_uint, - pub __high: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(), - 8usize, - concat!( - "Size of: ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(), - 4usize, - concat!( - "Alignment of ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(__low) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(__high) - ) - ); -} -#[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(), - 8usize, - concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2)) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2)) - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize }, - 0usize, + 8usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2), + stringify!(__pthread_cond_s), "::", stringify!(__g1_start) ) ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g1_start32) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2), - "::", - stringify!(__g1_start32) - ) - ); -} -impl Default for __pthread_cond_s__bindgen_ty_2 { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[test] -fn bindgen_test_layout___pthread_cond_s() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s>(), - 48usize, - concat!("Size of: ", stringify!(__pthread_cond_s)) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s)) - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize }, 16usize, @@ -15019,6 +15238,38 @@ impl Default for __pthread_cond_s { } } } +pub type __tss_t = ::std::os::raw::c_uint; +pub type __thrd_t = ::std::os::raw::c_ulong; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct __once_flag { + pub __data: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout___once_flag() { + const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__once_flag>(), + 4usize, + concat!("Size of: ", stringify!(__once_flag)) + ); + assert_eq!( + ::std::mem::align_of::<__once_flag>(), + 4usize, + concat!("Alignment of ", stringify!(__once_flag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__once_flag), + "::", + stringify!(__data) + ) + ); +} pub type pthread_t = ::std::os::raw::c_ulong; #[repr(C)] #[derive(Copy, Clone)] @@ -15830,6 +16081,9 @@ extern "C" { __size: ::std::os::raw::c_uint, ) -> *mut ::std::os::raw::c_void; } +extern "C" { + pub fn free(__ptr: *mut ::std::os::raw::c_void); +} extern "C" { pub fn reallocarray( __ptr: *mut ::std::os::raw::c_void, @@ -15837,9 +16091,6 @@ extern "C" { __size: size_t, ) -> *mut ::std::os::raw::c_void; } -extern "C" { - pub fn free(__ptr: *mut ::std::os::raw::c_void); -} extern "C" { pub fn alloca(__size: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void; } @@ -15854,7 +16105,10 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - pub fn aligned_alloc(__alignment: size_t, __size: size_t) -> *mut ::std::os::raw::c_void; + pub fn aligned_alloc( + __alignment: ::std::os::raw::c_uint, + __size: ::std::os::raw::c_uint, + ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn abort() -> !; @@ -16126,22 +16380,6 @@ extern "C" { extern "C" { pub fn Tss2_TctiLdr_FreeInfo(info: *mut *mut TSS2_TCTI_INFO); } -extern "C" { - pub fn Tss2_MU_BYTE_Marshal( - src: BYTE, - buffer: *mut u8, - buffer_size: size_t, - offset: *mut size_t, - ) -> TSS2_RC; -} -extern "C" { - pub fn Tss2_MU_BYTE_Unmarshal( - buffer: *const u8, - buffer_size: size_t, - offset: *mut size_t, - dest: *mut BYTE, - ) -> TSS2_RC; -} extern "C" { pub fn Tss2_MU_INT8_Marshal( src: INT8, @@ -17518,6 +17756,38 @@ extern "C" { dest: *mut TPMS_ID_OBJECT, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_MU_TPMS_ACT_DATA_Marshal( + src: *const TPMS_ACT_DATA, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPMS_ACT_DATA_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPMS_ACT_DATA, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Marshal( + src: *const TPMS_NV_DIGEST_CERTIFY_INFO, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPMS_NV_DIGEST_CERTIFY_INFO, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_MU_TPML_CC_Marshal( src: *const TPML_CC, @@ -17726,6 +17996,38 @@ extern "C" { dest: *mut TPML_AC_CAPABILITIES, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_MU_TPML_TAGGED_POLICY_Marshal( + src: *const TPML_TAGGED_POLICY, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPML_TAGGED_POLICY_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPML_TAGGED_POLICY, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPML_ACT_DATA_Marshal( + src: *const TPML_ACT_DATA, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPML_ACT_DATA_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPML_ACT_DATA, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_MU_TPMU_HA_Marshal( src: *const TPMU_HA, @@ -18316,6 +18618,22 @@ extern "C" { out: *mut TPMI_ALG_HASH, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_MU_BYTE_Marshal( + in_: BYTE, + buffer: *mut u8, + size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_BYTE_Unmarshal( + buffer: *const u8, + size: size_t, + offset: *mut size_t, + out: *mut BYTE, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_MU_TPM2_SE_Marshal( in_: TPM2_SE, diff --git a/tss-esapi-sys/src/bindings/x86_64-unknown-linux-gnu.rs b/tss-esapi-sys/src/bindings/x86_64-unknown-linux-gnu.rs index 14c28b94..05d3f51c 100644 --- a/tss-esapi-sys/src/bindings/x86_64-unknown-linux-gnu.rs +++ b/tss-esapi-sys/src/bindings/x86_64-unknown-linux-gnu.rs @@ -1,4 +1,5 @@ -/* automatically generated by rust-bindgen 0.66.1 */ +/* automatically generated by rust-bindgen 0.69.4 */ +/* TPM2_TSS_VERSION="3.2.2" */ pub const _STDINT_H: u32 = 1; pub const _FEATURES_H: u32 = 1; @@ -17,6 +18,10 @@ 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 __WORDSIZE: u32 = 64; +pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1; +pub const __SYSCALL_WORDSIZE: u32 = 64; +pub const __TIMESIZE: u32 = 64; pub const __USE_MISC: u32 = 1; pub const __USE_ATFILE: u32 = 1; pub const __USE_FORTIFY_LEVEL: u32 = 0; @@ -24,31 +29,31 @@ 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_60559_BFP__: u32 = 201404; pub const __STDC_IEC_559_COMPLEX__: u32 = 1; +pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404; pub const __STDC_ISO_10646__: u32 = 201706; pub const __GNU_LIBRARY__: u32 = 6; pub const __GLIBC__: u32 = 2; -pub const __GLIBC_MINOR__: u32 = 31; +pub const __GLIBC_MINOR__: u32 = 35; 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 __LONG_DOUBLE_USES_FLOAT128: u32 = 0; +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_EXT: 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; @@ -143,6 +148,8 @@ pub const TSS2_BASE_RC_NAME_ALREADY_EXISTS: u32 = 48; pub const TSS2_BASE_RC_NO_TPM: u32 = 49; pub const TSS2_BASE_RC_BAD_KEY: u32 = 50; pub const TSS2_BASE_RC_NO_HANDLE: u32 = 51; +pub const TSS2_BASE_RC_NOT_PROVISIONED: u32 = 52; +pub const TSS2_BASE_RC_ALREADY_PROVISIONED: u32 = 53; pub const TSS2_LAYER_IMPLEMENTATION_SPECIFIC_OFFSET: u32 = 63488; pub const TSS2_LEVEL_IMPLEMENTATION_SPECIFIC_SHIFT: u32 = 11; pub const TPM2_MAX_COMMAND_SIZE: u32 = 4096; @@ -234,7 +241,8 @@ pub const ESYS_TR_RH_ENDORSEMENT: u32 = 267; pub const ESYS_TR_RH_PLATFORM: u32 = 268; pub const ESYS_TR_RH_PLATFORM_NV: u32 = 269; pub const ESYS_TR_RH_AUTH_FIRST: u32 = 272; -pub const ESYS_TR_MIN_OBJECT: u32 = 4096; +pub const ESYS_TR_RH_ACT_FIRST: u32 = 288; +pub const ESYS_TR_RH_ACT_LAST: u32 = 303; pub const _INTTYPES_H: u32 = 1; pub const ____gwchar_t_defined: u32 = 1; pub const __PRI64_PREFIX: &[u8; 2] = b"l\0"; @@ -403,7 +411,6 @@ pub const WNOWAIT: u32 = 16777216; pub const __WNOTHREAD: u32 = 536870912; pub const __WALL: u32 = 1073741824; pub const __WCLONE: u32 = 2147483648; -pub const __ENUM_IDTYPE_T: u32 = 1; pub const __W_CONTINUED: u32 = 65535; pub const __WCOREFLAG: u32 = 128; pub const __HAVE_FLOAT128: u32 = 0; @@ -448,7 +455,6 @@ pub const BYTE_ORDER: u32 = 1234; pub const _BITS_BYTESWAP_H: u32 = 1; pub const _BITS_UINTN_IDENTITY_H: u32 = 1; pub const _SYS_SELECT_H: u32 = 1; -pub const __FD_ZERO_STOS: &[u8; 6] = b"stosq\0"; pub const __sigset_t_defined: u32 = 1; pub const __timeval_defined: u32 = 1; pub const _STRUCT_TIMESPEC: u32 = 1; @@ -540,6 +546,7 @@ 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; @@ -688,6 +695,8 @@ pub type TPMA_STARTUP_CLEAR = u32; pub type TPMA_MEMORY = u32; pub type TPMA_CC = u32; pub type TPMA_MODES = u32; +pub type TPMA_X509_KEY_USAGE = u32; +pub type TPMA_ACT = u32; pub type TPMI_YES_NO = BYTE; pub type TPMI_DH_OBJECT = TPM2_HANDLE; pub type TPMI_DH_PERSISTENT = TPM2_HANDLE; @@ -697,9 +706,11 @@ pub type TPMI_SH_AUTH_SESSION = TPM2_HANDLE; pub type TPMI_SH_HMAC = TPM2_HANDLE; pub type TPMI_SH_POLICY = TPM2_HANDLE; pub type TPMI_DH_CONTEXT = TPM2_HANDLE; +pub type TPMI_DH_SAVED = TPM2_HANDLE; pub type TPMI_RH_HIERARCHY = TPM2_HANDLE; pub type TPMI_RH_ENABLES = TPM2_HANDLE; pub type TPMI_RH_HIERARCHY_AUTH = TPM2_HANDLE; +pub type TPMI_RH_HIERARCHY_POLICY = TPM2_HANDLE; pub type TPMI_RH_PLATFORM = TPM2_HANDLE; pub type TPMI_RH_OWNER = TPM2_HANDLE; pub type TPMI_RH_ENDORSEMENT = TPM2_HANDLE; @@ -708,6 +719,8 @@ pub type TPMI_RH_CLEAR = TPM2_HANDLE; pub type TPMI_RH_NV_AUTH = TPM2_HANDLE; pub type TPMI_RH_LOCKOUT = TPM2_HANDLE; pub type TPMI_RH_NV_INDEX = TPM2_HANDLE; +pub type TPMI_RH_AC = TPM2_HANDLE; +pub type TPMI_RH_ACT = TPM2_HANDLE; pub type TPMI_ALG_HASH = TPM2_ALG_ID; pub type TPMI_ALG_ASYM = TPM2_ALG_ID; pub type TPMI_ALG_SYM = TPM2_ALG_ID; @@ -717,6 +730,8 @@ pub type TPMI_ALG_KDF = TPM2_ALG_ID; pub type TPMI_ALG_SIG_SCHEME = TPM2_ALG_ID; pub type TPMI_ECC_KEY_EXCHANGE = TPM2_ALG_ID; pub type TPMI_ST_COMMAND_TAG = TPM2_ST; +pub type TPMI_ALG_MAC_SCHEME = TPM2_ALG_ID; +pub type TPMI_ALG_CIPHER_MODE = TPM2_ALG_ID; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct TPMS_EMPTY { @@ -1840,6 +1855,58 @@ impl Default for TPMS_TAGGED_POLICY { } } #[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TPMS_ACT_DATA { + pub handle: TPM2_HANDLE, + pub timeout: UINT32, + pub attributes: TPMA_ACT, +} +#[test] +fn bindgen_test_layout_TPMS_ACT_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(TPMS_ACT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(TPMS_ACT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMS_ACT_DATA), + "::", + stringify!(handle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).timeout) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(TPMS_ACT_DATA), + "::", + stringify!(timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(TPMS_ACT_DATA), + "::", + stringify!(attributes) + ) + ); +} +#[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TPML_CC { pub count: UINT32, @@ -2383,6 +2450,106 @@ impl Default for TPML_ECC_CURVE { } } #[repr(C)] +#[derive(Copy, Clone)] +pub struct TPML_TAGGED_POLICY { + pub count: UINT32, + pub policies: [TPMS_TAGGED_POLICY; 14usize], +} +#[test] +fn bindgen_test_layout_TPML_TAGGED_POLICY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1012usize, + concat!("Size of: ", stringify!(TPML_TAGGED_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(TPML_TAGGED_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPML_TAGGED_POLICY), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).policies) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(TPML_TAGGED_POLICY), + "::", + stringify!(policies) + ) + ); +} +impl Default for TPML_TAGGED_POLICY { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TPML_ACT_DATA { + pub count: UINT32, + pub actData: [TPMS_ACT_DATA; 84usize], +} +#[test] +fn bindgen_test_layout_TPML_ACT_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1012usize, + concat!("Size of: ", stringify!(TPML_ACT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(TPML_ACT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPML_ACT_DATA), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).actData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(TPML_ACT_DATA), + "::", + stringify!(actData) + ) + ); +} +impl Default for TPML_ACT_DATA { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] #[derive(Debug, Copy, Clone)] pub struct TPML_INTEL_PTT_PROPERTY { pub count: UINT32, @@ -2445,6 +2612,8 @@ pub union TPMU_CAPABILITIES { pub tpmProperties: TPML_TAGGED_TPM_PROPERTY, pub pcrProperties: TPML_TAGGED_PCR_PROPERTY, pub eccCurves: TPML_ECC_CURVE, + pub authPolicies: TPML_TAGGED_POLICY, + pub actData: TPML_ACT_DATA, pub intelPttProperty: TPML_INTEL_PTT_PROPERTY, } #[test] @@ -2551,6 +2720,26 @@ fn bindgen_test_layout_TPMU_CAPABILITIES() { stringify!(eccCurves) ) ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).authPolicies) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMU_CAPABILITIES), + "::", + stringify!(authPolicies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).actData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMU_CAPABILITIES), + "::", + stringify!(actData) + ) + ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).intelPttProperty) as usize - ptr as usize }, 0usize, @@ -3102,6 +3291,57 @@ impl Default for TPMS_NV_CERTIFY_INFO { } } } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TPMS_NV_DIGEST_CERTIFY_INFO { + pub indexName: TPM2B_NAME, + pub nvDigest: TPM2B_DIGEST, +} +#[test] +fn bindgen_test_layout_TPMS_NV_DIGEST_CERTIFY_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(TPMS_NV_DIGEST_CERTIFY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(TPMS_NV_DIGEST_CERTIFY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).indexName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TPMS_NV_DIGEST_CERTIFY_INFO), + "::", + stringify!(indexName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nvDigest) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(TPMS_NV_DIGEST_CERTIFY_INFO), + "::", + stringify!(nvDigest) + ) + ); +} +impl Default for TPMS_NV_DIGEST_CERTIFY_INFO { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} pub type TPMI_ST_ATTEST = TPM2_ST; #[repr(C)] #[derive(Copy, Clone)] @@ -7348,7 +7588,6 @@ impl Default for TPM2B_CREATION_DATA { } pub type TPM_AT = UINT32; pub type TPM_EA = UINT32; -pub type TPMI_RH_AC = TPM2_HANDLE; #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct TPMS_AC_OUTPUT { @@ -8587,7 +8826,7 @@ extern "C" { sysContext: *mut TSS2_SYS_CONTEXT, keyHandle: TPMI_DH_OBJECT, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, ) -> TSS2_RC; @@ -8605,7 +8844,7 @@ extern "C" { keyHandle: TPMI_DH_OBJECT, cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, outData: *mut TPM2B_MAX_BUFFER, @@ -8619,7 +8858,7 @@ extern "C" { keyHandle: TPMI_DH_OBJECT, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, ) -> TSS2_RC; } @@ -8637,7 +8876,7 @@ extern "C" { cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, outData: *mut TPM2B_MAX_BUFFER, ivOut: *mut TPM2B_IV, @@ -8882,6 +9121,39 @@ extern "C" { rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_Sys_CertifyX509_Prepare( + sysContext: *mut TSS2_SYS_CONTEXT, + objectHandle: TPMI_DH_OBJECT, + signHandle: TPMI_DH_OBJECT, + reserved: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + partialCertificate: *const TPM2B_MAX_BUFFER, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_CertifyX509_Complete( + sysContext: *mut TSS2_SYS_CONTEXT, + addedToCertificate: *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut TPM2B_DIGEST, + signature: *mut TPMT_SIGNATURE, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_CertifyX509( + sysContext: *mut TSS2_SYS_CONTEXT, + objectHandle: TPMI_DH_OBJECT, + signHandle: TPMI_DH_OBJECT, + cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, + reserved: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + partialCertificate: *const TPM2B_MAX_BUFFER, + addedToCertificate: *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut TPM2B_DIGEST, + signature: *mut TPMT_SIGNATURE, + rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_Sys_CertifyCreation_Prepare( sysContext: *mut TSS2_SYS_CONTEXT, @@ -10128,7 +10400,9 @@ extern "C" { extern "C" { pub fn Tss2_Sys_ReadClock( sysContext: *mut TSS2_SYS_CONTEXT, + cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, currentTime: *mut TPMS_TIME_INFO, + rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, ) -> TSS2_RC; } extern "C" { @@ -10615,6 +10889,25 @@ extern "C" { rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_Sys_ACT_SetTimeout_Prepare( + sysContext: *mut TSS2_SYS_CONTEXT, + actHandle: TPMI_RH_ACT, + startTimeout: UINT32, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_ACT_SetTimeout_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_Sys_ACT_SetTimeout( + sysContext: *mut TSS2_SYS_CONTEXT, + actHandle: TPMI_RH_ACT, + cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND, + startTimeout: UINT32, + rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_Sys_PolicyTemplate_Prepare( sysContext: *mut TSS2_SYS_CONTEXT, @@ -11044,7 +11337,7 @@ extern "C" { shandle3: ESYS_TR, inPrivate: *const TPM2B_SENSITIVE, inPublic: *const TPM2B_PUBLIC, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, objectHandle: *mut ESYS_TR, ) -> TSS2_RC; } @@ -11056,7 +11349,7 @@ extern "C" { shandle3: ESYS_TR, inPrivate: *const TPM2B_SENSITIVE, inPublic: *const TPM2B_PUBLIC, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, ) -> TSS2_RC; } extern "C" { @@ -11125,6 +11418,29 @@ extern "C" { certInfo: *mut *mut TPM2B_DIGEST, ) -> TSS2_RC; } +extern "C" { + pub fn Esys_ACT_SetTimeout( + esysContext: *mut ESYS_CONTEXT, + actHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + startTimeout: UINT32, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_ACT_SetTimeout_Async( + esysContext: *mut ESYS_CONTEXT, + actHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + startTimeout: UINT32, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_ACT_SetTimeout_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC; +} extern "C" { pub fn Esys_MakeCredential( esysContext: *mut ESYS_CONTEXT, @@ -11532,7 +11848,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, outData: *mut *mut TPM2B_MAX_BUFFER, @@ -11547,7 +11863,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, inData: *const TPM2B_MAX_BUFFER, ) -> TSS2_RC; @@ -11568,7 +11884,7 @@ extern "C" { shandle3: ESYS_TR, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, outData: *mut *mut TPM2B_MAX_BUFFER, ivOut: *mut *mut TPM2B_IV, @@ -11583,7 +11899,7 @@ extern "C" { shandle3: ESYS_TR, inData: *const TPM2B_MAX_BUFFER, decrypt: TPMI_YES_NO, - mode: TPMI_ALG_SYM_MODE, + mode: TPMI_ALG_CIPHER_MODE, ivIn: *const TPM2B_IV, ) -> TSS2_RC; } @@ -11602,7 +11918,7 @@ extern "C" { shandle3: ESYS_TR, data: *const TPM2B_MAX_BUFFER, hashAlg: TPMI_ALG_HASH, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, outHash: *mut *mut TPM2B_DIGEST, validation: *mut *mut TPMT_TK_HASHCHECK, ) -> TSS2_RC; @@ -11615,7 +11931,7 @@ extern "C" { shandle3: ESYS_TR, data: *const TPM2B_MAX_BUFFER, hashAlg: TPMI_ALG_HASH, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, ) -> TSS2_RC; } extern "C" { @@ -11787,7 +12103,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, buffer: *const TPM2B_MAX_BUFFER, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, result: *mut *mut TPM2B_DIGEST, validation: *mut *mut TPMT_TK_HASHCHECK, ) -> TSS2_RC; @@ -11800,7 +12116,7 @@ extern "C" { shandle2: ESYS_TR, shandle3: ESYS_TR, buffer: *const TPM2B_MAX_BUFFER, - hierarchy: TPMI_RH_HIERARCHY, + hierarchy: ESYS_TR, ) -> TSS2_RC; } extern "C" { @@ -11910,59 +12226,96 @@ extern "C" { ) -> TSS2_RC; } extern "C" { - pub fn Esys_Quote( + pub fn Esys_CertifyX509( esysContext: *mut ESYS_CONTEXT, + objectHandle: ESYS_TR, signHandle: ESYS_TR, shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - qualifyingData: *const TPM2B_DATA, + reserved: *const TPM2B_DATA, inScheme: *const TPMT_SIG_SCHEME, - PCRselect: *const TPML_PCR_SELECTION, - quoted: *mut *mut TPM2B_ATTEST, + partialCertificate: *const TPM2B_MAX_BUFFER, + addedToCertificate: *mut *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut *mut TPM2B_DIGEST, signature: *mut *mut TPMT_SIGNATURE, ) -> TSS2_RC; } extern "C" { - pub fn Esys_Quote_Async( + pub fn Esys_CertifyX509_Async( esysContext: *mut ESYS_CONTEXT, + objectHandle: ESYS_TR, signHandle: ESYS_TR, shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - qualifyingData: *const TPM2B_DATA, + reserved: *const TPM2B_DATA, inScheme: *const TPMT_SIG_SCHEME, - PCRselect: *const TPML_PCR_SELECTION, + partialCertificate: *const TPM2B_MAX_BUFFER, ) -> TSS2_RC; } extern "C" { - pub fn Esys_Quote_Finish( + pub fn Esys_CertifyX509_Finish( esysContext: *mut ESYS_CONTEXT, - quoted: *mut *mut TPM2B_ATTEST, + addedToCertificate: *mut *mut TPM2B_MAX_BUFFER, + tbsDigest: *mut *mut TPM2B_DIGEST, signature: *mut *mut TPMT_SIGNATURE, ) -> TSS2_RC; } extern "C" { - pub fn Esys_GetSessionAuditDigest( + pub fn Esys_Quote( esysContext: *mut ESYS_CONTEXT, - privacyAdminHandle: ESYS_TR, signHandle: ESYS_TR, - sessionHandle: ESYS_TR, shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, qualifyingData: *const TPM2B_DATA, inScheme: *const TPMT_SIG_SCHEME, - auditInfo: *mut *mut TPM2B_ATTEST, + PCRselect: *const TPML_PCR_SELECTION, + quoted: *mut *mut TPM2B_ATTEST, signature: *mut *mut TPMT_SIGNATURE, ) -> TSS2_RC; } extern "C" { - pub fn Esys_GetSessionAuditDigest_Async( + pub fn Esys_Quote_Async( esysContext: *mut ESYS_CONTEXT, - privacyAdminHandle: ESYS_TR, signHandle: ESYS_TR, - sessionHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + qualifyingData: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + PCRselect: *const TPML_PCR_SELECTION, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_Quote_Finish( + esysContext: *mut ESYS_CONTEXT, + quoted: *mut *mut TPM2B_ATTEST, + signature: *mut *mut TPMT_SIGNATURE, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_GetSessionAuditDigest( + esysContext: *mut ESYS_CONTEXT, + privacyAdminHandle: ESYS_TR, + signHandle: ESYS_TR, + sessionHandle: ESYS_TR, + shandle1: ESYS_TR, + shandle2: ESYS_TR, + shandle3: ESYS_TR, + qualifyingData: *const TPM2B_DATA, + inScheme: *const TPMT_SIG_SCHEME, + auditInfo: *mut *mut TPM2B_ATTEST, + signature: *mut *mut TPMT_SIGNATURE, + ) -> TSS2_RC; +} +extern "C" { + pub fn Esys_GetSessionAuditDigest_Async( + esysContext: *mut ESYS_CONTEXT, + privacyAdminHandle: ESYS_TR, + signHandle: ESYS_TR, + sessionHandle: ESYS_TR, shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, @@ -12945,7 +13298,7 @@ extern "C" { shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - enable: TPMI_RH_ENABLES, + enable: ESYS_TR, state: TPMI_YES_NO, ) -> TSS2_RC; } @@ -12956,7 +13309,7 @@ extern "C" { shandle1: ESYS_TR, shandle2: ESYS_TR, shandle3: ESYS_TR, - enable: TPMI_RH_ENABLES, + enable: ESYS_TR, state: TPMI_YES_NO, ) -> TSS2_RC; } @@ -13939,10 +14292,6 @@ extern "C" { __base: ::std::os::raw::c_int, ) -> uintmax_t; } -pub const idtype_t_P_ALL: idtype_t = 0; -pub const idtype_t_P_PID: idtype_t = 1; -pub const idtype_t_P_PGID: idtype_t = 2; -pub type idtype_t = ::std::os::raw::c_uint; pub type _Float32 = f32; pub type _Float64 = f64; pub type _Float32x = f64; @@ -14354,6 +14703,102 @@ pub type blkcnt_t = __blkcnt_t; pub type fsblkcnt_t = __fsblkcnt_t; pub type fsfilcnt_t = __fsfilcnt_t; #[repr(C)] +#[derive(Copy, Clone)] +pub union __atomic_wide_counter { + pub __value64: ::std::os::raw::c_ulonglong, + pub __value32: __atomic_wide_counter__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct __atomic_wide_counter__bindgen_ty_1 { + pub __low: ::std::os::raw::c_uint, + pub __high: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(__atomic_wide_counter__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(__atomic_wide_counter__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter__bindgen_ty_1), + "::", + stringify!(__low) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter__bindgen_ty_1), + "::", + stringify!(__high) + ) + ); +} +#[test] +fn bindgen_test_layout___atomic_wide_counter() { + const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__atomic_wide_counter>(), + 8usize, + concat!("Size of: ", stringify!(__atomic_wide_counter)) + ); + assert_eq!( + ::std::mem::align_of::<__atomic_wide_counter>(), + 8usize, + concat!("Alignment of ", stringify!(__atomic_wide_counter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter), + "::", + stringify!(__value64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__atomic_wide_counter), + "::", + stringify!(__value32) + ) + ); +} +impl Default for __atomic_wide_counter { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __pthread_internal_list { pub __prev: *mut __pthread_internal_list, @@ -14717,226 +15162,48 @@ fn bindgen_test_layout___pthread_rwlock_arch_t() { #[repr(C)] #[derive(Copy, Clone)] pub struct __pthread_cond_s { - pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1, - pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2, + pub __wseq: __atomic_wide_counter, + pub __g1_start: __atomic_wide_counter, pub __g_refs: [::std::os::raw::c_uint; 2usize], pub __g_size: [::std::os::raw::c_uint; 2usize], pub __g1_orig_size: ::std::os::raw::c_uint, pub __wrefs: ::std::os::raw::c_uint, pub __g_signals: [::std::os::raw::c_uint; 2usize], } -#[repr(C)] -#[derive(Copy, Clone)] -pub union __pthread_cond_s__bindgen_ty_1 { - pub __wseq: ::std::os::raw::c_ulonglong, - pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 { - pub __low: ::std::os::raw::c_uint, - pub __high: ::std::os::raw::c_uint, -} #[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(), - 8usize, - concat!( - "Size of: ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(), - 4usize, - concat!( - "Alignment of ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__low) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(__high) - ) - ); -} -#[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___pthread_cond_s() { + const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(), - 8usize, - concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1)) + ::std::mem::size_of::<__pthread_cond_s>(), + 48usize, + concat!("Size of: ", stringify!(__pthread_cond_s)) ); assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(), + ::std::mem::align_of::<__pthread_cond_s>(), 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1)) + concat!("Alignment of ", stringify!(__pthread_cond_s)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1), + stringify!(__pthread_cond_s), "::", stringify!(__wseq) ) ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wseq32) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_1), - "::", - stringify!(__wseq32) - ) - ); -} -impl Default for __pthread_cond_s__bindgen_ty_1 { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union __pthread_cond_s__bindgen_ty_2 { - pub __g1_start: ::std::os::raw::c_ulonglong, - pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1, -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 { - pub __low: ::std::os::raw::c_uint, - pub __high: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(), - 8usize, - concat!( - "Size of: ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(), - 4usize, - concat!( - "Alignment of ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(__low) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(__high) - ) - ); -} -#[test] -fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(), - 8usize, - concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2)) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2)) - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize }, - 0usize, + 8usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2), + stringify!(__pthread_cond_s), "::", stringify!(__g1_start) ) ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g1_start32) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s__bindgen_ty_2), - "::", - stringify!(__g1_start32) - ) - ); -} -impl Default for __pthread_cond_s__bindgen_ty_2 { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[test] -fn bindgen_test_layout___pthread_cond_s() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_cond_s>(), - 48usize, - concat!("Size of: ", stringify!(__pthread_cond_s)) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_cond_s>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s)) - ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize }, 16usize, @@ -14997,6 +15264,38 @@ impl Default for __pthread_cond_s { } } } +pub type __tss_t = ::std::os::raw::c_uint; +pub type __thrd_t = ::std::os::raw::c_ulong; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct __once_flag { + pub __data: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout___once_flag() { + const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__once_flag>(), + 4usize, + concat!("Size of: ", stringify!(__once_flag)) + ); + assert_eq!( + ::std::mem::align_of::<__once_flag>(), + 4usize, + concat!("Alignment of ", stringify!(__once_flag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__once_flag), + "::", + stringify!(__data) + ) + ); +} pub type pthread_t = ::std::os::raw::c_ulong; #[repr(C)] #[derive(Copy, Clone)] @@ -15808,6 +16107,9 @@ extern "C" { __size: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void; } +extern "C" { + pub fn free(__ptr: *mut ::std::os::raw::c_void); +} extern "C" { pub fn reallocarray( __ptr: *mut ::std::os::raw::c_void, @@ -15815,9 +16117,6 @@ extern "C" { __size: size_t, ) -> *mut ::std::os::raw::c_void; } -extern "C" { - pub fn free(__ptr: *mut ::std::os::raw::c_void); -} extern "C" { pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; } @@ -15832,7 +16131,10 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - pub fn aligned_alloc(__alignment: size_t, __size: size_t) -> *mut ::std::os::raw::c_void; + pub fn aligned_alloc( + __alignment: ::std::os::raw::c_ulong, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn abort() -> !; @@ -16104,22 +16406,6 @@ extern "C" { extern "C" { pub fn Tss2_TctiLdr_FreeInfo(info: *mut *mut TSS2_TCTI_INFO); } -extern "C" { - pub fn Tss2_MU_BYTE_Marshal( - src: BYTE, - buffer: *mut u8, - buffer_size: size_t, - offset: *mut size_t, - ) -> TSS2_RC; -} -extern "C" { - pub fn Tss2_MU_BYTE_Unmarshal( - buffer: *const u8, - buffer_size: size_t, - offset: *mut size_t, - dest: *mut BYTE, - ) -> TSS2_RC; -} extern "C" { pub fn Tss2_MU_INT8_Marshal( src: INT8, @@ -17496,6 +17782,38 @@ extern "C" { dest: *mut TPMS_ID_OBJECT, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_MU_TPMS_ACT_DATA_Marshal( + src: *const TPMS_ACT_DATA, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPMS_ACT_DATA_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPMS_ACT_DATA, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Marshal( + src: *const TPMS_NV_DIGEST_CERTIFY_INFO, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPMS_NV_DIGEST_CERTIFY_INFO, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_MU_TPML_CC_Marshal( src: *const TPML_CC, @@ -17704,6 +18022,38 @@ extern "C" { dest: *mut TPML_AC_CAPABILITIES, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_MU_TPML_TAGGED_POLICY_Marshal( + src: *const TPML_TAGGED_POLICY, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPML_TAGGED_POLICY_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPML_TAGGED_POLICY, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPML_ACT_DATA_Marshal( + src: *const TPML_ACT_DATA, + buffer: *mut u8, + buffer_size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_TPML_ACT_DATA_Unmarshal( + buffer: *const u8, + buffer_size: size_t, + offset: *mut size_t, + dest: *mut TPML_ACT_DATA, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_MU_TPMU_HA_Marshal( src: *const TPMU_HA, @@ -18294,6 +18644,22 @@ extern "C" { out: *mut TPMI_ALG_HASH, ) -> TSS2_RC; } +extern "C" { + pub fn Tss2_MU_BYTE_Marshal( + in_: BYTE, + buffer: *mut u8, + size: size_t, + offset: *mut size_t, + ) -> TSS2_RC; +} +extern "C" { + pub fn Tss2_MU_BYTE_Unmarshal( + buffer: *const u8, + size: size_t, + offset: *mut size_t, + out: *mut BYTE, + ) -> TSS2_RC; +} extern "C" { pub fn Tss2_MU_TPM2_SE_Marshal( in_: TPM2_SE, diff --git a/tss-esapi/tests/Dockerfile-ubuntu b/tss-esapi/tests/Dockerfile-ubuntu index 40a4c12d..fefd5c28 100644 --- a/tss-esapi/tests/Dockerfile-ubuntu +++ b/tss-esapi/tests/Dockerfile-ubuntu @@ -7,7 +7,7 @@ ENV PATH="/root/.cargo/bin:${PATH}" FROM rust-toolchain AS tpm2-tss # Download and install the TSS library -ARG TPM2_TSS_VERSION=2.4.6 +ARG TPM2_TSS_VERSION=3.2.2 ENV TPM2_TSS_VERSION=$TPM2_TSS_VERSION ENV PKG_CONFIG_PATH /usr/local/lib/pkgconfig RUN git clone https://github.com/tpm2-software/tpm2-tss.git --branch $TPM2_TSS_VERSION @@ -20,7 +20,7 @@ RUN cd tpm2-tss \ FROM tpm2-tss AS tpm2-tools # Download and install TPM2 tools -RUN git clone https://github.com/tpm2-software/tpm2-tools.git --branch 4.1 +RUN git clone https://github.com/tpm2-software/tpm2-tools.git --branch 4.2 RUN cd tpm2-tools \ && ./bootstrap \ && ./configure --enable-unit \