Add CMS_uncompress manual page.
[openssl.git] / doc / crypto / CMS_uncompress.pod
1 =pod
2
3 =head1 NAME
4
5 CMS_uncompress - uncompress a CMS CompressedData structure
6
7 =head1 SYNOPSIS
8
9  #include <openssl/cms.h>
10
11  int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, unsigned int flags);
12
13 =head1 DESCRIPTION
14
15 CMS_uncompress() extracts and uncompresses the content from a CMS
16 CompressedData structure B<cms>. B<data> is a BIO to write the content to and
17 B<flags> is an optional set of flags.
18
19 The B<dcont> parameter is used in the rare case where the compressed content
20 is detached. It will normally be set to NULL.
21
22 =head1 NOTES
23
24 The only currently supported compression algorithm is zlib if the structure
25 indicates the use of any other algorithm and error is returned.
26
27 If zlib support is not compiled into OpenSSL then CMS_uncompress() will always
28 return an error.
29
30 The following flags can be passed in the B<flags> parameter.
31
32 If the B<CMS_TEXT> flag is set MIME headers for type B<text/plain> are deleted
33 from the content. If the content is not of type B<text/plain> then an error is
34 returned.
35
36 =head1 RETURN VALUES
37
38 CMS_uncompress() returns either 1 for success or 0 for failure. The error can
39 be obtained from ERR_get_error(3)
40
41 =head1 BUGS
42
43 The lack of single pass processing and the need to hold all data in memory as
44 mentioned in CMS_verify() also applies to CMS_decompress().
45
46 =head1 SEE ALSO
47
48 L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_compress(3)|CMS_compress(3)>
49
50 =head1 HISTORY
51
52 CMS_uncompress() was added to OpenSSL 0.9.8
53
54 =cut