1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 2656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef HEADER_COMP_H 3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define HEADER_COMP_H 4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/crypto.h> 6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef __cplusplus 8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectextern "C" { 9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct comp_ctx_st COMP_CTX; 12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct comp_method_st 14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { 15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int type; /* NID for compression library */ 16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project const char *name; /* A text string to identify the library */ 17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*init)(COMP_CTX *ctx); 18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project void (*finish)(COMP_CTX *ctx); 19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*compress)(COMP_CTX *ctx, 20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned char *out, unsigned int olen, 21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned char *in, unsigned int ilen); 22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*expand)(COMP_CTX *ctx, 23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned char *out, unsigned int olen, 24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned char *in, unsigned int ilen); 25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project /* The following two do NOTHING, but are kept for backward compatibility */ 26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project long (*ctrl)(void); 27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project long (*callback_ctrl)(void); 28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } COMP_METHOD; 29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectstruct comp_ctx_st 31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { 32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project COMP_METHOD *meth; 33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned long compress_in; 34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned long compress_out; 35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned long expand_in; 36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned long expand_out; 37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project CRYPTO_EX_DATA ex_data; 39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project }; 40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCOMP_CTX *COMP_CTX_new(COMP_METHOD *meth); 43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid COMP_CTX_free(COMP_CTX *ctx); 44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, 45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned char *in, int ilen); 46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, 47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned char *in, int ilen); 48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCOMP_METHOD *COMP_rle(void ); 49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCOMP_METHOD *COMP_zlib(void ); 50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid COMP_zlib_cleanup(void); 51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef HEADER_BIO_H 53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef ZLIB 54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectBIO_METHOD *BIO_f_zlib(void); 55656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 56656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 57656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 58656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* BEGIN ERROR CODES */ 59656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* The following lines are auto generated by the script mkerr.pl. Any changes 60656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * made after this point may be overwritten when the script is next run. 61656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 62656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_load_COMP_strings(void); 63656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 64656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Error codes for the COMP functions. */ 65656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 66656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Function codes. */ 67656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define COMP_F_BIO_ZLIB_FLUSH 99 68656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define COMP_F_BIO_ZLIB_NEW 100 69656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define COMP_F_BIO_ZLIB_READ 101 70656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define COMP_F_BIO_ZLIB_WRITE 102 71656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 72656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Reason codes. */ 73656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define COMP_R_ZLIB_DEFLATE_ERROR 99 74656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define COMP_R_ZLIB_INFLATE_ERROR 100 75656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define COMP_R_ZLIB_NOT_SUPPORTED 101 76656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 77656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef __cplusplus 78656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project} 79656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 80656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 81