16#ifndef PROTOCORE_RFC1951_H
17#define PROTOCORE_RFC1951_H
21#if PROTOCORE_ENABLE_DEFLATE_RFC1951
23#include "bitorum_introitus_exitus/bitorum_introitus_exitus.h"
36} Rfc1951ReverseBitsArgs;
45} Rfc1951BuildFixedArgs;
51 const uint16_t *ll_code;
52 const uint8_t *ll_len;
54} Rfc1951EmitLiteralArgs;
60 const uint16_t *ll_code;
61 const uint8_t *ll_len;
62 const uint16_t *d_code;
66} Rfc1951EmitMatchArgs;
100 const short *len_base;
101 const short *len_extra;
102 const short *dist_base;
103 const short *dist_extra;
104 Rfc1951ReverseBitsArgs reverse_bits_args;
105 Rfc1951BuildFixedArgs build_fixed_args;
106 Rfc1951EmitLiteralArgs emit_literal_args;
107 Rfc1951EmitMatchArgs emit_match_args;
112extern Rfc1951Vars Rfc1951V;
117 void (*
const reverse_bits)(uint8_t *work);
118 void (*
const build_fixed)(uint8_t *work);
119 void (*
const emit_literal)(uint8_t *work);
120 void (*
const emit_match)(uint8_t *work);
125void protocore_rfc1951_reverse_bits(uint8_t *work);
126void protocore_rfc1951_build_fixed(uint8_t *work);
127void protocore_rfc1951_emit_literal(uint8_t *work);
128void protocore_rfc1951_emit_match(uint8_t *work);
134static const Rfc1951Ns Rfc1951 __attribute__((unused)) = {
135 .reverse_bits = protocore_rfc1951_reverse_bits,
136 .build_fixed = protocore_rfc1951_build_fixed,
137 .emit_literal = protocore_rfc1951_emit_literal,
138 .emit_match = protocore_rfc1951_emit_match,
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
#define PROTOCORE_END_DECLS