=pod

=head1 NAME

i2d_CMS_bio_stream - output CMS_ContentInfo structure in BER format

=head1 SYNOPSIS

 #include <openssl/cms.h>

 int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *data, int flags);

=head1 DESCRIPTION

i2d_CMS_bio_stream() outputs a CMS_ContentInfo structure in BER format.

It is otherwise identical to the function SMIME_write_CMS().

=head1 NOTES

This function is effectively a version of the i2d_CMS_bio() supporting
streaming.

=head1 BUGS

The prefix "i2d" is arguably wrong because the function outputs BER format.

=head1 RETURN VALUES

i2d_CMS_bio_stream() returns 1 for success or 0 for failure.

=head1 SEE ALSO

L<ERR_get_error(3)>, L<CMS_sign(3)>,
L<CMS_verify(3)>, L<CMS_encrypt(3)>
L<CMS_decrypt(3)>,
L<SMIME_write_CMS(3)>,
L<PEM_write_bio_CMS_stream(3)>

=head1 HISTORY

i2d_CMS_bio_stream() was added to OpenSSL 1.0.0

=head1 COPYRIGHT

Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (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
