=pod

=head1 NAME

 PEM_write_bio_CMS_stream - output CMS_ContentInfo structure in PEM format.

=head1 SYNOPSIS

 #include <openssl/cms.h>
 #include <openssl/pem.h>

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

=head1 DESCRIPTION

PEM_write_bio_CMS_stream() outputs a CMS_ContentInfo structure in PEM format.

It is otherwise identical to the function SMIME_write_CMS().

=head1 NOTES

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

=head1 RETURN VALUES

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

=head1 SEE ALSO

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

=head1 HISTORY

PEM_write_bio_CMS_stream() was added to OpenSSL 1.0.0

=cut
