mirror of
https://github.com/QuasarApp/openssl.git
synced 2025-05-12 01:19:41 +00:00
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
|