Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
| CMS_COMPRESS(3) | Library Functions Manual | CMS_COMPRESS(3) | 
NAME
CMS_compress —
    create a CMS CompressedData structure
SYNOPSIS
#include
    <openssl/cms.h>
CMS_ContentInfo *
  
  CMS_compress(BIO *in,
    int comp_nid, unsigned int
    flags);
DESCRIPTION
CMS_compress()
    creates and returns a CMS CompressedData
  structure.
comp_nid is the
    compression algorithm to use or NID_undef to use the
    default algorithm. Currently, the default algorithm
    NID_zlib_compression is the only supported
    algorithm. If zlib support is not compiled in,
    CMS_compress()
    always returns an error.
in provides the content to be compressed.
Any of the following flags (OR'ed together) can be passed in the flags parameter:
- CMS_TEXT
- Prepend MIME headers for type text/plain to the data.
- CMS_BINARY
- Do not translate the supplied content into MIME canonical format, even
      though that is required by the S/MIME specifications. This option should
      be used if the supplied data is in binary format. Otherwise, the
      translation will corrupt it. If CMS_BINARYis set,CMS_TEXTis ignored.
- CMS_STREAM
- Return a partial CMS_ContentInfo structure suitable for streaming I/O: no data is read from in. Several functions including SMIME_write_CMS(3), i2d_CMS_bio_stream(3), or PEM_write_bio_CMS_stream(3) can be used to finalize the structure. Alternatively, finalization can be performed by obtaining the streaming ASN1 BIO directly using BIO_new_CMS(3). Outputting the contents of the CMS_ContentInfo structure via a function that does not properly finalize it will give unpredictable results.
- CMS_DETACHED
- Do not include the compressed data in the CMS_ContentInfo structure. This is rarely used in practice and is not supported by SMIME_write_CMS(3).
Additional compression parameters such as the zlib compression level cannot currently be set.
RETURN VALUES
CMS_compress() returns either a
    CMS_ContentInfo structure or
    NULL if an error occurred. The error can be obtained
    from
  ERR_get_error(3).
SEE ALSO
STANDARDS
RFC 3274: Compressed Data Content Type for Cryptographic Message Syntax (CMS)
HISTORY
CMS_compress() first appeared in OpenSSL
    0.9.8h and has been available since OpenBSD 6.7.
The CMS_STREAM flag first appeared in
    OpenSSL 1.0.0.
| November 2, 2019 | Sortix 1.1.0-dev | 
