// Licensed under the Apache License, Version 2.0 or the MIT license // , 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= NSPR= // 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(pub [T; N]); impl Default for __BindgenOpaqueArray { fn default() -> Self { Self([::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; pub type SECItem = __BindgenOpaqueArray; 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; pub type RSAPrivateKey = __BindgenOpaqueArray; #[doc = " DSA Public and Private Key and related structures"] pub type PQGParams = __BindgenOpaqueArray; pub type PQGVerify = __BindgenOpaqueArray; pub type DSAPublicKey = __BindgenOpaqueArray; pub type DSAPrivateKey = __BindgenOpaqueArray; pub type MLDSAPrivateKey = __BindgenOpaqueArray; pub type MLDSAPublicKey = __BindgenOpaqueArray; 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; pub type DHPrivateKey = __BindgenOpaqueArray; pub type ECParams = __BindgenOpaqueArray; pub type ECPublicKey = __BindgenOpaqueArray; pub type ECPrivateKey = __BindgenOpaqueArray; pub type SECHashObject = __BindgenOpaqueArray; 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, 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, 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, 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, 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, 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 *mut MD5Context>, pub p_MD5_DestroyContext: ::core::option::Option, pub p_MD5_Begin: ::core::option::Option, 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 ::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, 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 *mut MD2Context>, pub p_MD2_DestroyContext: ::core::option::Option, pub p_MD2_Begin: ::core::option::Option, 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 ::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 *mut SHA1Context>, pub p_SHA1_DestroyContext: ::core::option::Option, pub p_SHA1_Begin: ::core::option::Option, 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, pub p_SHA1_FlattenSize: ::core::option::Option ::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 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, 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 SECStatus>, pub p_BL_Cleanup: ::core::option::Option, pub p_SHA256_NewContext: ::core::option::Option *mut SHA256Context>, pub p_SHA256_DestroyContext: ::core::option::Option, pub p_SHA256_Begin: ::core::option::Option, 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, pub p_SHA256_FlattenSize: ::core::option::Option ::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 *mut SHA512Context>, pub p_SHA512_DestroyContext: ::core::option::Option, pub p_SHA512_Begin: ::core::option::Option, 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, pub p_SHA512_FlattenSize: ::core::option::Option ::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 *mut SHA384Context>, pub p_SHA384_DestroyContext: ::core::option::Option, pub p_SHA384_Begin: ::core::option::Option, 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, pub p_SHA384_FlattenSize: ::core::option::Option ::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, 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 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 *mut AESContext>, pub p_AESKeyWrap_AllocateContext: ::core::option::Option *mut AESKeyWrapContext>, pub p_DES_AllocateContext: ::core::option::Option *mut DESContext>, pub p_RC2_AllocateContext: ::core::option::Option *mut RC2Context>, pub p_RC4_AllocateContext: ::core::option::Option *mut RC4Context>, pub p_MD2_Clone: ::core::option::Option, pub p_MD5_Clone: ::core::option::Option, pub p_SHA1_Clone: ::core::option::Option, 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, 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 *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, pub p_RNG_SystemInfoForRNG: ::core::option::Option, 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 *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, 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, pub p_PQG_DestroyVerify: ::core::option::Option, 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 *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, 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 SECStatus>, pub p_BL_SetForkState: ::core::option::Option, 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 SECStatus>, pub p_RSA_PopulatePrivateKey: ::core::option::Option 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 *mut SHA224Context>, pub p_SHA224_DestroyContext: ::core::option::Option, pub p_SHA224_Begin: ::core::option::Option, 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, pub p_SHA224_FlattenSize: ::core::option::Option ::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 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 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 ::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 *mut BLAKE2BContext>, pub p_BLAKE2B_DestroyContext: ::core::option::Option, pub p_BLAKE2B_Begin: ::core::option::Option 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 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, 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 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, pub p_SHA3_224_NewContext: ::core::option::Option *mut SHA3_224Context>, pub p_SHA3_224_DestroyContext: ::core::option::Option, 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, 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 *mut SHA3_256Context>, pub p_SHA3_256_DestroyContext: ::core::option::Option, 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, 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 *mut SHA3_384Context>, pub p_SHA3_384_DestroyContext: ::core::option::Option, 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, 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 *mut SHA3_512Context>, pub p_SHA3_512_DestroyContext: ::core::option::Option, 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, 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 *mut SHAKE_128Context>, pub p_SHAKE_128_DestroyContext: ::core::option::Option, pub p_SHAKE_128_Begin: ::core::option::Option, 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 *mut SHAKE_256Context>, pub p_SHAKE_256_DestroyContext: ::core::option::Option, pub p_SHAKE_256_Begin: ::core::option::Option, 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, >, }