19#ifndef SOCK_DTLS_TYPES_H
20#define SOCK_DTLS_TYPES_H
34#ifndef SOCK_DTLS_MBOX_SIZE
35#define SOCK_DTLS_MBOX_SIZE (4)
44#if defined(SOCK_HAS_ASYNC) || defined(DOXYGEN)
57#if defined(SOCK_HAS_ASYNC_CTX) || defined(DOXYGEN)
(D)TLS credentials management module definitions
uint16_t credman_tag_t
Tag of the credential.
void(* sock_dtls_cb_t)(sock_dtls_t *sock, sock_async_flags_t flags, void *arg)
Event callback for sock_dtls_t.
#define CONFIG_DTLS_PSK_ID_HINT_MAX_SIZE
Default maximum size for the PSK Identity hint string.
#define CONFIG_DTLS_CREDENTIALS_MAX
Default buffer size for TLS credential tags.
credman_tag_t(* sock_dtls_client_psk_cb_t)(sock_dtls_t *sock, sock_udp_ep_t *ep, credman_tag_t tags[], unsigned tags_len, const char *hint, size_t hint_len)
Pre-Shared Key client callback.
credman_tag_t(* sock_dtls_rpk_cb_t)(sock_dtls_t *sock, sock_udp_ep_t *ep, credman_tag_t tags[], unsigned tags_len)
Raw Public Key callback.
#define SOCK_DTLS_MBOX_SIZE
Size of DTLS sock mailbox.
Mailbox struct definition.
Describes a message object which can be sent between threads.
Asynchronous context for Asynchronous sock with event API.
Information about remote client connected to the server.
session_t dtls_session
TinyDTLS session.
Information about DTLS sock.
msg_t mbox_queue[SOCK_DTLS_MBOX_SIZE]
Queue for struct sock_dtls::mbox.
sock_dtls_cb_t async_cb
Asynchronous event callback.
struct sock_dtls::@324 buffer
Buffer used to pass decrypted data and its session information.
session_t async_cb_session
asynchronous callback session
char psk_hint[CONFIG_DTLS_PSK_ID_HINT_MAX_SIZE]
PSK Identity hint.
mbox_t mbox
Mailbox for internal event handling.
dtls_context_t * dtls_ctx
TinyDTLS context for sock.
unsigned tags_len
Number of tags in the list 'tags'.
void * async_cb_arg
asynchronous callback arg
sock_async_ctx_t async_ctx
Asynchronous event context.
session_t * session
Session information.
sock_udp_t * udp_sock
Underlying UDP sock to use.
credman_tag_t tags[CONFIG_DTLS_CREDENTIALS_MAX]
Tags of the available credentials.
size_t datalen
data length
uint8_t * data
Pointer to the decrypted data.
dtls_peer_type role
DTLS role of the socket.
void * buf_ctx
Network stack internal buffer context.
sock_dtls_rpk_cb_t rpk_cb
Callback to determine RPK credential for session.
sock_dtls_client_psk_cb_t client_psk_cb
Callback to determine PSK credential for session.
Definitions for sock extension for asynchronous access.