OLD | NEW |
| (Empty) |
1 | |
2 #ifndef HEADER_COMP_H | |
3 #define HEADER_COMP_H | |
4 | |
5 #include <openssl/crypto.h> | |
6 | |
7 #ifdef __cplusplus | |
8 extern "C" { | |
9 #endif | |
10 | |
11 typedef struct comp_ctx_st COMP_CTX; | |
12 | |
13 typedef struct comp_method_st | |
14 { | |
15 int type; /* NID for compression library */ | |
16 const char *name; /* A text string to identify the library */ | |
17 int (*init)(COMP_CTX *ctx); | |
18 void (*finish)(COMP_CTX *ctx); | |
19 int (*compress)(COMP_CTX *ctx, | |
20 unsigned char *out, unsigned int olen, | |
21 unsigned char *in, unsigned int ilen); | |
22 int (*expand)(COMP_CTX *ctx, | |
23 unsigned char *out, unsigned int olen, | |
24 unsigned char *in, unsigned int ilen); | |
25 /* The following two do NOTHING, but are kept for backward compatibility
*/ | |
26 long (*ctrl)(void); | |
27 long (*callback_ctrl)(void); | |
28 } COMP_METHOD; | |
29 | |
30 struct comp_ctx_st | |
31 { | |
32 COMP_METHOD *meth; | |
33 unsigned long compress_in; | |
34 unsigned long compress_out; | |
35 unsigned long expand_in; | |
36 unsigned long expand_out; | |
37 | |
38 CRYPTO_EX_DATA ex_data; | |
39 }; | |
40 | |
41 | |
42 COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); | |
43 void COMP_CTX_free(COMP_CTX *ctx); | |
44 int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, | |
45 unsigned char *in, int ilen); | |
46 int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, | |
47 unsigned char *in, int ilen); | |
48 COMP_METHOD *COMP_rle(void ); | |
49 COMP_METHOD *COMP_zlib(void ); | |
50 void COMP_zlib_cleanup(void); | |
51 | |
52 #ifdef HEADER_BIO_H | |
53 #ifdef ZLIB | |
54 BIO_METHOD *BIO_f_zlib(void); | |
55 #endif | |
56 #endif | |
57 | |
58 /* BEGIN ERROR CODES */ | |
59 /* The following lines are auto generated by the script mkerr.pl. Any changes | |
60 * made after this point may be overwritten when the script is next run. | |
61 */ | |
62 void ERR_load_COMP_strings(void); | |
63 | |
64 /* Error codes for the COMP functions. */ | |
65 | |
66 /* Function codes. */ | |
67 #define COMP_F_BIO_ZLIB_FLUSH 99 | |
68 #define COMP_F_BIO_ZLIB_NEW 100 | |
69 #define COMP_F_BIO_ZLIB_READ 101 | |
70 #define COMP_F_BIO_ZLIB_WRITE 102 | |
71 | |
72 /* Reason codes. */ | |
73 #define COMP_R_ZLIB_DEFLATE_ERROR 99 | |
74 #define COMP_R_ZLIB_INFLATE_ERROR 100 | |
75 #define COMP_R_ZLIB_NOT_SUPPORTED 101 | |
76 | |
77 #ifdef __cplusplus | |
78 } | |
79 #endif | |
80 #endif | |
OLD | NEW |