32#define LWS_QPACK_IGNORE_ENTRY 0xff
118typedef int (*
lws_qpack_header_cb)(
void *user,
int name_idx,
const char *name,
size_t name_len,
const char *value,
size_t value_len);
126 const unsigned char *in,
size_t in_len);
131 const unsigned char *in,
size_t in_len,
195 const unsigned char *value,
int length,
196 unsigned char **p,
unsigned char *end);
200 const unsigned char *value,
int length,
201 unsigned char **p,
unsigned char *end);
205 unsigned char **p,
unsigned char *end);
LWS_VISIBLE LWS_EXTERN int lws_qpack_encode_literal_with_literal_name(unsigned char *buf, size_t buf_len, const char *name, size_t name_len, const char *val, size_t val_len)
LWS_VISIBLE LWS_EXTERN void lws_qpack_set_wsi_base_and_ric(struct lws *wsi, uint32_t base, uint32_t ric)
LWS_VISIBLE LWS_EXTERN struct lws * lws_create_h3_dummy_wsi(struct lws_context *ctx, struct lws_qpack_tx_encoder *tx_enc)
LWS_VISIBLE LWS_EXTERN int lws_qpack_huftable_decode(int pos, char c)
LWS_VISIBLE LWS_EXTERN int lws_add_http3_header_by_name(struct lws *wsi, const unsigned char *name, const unsigned char *value, int length, unsigned char **p, unsigned char *end)
LWS_VISIBLE LWS_EXTERN int lws_qpack_get_static_token(int index, int *lws_hdr_idx, const char **value)
struct lws_buflist * tx_bl
LWS_VISIBLE LWS_EXTERN int lws_qpack_tx_encode_insert_name_ref(unsigned char *buf, size_t buf_len, int is_static, int index, const char *val, size_t val_len)
struct lws * wsi_qpack_enc
LWS_VISIBLE LWS_EXTERN int lws_qpack_encode_int(unsigned char *buf, size_t buf_len, uint64_t val, uint8_t prefix_bits, uint8_t prefix_mask)
uint32_t virtual_payload_usage
LWS_VISIBLE LWS_EXTERN int lws_qpack_find_static_index(int lws_hdr_idx, const char *value, int value_len)
LWS_VISIBLE LWS_EXTERN int lws_add_http3_header_by_token(struct lws *wsi, enum lws_token_indexes token, const unsigned char *value, int length, unsigned char **p, unsigned char *end)
LWS_VISIBLE LWS_EXTERN void lws_qpack_tx_encoder_destroy(struct lws_qpack_tx_encoder *enc)
LWS_VISIBLE LWS_EXTERN int lws_qpack_encode_literal_with_name_ref(unsigned char *buf, size_t buf_len, int index, const char *val, size_t val_len)
LWS_VISIBLE LWS_EXTERN int lws_qpack_decode_header_block(struct lws_qpack_stream_state *state, struct lws_qpack_context *ctx, const unsigned char *in, size_t in_len, lws_qpack_header_cb cb, void *user)
LWS_VISIBLE LWS_EXTERN int lws_qpack_tx_encode_dynamic_name_ref(unsigned char *buf, size_t buf_len, uint32_t insert_index, uint32_t base, const char *val, size_t val_len)
LWS_VISIBLE LWS_EXTERN int lws_qpack_decode_encoder_stream(struct lws_qpack_stream_state *state, struct lws_qpack_context *ctx, const unsigned char *in, size_t in_len)
LWS_VISIBLE LWS_EXTERN int lws_qpack_tx_encode_set_capacity(unsigned char *buf, size_t buf_len, uint32_t capacity)
LWS_VISIBLE LWS_EXTERN int lws_qpack_encode_string(unsigned char *buf, size_t buf_len, const char *str, size_t len)
LWS_VISIBLE LWS_EXTERN int lws_qpack_encode_static(unsigned char *buf, size_t buf_len, int index)
struct lws_qpack_dynamic_table_entry * entries
LWS_VISIBLE LWS_EXTERN int lws_qpack_tx_encode_dynamic_index(unsigned char *buf, size_t buf_len, uint32_t insert_index, uint32_t base)
LWS_VISIBLE LWS_EXTERN int lws_qpack_dynamic_size(struct lws_qpack_context *ctx, int size)
uint32_t virtual_payload_max
struct lws_qpack_tx_table_entry * entries
int(* lws_qpack_header_cb)(void *user, int name_idx, const char *name, size_t name_len, const char *value, size_t value_len)
uint32_t known_received_count
uint32_t known_received_count
uint32_t virtual_payload_usage
enum lws_qpack_dec_state next_state
LWS_VISIBLE LWS_EXTERN int lws_qpack_encode_prefix(unsigned char *buf, size_t buf_len, uint64_t ric, uint64_t base, uint64_t max_entries)
enum lws_qpack_dec_state state
LWS_VISIBLE LWS_EXTERN int lws_qpack_tx_encode_insert_literal(unsigned char *buf, size_t buf_len, const char *name, size_t name_len, const char *val, size_t val_len)
uint32_t virtual_payload_limit
LWS_VISIBLE LWS_EXTERN void lws_destroy_h3_dummy_wsi(struct lws *wsi)
LWS_VISIBLE LWS_EXTERN void lws_qpack_destroy_dynamic_header(struct lws_qpack_context *ctx)
struct lws_qpack_dynamic_table dyn_table
LWS_VISIBLE LWS_EXTERN int lws_add_http3_header_status(struct lws *wsi, unsigned int code, unsigned char **p, unsigned char *end)
uint32_t virtual_payload_max