Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
quic.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef ZEPHYR_INCLUDE_NET_QUIC_H_
14#define ZEPHYR_INCLUDE_NET_QUIC_H_
15
29
30#include <zephyr/types.h>
31#include <stddef.h>
32#include <stdbool.h>
33#include <zephyr/net/net_ip.h>
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
72
94
100
106
108#define ZSOCK_SOL_QUIC 284
109
111enum {
114
124
134
137};
138
155int quic_connection_open(const struct net_sockaddr *remote_addr,
156 const struct net_sockaddr *local_addr);
157
169
184int quic_stream_open(int connection_sock,
185 enum quic_stream_initiator initiator,
186 enum quic_stream_direction direction,
187 uint8_t priority);
188
199int quic_stream_close(int sock);
200
209
218
227int quic_stream_get_id(int sock, uint64_t *stream_id);
228
229
230#ifdef __cplusplus
231}
232#endif
233
237
238#endif /* ZEPHYR_INCLUDE_NET_QUIC_H_ */
bool quic_is_connection_socket(int sock)
Checks if the given socket is a QUIC connection socket.
quic_stream_direction
Stream direction.
Definition quic.h:96
int quic_stream_open(int connection_sock, enum quic_stream_initiator initiator, enum quic_stream_direction direction, uint8_t priority)
Creates a new QUIC stream socket within an established QUIC connection.
bool quic_is_stream_socket(int sock)
Checks if the given socket is a QUIC stream socket.
int quic_stream_get_id(int sock, uint64_t *stream_id)
Return the stream id associated with the given QUIC stream socket.
quic_stream_initiator
Stream initiator.
Definition quic.h:102
int quic_connection_open(const struct net_sockaddr *remote_addr, const struct net_sockaddr *local_addr)
Creates a new QUIC connection socket.
int quic_connection_close(int sock)
Closes the QUIC socket.
int quic_stream_close(int sock)
Closes the QUIC stream socket.
@ ZSOCK_QUIC_SO_STOP_SENDING_CODE
Set the error code to use when sending STOP_SENDING frame on stream close.
Definition quic.h:136
@ ZSOCK_QUIC_SO_STREAM_TYPE
Get stream type (returns combination of direction | initiator bits).
Definition quic.h:113
@ ZSOCK_QUIC_SO_CERT_CHAIN_DEL
Delete an intermediate certificate from the certificate chain.
Definition quic.h:133
@ ZSOCK_QUIC_SO_CERT_CHAIN_ADD
Add an intermediate certificate to the certificate chain.
Definition quic.h:123
@ QUIC_STREAM_UNIDIRECTIONAL
Unidirectional stream.
Definition quic.h:98
@ QUIC_STREAM_BIDIRECTIONAL
Bidirectional stream.
Definition quic.h:97
@ QUIC_STREAM_CLIENT
Client initiated stream.
Definition quic.h:103
@ QUIC_STREAM_SERVER
Server initiated stream.
Definition quic.h:104
IPv6 and IPv4 definitions.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Generic sockaddr struct.
Definition net_ip.h:449
Quic global statistics.
Definition quic.h:74
uint32_t streams_closed
Total number of streams closed.
Definition quic.h:84
uint32_t connection_close_failed
Total number of connection close failures.
Definition quic.h:90
uint32_t stream_close_failed
Total number of stream close failures.
Definition quic.h:92
uint32_t connections_closed
Total number of connections closed.
Definition quic.h:80
uint32_t stream_open_failed
Total number of stream open failures.
Definition quic.h:88
uint32_t connection_open_failed
Total number of connection open failures.
Definition quic.h:86
uint32_t connections_opened
Total number of connections opened.
Definition quic.h:78
uint32_t streams_opened
Total number of streams opened.
Definition quic.h:82
uint32_t packets_rx
Number of any (valid or invalid) packets received.
Definition quic.h:76
Quic statistics.
Definition quic.h:40
uint32_t handshake_init_rx
Number of handshake init packets received.
Definition quic.h:42
uint32_t decrypt_failed
Number of decrypt failed errors.
Definition quic.h:60
uint32_t drop_tx
Number of dropped TX packets.
Definition quic.h:64
uint32_t invalid_packet_len
Number of invalid packet length errors.
Definition quic.h:58
uint32_t drop_rx
Number of dropped RX packets.
Definition quic.h:62
uint32_t alloc_failed
Number of allocation failures.
Definition quic.h:66
uint32_t valid_rx
Number of valid packets received.
Definition quic.h:68
uint32_t invalid_packet
Number of invalid packets.
Definition quic.h:54
uint32_t handshake_resp_rx
Number of handshake response packets received.
Definition quic.h:46
uint32_t peer_not_found
Number of peer not found errors.
Definition quic.h:52
uint32_t invalid_key
Number of invalid key errors.
Definition quic.h:56
uint32_t handshake_init_tx
Number of handshake init packets sent.
Definition quic.h:44
uint32_t valid_tx
Number of valid packets sent.
Definition quic.h:70
uint32_t handshake_resp_tx
Number of handshake response packets sent.
Definition quic.h:48
uint32_t invalid_handshake
Number of invalid handshake errors.
Definition quic.h:50