1 /* 2 * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 #ifndef OPENSSL_COMP_H 11 # define OPENSSL_COMP_H 12 # pragma once 13 14 # include <openssl/macros.h> 15 # ifndef OPENSSL_NO_DEPRECATED_3_0 16 # define HEADER_COMP_H 17 # endif 18 19 # include <openssl/opensslconf.h> 20 21 # ifndef OPENSSL_NO_COMP 22 # include <openssl/crypto.h> 23 # include <openssl/comperr.h> 24 # ifdef __cplusplus 25 extern "C" { 26 # endif 27 28 29 30 COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); 31 const COMP_METHOD *COMP_CTX_get_method(const COMP_CTX *ctx); 32 int COMP_CTX_get_type(const COMP_CTX* comp); 33 int COMP_get_type(const COMP_METHOD *meth); 34 const char *COMP_get_name(const COMP_METHOD *meth); 35 void COMP_CTX_free(COMP_CTX *ctx); 36 37 int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, 38 unsigned char *in, int ilen); 39 int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, 40 unsigned char *in, int ilen); 41 42 COMP_METHOD *COMP_zlib(void); 43 44 #ifndef OPENSSL_NO_DEPRECATED_1_1_0 45 # define COMP_zlib_cleanup() while(0) continue 46 #endif 47 48 # ifdef OPENSSL_BIO_H 49 # ifdef ZLIB 50 const BIO_METHOD *BIO_f_zlib(void); 51 # endif 52 # endif 53 54 55 # ifdef __cplusplus 56 } 57 # endif 58 # endif 59 #endif 60