openssl/doc/man3/OSSL_DESERIALIZER_CTX.pod

75 lines
2.3 KiB
Plaintext
Raw Normal View History

=pod
=head1 NAME
OSSL_DESERIALIZER_CTX,
OSSL_DESERIALIZER_CTX_new,
OSSL_DESERIALIZER_settable_ctx_params,
OSSL_DESERIALIZER_CTX_set_params,
OSSL_DESERIALIZER_CTX_free
- Serializer context routines
=head1 SYNOPSIS
#include <openssl/deserializer.h>
typedef struct ossl_deserializer_ctx_st OSSL_DESERIALIZER_CTX;
OSSL_DESERIALIZER_CTX *OSSL_DESERIALIZER_CTX_new(OPENSSL_CTX *libctx);
const OSSL_PARAM *OSSL_DESERIALIZER_settable_ctx_params(OSSL_DESERIALIZER *deser);
int OSSL_DESERIALIZER_CTX_set_params(OSSL_DESERIALIZER_CTX *ctx,
const OSSL_PARAM params[]);
void OSSL_DESERIALIZER_CTX_free(OSSL_DESERIALIZER_CTX *ctx);
=head1 DESCRIPTION
B<OSSL_DESERIALIZER_CTX> is a context with which B<OSSL_DESERIALIZER>
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_DESERIALIZER_CTX_new() creates a new empty B<OSSL_DESERIALIZER_CTX>.
OSSL_DESERIALIZER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
array of parameter descriptors.
OSSL_DESERIALIZER_CTX_set_params() attempts to set parameters specified
with an L<OSSL_PARAM(3)> array I<params>. These parameters are passed
to all deserializers that have been added to the I<ctx> so far.
Parameters that an implementation doesn't recognise should be ignored
by it.
OSSL_DESERIALIZER_CTX_free() frees the given context I<ctx>.
=head1 RETURN VALUES
OSSL_DESERIALIZER_CTX_new() returns a pointer to a
B<OSSL_DESERIALIZER_CTX>, or NULL if the context structure couldn't be
allocated.
OSSL_DESERIALIZER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
array, or NULL if none is available.
OSSL_DESERIALIZER_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_DESERIALIZER(3)>, L<OSSL_DESERIALIZER_from_bio(3)>
=head1 HISTORY
The functions described here were added in OpenSSL 3.0.
=head1 COPYRIGHT
Copyright 2020 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