decoder->settable_ctx_params =
OSSL_FUNC_decoder_settable_ctx_params(fns);
break;
+ case OSSL_FUNC_DECODER_DOES_SELECTION:
+ if (decoder->does_selection == NULL)
+ decoder->does_selection =
+ OSSL_FUNC_decoder_does_selection(fns);
+ break;
case OSSL_FUNC_DECODER_DECODE:
if (decoder->decode == NULL)
decoder->decode = OSSL_FUNC_decoder_decode(fns);
OSSL_FUNC_decoder_gettable_params_fn *gettable_params;
OSSL_FUNC_decoder_set_ctx_params_fn *set_ctx_params;
OSSL_FUNC_decoder_settable_ctx_params_fn *settable_ctx_params;
+ OSSL_FUNC_decoder_does_selection_fn *does_selection;
OSSL_FUNC_decoder_decode_fn *decode;
OSSL_FUNC_decoder_export_object_fn *export_object;
};
# define OSSL_FUNC_DECODER_GETTABLE_PARAMS 4
# define OSSL_FUNC_DECODER_SET_CTX_PARAMS 5
# define OSSL_FUNC_DECODER_SETTABLE_CTX_PARAMS 6
-# define OSSL_FUNC_DECODER_DECODE 10
-# define OSSL_FUNC_DECODER_EXPORT_OBJECT 11
+# define OSSL_FUNC_DECODER_DOES_SELECTION 10
+# define OSSL_FUNC_DECODER_DECODE 11
+# define OSSL_FUNC_DECODER_EXPORT_OBJECT 20
OSSL_CORE_MAKE_FUNC(void *, decoder_newctx, (void *provctx))
OSSL_CORE_MAKE_FUNC(void, decoder_freectx, (void *ctx))
OSSL_CORE_MAKE_FUNC(int, decoder_get_params, (OSSL_PARAM params[]))
OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, decoder_settable_ctx_params,
(void *provctx))
+OSSL_CORE_MAKE_FUNC(int, decoder_does_selection,
+ (void *provctx, int selection))
OSSL_CORE_MAKE_FUNC(int, decoder_decode,
- (void *ctx, OSSL_CORE_BIO *in,
+ (void *ctx, OSSL_CORE_BIO *in, int selection,
OSSL_CALLBACK *metadata_cb, void *metadata_cbarg,
OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg))
OSSL_CORE_MAKE_FUNC(int, decoder_export_object,