10#ifndef __PACKET_QUIC_H__
11#define __PACKET_QUIC_H__
13#include "ws_symbol_export.h"
52#define QUIC_MAX_CID_LENGTH 20
56 uint8_t cid[QUIC_MAX_CID_LENGTH];
57 uint8_t reset_token[16];
67#define QUIC_STREAM_TYPE(stream_id) ((stream_id) & 3U)
68#define QUIC_STREAM_CLIENT_BIDI 0
69#define QUIC_STREAM_SERVER_BIDI 1
70#define QUIC_STREAM_CLIENT_UNI 2
71#define QUIC_STREAM_SERVER_UNI 3
76#define QUIC_MP_NO_PATH_ID 1
77#define QUIC_MP_PATH_ID 2
81void quic_stream_add_proto_data(
struct _packet_info *pinfo, quic_stream_info *stream_info,
void *proto_data);
82void *quic_stream_get_proto_data(
struct _packet_info *pinfo, quic_stream_info *stream_info);
85WS_DLL_PUBLIC uint32_t get_quic_connections_count(
void);
95dissect_gquic_frame_type(tvbuff_t *tvb,
packet_info *pinfo, proto_tree *gquic_tree,
unsigned offset, uint8_t len_pkn, gquic_info_data_t *gquic_info);
97dissect_gquic_tags(tvbuff_t *tvb,
packet_info *pinfo, proto_tree *ft_tree,
unsigned offset);
100quic_add_connection(
packet_info *pinfo, quic_cid_t *cid);
102quic_add_loss_bits(
packet_info *pinfo, uint64_t value);
104quic_add_stateless_reset_token(
packet_info *pinfo, tvbuff_t *tvb,
int offset,
const quic_cid_t *cid);
106quic_add_multipath(
packet_info *pinfo,
unsigned version);
110quic_proto_tree_add_version(tvbuff_t *tvb, proto_tree *tree,
int hfindex,
unsigned offset);
117quic_get_stream_id_le(
unsigned streamid,
unsigned sub_stream_id,
unsigned *sub_stream_id_out);
124quic_get_stream_id_ge(
unsigned streamid,
unsigned sub_stream_id,
unsigned *sub_stream_id_out);
131quic_conn_data_get_conn_client_dcid_initial(
struct _packet_info *pinfo, quic_cid_t *dcid);
143} quic_follow_tap_data_t;
146quic_get_sub_stream_id(
unsigned streamid,
unsigned sub_stream_id,
bool le,
unsigned *sub_stream_id_out);
152quic_follow_index_filter(
unsigned stream,
unsigned sub_stream);
155follow_quic_tap_listener(
void *tapdata,
packet_info *pinfo,
epan_dissect_t *edt _U_,
const void *data, tap_flags_t flags _U_);
struct epan_dissect epan_dissect_t
Opaque type representing a single packet dissection context.
Definition epan.h:62
struct _packet_info packet_info
Represents the metadata and indexing information for a single captured frame.
Represents the metadata and indexing information for a single captured frame.
Definition packet_info.h:43
Definition packet-quic.h:43
struct quic_info_data * quic_info
Definition packet-quic.h:44
Definition packet-quic.h:29
struct quic_info_data * quic_info
Definition packet-quic.h:33
uint32_t offset
Definition packet-quic.h:32
uint64_t stream_offset
Definition packet-quic.h:31
uint64_t stream_id
Definition packet-quic.h:30
bool fin
Definition packet-quic.h:35
bool fin_only
Definition packet-quic.h:36
Definition packet-quic.h:87
Definition packet-quic.h:54
Definition packet-quic.h:139
Definition packet-quic.c:412
Table of functions for a reassembly table.
Definition reassemble.h:151
tap_packet_status
Definition tap.h:22