Import OpenSSL-1.0.0a.
[dragonfly.git] / crypto / openssl / 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 an 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