comp.h revision 55714
1 2#ifndef HEADER_COMP_H 3#define HEADER_COMP_H 4 5#ifdef __cplusplus 6extern "C" { 7#endif 8 9#include <openssl/crypto.h> 10 11typedef struct comp_method_st 12 { 13 int type; /* NID for compression library */ 14 const char *name; /* A text string to identify the library */ 15 int (*init)(); 16 void (*finish)(); 17 int (*compress)(); 18 int (*expand)(); 19 long (*ctrl)(); 20 } COMP_METHOD; 21 22typedef struct comp_ctx_st 23 { 24 COMP_METHOD *meth; 25 unsigned long compress_in; 26 unsigned long compress_out; 27 unsigned long expand_in; 28 unsigned long expand_out; 29 30 CRYPTO_EX_DATA ex_data; 31 } COMP_CTX; 32 33 34COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); 35void COMP_CTX_free(COMP_CTX *ctx); 36int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, 37 unsigned char *in, int ilen); 38int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, 39 unsigned char *in, int ilen); 40COMP_METHOD *COMP_rle(void ); 41#ifdef ZLIB 42COMP_METHOD *COMP_zlib(void ); 43#endif 44 45/* BEGIN ERROR CODES */ 46/* The following lines are auto generated by the script mkerr.pl. Any changes 47 * made after this point may be overwritten when the script is next run. 48 */ 49 50/* Error codes for the COMP functions. */ 51 52/* Function codes. */ 53 54/* Reason codes. */ 55 56#ifdef __cplusplus 57} 58#endif 59#endif 60 61