10#ifndef __PACKET_QUIC_H__
11#define __PACKET_QUIC_H__
13#include "ws_symbol_export.h"
51#define QUIC_MAX_CID_LENGTH 20
55 uint8_t cid[QUIC_MAX_CID_LENGTH];
56 uint8_t reset_token[16];
66#define QUIC_STREAM_TYPE(stream_id) ((stream_id) & 3U)
67#define QUIC_STREAM_CLIENT_BIDI 0
68#define QUIC_STREAM_SERVER_BIDI 1
69#define QUIC_STREAM_CLIENT_UNI 2
70#define QUIC_STREAM_SERVER_UNI 3
75#define QUIC_MP_NO_PATH_ID 1
76#define QUIC_MP_PATH_ID 2
80void quic_stream_add_proto_data(
struct _packet_info *pinfo, quic_stream_info *stream_info,
void *proto_data);
81void *quic_stream_get_proto_data(
struct _packet_info *pinfo, quic_stream_info *stream_info);
84WS_DLL_PUBLIC uint32_t get_quic_connections_count(
void);
94dissect_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);
96dissect_gquic_tags(tvbuff_t *tvb,
packet_info *pinfo, proto_tree *ft_tree,
unsigned offset);
99quic_add_connection(
packet_info *pinfo, quic_cid_t *cid);
101quic_add_loss_bits(
packet_info *pinfo, uint64_t value);
103quic_add_stateless_reset_token(
packet_info *pinfo, tvbuff_t *tvb,
int offset,
const quic_cid_t *cid);
105quic_add_multipath(
packet_info *pinfo,
unsigned version);
109quic_proto_tree_add_version(tvbuff_t *tvb, proto_tree *tree,
int hfindex,
unsigned offset);
116quic_get_stream_id_le(
unsigned streamid,
unsigned sub_stream_id,
unsigned *sub_stream_id_out);
123quic_get_stream_id_ge(
unsigned streamid,
unsigned sub_stream_id,
unsigned *sub_stream_id_out);
130quic_conn_data_get_conn_client_dcid_initial(
struct _packet_info *pinfo, quic_cid_t *dcid);
142} quic_follow_tap_data_t;
145quic_get_sub_stream_id(
unsigned streamid,
unsigned sub_stream_id,
bool le,
unsigned *sub_stream_id_out);
151quic_follow_index_filter(
unsigned stream,
unsigned sub_stream);
154follow_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:42
struct quic_info_data * quic_info
Definition packet-quic.h:43
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
Definition packet-quic.h:86
Definition packet-quic.h:53
Definition packet-quic.h:138
Definition packet-quic.c:411
Table of functions for a reassembly table.
Definition reassemble.h:151
tap_packet_status
Definition tap.h:22