* to communicate data between them.
*/
+/* Opaque handles to be used with core upcall functions from providers */
+typedef struct ossl_core_handle_st OSSL_CORE_HANDLE;
+typedef struct openssl_core_ctx_st OPENSSL_CORE_CTX;
+typedef struct ossl_core_bio_st OSSL_CORE_BIO;
+
/*
* Dispatch table element. function_id numbers are defined further down,
* see macros with '_FUNC' in their names.
* module, that module is not an OpenSSL provider module.
*/
/*-
- * |provider| pointer to opaque type OSSL_PROVIDER. This can be used
+ * |handle| pointer to opaque type OSSL_CORE_HANDLE. This can be used
* together with some functions passed via |in| to query data.
* |in| is the array of functions that the Core passes to the provider.
* |out| will be the array of base functions that the provider passes
* provider needs it. This value is passed to other provider
* functions, notably other context constructors.
*/
-typedef int (OSSL_provider_init_fn)(const OSSL_PROVIDER *provider,
+typedef int (OSSL_provider_init_fn)(const OSSL_CORE_HANDLE *handle,
const OSSL_DISPATCH *in,
const OSSL_DISPATCH **out,
void **provctx);