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
24
25#include <zephyr/types.h>
26#include <stddef.h>
27#include <stdbool.h>
28#include <zephyr/net/net_ip.h>
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
67
89
95
101
103#define ZSOCK_SOL_QUIC 284
104
106enum {
109
119
129
132};
133
143int quic_connection_open(const struct net_sockaddr *remote_addr,
144 const struct net_sockaddr *local_addr);
145
154
165int quic_stream_open(int connection_sock,
166 enum quic_stream_initiator initiator,
167 enum quic_stream_direction direction,
168 uint8_t priority);
169
177int quic_stream_close(int sock);
178
187
196
205int quic_stream_get_id(int sock, uint64_t *stream_id);
206
207
208#ifdef __cplusplus
209}
210#endif
211
215
216#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:91
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.
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:97
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:131
@ ZSOCK_QUIC_SO_STREAM_TYPE
Get stream type (returns combination of direction | initiator bits).
Definition quic.h:108
@ ZSOCK_QUIC_SO_CERT_CHAIN_DEL
Delete an intermediate certificate from the certificate chain.
Definition quic.h:128
@ ZSOCK_QUIC_SO_CERT_CHAIN_ADD
Add an intermediate certificate to the certificate chain.
Definition quic.h:118
@ QUIC_STREAM_UNIDIRECTIONAL
Unidirectional stream.
Definition quic.h:93
@ QUIC_STREAM_BIDIRECTIONAL
Bidirectional stream.
Definition quic.h:92
@ QUIC_STREAM_CLIENT
Client initiated stream.
Definition quic.h:98
@ QUIC_STREAM_SERVER
Server initiated stream.
Definition quic.h:99
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:69
uint32_t streams_closed
Total number of streams closed.
Definition quic.h:79
uint32_t connection_close_failed
Total number of connection close failures.
Definition quic.h:85
uint32_t stream_close_failed
Total number of stream close failures.
Definition quic.h:87
uint32_t connections_closed
Total number of connections closed.
Definition quic.h:75
uint32_t stream_open_failed
Total number of stream open failures.
Definition quic.h:83
uint32_t connection_open_failed
Total number of connection open failures.
Definition quic.h:81
uint32_t connections_opened
Total number of connections opened.
Definition quic.h:73
uint32_t streams_opened
Total number of streams opened.
Definition quic.h:77
uint32_t packets_rx
Number of any (valid or invalid) packets received.
Definition quic.h:71
Quic statistics.
Definition quic.h:35
uint32_t handshake_init_rx
Number of handshake init packets received.
Definition quic.h:37
uint32_t decrypt_failed
Number of decrypt failed errors.
Definition quic.h:55
uint32_t drop_tx
Number of dropped TX packets.
Definition quic.h:59
uint32_t invalid_packet_len
Number of invalid packet length errors.
Definition quic.h:53
uint32_t drop_rx
Number of dropped RX packets.
Definition quic.h:57
uint32_t alloc_failed
Number of allocation failures.
Definition quic.h:61
uint32_t valid_rx
Number of valid packets received.
Definition quic.h:63
uint32_t invalid_packet
Number of invalid packets.
Definition quic.h:49
uint32_t handshake_resp_rx
Number of handshake response packets received.
Definition quic.h:41
uint32_t peer_not_found
Number of peer not found errors.
Definition quic.h:47
uint32_t invalid_key
Number of invalid key errors.
Definition quic.h:51
uint32_t handshake_init_tx
Number of handshake init packets sent.
Definition quic.h:39
uint32_t valid_tx
Number of valid packets sent.
Definition quic.h:65
uint32_t handshake_resp_tx
Number of handshake response packets sent.
Definition quic.h:43
uint32_t invalid_handshake
Number of invalid handshake errors.
Definition quic.h:45