X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fevp%2Fevp_local.h;h=132534464fdf9508942170b8c6c71bb1e255ed42;hp=de7d69a26cb61e1da068ac24c00a3b8386134237;hb=f000e82898af251442ca52e81fc1ee45996090dc;hpb=5e77b79a8c47f0801f656cfccfcbaaa3ca1035b4 diff --git a/crypto/evp/evp_local.h b/crypto/evp/evp_local.h index de7d69a26c..132534464f 100644 --- a/crypto/evp/evp_local.h +++ b/crypto/evp/evp_local.h @@ -10,6 +10,7 @@ /* EVP_MD_CTX related stuff */ #include +#include "internal/refcount.h" #define EVP_CTRL_RET_UNSUPPORTED -1 @@ -65,6 +66,43 @@ struct evp_kdf_ctx_st { void *data; /* Algorithm-specific data */ } /* EVP_KDF_CTX */ ; +struct evp_rand_ctx_st { + EVP_RAND *meth; /* Method structure */ + void *data; /* Algorithm-specific data */ + size_t max_request; /* + * Cached: maximum number of bytes generated + * in a single call to the generate function + */ + unsigned int strength; /* Cached: bit strength of generator */ +} /* EVP_RAND_CTX */ ; + +struct evp_rand_st { + OSSL_PROVIDER *prov; + int name_id; + CRYPTO_REF_COUNT refcnt; + CRYPTO_RWLOCK *refcnt_lock; + + const OSSL_DISPATCH *dispatch; + OSSL_OP_rand_newctx_fn *newctx; + OSSL_OP_rand_freectx_fn *freectx; + OSSL_OP_rand_instantiate_fn *instantiate; + OSSL_OP_rand_uninstantiate_fn *uninstantiate; + OSSL_OP_rand_generate_fn *generate; + OSSL_OP_rand_reseed_fn *reseed; + OSSL_OP_rand_nonce_fn *nonce; + OSSL_OP_rand_enable_locking_fn *enable_locking; + OSSL_OP_rand_lock_fn *lock; + OSSL_OP_rand_unlock_fn *unlock; + OSSL_OP_rand_gettable_params_fn *gettable_params; + OSSL_OP_rand_gettable_ctx_params_fn *gettable_ctx_params; + OSSL_OP_rand_settable_ctx_params_fn *settable_ctx_params; + OSSL_OP_rand_get_params_fn *get_params; + OSSL_OP_rand_get_ctx_params_fn *get_ctx_params; + OSSL_OP_rand_set_ctx_params_fn *set_ctx_params; + OSSL_OP_rand_set_callbacks_fn *set_callbacks; + OSSL_OP_rand_verify_zeroization_fn *verify_zeroization; +} /* EVP_RAND */ ; + struct evp_keymgmt_st { int id; /* libcrypto internal */