Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/nss-rs/src/freebl/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 72 kB image not shown  

Quelle  vector.rs

  Sprache: Rust
 

// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// Bindings for FREEBLVectorStr from lib/freebl/loader.h.
//
// Regenerate with:
//   NSS=<path to NSS sources> NSPR=<path to NSPR sources, with Release build>
//   bindgen src/freebl/bindgen.h                   \
//     --allowlist-type "FREEBLVectorStr"           \
//     --blocklist-item "AESContext"                \
//     --blocklist-item "ChaCha20Poly1305Context"   \
//     --opaque-type ".*Context.*"                  \
//     --opaque-type ".*Key.*"                      \
//     --opaque-type ".*Params.*"                   \
//     --opaque-type ".*Verify.*"                   \
//     --opaque-type "ECGroup"                      \
//     --opaque-type "ECCurve.*"                    \
//     --opaque-type "ECField.*"                    \
//     --opaque-type "PLArena.*"                    \
//     --opaque-type "SECItem.*"                    \
//     --opaque-type "SECHash.*"                    \
//     --no-layout-tests                            \
//     -- -I $NSS/lib/freebl -I $NSS/lib/freebl/ecl \
//        -I $NSS/lib/util   -I $NSS/lib/nss        \
//        -I $NSPR/Release/dist/include/nspr        \
//     >> src/freebl/vector.rs   # (replace body after the preamble)
//
// AESContext and ChaCha20Poly1305Context are blocklisted so that the
// definitions in mod.rs are used instead.

/* automatically generated by rust-bindgen 0.72.1 */

