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
14 #include <openssl/deserializer.h>
16 typedef struct ossl_deserializer_ctx_st OSSL_DESERIALIZER_CTX;
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);
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.
31 OSSL_DESERIALIZER_CTX_new() creates a new empty B<OSSL_DESERIALIZER_CTX>.
33 OSSL_DESERIALIZER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
34 array of parameter descriptors.
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
42 OSSL_DESERIALIZER_CTX_free() frees the given context I<ctx>.
46 OSSL_DESERIALIZER_CTX_new() returns a pointer to a
47 B<OSSL_DESERIALIZER_CTX>, or NULL if the context structure couldn't be
50 OSSL_DESERIALIZER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
51 array, or NULL if none is available.
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.
59 L<provider(7)>, L<OSSL_DESERIALIZER(3)>, L<OSSL_DESERIALIZER_from_bio(3)>
63 The functions described here were added in OpenSSL 3.0.
67 Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
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>.