versadac
1
versadac - Scalable Recorder Firmware
Main Page
Classes
Files
File List
File Members
core
openssl
sslinclude
openssl
comp.h
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
51
/* BEGIN ERROR CODES */
52
/* The following lines are auto generated by the script mkerr.pl. Any changes
53
* made after this point may be overwritten when the script is next run.
54
*/
55
void
ERR_load_COMP_strings(
void
);
56
57
/* Error codes for the COMP functions. */
58
59
/* Function codes. */
60
61
/* Reason codes. */
62
63
#ifdef __cplusplus
64
}
65
#endif
66
#endif
comp_ctx_st
Definition:
comp.h:30
crypto_ex_data_st
Definition:
crypto.h:285
comp_method_st
Definition:
comp.h:13
Generated on Wed Aug 19 2020 10:33:39 for versadac by
1.8.9.1