mirror of
https://github.com/openssl/openssl.git
synced 2024-12-09 05:51:54 +08:00
95 lines
3.0 KiB
Plaintext
95 lines
3.0 KiB
Plaintext
|
=pod
|
||
|
|
||
|
=head1 NAME
|
||
|
|
||
|
OSSL_SERIALIZER_CTX,
|
||
|
OSSL_SERIALIZER_CTX_new,
|
||
|
OSSL_SERIALIZER_CTX_get_serializer,
|
||
|
OSSL_SERIALIZER_settable_ctx_params,
|
||
|
OSSL_SERIALIZER_CTX_set_params,
|
||
|
OSSL_SERIALIZER_CTX_free
|
||
|
- Serializer context routines
|
||
|
|
||
|
=head1 SYNOPSIS
|
||
|
|
||
|
#include <openssl/serializer.h>
|
||
|
|
||
|
typedef struct ossl_serializer_ctx_st OSSL_SERIALIZER_CTX;
|
||
|
|
||
|
OSSL_SERIALIZER_CTX *OSSL_SERIALIZER_CTX_new(OSSL_SERIALIZER *ser);
|
||
|
const OSSL_SERIALIZER *
|
||
|
OSSL_SERIALIZER_CTX_get_serializer(OSSL_SERIALIZER_CTX *ctx);
|
||
|
const OSSL_PARAM *OSSL_SERIALIZER_settable_ctx_params(OSSL_SERIALIZER *ser);
|
||
|
int OSSL_SERIALIZER_CTX_set_params(OSSL_SERIALIZER_CTX *ctx,
|
||
|
const OSSL_PARAM params[]);
|
||
|
void OSSL_SERIALIZER_CTX_free(OSSL_SERIALIZER_CTX *ctx);
|
||
|
|
||
|
=head1 DESCRIPTION
|
||
|
|
||
|
B<OSSL_SERIALIZER_CTX> is a context with which B<OSSL_SERIALIZER>
|
||
|
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_SERIALIZER_CTX_new() creates a B<OSSL_SERIALIZER_CTX> associated
|
||
|
with the serializer I<ser>. NULL is a valid I<ser>, 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 serializer 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
|
||
|
serialize.
|
||
|
|
||
|
=end comment
|
||
|
|
||
|
OSSL_SERIALIZER_CTX_get_serializer() gets the serializer method
|
||
|
currently associated with the context I<ctx>.
|
||
|
|
||
|
OSSL_SERIALIZER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
|
||
|
array of parameter descriptors.
|
||
|
|
||
|
OSSL_SERIALIZER_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_SERIALIZER_CTX_free() frees the given context I<ctx>.
|
||
|
|
||
|
=head1 RETURN VALUES
|
||
|
|
||
|
OSSL_SERIALIZER_CTX_new() returns a pointer to a
|
||
|
B<OSSL_SERIALIZER_CTX>, or NULL if the context structure couldn't be
|
||
|
allocated.
|
||
|
|
||
|
OSSL_SERIALIZER_CTX_get_serializer() returns a pointer to the
|
||
|
serializer method associated with I<ctx>. NULL is a valid return
|
||
|
value and signifies that there is no associated serializer method.
|
||
|
|
||
|
OSSL_SERIALIZER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
|
||
|
array, or NULL if none is available.
|
||
|
|
||
|
OSSL_SERIALIZER_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_SERIALIZER(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
|