VLC 4.0.0-dev
h2frame.h File Reference
Include dependency graph for h2frame.h:

Go to the source code of this file.

Data Structures

struct  vlc_h2_frame
 
struct  vlc_h2_parser_cbs
 

Macros

#define VLC_H2_MAX_HEADER_TABLE   4096 /* Header (compression) table size */
 
#define VLC_H2_MAX_STREAMS   0 /* Concurrent peer-initiated streams */
 
#define VLC_H2_INIT_WINDOW   1048575 /* Initial congestion window size */
 
#define VLC_H2_MAX_FRAME   1048576 /* Frame size */
 
#define VLC_H2_MAX_HEADER_LIST   65536 /* Header (decompressed) list size */
 
#define VLC_H2_DEFAULT_MAX_HEADER_TABLE   4096
 
#define VLC_H2_DEFAULT_INIT_WINDOW   65535
 
#define VLC_H2_MIN_MAX_FRAME   16384
 
#define VLC_H2_DEFAULT_MAX_FRAME   16384
 
#define VLC_H2_MAX_MAX_FRAME   16777215
 
#define VLC_H2_MAX_HEADERS   255
 
#define vlc_h2_frame_data_get(f, l)
 

Enumerations

enum  vlc_h2_error {
  VLC_H2_NO_ERROR , VLC_H2_PROTOCOL_ERROR , VLC_H2_INTERNAL_ERROR , VLC_H2_FLOW_CONTROL_ERROR ,
  VLC_H2_SETTINGS_TIMEOUT , VLC_H2_STREAM_CLOSED , VLC_H2_FRAME_SIZE_ERROR , VLC_H2_REFUSED_STREAM ,
  VLC_H2_CANCEL , VLC_H2_COMPRESSION_ERROR , VLC_H2_CONNECT_ERROR , VLC_H2_ENHANCE_YOUR_CALM ,
  VLC_H2_INADEQUATE_SECURITY , VLC_H2_HTTP_1_1_REQUIRED
}
 
enum  vlc_h2_setting {
  VLC_H2_SETTING_HEADER_TABLE_SIZE = 0x0001 , VLC_H2_SETTING_ENABLE_PUSH , VLC_H2_SETTING_MAX_CONCURRENT_STREAMS , VLC_H2_SETTING_INITIAL_WINDOW_SIZE ,
  VLC_H2_SETTING_MAX_FRAME_SIZE , VLC_H2_SETTING_MAX_HEADER_LIST_SIZE
}
 

Functions

size_t vlc_h2_frame_size (const struct vlc_h2_frame *)
 
struct vlc_h2_framevlc_h2_frame_headers (uint_fast32_t stream_id, uint_fast32_t mtu, bool eos, unsigned count, const char *const headers[][2])
 
struct vlc_h2_framevlc_h2_frame_data (uint_fast32_t stream_id, const void *buf, size_t len, bool eos)
 
struct vlc_h2_framevlc_h2_frame_rst_stream (uint_fast32_t stream_id, uint_fast32_t error_code)
 
struct vlc_h2_framevlc_h2_frame_settings (void)
 
struct vlc_h2_framevlc_h2_frame_settings_ack (void)
 
struct vlc_h2_framevlc_h2_frame_ping (uint64_t opaque)
 
struct vlc_h2_framevlc_h2_frame_pong (uint64_t opaque)
 
struct vlc_h2_framevlc_h2_frame_goaway (uint_fast32_t last_stream_id, uint_fast32_t error_code)
 
struct vlc_h2_framevlc_h2_frame_window_update (uint_fast32_t stream_id, uint_fast32_t credit)
 
void vlc_h2_frame_dump (void *, const struct vlc_h2_frame *, const char *)
 
const char * vlc_h2_strerror (uint_fast32_t)
 
const char * vlc_h2_setting_name (uint_fast16_t)
 
struct vlc_h2_parservlc_h2_parse_init (void *ctx, const struct vlc_h2_parser_cbs *cbs)
 
int vlc_h2_parse (struct vlc_h2_parser *, struct vlc_h2_frame *)
 
void vlc_h2_parse_destroy (struct vlc_h2_parser *)
 
const uint8_t * vlc_h2_frame_data_get (const struct vlc_h2_frame *f, size_t *restrict len)