10#ifndef IMQUIC_CONFIGURATION_H
11#define IMQUIC_CONFIGURATION_H
imquic_init_state
imquic initialization state
Definition configuration.h:18
@ IMQUIC_INITIALIZING
Definition configuration.h:21
@ IMQUIC_INITIALIZED
Definition configuration.h:22
@ IMQUIC_NOT_INITIALIZED
Definition configuration.h:20
@ IMQUIC_UNINITIALIZED
Definition configuration.h:19
volatile int initialized
Definition imquic.c:40
A client/server configuration.
Definition configuration.h:27
const char * h3_path
In case WebTransport is used, the HTTP/3 path to connect to (client-only)
Definition configuration.h:51
uint32_t moq_version
MoQ version to negotiate, if any.
Definition configuration.h:73
const char * wt_protocols
In case WebTransport is used, a comma separated list of the protocol(s) to negotiate.
Definition configuration.h:53
gboolean qlog_moq
Definition configuration.h:61
gboolean raw_quic
Whether raw QUIC should be offered.
Definition configuration.h:47
gboolean qlog_roq_packets
Definition configuration.h:60
gboolean qlog_quic
Whether QUIC and/or HTTP/3 and/or RoQ and/or MoQT events should be saved to QLOG, if supported.
Definition configuration.h:59
uint16_t remote_port
Remote port to connect to (client-only)
Definition configuration.h:39
gboolean qlog_moq_objects
Definition configuration.h:61
gboolean early_data
Whether early data should be supported.
Definition configuration.h:69
gboolean qlog_moq_messages
Definition configuration.h:61
gboolean is_server
Whether this is a server or a client.
Definition configuration.h:31
const char * alpn
Comma separated list of ALPN(s) to negotiate for raw QUIC.
Definition configuration.h:43
gboolean webtransport
Whether WebTransport should be offered.
Definition configuration.h:49
gboolean qlog_sequential
Whether sequential JSON should be used for the QLOG file, instead of regular JSON.
Definition configuration.h:57
const char * cert_key
Path to the key file to use for TLS.
Definition configuration.h:65
const char * qlog_path
Path to save QLOG files to, if needed/supported: a filename for clients, a folder for servers.
Definition configuration.h:55
void * user_data
Optional user data, to pass back when notifying new connections associated to this endpoint.
Definition configuration.h:75
const char * ticket_file
File to use for session tickets, when doing early data.
Definition configuration.h:71
const char * sni
SNI to force, if any (will use localhost otherwise)
Definition configuration.h:41
gboolean qlog_roq
Definition configuration.h:60
uint16_t local_port
Local port of the endpoint.
Definition configuration.h:35
gboolean cert_no_verify
Whether we should disable verification of the remote certificate.
Definition configuration.h:67
const char * ip
Interface or IP address to bind to.
Definition configuration.h:33
const char * remote_host
Remote address to connect to (client-only)
Definition configuration.h:37
const char * name
Name of the endpoint.
Definition configuration.h:29
gboolean qlog_http3
Definition configuration.h:59
const char * cert_pem
Path to the certificate file to use for TLS.
Definition configuration.h:63