text: /*
   * Copyright (c) 2004-2010 The Trustees of Indiana University.
   *                         All rights reserved.
   * Copyright (c) 2019      Intel, Inc.  All rights reserved.
   * $COPYRIGHT$
   *
   * Additional copyrights may follow
   *
   * $HEADER$
   */
  
  /**
   * @file
   *
   * ZLIB COMPRESS component
   *
   * Uses the zlib library
   */
  
  #ifndef MCA_COMPRESS_ZLIB_EXPORT_H
  #define MCA_COMPRESS_ZLIB_EXPORT_H
  
  #include "opal_config.h"
  
  #include "opal/util/output.h"
  
  #include "opal/mca/mca.h"
  #include "opal/mca/compress/compress.h"
  
  #if defined(c_plusplus) || defined(__cplusplus)
  extern "C" {
  #endif
  
      /*
       * Local Component structures
       */
      struct opal_compress_zlib_component_t {
          opal_compress_base_component_t super;  /** Base COMPRESS component */
  
      };
      typedef struct opal_compress_zlib_component_t opal_compress_zlib_component_t;
      extern opal_compress_zlib_component_t mca_compress_zlib_component;
  
      int opal_compress_zlib_component_query(mca_base_module_t **module, int *priority);
  
      /*
       * Module functions
       */
      int opal_compress_zlib_module_init(void);
      int opal_compress_zlib_module_finalize(void);
  
      /*
       * Actual funcationality
       */
      bool opal_compress_zlib_compress_block(uint8_t *inbytes,
                                             size_t inlen,
                                             uint8_t **outbytes,
                                             size_t *olen);
      bool opal_compress_zlib_uncompress_block(uint8_t **outbytes, size_t olen,
                                               uint8_t *inbytes, size_t len);
  
  #if defined(c_plusplus) || defined(__cplusplus)
  }
  #endif
  
  #endif /* MCA_COMPRESS_ZLIB_EXPORT_H */
  