Go to the documentation of this file.
34 size_t length,
char *headers[][2],
unsigned max);
37 const char *
name,
const char *value);
39 const char *
const headers[][2],
unsigned count);
static int hpack_decode_tbl_update(struct hpack_decoder *dec, const uint8_t **restrict datap, size_t *restrict lengthp, char **restrict name, char **restrict value)
Definition: hpack.c:526
struct hpack_decoder * hpack_decode_init(size_t header_table_size)
Definition: hpack.c:71
size_t max_size
Definition: hpack.c:68
size_t count
Definition: core.c:461
size_t size
Definition: hpack.c:67
static int hpack_decode_byte_huffman(const uint8_t *restrict end, int *restrict bit_offset)
Definition: hpack.c:155
static int hpack_decode_hdr_noindex(struct hpack_decoder *dec, const uint8_t **restrict datap, size_t *restrict lengthp, char **restrict namep, char **restrict valuep)
Definition: hpack.c:495
static void hpack_decode_evict(struct hpack_decoder *dec)
Definition: hpack.c:376
static int hpack_decode_hdr(struct hpack_decoder *dec, const uint8_t **restrict datap, size_t *restrict lengthp, char **restrict namep, char **restrict valuep)
Definition: hpack.c:548
static const char hpack_names[][28]
Static Table header names.
Definition: hpack.c:39
static char * hpack_lookup_value(const struct hpack_decoder *dec, uint_fast32_t idx)
Definition: hpack.c:350
size_t hpack_encode_hdr_neverindex(uint8_t *restrict buf, size_t size, const char *name, const char *value)
Definition: hpackenc.c:119
static char * hpack_decode_str_raw(const uint8_t *data, size_t length)
Decodes a raw string literal.
Definition: hpack.c:144
void hpack_decode_destroy(struct hpack_decoder *dec)
Definition: hpack.c:84
static int hpack_decode_hdr_index(struct hpack_decoder *dec, const uint8_t **restrict datap, size_t *restrict lengthp, char **restrict namep, char **restrict valuep)
Definition: hpack.c:457
char ** table
Definition: hpack.c:65
static int hpack_decode_hdr_indexed(struct hpack_decoder *dec, const uint8_t **restrict datap, size_t *restrict lengthp, char **restrict namep, char **restrict valuep)
Definition: hpack.c:431
int hpack_decode(struct hpack_decoder *dec, const uint8_t *data, size_t length, char *headers[][2], unsigned max)
Definition: hpack.c:574
static char * hpack_lookup_name(const struct hpack_decoder *dec, uint_fast32_t idx)
Definition: hpack.c:326
static int_fast32_t hpack_decode_int(unsigned n, const uint8_t **restrict datap, size_t *restrict lengthp)
Decodes an HPACK unsigned variable length integer.
Definition: hpack.c:96
char * strdup(const char *)
const char name[16]
Definition: httpd.c:1249
Definition: fourcc_gen.c:50
static char * hpack_decode_str(const uint8_t **restrict datap, size_t *restrict lengthp)
Decodes a string literal.
Definition: hpack.c:291
size_t entries
Definition: hpack.c:66
static int hpack_append_hdr(struct hpack_decoder *dec, const char *name, const char *value)
Definition: hpack.c:404
static const char hpack_values[][14]
Static Table header values.
Definition: hpack.c:57
int main(void)
Definition: fourcc_gen.c:134
static char * hpack_decode_str_huffman(const uint8_t *data, size_t length)
Decodes an Huffman-encoded string literal.
Definition: hpack.c:253
size_t hpack_encode(uint8_t *restrict buf, size_t size, const char *const headers[][2], unsigned count)
Definition: hpackenc.c:153