2
0
mirror of https://github.com/openssl/openssl.git synced 2024-12-09 05:51:54 +08:00
openssl/doc/man3/OSSL_SERIALIZER_to_bio.pod
Richard Levitte 742496f130 SERIALIZER: add functions for serialization to file
These functions are added:

- OSSL_SERIALIZER_to_bio()
- OSSL_SERIALIZER_to_fp() (unless 'no-stdio')

OSSL_SERIALIZER_to_bio() and OSSL_SERIALIZER_to_fp() work as wrapper
functions, and call an internal "do_output" function with the given
serializer context and a BIO to output the serialized result to.

The internal "do_output" function must have intimate knowledge of the
object being output.  This will defined independently with context
creators for specific OpenSSL types.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10394)
2019-11-29 20:55:16 +01:00

60 lines
1.4 KiB
Plaintext

=pod
=head1 NAME
OSSL_SERIALIZER_to_bio,
OSSL_SERIALIZER_to_fp
- Serializer file output routines
=head1 SYNOPSIS
#include <openssl/serializer.h>
int OSSL_SERIALIZER_to_bio(OSSL_SERIALIZER_CTX *ctx, BIO *out);
int OSSL_SERIALIZER_to_fp(OSSL_SERIALIZER_CTX *ctx, FILE *fp);
Feature availability macros:
=over 4
=item OSSL_SERIALIZER_to_fp() is only available when B<OPENSSL_NO_STDIO>
is undefined.
=back
=head1 DESCRIPTION
OSSL_SERIALIZER_to_bio() runs the serialization process for the
context I<ctx>, with the output going to the B<BIO> I<out>. The
application is required to set up the B<BIO> properly, for example to
have it in text or binary mode if that's appropriate.
=for comment Know your serializer!
OSSL_SERIALIZER_to_fp() does the same thing as OSSL_SERIALIZER_to_bio(),
except that the output is going to the B<FILE> I<fp>.
=head1 RETURN VALUES
OSSL_SERIALIZER_to_bio() and OSSL_SERIALIZER_to_fp() return 1 on
success, or 0 on failure.
=head1 SEE ALSO
L<provider(7)>, L<OSSL_SERIALIZER_CTX(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