Rename OSSL_SERIALIZER / OSSL_DESERIALIZER to OSSL_ENCODE / OSSL_DECODE
[openssl.git] / doc / man3 / OSSL_DESERIALIZER_CTX.pod
1 =pod
2
3 =head1 NAME
4
5 OSSL_DESERIALIZER_CTX,
6 OSSL_DESERIALIZER_CTX_new,
7 OSSL_DESERIALIZER_settable_ctx_params,
8 OSSL_DESERIALIZER_CTX_set_params,
9 OSSL_DESERIALIZER_CTX_free
10 - Serializer context routines
11
12 =head1 SYNOPSIS
13
14  #include <openssl/deserializer.h>
15
16  typedef struct ossl_deserializer_ctx_st OSSL_DESERIALIZER_CTX;
17
18  OSSL_DESERIALIZER_CTX *OSSL_DESERIALIZER_CTX_new(OPENSSL_CTX *libctx);
19  const OSSL_PARAM *OSSL_DESERIALIZER_settable_ctx_params(OSSL_DESERIALIZER *deser);
20  int OSSL_DESERIALIZER_CTX_set_params(OSSL_DESERIALIZER_CTX *ctx,
21                                       const OSSL_PARAM params[]);
22  void OSSL_DESERIALIZER_CTX_free(OSSL_DESERIALIZER_CTX *ctx);
23
24 =head1 DESCRIPTION
25
26 B<OSSL_DESERIALIZER_CTX> is a context with which B<OSSL_DESERIALIZER>
27 operations are performed.  The context typically holds values, both
28 internal and supplied by the application, which are useful for the
29 implementations supplied by providers.
30
31 OSSL_DESERIALIZER_CTX_new() creates a new empty B<OSSL_DESERIALIZER_CTX>.
32
33 OSSL_DESERIALIZER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
34 array of parameter descriptors.
35
36 OSSL_DESERIALIZER_CTX_set_params() attempts to set parameters specified
37 with an L<OSSL_PARAM(3)> array I<params>.  These parameters are passed
38 to all deserializers that have been added to the I<ctx> so far.
39 Parameters that an implementation doesn't recognise should be ignored
40 by it.
41
42 OSSL_DESERIALIZER_CTX_free() frees the given context I<ctx>.
43
44 =head1 RETURN VALUES
45
46 OSSL_DESERIALIZER_CTX_new() returns a pointer to a
47 B<OSSL_DESERIALIZER_CTX>, or NULL if the context structure couldn't be
48 allocated.
49
50 OSSL_DESERIALIZER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
51 array, or NULL if none is available.
52
53 OSSL_DESERIALIZER_CTX_set_params() returns 1 if all recognised
54 parameters were valid, or 0 if one of them was invalid or caused some
55 other failure in the implementation.
56
57 =head1 SEE ALSO
58
59 L<provider(7)>, L<OSSL_DESERIALIZER(3)>, L<OSSL_DESERIALIZER_from_bio(3)>
60
61 =head1 HISTORY
62
63 The functions described here were added in OpenSSL 3.0.
64
65 =head1 COPYRIGHT
66
67 Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
68
69 Licensed under the Apache License 2.0 (the "License").  You may not use
70 this file except in compliance with the License.  You can obtain a copy
71 in the file LICENSE in the source distribution or at
72 L<https://www.openssl.org/source/license.html>.
73
74 =cut