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:527
struct hpack_decoder * hpack_decode_init(size_t header_table_size)
Definition: hpack.c:72
size_t max_size
Definition: hpack.c:69
size_t count
Definition: core.c:401
size_t size
Definition: hpack.c:68
static int hpack_decode_byte_huffman(const uint8_t *restrict end, int *restrict bit_offset)
Definition: hpack.c:156
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:496
static void hpack_decode_evict(struct hpack_decoder *dec)
Definition: hpack.c:377
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:549
static const char hpack_names[][28]
Static Table header names.
Definition: hpack.c:40
static char * hpack_lookup_value(const struct hpack_decoder *dec, uint_fast32_t idx)
Definition: hpack.c:351
size_t hpack_encode_hdr_neverindex(uint8_t *restrict buf, size_t size, const char *name, const char *value)
Definition: hpackenc.c:120
static char * hpack_decode_str_raw(const uint8_t *data, size_t length)
Decodes a raw string literal.
Definition: hpack.c:145
void hpack_decode_destroy(struct hpack_decoder *dec)
Definition: hpack.c:85
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:458
char ** table
Definition: hpack.c:66
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:432
int hpack_decode(struct hpack_decoder *dec, const uint8_t *data, size_t length, char *headers[][2], unsigned max)
Definition: hpack.c:575
static char * hpack_lookup_name(const struct hpack_decoder *dec, uint_fast32_t idx)
Definition: hpack.c:327
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:97
char * strdup(const char *)
const char name[16]
Definition: httpd.c:1268
Definition: fourcc_gen.c:51
static char * hpack_decode_str(const uint8_t **restrict datap, size_t *restrict lengthp)
Decodes a string literal.
Definition: hpack.c:292
size_t entries
Definition: hpack.c:67
static int hpack_append_hdr(struct hpack_decoder *dec, const char *name, const char *value)
Definition: hpack.c:405
static const char hpack_values[][14]
Static Table header values.
Definition: hpack.c:58
static char * hpack_decode_str_huffman(const uint8_t *data, size_t length)
Decodes an Huffman-encoded string literal.
Definition: hpack.c:254
size_t hpack_encode(uint8_t *restrict buf, size_t size, const char *const headers[][2], unsigned count)
Definition: hpackenc.c:154