#[doc = " If Bindgen could only determine the size and alignment of a"]
#[doc = " type, it is represented like this."]
#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
#[repr(C)]
pub struct __BindgenOpaqueArray<T: Copy, const N: usize>(pub [T; N]);
impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray<T, N> {
    fn default() -> Self {
        Self([<T as Default>::default(); N])
    }
}
pub type PRUint8 = ::core::ffi::c_uchar;
pub type PRUint32 = ::core::ffi::c_uint;
pub type PRIntn = ::core::ffi::c_int;
#[doc = " TYPES:       `PRBool`\n DESCRIPTION:\n  Use `PRBool` for variables and parameter types. Use `PR_FALSE` and `PR_TRUE`\n      for clarity of target type in assignments and actual arguments. Use\n      'if (bool)', 'while (!bool)', '(bool) ? x : y' etc., to test booleans\n      just as you would C int-valued conditions."]
pub type PRBool = PRIntn;
pub type PRFuncPtr = ::core::option::Option<unsafe extern "C" fn()>;
pub type SECItem = __BindgenOpaqueArray<u64, 3usize>;
pub const _SECSTATUS_SECWOULD_BLOCK: _SECStatus = -2;
pub const _SECSTATUS_SECFAILURE: _SECStatus = -1;
pub const _SECSTATUS_SECSUCCESS: _SECStatus = 0;
pub type _SECStatus = ::core::ffi::c_int;
pub use self::_SECStatus as SECStatus;
pub type CK_ULONG = ::core::ffi::c_ulong;
pub type CK_HEDGE_TYPE = CK_ULONG;
pub type CK_ML_DSA_PARAMETER_SET_TYPE = CK_ULONG;
pub type DESContext = u8;
pub type RC2Context = u8;
pub type RC4Context = u8;
pub type RC5Context = u8;
pub type CamelliaContext = u8;
pub type MD2Context = u8;
pub type MD5Context = u8;
pub type SHA1Context = u8;
pub type SHA256Context = u8;
pub type SHA224Context = u8;
pub type SHA512Context = u8;
pub type SHA384Context = u8;
pub type SHA3_224Context = u8;
pub type SHA3_256Context = u8;
pub type SHA3_384Context = u8;
pub type SHA3_512Context = u8;
pub type SHAKE_128Context = u8;
pub type SHAKE_256Context = u8;
pub type AESKeyWrapContext = u8;
pub type SEEDContext = u8;
pub type ChaCha20Context = u8;
pub type BLAKE2BContext = u8;
pub type RSAPublicKey = __BindgenOpaqueArray<u64, 8usize>;
pub type RSAPrivateKey = __BindgenOpaqueArray<u64, 28usize>;
#[doc = " DSA Public and Private Key and related structures"]
pub type PQGParams = __BindgenOpaqueArray<u64, 10usize>;
pub type PQGVerify = __BindgenOpaqueArray<u64, 8usize>;
pub type DSAPublicKey = __BindgenOpaqueArray<u64, 13usize>;
pub type DSAPrivateKey = __BindgenOpaqueArray<u64, 16usize>;
pub type MLDSAPrivateKey = __BindgenOpaqueArray<u64, 618usize>;
pub type MLDSAPublicKey = __BindgenOpaqueArray<u64, 326usize>;
pub type MLDSAContext = u8;
#[doc = " Diffie-Hellman Public and Private Key and related structures\n Structure member names suggested by PKCS#3."]
pub type DHParams = __BindgenOpaqueArray<u64, 7usize>;
pub type DHPrivateKey = __BindgenOpaqueArray<u64, 13usize>;
pub type ECParams = __BindgenOpaqueArray<u64, 31usize>;
pub type ECPublicKey = __BindgenOpaqueArray<u64, 34usize>;
pub type ECPrivateKey = __BindgenOpaqueArray<u64, 40usize>;
pub type SECHashObject = __BindgenOpaqueArray<u64, 9usize>;
pub const HASH_HASH_TYPE_HASH_ALG_NULL: HASH_HashType = 0;
pub const HASH_HASH_TYPE_HASH_ALG_MD2: HASH_HashType = 1;
pub const HASH_HASH_TYPE_HASH_ALG_MD5: HASH_HashType = 2;
pub const HASH_HASH_TYPE_HASH_ALG_SHA1: HASH_HashType = 3;
pub const HASH_HASH_TYPE_HASH_ALG_SHA256: HASH_HashType = 4;
pub const HASH_HASH_TYPE_HASH_ALG_SHA384: HASH_HashType = 5;
pub const HASH_HASH_TYPE_HASH_ALG_SHA512: HASH_HashType = 6;
pub const HASH_HASH_TYPE_HASH_ALG_SHA224: HASH_HashType = 7;
pub const HASH_HASH_TYPE_HASH_ALG_SHA3_224: HASH_HashType = 8;
pub const HASH_HASH_TYPE_HASH_ALG_SHA3_256: HASH_HashType = 9;
pub const HASH_HASH_TYPE_HASH_ALG_SHA3_384: HASH_HashType = 10;
pub const HASH_HASH_TYPE_HASH_ALG_SHA3_512: HASH_HashType = 11;
pub const HASH_HASH_TYPE_HASH_ALG_TOTAL: HASH_HashType = 12;
pub type HASH_HashType = ::core::ffi::c_uint;
pub type CMACContext = u8;
pub const CMACCIPHER_CMAC_AES: CMACCipher = 0;
pub type CMACCipher = ::core::ffi::c_uint;
pub type HMACContext = u8;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FREEBLVectorStr {
    pub length: ::core::ffi::c_ushort,
    pub version: ::core::ffi::c_ushort,
    pub p_RSA_NewKey: ::core::option::Option<
        unsafe extern "C" fn(
            keySizeInBits: ::core::ffi::c_int,
            publicExponent: *mut SECItem,
        ) -> *mut RSAPrivateKey,
    >,
    pub p_RSA_PublicKeyOp: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPublicKey,
            output: *mut ::core::ffi::c_uchar,
            input: *const ::core::ffi::c_uchar,
        ) -> SECStatus,
    >,
    pub p_RSA_PrivateKeyOp: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPrivateKey,
            output: *mut ::core::ffi::c_uchar,
            input: *const ::core::ffi::c_uchar,
        ) -> SECStatus,
    >,
    pub p_DSA_NewKey: ::core::option::Option<
        unsafe extern "C" fn(
            params: *const PQGParams,
            privKey: *mut *mut DSAPrivateKey,
        ) -> SECStatus,
    >,
    pub p_DSA_SignDigest: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut DSAPrivateKey,
            signature: *mut SECItem,
            digest: *const SECItem,
        ) -> SECStatus,
    >,
    pub p_DSA_VerifyDigest: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut DSAPublicKey,
            signature: *const SECItem,
            digest: *const SECItem,
        ) -> SECStatus,
    >,
    pub p_DSA_NewKeyFromSeed: ::core::option::Option<
        unsafe extern "C" fn(
            params: *const PQGParams,
            seed: *const ::core::ffi::c_uchar,
            privKey: *mut *mut DSAPrivateKey,
        ) -> SECStatus,
    >,
    pub p_DSA_SignDigestWithSeed: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut DSAPrivateKey,
            signature: *mut SECItem,
            digest: *const SECItem,
            seed: *const ::core::ffi::c_uchar,
        ) -> SECStatus,
    >,
    pub p_DH_GenParam: ::core::option::Option<
        unsafe extern "C" fn(primeLen: ::core::ffi::c_int, params: *mut *mut DHParams) -> SECStatus,
    >,
    pub p_DH_NewKey: ::core::option::Option<
        unsafe extern "C" fn(params: *mut DHParams, privKey: *mut *mut DHPrivateKey) -> SECStatus,
    >,
    pub p_DH_Derive: ::core::option::Option<
        unsafe extern "C" fn(
            publicValue: *mut SECItem,
            prime: *mut SECItem,
            privateValue: *mut SECItem,
            derivedSecret: *mut SECItem,
            maxOutBytes: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_KEA_Derive: ::core::option::Option<
        unsafe extern "C" fn(
            prime: *mut SECItem,
            public1: *mut SECItem,
            public2: *mut SECItem,
            private1: *mut SECItem,
            private2: *mut SECItem,
            derivedSecret: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_KEA_Verify: ::core::option::Option<
        unsafe extern "C" fn(
            Y: *mut SECItem,
            prime: *mut SECItem,
            subPrime: *mut SECItem,
        ) -> PRBool,
    >,
    pub p_RC4_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const ::core::ffi::c_uchar,
            len: ::core::ffi::c_int,
        ) -> *mut RC4Context,
    >,
    pub p_RC4_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut RC4Context, freeit: PRBool)>,
    pub p_RC4_Encrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut RC4Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RC4_Decrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut RC4Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RC2_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const ::core::ffi::c_uchar,
            len: ::core::ffi::c_uint,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            effectiveKeyLen: ::core::ffi::c_uint,
        ) -> *mut RC2Context,
    >,
    pub p_RC2_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut RC2Context, freeit: PRBool)>,
    pub p_RC2_Encrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut RC2Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RC2_Decrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut RC2Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RC5_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const SECItem,
            rounds: ::core::ffi::c_uint,
            wordSize: ::core::ffi::c_uint,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
        ) -> *mut RC5Context,
    >,
    pub p_RC5_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut RC5Context, freeit: PRBool)>,
    pub p_RC5_Encrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut RC5Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RC5_Decrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut RC5Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_DES_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const ::core::ffi::c_uchar,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            encrypt: PRBool,
        ) -> *mut DESContext,
    >,
    pub p_DES_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut DESContext, freeit: PRBool)>,
    pub p_DES_Encrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut DESContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_DES_Decrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut DESContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_AES_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const ::core::ffi::c_uchar,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            encrypt: ::core::ffi::c_int,
            keylen: ::core::ffi::c_uint,
            blocklen: ::core::ffi::c_uint,
        ) -> *mut AESContext,
    >,
    pub p_AES_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut AESContext, freeit: PRBool)>,
    pub p_AES_Encrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut AESContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_AES_Decrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut AESContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_MD5_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_MD5_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_MD5_NewContext: ::core::option::Option<unsafe extern "C" fn() -> *mut MD5Context>,
    pub p_MD5_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut MD5Context, freeit: PRBool)>,
    pub p_MD5_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut MD5Context)>,
    pub p_MD5_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut MD5Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_MD5_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut MD5Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_MD5_FlattenSize:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut MD5Context) -> ::core::ffi::c_uint>,
    pub p_MD5_Flatten: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut MD5Context, space: *mut ::core::ffi::c_uchar) -> SECStatus,
    >,
    pub p_MD5_Resurrect: ::core::option::Option<
        unsafe extern "C" fn(
            space: *mut ::core::ffi::c_uchar,
            arg: *mut ::core::ffi::c_void,
        ) -> *mut MD5Context,
    >,
    pub p_MD5_TraceState: ::core::option::Option<unsafe extern "C" fn(cx: *mut MD5Context)>,
    pub p_MD2_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_MD2_NewContext: ::core::option::Option<unsafe extern "C" fn() -> *mut MD2Context>,
    pub p_MD2_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut MD2Context, freeit: PRBool)>,
    pub p_MD2_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut MD2Context)>,
    pub p_MD2_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut MD2Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_MD2_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut MD2Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_MD2_FlattenSize:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut MD2Context) -> ::core::ffi::c_uint>,
    pub p_MD2_Flatten: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut MD2Context, space: *mut ::core::ffi::c_uchar) -> SECStatus,
    >,
    pub p_MD2_Resurrect: ::core::option::Option<
        unsafe extern "C" fn(
            space: *mut ::core::ffi::c_uchar,
            arg: *mut ::core::ffi::c_void,
        ) -> *mut MD2Context,
    >,
    pub p_SHA1_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHA1_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHA1_NewContext: ::core::option::Option<unsafe extern "C" fn() -> *mut SHA1Context>,
    pub p_SHA1_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA1Context, freeit: PRBool)>,
    pub p_SHA1_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA1Context)>,
    pub p_SHA1_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA1Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA1_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA1Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA1_TraceState: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA1Context)>,
    pub p_SHA1_FlattenSize:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA1Context) -> ::core::ffi::c_uint>,
    pub p_SHA1_Flatten: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut SHA1Context, space: *mut ::core::ffi::c_uchar) -> SECStatus,
    >,
    pub p_SHA1_Resurrect: ::core::option::Option<
        unsafe extern "C" fn(
            space: *mut ::core::ffi::c_uchar,
            arg: *mut ::core::ffi::c_void,
        ) -> *mut SHA1Context,
    >,
    pub p_RNG_RNGInit: ::core::option::Option<unsafe extern "C" fn() -> SECStatus>,
    pub p_RNG_RandomUpdate: ::core::option::Option<
        unsafe extern "C" fn(data: *const ::core::ffi::c_void, bytes: usize) -> SECStatus,
    >,
    pub p_RNG_GenerateGlobalRandomBytes: ::core::option::Option<
        unsafe extern "C" fn(dest: *mut ::core::ffi::c_void, len: usize) -> SECStatus,
    >,
    pub p_RNG_RNGShutdown: ::core::option::Option<unsafe extern "C" fn()>,
    pub p_PQG_ParamGen: ::core::option::Option<
        unsafe extern "C" fn(
            j: ::core::ffi::c_uint,
            pParams: *mut *mut PQGParams,
            pVfy: *mut *mut PQGVerify,
        ) -> SECStatus,
    >,
    pub p_PQG_ParamGenSeedLen: ::core::option::Option<
        unsafe extern "C" fn(
            j: ::core::ffi::c_uint,
            seedBytes: ::core::ffi::c_uint,
            pParams: *mut *mut PQGParams,
            pVfy: *mut *mut PQGVerify,
        ) -> SECStatus,
    >,
    pub p_PQG_VerifyParams: ::core::option::Option<
        unsafe extern "C" fn(
            params: *const PQGParams,
            vfy: *const PQGVerify,
            result: *mut SECStatus,
        ) -> SECStatus,
    >,
    pub p_RSA_PrivateKeyOpDoubleChecked: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPrivateKey,
            output: *mut ::core::ffi::c_uchar,
            input: *const ::core::ffi::c_uchar,
        ) -> SECStatus,
    >,
    pub p_RSA_PrivateKeyCheck:
        ::core::option::Option<unsafe extern "C" fn(key: *const RSAPrivateKey) -> SECStatus>,
    pub p_BL_Cleanup: ::core::option::Option<unsafe extern "C" fn()>,
    pub p_SHA256_NewContext: ::core::option::Option<unsafe extern "C" fn() -> *mut SHA256Context>,
    pub p_SHA256_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA256Context, freeit: PRBool)>,
    pub p_SHA256_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA256Context)>,
    pub p_SHA256_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA256Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA256_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA256Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA256_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHA256_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHA256_TraceState: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA256Context)>,
    pub p_SHA256_FlattenSize:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA256Context) -> ::core::ffi::c_uint>,
    pub p_SHA256_Flatten: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut SHA256Context, space: *mut ::core::ffi::c_uchar) -> SECStatus,
    >,
    pub p_SHA256_Resurrect: ::core::option::Option<
        unsafe extern "C" fn(
            space: *mut ::core::ffi::c_uchar,
            arg: *mut ::core::ffi::c_void,
        ) -> *mut SHA256Context,
    >,
    pub p_SHA512_NewContext: ::core::option::Option<unsafe extern "C" fn() -> *mut SHA512Context>,
    pub p_SHA512_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA512Context, freeit: PRBool)>,
    pub p_SHA512_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA512Context)>,
    pub p_SHA512_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA512Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA512_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA512Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA512_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHA512_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHA512_TraceState: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA512Context)>,
    pub p_SHA512_FlattenSize:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA512Context) -> ::core::ffi::c_uint>,
    pub p_SHA512_Flatten: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut SHA512Context, space: *mut ::core::ffi::c_uchar) -> SECStatus,
    >,
    pub p_SHA512_Resurrect: ::core::option::Option<
        unsafe extern "C" fn(
            space: *mut ::core::ffi::c_uchar,
            arg: *mut ::core::ffi::c_void,
        ) -> *mut SHA512Context,
    >,
    pub p_SHA384_NewContext: ::core::option::Option<unsafe extern "C" fn() -> *mut SHA384Context>,
    pub p_SHA384_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA384Context, freeit: PRBool)>,
    pub p_SHA384_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA384Context)>,
    pub p_SHA384_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA384Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA384_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA384Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA384_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHA384_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHA384_TraceState: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA384Context)>,
    pub p_SHA384_FlattenSize:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA384Context) -> ::core::ffi::c_uint>,
    pub p_SHA384_Flatten: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut SHA384Context, space: *mut ::core::ffi::c_uchar) -> SECStatus,
    >,
    pub p_SHA384_Resurrect: ::core::option::Option<
        unsafe extern "C" fn(
            space: *mut ::core::ffi::c_uchar,
            arg: *mut ::core::ffi::c_void,
        ) -> *mut SHA384Context,
    >,
    pub p_AESKeyWrap_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const ::core::ffi::c_uchar,
            iv: *const ::core::ffi::c_uchar,
            encrypt: ::core::ffi::c_int,
            keylen: ::core::ffi::c_uint,
        ) -> *mut AESKeyWrapContext,
    >,
    pub p_AESKeyWrap_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut AESKeyWrapContext, freeit: PRBool)>,
    pub p_AESKeyWrap_Encrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut AESKeyWrapContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_AESKeyWrap_Decrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut AESKeyWrapContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_BLAPI_SHVerify: ::core::option::Option<
        unsafe extern "C" fn(name: *const ::core::ffi::c_char, addr: PRFuncPtr) -> PRBool,
    >,
    pub p_BLAPI_VerifySelf:
        ::core::option::Option<unsafe extern "C" fn(name: *const ::core::ffi::c_char) -> PRBool>,
    pub p_EC_NewKey: ::core::option::Option<
        unsafe extern "C" fn(params: *mut ECParams, privKey: *mut *mut ECPrivateKey) -> SECStatus,
    >,
    pub p_EC_NewKeyFromSeed: ::core::option::Option<
        unsafe extern "C" fn(
            params: *mut ECParams,
            privKey: *mut *mut ECPrivateKey,
            seed: *const ::core::ffi::c_uchar,
            seedlen: ::core::ffi::c_int,
        ) -> SECStatus,
    >,
    pub p_EC_ValidatePublicKey: ::core::option::Option<
        unsafe extern "C" fn(params: *mut ECParams, publicValue: *mut SECItem) -> SECStatus,
    >,
    pub p_ECDH_Derive: ::core::option::Option<
        unsafe extern "C" fn(
            publicValue: *mut SECItem,
            params: *mut ECParams,
            privateValue: *mut SECItem,
            withCofactor: PRBool,
            derivedSecret: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_ECDSA_SignDigest: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut ECPrivateKey,
            signature: *mut SECItem,
            digest: *const SECItem,
        ) -> SECStatus,
    >,
    pub p_ECDSA_VerifyDigest: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut ECPublicKey,
            signature: *const SECItem,
            digest: *const SECItem,
        ) -> SECStatus,
    >,
    pub p_ECDSA_SignDigestWithSeed: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut ECPrivateKey,
            signature: *mut SECItem,
            digest: *const SECItem,
            seed: *const ::core::ffi::c_uchar,
            seedlen: ::core::ffi::c_int,
        ) -> SECStatus,
    >,
    pub p_AES_InitContext: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut AESContext,
            key: *const ::core::ffi::c_uchar,
            keylen: ::core::ffi::c_uint,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            encrypt: ::core::ffi::c_uint,
            blocklen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_AESKeyWrap_InitContext: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut AESKeyWrapContext,
            key: *const ::core::ffi::c_uchar,
            keylen: ::core::ffi::c_uint,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            encrypt: ::core::ffi::c_uint,
            blocklen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_DES_InitContext: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut DESContext,
            key: *const ::core::ffi::c_uchar,
            keylen: ::core::ffi::c_uint,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            encrypt: ::core::ffi::c_uint,
            arg1: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RC2_InitContext: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut RC2Context,
            key: *const ::core::ffi::c_uchar,
            keylen: ::core::ffi::c_uint,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            effectiveKeyLen: ::core::ffi::c_uint,
            arg1: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RC4_InitContext: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut RC4Context,
            key: *const ::core::ffi::c_uchar,
            keylen: ::core::ffi::c_uint,
            arg1: *const ::core::ffi::c_uchar,
            arg2: ::core::ffi::c_int,
            arg3: ::core::ffi::c_uint,
            arg4: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_AES_AllocateContext: ::core::option::Option<unsafe extern "C" fn() -> *mut AESContext>,
    pub p_AESKeyWrap_AllocateContext:
        ::core::option::Option<unsafe extern "C" fn() -> *mut AESKeyWrapContext>,
    pub p_DES_AllocateContext: ::core::option::Option<unsafe extern "C" fn() -> *mut DESContext>,
    pub p_RC2_AllocateContext: ::core::option::Option<unsafe extern "C" fn() -> *mut RC2Context>,
    pub p_RC4_AllocateContext: ::core::option::Option<unsafe extern "C" fn() -> *mut RC4Context>,
    pub p_MD2_Clone:
        ::core::option::Option<unsafe extern "C" fn(dest: *mut MD2Context, src: *mut MD2Context)>,
    pub p_MD5_Clone:
        ::core::option::Option<unsafe extern "C" fn(dest: *mut MD5Context, src: *mut MD5Context)>,
    pub p_SHA1_Clone:
        ::core::option::Option<unsafe extern "C" fn(dest: *mut SHA1Context, src: *mut SHA1Context)>,
    pub p_SHA256_Clone: ::core::option::Option<
        unsafe extern "C" fn(dest: *mut SHA256Context, src: *mut SHA256Context),
    >,
    pub p_SHA384_Clone: ::core::option::Option<
        unsafe extern "C" fn(dest: *mut SHA384Context, src: *mut SHA384Context),
    >,
    pub p_SHA512_Clone: ::core::option::Option<
        unsafe extern "C" fn(dest: *mut SHA512Context, src: *mut SHA512Context),
    >,
    pub p_TLS_PRF: ::core::option::Option<
        unsafe extern "C" fn(
            secret: *const SECItem,
            label: *const ::core::ffi::c_char,
            seed: *mut SECItem,
            result: *mut SECItem,
            isFIPS: PRBool,
        ) -> SECStatus,
    >,
    pub p_HASH_GetRawHashObject: ::core::option::Option<
        unsafe extern "C" fn(hashType: HASH_HashType) -> *const SECHashObject,
    >,
    pub p_HMAC_Create: ::core::option::Option<
        unsafe extern "C" fn(
            hashObj: *const SECHashObject,
            secret: *const ::core::ffi::c_uchar,
            secret_len: ::core::ffi::c_uint,
            isFIPS: PRBool,
        ) -> *mut HMACContext,
    >,
    pub p_HMAC_Init: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut HMACContext,
            hash_obj: *const SECHashObject,
            secret: *const ::core::ffi::c_uchar,
            secret_len: ::core::ffi::c_uint,
            isFIPS: PRBool,
        ) -> SECStatus,
    >,
    pub p_HMAC_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut HMACContext)>,
    pub p_HMAC_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut HMACContext,
            data: *const ::core::ffi::c_uchar,
            data_len: ::core::ffi::c_uint,
        ),
    >,
    pub p_HMAC_Clone:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut HMACContext) -> *mut HMACContext>,
    pub p_HMAC_Finish: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut HMACContext,
            result: *mut ::core::ffi::c_uchar,
            result_len: *mut ::core::ffi::c_uint,
            max_result_len: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_HMAC_Destroy:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut HMACContext, freeit: PRBool)>,
    pub p_RNG_SystemInfoForRNG: ::core::option::Option<unsafe extern "C" fn()>,
    pub p_FIPS186Change_GenerateX: ::core::option::Option<
        unsafe extern "C" fn(
            XKEY: *mut ::core::ffi::c_uchar,
            XSEEDj: *const ::core::ffi::c_uchar,
            x_j: *mut ::core::ffi::c_uchar,
        ) -> SECStatus,
    >,
    pub p_FIPS186Change_ReduceModQForDSA: ::core::option::Option<
        unsafe extern "C" fn(
            w: *const ::core::ffi::c_uchar,
            q: *const ::core::ffi::c_uchar,
            xj: *mut ::core::ffi::c_uchar,
        ) -> SECStatus,
    >,
    pub p_Camellia_InitContext: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut CamelliaContext,
            key: *const ::core::ffi::c_uchar,
            keylen: ::core::ffi::c_uint,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            encrypt: ::core::ffi::c_uint,
            unused: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_Camellia_AllocateContext:
        ::core::option::Option<unsafe extern "C" fn() -> *mut CamelliaContext>,
    pub p_Camellia_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const ::core::ffi::c_uchar,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            encrypt: ::core::ffi::c_int,
            keylen: ::core::ffi::c_uint,
        ) -> *mut CamelliaContext,
    >,
    pub p_Camellia_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut CamelliaContext, freeit: PRBool)>,
    pub p_Camellia_Encrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut CamelliaContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_Camellia_Decrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut CamelliaContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_PQG_DestroyParams: ::core::option::Option<unsafe extern "C" fn(params: *mut PQGParams)>,
    pub p_PQG_DestroyVerify: ::core::option::Option<unsafe extern "C" fn(vfy: *mut PQGVerify)>,
    pub p_SEED_InitContext: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SEEDContext,
            key: *const ::core::ffi::c_uchar,
            keylen: ::core::ffi::c_uint,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            encrypt: ::core::ffi::c_uint,
            arg1: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_SEED_AllocateContext: ::core::option::Option<unsafe extern "C" fn() -> *mut SEEDContext>,
    pub p_SEED_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const ::core::ffi::c_uchar,
            iv: *const ::core::ffi::c_uchar,
            mode: ::core::ffi::c_int,
            encrypt: PRBool,
        ) -> *mut SEEDContext,
    >,
    pub p_SEED_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SEEDContext, freeit: PRBool)>,
    pub p_SEED_Encrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SEEDContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_SEED_Decrypt: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SEEDContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_BL_Init: ::core::option::Option<unsafe extern "C" fn() -> SECStatus>,
    pub p_BL_SetForkState: ::core::option::Option<unsafe extern "C" fn(arg1: PRBool)>,
    pub p_PRNGTEST_Instantiate: ::core::option::Option<
        unsafe extern "C" fn(
            entropy: *const PRUint8,
            entropy_len: ::core::ffi::c_uint,
            nonce: *const PRUint8,
            nonce_len: ::core::ffi::c_uint,
            personal_string: *const PRUint8,
            ps_len: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_PRNGTEST_Reseed: ::core::option::Option<
        unsafe extern "C" fn(
            entropy: *const PRUint8,
            entropy_len: ::core::ffi::c_uint,
            additional: *const PRUint8,
            additional_len: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_PRNGTEST_Generate: ::core::option::Option<
        unsafe extern "C" fn(
            bytes: *mut PRUint8,
            bytes_len: ::core::ffi::c_uint,
            additional: *const PRUint8,
            additional_len: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_PRNGTEST_Uninstantiate: ::core::option::Option<unsafe extern "C" fn() -> SECStatus>,
    pub p_RSA_PopulatePrivateKey:
        ::core::option::Option<unsafe extern "C" fn(key: *mut RSAPrivateKey) -> SECStatus>,
    pub p_DSA_NewRandom: ::core::option::Option<
        unsafe extern "C" fn(
            arena: *mut PLArenaPool,
            q: *const SECItem,
            seed: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_JPAKE_Sign: ::core::option::Option<
        unsafe extern "C" fn(
            arena: *mut PLArenaPool,
            pqg: *const PQGParams,
            hashType: HASH_HashType,
            signerID: *const SECItem,
            x: *const SECItem,
            testRandom: *const SECItem,
            gxIn: *const SECItem,
            gxOut: *mut SECItem,
            gv: *mut SECItem,
            r: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_JPAKE_Verify: ::core::option::Option<
        unsafe extern "C" fn(
            arena: *mut PLArenaPool,
            pqg: *const PQGParams,
            hashType: HASH_HashType,
            signerID: *const SECItem,
            peerID: *const SECItem,
            gx: *const SECItem,
            gv: *const SECItem,
            r: *const SECItem,
        ) -> SECStatus,
    >,
    pub p_JPAKE_Round2: ::core::option::Option<
        unsafe extern "C" fn(
            arena: *mut PLArenaPool,
            p: *const SECItem,
            q: *const SECItem,
            gx1: *const SECItem,
            gx3: *const SECItem,
            gx4: *const SECItem,
            base: *mut SECItem,
            x2: *const SECItem,
            s: *const SECItem,
            x2s: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_JPAKE_Final: ::core::option::Option<
        unsafe extern "C" fn(
            arena: *mut PLArenaPool,
            p: *const SECItem,
            q: *const SECItem,
            x2: *const SECItem,
            gx4: *const SECItem,
            x2s: *const SECItem,
            B: *const SECItem,
            K: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_TLS_P_hash: ::core::option::Option<
        unsafe extern "C" fn(
            hashAlg: HASH_HashType,
            secret: *const SECItem,
            label: *const ::core::ffi::c_char,
            seed: *mut SECItem,
            result: *mut SECItem,
            isFIPS: PRBool,
        ) -> SECStatus,
    >,
    pub p_SHA224_NewContext: ::core::option::Option<unsafe extern "C" fn() -> *mut SHA224Context>,
    pub p_SHA224_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA224Context, freeit: PRBool)>,
    pub p_SHA224_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA224Context)>,
    pub p_SHA224_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA224Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA224_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA224Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA224_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHA224_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHA224_TraceState: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA224Context)>,
    pub p_SHA224_FlattenSize:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA224Context) -> ::core::ffi::c_uint>,
    pub p_SHA224_Flatten: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut SHA224Context, space: *mut ::core::ffi::c_uchar) -> SECStatus,
    >,
    pub p_SHA224_Resurrect: ::core::option::Option<
        unsafe extern "C" fn(
            space: *mut ::core::ffi::c_uchar,
            arg: *mut ::core::ffi::c_void,
        ) -> *mut SHA224Context,
    >,
    pub p_SHA224_Clone: ::core::option::Option<
        unsafe extern "C" fn(dest: *mut SHA224Context, src: *mut SHA224Context),
    >,
    pub p_BLAPI_SHVerifyFile:
        ::core::option::Option<unsafe extern "C" fn(name: *const ::core::ffi::c_char) -> PRBool>,
    pub p_PQG_ParamGenV2: ::core::option::Option<
        unsafe extern "C" fn(
            L: ::core::ffi::c_uint,
            N: ::core::ffi::c_uint,
            seedBytes: ::core::ffi::c_uint,
            pParams: *mut *mut PQGParams,
            pVfy: *mut *mut PQGVerify,
        ) -> SECStatus,
    >,
    pub p_PRNGTEST_RunHealthTests: ::core::option::Option<unsafe extern "C" fn() -> SECStatus>,
    pub p_HMAC_ConstantTime: ::core::option::Option<
        unsafe extern "C" fn(
            result: *mut ::core::ffi::c_uchar,
            resultLen: *mut ::core::ffi::c_uint,
            maxResultLen: ::core::ffi::c_uint,
            hashObj: *const SECHashObject,
            secret: *const ::core::ffi::c_uchar,
            secretLen: ::core::ffi::c_uint,
            header: *const ::core::ffi::c_uchar,
            headerLen: ::core::ffi::c_uint,
            body: *const ::core::ffi::c_uchar,
            bodyLen: ::core::ffi::c_uint,
            bodyTotalLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_SSLv3_MAC_ConstantTime: ::core::option::Option<
        unsafe extern "C" fn(
            result: *mut ::core::ffi::c_uchar,
            resultLen: *mut ::core::ffi::c_uint,
            maxResultLen: ::core::ffi::c_uint,
            hashObj: *const SECHashObject,
            secret: *const ::core::ffi::c_uchar,
            secretLen: ::core::ffi::c_uint,
            header: *const ::core::ffi::c_uchar,
            headerLen: ::core::ffi::c_uint,
            body: *const ::core::ffi::c_uchar,
            bodyLen: ::core::ffi::c_uint,
            bodyTotalLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_SignRaw: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPrivateKey,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_CheckSignRaw: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPublicKey,
            sig: *const ::core::ffi::c_uchar,
            sigLen: ::core::ffi::c_uint,
            hash: *const ::core::ffi::c_uchar,
            hashLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_CheckSignRecoverRaw: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPublicKey,
            data: *mut ::core::ffi::c_uchar,
            dataLen: *mut ::core::ffi::c_uint,
            maxDataLen: ::core::ffi::c_uint,
            sig: *const ::core::ffi::c_uchar,
            sigLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_EncryptRaw: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPublicKey,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_DecryptRaw: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPrivateKey,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_EncryptOAEP: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPublicKey,
            hashAlg: HASH_HashType,
            maskHashAlg: HASH_HashType,
            label: *const ::core::ffi::c_uchar,
            labelLen: ::core::ffi::c_uint,
            seed: *const ::core::ffi::c_uchar,
            seedLen: ::core::ffi::c_uint,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_DecryptOAEP: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPrivateKey,
            hashAlg: HASH_HashType,
            maskHashAlg: HASH_HashType,
            label: *const ::core::ffi::c_uchar,
            labelLen: ::core::ffi::c_uint,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_EncryptBlock: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPublicKey,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_DecryptBlock: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPrivateKey,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_SignPSS: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPrivateKey,
            hashAlg: HASH_HashType,
            maskHashAlg: HASH_HashType,
            salt: *const ::core::ffi::c_uchar,
            saltLen: ::core::ffi::c_uint,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_CheckSignPSS: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPublicKey,
            hashAlg: HASH_HashType,
            maskHashAlg: HASH_HashType,
            saltLen: ::core::ffi::c_uint,
            sig: *const ::core::ffi::c_uchar,
            sigLen: ::core::ffi::c_uint,
            hash: *const ::core::ffi::c_uchar,
            hashLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_Sign: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPrivateKey,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_CheckSign: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPublicKey,
            sig: *const ::core::ffi::c_uchar,
            sigLen: ::core::ffi::c_uint,
            data: *const ::core::ffi::c_uchar,
            dataLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_RSA_CheckSignRecover: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut RSAPublicKey,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            sig: *const ::core::ffi::c_uchar,
            sigLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_EC_FillParams: ::core::option::Option<
        unsafe extern "C" fn(
            arena: *mut PLArenaPool,
            encodedParams: *const SECItem,
            params: *mut ECParams,
        ) -> SECStatus,
    >,
    pub p_EC_DecodeParams: ::core::option::Option<
        unsafe extern "C" fn(
            encodedParams: *const SECItem,
            ecparams: *mut *mut ECParams,
        ) -> SECStatus,
    >,
    pub p_EC_CopyParams: ::core::option::Option<
        unsafe extern "C" fn(
            arena: *mut PLArenaPool,
            dstParams: *mut ECParams,
            srcParams: *const ECParams,
        ) -> SECStatus,
    >,
    pub p_ChaCha20Poly1305_InitContext: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *mut ChaCha20Poly1305Context,
            key: *const ::core::ffi::c_uchar,
            keyLen: ::core::ffi::c_uint,
            tagLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_ChaCha20Poly1305_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const ::core::ffi::c_uchar,
            keyLen: ::core::ffi::c_uint,
            tagLen: ::core::ffi::c_uint,
        ) -> *mut ChaCha20Poly1305Context,
    >,
    pub p_ChaCha20Poly1305_DestroyContext: ::core::option::Option<
        unsafe extern "C" fn(ctx: *mut ChaCha20Poly1305Context, freeit: PRBool),
    >,
    pub p_ChaCha20Poly1305_Seal: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *const ChaCha20Poly1305Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
            nonce: *const ::core::ffi::c_uchar,
            nonceLen: ::core::ffi::c_uint,
            ad: *const ::core::ffi::c_uchar,
            adLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_ChaCha20Poly1305_Open: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *const ChaCha20Poly1305Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
            nonce: *const ::core::ffi::c_uchar,
            nonceLen: ::core::ffi::c_uint,
            ad: *const ::core::ffi::c_uchar,
            adLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_EC_GetPointSize:
        ::core::option::Option<unsafe extern "C" fn(arg1: *const ECParams) -> ::core::ffi::c_int>,
    pub p_BLAKE2B_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_BLAKE2B_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            output: *mut ::core::ffi::c_uchar,
            input: *const ::core::ffi::c_uchar,
            inlen: PRUint32,
        ) -> SECStatus,
    >,
    pub p_BLAKE2B_MAC_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            output: *mut ::core::ffi::c_uchar,
            input: *const ::core::ffi::c_uchar,
            inlen: ::core::ffi::c_uint,
            key: *const ::core::ffi::c_uchar,
            keylen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_BLAKE2B_NewContext: ::core::option::Option<unsafe extern "C" fn() -> *mut BLAKE2BContext>,
    pub p_BLAKE2B_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(ctx: *mut BLAKE2BContext, freeit: PRBool)>,
    pub p_BLAKE2B_Begin:
        ::core::option::Option<unsafe extern "C" fn(ctx: *mut BLAKE2BContext) -> SECStatus>,
    pub p_BLAKE2B_MAC_Begin: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *mut BLAKE2BContext,
            key: *const PRUint8,
            keylen: usize,
        ) -> SECStatus,
    >,
    pub p_BLAKE2B_Update: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *mut BLAKE2BContext,
            in_: *const ::core::ffi::c_uchar,
            inlen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_BLAKE2B_End: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *mut BLAKE2BContext,
            out: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: usize,
        ) -> SECStatus,
    >,
    pub p_BLAKE2B_FlattenSize: ::core::option::Option<
        unsafe extern "C" fn(ctx: *mut BLAKE2BContext) -> ::core::ffi::c_uint,
    >,
    pub p_BLAKE2B_Flatten: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *mut BLAKE2BContext,
            space: *mut ::core::ffi::c_uchar,
        ) -> SECStatus,
    >,
    pub p_BLAKE2B_Resurrect: ::core::option::Option<
        unsafe extern "C" fn(
            space: *mut ::core::ffi::c_uchar,
            arg: *mut ::core::ffi::c_void,
        ) -> *mut BLAKE2BContext,
    >,
    pub p_ChaCha20_Xor: ::core::option::Option<
        unsafe extern "C" fn(
            output: *mut ::core::ffi::c_uchar,
            block: *const ::core::ffi::c_uchar,
            len: ::core::ffi::c_uint,
            k: *const ::core::ffi::c_uchar,
            nonce: *const ::core::ffi::c_uchar,
            ctr: PRUint32,
        ) -> SECStatus,
    >,
    pub p_CMAC_Init: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *mut CMACContext,
            type_: CMACCipher,
            key: *const ::core::ffi::c_uchar,
            key_len: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_CMAC_Create: ::core::option::Option<
        unsafe extern "C" fn(
            type_: CMACCipher,
            key: *const ::core::ffi::c_uchar,
            key_len: ::core::ffi::c_uint,
        ) -> *mut CMACContext,
    >,
    pub p_CMAC_Begin:
        ::core::option::Option<unsafe extern "C" fn(ctx: *mut CMACContext) -> SECStatus>,
    pub p_CMAC_Update: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *mut CMACContext,
            data: *const ::core::ffi::c_uchar,
            data_len: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_CMAC_Finish: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *mut CMACContext,
            result: *mut ::core::ffi::c_uchar,
            result_len: *mut ::core::ffi::c_uint,
            max_result_len: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_CMAC_Destroy:
        ::core::option::Option<unsafe extern "C" fn(ctx: *mut CMACContext, free_it: PRBool)>,
    pub p_ChaCha20Poly1305_Encrypt: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *const ChaCha20Poly1305Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
            nonce: *const ::core::ffi::c_uchar,
            nonceLen: ::core::ffi::c_uint,
            ad: *const ::core::ffi::c_uchar,
            adLen: ::core::ffi::c_uint,
            tagOut: *mut ::core::ffi::c_uchar,
        ) -> SECStatus,
    >,
    pub p_ChaCha20Poly1305_Decrypt: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *const ChaCha20Poly1305Context,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
            nonce: *const ::core::ffi::c_uchar,
            nonceLen: ::core::ffi::c_uint,
            ad: *const ::core::ffi::c_uchar,
            adLen: ::core::ffi::c_uint,
            tagIn: *mut ::core::ffi::c_uchar,
        ) -> SECStatus,
    >,
    pub p_AES_AEAD: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut AESContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
            params: *mut ::core::ffi::c_void,
            paramsLen: ::core::ffi::c_uint,
            aad: *const ::core::ffi::c_uchar,
            aadLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_AESKeyWrap_EncryptKWP: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut AESKeyWrapContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_AESKeyWrap_DecryptKWP: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut AESKeyWrapContext,
            output: *mut ::core::ffi::c_uchar,
            outputLen: *mut ::core::ffi::c_uint,
            maxOutputLen: ::core::ffi::c_uint,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ) -> SECStatus,
    >,
    pub p_KEA_PrimeCheck:
        ::core::option::Option<unsafe extern "C" fn(prime: *mut SECItem) -> PRBool>,
    pub p_ChaCha20_InitContext: ::core::option::Option<
        unsafe extern "C" fn(
            ctx: *mut ChaCha20Context,
            key: *const ::core::ffi::c_uchar,
            keyLen: ::core::ffi::c_uint,
            nonce: *const ::core::ffi::c_uchar,
            nonceLen: ::core::ffi::c_uint,
            ctr: PRUint32,
        ) -> SECStatus,
    >,
    pub p_ChaCha20_CreateContext: ::core::option::Option<
        unsafe extern "C" fn(
            key: *const ::core::ffi::c_uchar,
            keyLen: ::core::ffi::c_uint,
            nonce: *const ::core::ffi::c_uchar,
            nonceLen: ::core::ffi::c_uint,
            ctr: PRUint32,
        ) -> *mut ChaCha20Context,
    >,
    pub p_ChaCha20_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(ctx: *mut ChaCha20Context, freeit: PRBool)>,
    pub p_SHA3_224_NewContext:
        ::core::option::Option<unsafe extern "C" fn() -> *mut SHA3_224Context>,
    pub p_SHA3_224_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA3_224Context, freeit: PRBool)>,
    pub p_SHA3_224_FlattenSize: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut SHA3_224Context) -> ::core::ffi::c_uint,
    >,
    pub p_SHA3_224_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA3_224Context)>,
    pub p_SHA3_224_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA3_224Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA3_224_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA3_224Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA3_224_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHA3_224_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHA3_256_NewContext:
        ::core::option::Option<unsafe extern "C" fn() -> *mut SHA3_256Context>,
    pub p_SHA3_256_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA3_256Context, freeit: PRBool)>,
    pub p_SHA3_256_FlattenSize: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut SHA3_256Context) -> ::core::ffi::c_uint,
    >,
    pub p_SHA3_256_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA3_256Context)>,
    pub p_SHA3_256_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA3_256Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA3_256_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA3_256Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA3_256_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHA3_256_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHA3_384_NewContext:
        ::core::option::Option<unsafe extern "C" fn() -> *mut SHA3_384Context>,
    pub p_SHA3_384_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA3_384Context, freeit: PRBool)>,
    pub p_SHA3_384_FlattenSize: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut SHA3_384Context) -> ::core::ffi::c_uint,
    >,
    pub p_SHA3_384_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA3_384Context)>,
    pub p_SHA3_384_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA3_384Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA3_384_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA3_384Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA3_384_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHA3_384_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHA3_512_NewContext:
        ::core::option::Option<unsafe extern "C" fn() -> *mut SHA3_512Context>,
    pub p_SHA3_512_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA3_512Context, freeit: PRBool)>,
    pub p_SHA3_512_FlattenSize: ::core::option::Option<
        unsafe extern "C" fn(cx: *mut SHA3_512Context) -> ::core::ffi::c_uint,
    >,
    pub p_SHA3_512_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHA3_512Context)>,
    pub p_SHA3_512_Update: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA3_512Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA3_512_End: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHA3_512Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: *mut ::core::ffi::c_uint,
            maxDigestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHA3_512_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHA3_512_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHAKE_128_NewContext:
        ::core::option::Option<unsafe extern "C" fn() -> *mut SHAKE_128Context>,
    pub p_SHAKE_128_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHAKE_128Context, freeit: PRBool)>,
    pub p_SHAKE_128_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHAKE_128Context)>,
    pub p_SHAKE_128_Absorb: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHAKE_128Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHAKE_128_SqueezeEnd: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHAKE_128Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHAKE_128_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            dest_length: PRUint32,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHAKE_128_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            dest_length: PRUint32,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_SHAKE_256_NewContext:
        ::core::option::Option<unsafe extern "C" fn() -> *mut SHAKE_256Context>,
    pub p_SHAKE_256_DestroyContext:
        ::core::option::Option<unsafe extern "C" fn(cx: *mut SHAKE_256Context, freeit: PRBool)>,
    pub p_SHAKE_256_Begin: ::core::option::Option<unsafe extern "C" fn(cx: *mut SHAKE_256Context)>,
    pub p_SHAKE_256_Absorb: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHAKE_256Context,
            input: *const ::core::ffi::c_uchar,
            inputLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHAKE_256_SqueezeEnd: ::core::option::Option<
        unsafe extern "C" fn(
            cx: *mut SHAKE_256Context,
            digest: *mut ::core::ffi::c_uchar,
            digestLen: ::core::ffi::c_uint,
        ),
    >,
    pub p_SHAKE_256_HashBuf: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            dest_length: PRUint32,
            src: *const ::core::ffi::c_uchar,
            src_length: PRUint32,
        ) -> SECStatus,
    >,
    pub p_SHAKE_256_Hash: ::core::option::Option<
        unsafe extern "C" fn(
            dest: *mut ::core::ffi::c_uchar,
            dest_length: PRUint32,
            src: *const ::core::ffi::c_char,
        ) -> SECStatus,
    >,
    pub p_Kyber_NewKey: ::core::option::Option<
        unsafe extern "C" fn(
            params: KyberParams,
            seed: *const SECItem,
            privKey: *mut SECItem,
            pubKey: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_Kyber_Encapsulate: ::core::option::Option<
        unsafe extern "C" fn(
            params: KyberParams,
            seed: *const SECItem,
            pubKey: *const SECItem,
            ciphertext: *mut SECItem,
            secret: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_Kyber_Decapsulate: ::core::option::Option<
        unsafe extern "C" fn(
            params: KyberParams,
            privKey: *const SECItem,
            ciphertext: *const SECItem,
            secret: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_ED_SignMessage: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut ECPrivateKey,
            signature: *mut SECItem,
            msg: *const SECItem,
        ) -> SECStatus,
    >,
    pub p_ED_VerifyMessage: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut ECPublicKey,
            signature: *const SECItem,
            msg: *const SECItem,
        ) -> SECStatus,
    >,
    pub p_ED_DerivePublicKey: ::core::option::Option<
        unsafe extern "C" fn(privateKey: *const SECItem, publicKey: *mut SECItem) -> SECStatus,
    >,
    pub p_X25519_DerivePublicKey: ::core::option::Option<
        unsafe extern "C" fn(privateKey: *const SECItem, publicKey: *mut SECItem) -> SECStatus,
    >,
    pub p_EC_DerivePublicKey: ::core::option::Option<
        unsafe extern "C" fn(
            privateKey: *const SECItem,
            ecParams: *const ECParams,
            publicKey: *mut SECItem,
        ) -> SECStatus,
    >,
    pub p_MLDSA_NewKey: ::core::option::Option<
        unsafe extern "C" fn(
            paramSet: CK_ML_DSA_PARAMETER_SET_TYPE,
            seed: *mut SECItem,
            privKey: *mut MLDSAPrivateKey,
            pubKey: *mut MLDSAPublicKey,
        ) -> SECStatus,
    >,
    pub p_MLDSA_SignInit: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut MLDSAPrivateKey,
            hedgType: CK_HEDGE_TYPE,
            sgnCtx: *const SECItem,
            ctx: *mut *mut MLDSAContext,
        ) -> SECStatus,
    >,
    pub p_MLDSA_SignUpdate: ::core::option::Option<
        unsafe extern "C" fn(ctx: *mut MLDSAContext, data: *const SECItem) -> SECStatus,
    >,
    pub p_MLDSA_SignFinal: ::core::option::Option<
        unsafe extern "C" fn(ctx: *mut MLDSAContext, signature: *mut SECItem) -> SECStatus,
    >,
    pub p_MLDSA_VerifyInit: ::core::option::Option<
        unsafe extern "C" fn(
            key: *mut MLDSAPublicKey,
            sgnCtx: *const SECItem,
            ctx: *mut *mut MLDSAContext,
        ) -> SECStatus,
    >,
    pub p_MLDSA_VerifyUpdate: ::core::option::Option<
        unsafe extern "C" fn(ctx: *mut MLDSAContext, data: *const SECItem) -> SECStatus,
    >,
    pub p_MLDSA_VerifyFinal: ::core::option::Option<
        unsafe extern "C" fn(ctx: *mut MLDSAContext, signature: *const SECItem) -> SECStatus,
    >,
    pub p_EC_DecompressPublicKey: ::core::option::Option<
        unsafe extern "C" fn(
            publicCompressed: *const SECItem,
            params: *const ECParams,
            publicUncompressed: *mut SECItem,
        ) -> SECStatus,
    >,
}

Messung V0.5 in Prozent
C=87 H=90 G=88

¤ Dauer der Verarbeitung: 0.42 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.