mirror of
https://github.com/openssl/openssl.git
synced 2024-12-09 05:51:54 +08:00
ece9304c96
Fixes #12455 Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12660)
94 lines
2.9 KiB
Plaintext
94 lines
2.9 KiB
Plaintext
=pod
|
|
|
|
=head1 NAME
|
|
|
|
OSSL_ENCODER_CTX,
|
|
OSSL_ENCODER_CTX_new,
|
|
OSSL_ENCODER_CTX_get_encoder,
|
|
OSSL_ENCODER_settable_ctx_params,
|
|
OSSL_ENCODER_CTX_set_params,
|
|
OSSL_ENCODER_CTX_free
|
|
- Encoder context routines
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#include <openssl/encoder.h>
|
|
|
|
typedef struct ossl_encoder_ctx_st OSSL_ENCODER_CTX;
|
|
|
|
OSSL_ENCODER_CTX *OSSL_ENCODER_CTX_new(OSSL_ENCODER *encoder);
|
|
const OSSL_ENCODER *OSSL_ENCODER_CTX_get_encoder(OSSL_ENCODER_CTX *ctx);
|
|
const OSSL_PARAM *OSSL_ENCODER_settable_ctx_params(OSSL_ENCODER *encoder);
|
|
int OSSL_ENCODER_CTX_set_params(OSSL_ENCODER_CTX *ctx,
|
|
const OSSL_PARAM params[]);
|
|
void OSSL_ENCODER_CTX_free(OSSL_ENCODER_CTX *ctx);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
B<OSSL_ENCODER_CTX> is a context with which B<OSSL_ENCODER>
|
|
operations are performed. The context typically holds values, both
|
|
internal and supplied by the application, which are useful for the
|
|
implementations supplied by providers.
|
|
|
|
OSSL_ENCODER_CTX_new() creates a B<OSSL_ENCODER_CTX> associated
|
|
with the encoder I<encoder>. NULL is a valid I<encoder>, the context will
|
|
be created anyway, it's just not very useful. This is intentional, to
|
|
distinguish between errors in allocating the context or assigning it
|
|
values on one hand, and the lack of encoder support on the other.
|
|
|
|
=begin comment
|
|
|
|
The above distinction makes it possible for other routines to sense if
|
|
they need to report an error or fall back on other methods to
|
|
encode.
|
|
|
|
=end comment
|
|
|
|
OSSL_ENCODER_CTX_get_encoder() gets the encoder method
|
|
currently associated with the context I<ctx>.
|
|
|
|
OSSL_ENCODER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
|
|
array of parameter descriptors.
|
|
|
|
OSSL_ENCODER_CTX_set_params() attempts to set parameters specified
|
|
with an L<OSSL_PARAM(3)> array I<params>. Parameters that the
|
|
implementation doesn't recognise should be ignored.
|
|
|
|
OSSL_ENCODER_CTX_free() frees the given context I<ctx>.
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
OSSL_ENCODER_CTX_new() returns a pointer to a
|
|
B<OSSL_ENCODER_CTX>, or NULL if the context structure couldn't be
|
|
allocated.
|
|
|
|
OSSL_ENCODER_CTX_get_encoder() returns a pointer to the
|
|
encoder method associated with I<ctx>. NULL is a valid return
|
|
value and signifies that there is no associated encoder method.
|
|
|
|
OSSL_ENCODER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
|
|
array, or NULL if none is available.
|
|
|
|
OSSL_ENCODER_CTX_set_params() returns 1 if all recognised
|
|
parameters were valid, or 0 if one of them was invalid or caused some
|
|
other failure in the implementation.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<provider(7)>, L<OSSL_ENCODER(3)>
|
|
|
|
=head1 HISTORY
|
|
|
|
The functions described here were added in OpenSSL 3.0.
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
this file except in compliance with the License. You can obtain a copy
|
|
in the file LICENSE in the source distribution or at
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
=cut
|