Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2019-2020 Freie Universität Berlin
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23/* This header needs to re-typedef the sock types to prevent cyclic includes */
24#if defined (__clang__)
25# pragma clang diagnostic push
26# pragma clang diagnostic ignored "-Wtypedef-redefinition"
27#endif
28
29#if defined(SOCK_HAS_ASYNC) || defined(DOXYGEN)
42
43#if defined(MODULE_SOCK_DTLS) || defined(DOXYGEN)
44typedef struct sock_dtls sock_dtls_t;
45
65typedef void (*sock_dtls_cb_t)(sock_dtls_t *sock, sock_async_flags_t flags,
66 void *arg);
67#endif /* defined(MODULE_SOCK_DTLS) || defined(DOXYGEN) */
68
69#if defined(MODULE_SOCK_IP) || defined(DOXYGEN)
70typedef struct sock_ip sock_ip_t;
71
89 void *arg);
90#endif /* defined(MODULE_SOCK_IP) || defined(DOXYGEN) */
91
92#if defined(MODULE_SOCK_TCP) || defined(DOXYGEN)
93typedef struct sock_tcp sock_tcp_t;
95
114typedef void (*sock_tcp_cb_t)(sock_tcp_t *sock, sock_async_flags_t flags,
115 void *arg);
116
131 sock_async_flags_t flags,
132 void *arg);
133#endif /* defined(MODULE_SOCK_TCP) || defined(DOXYGEN) */
134
135#if defined(MODULE_SOCK_UDP) || defined(DOXYGEN)
136typedef struct sock_udp sock_udp_t;
137
155 void *arg);
156#endif /* defined(MODULE_SOCK_UDP) || defined(DOXYGEN) */
157
158#ifdef SOCK_HAS_ASYNC_CTX
159#include "sock_async_ctx.h"
160#endif
161
162#include "sock_types.h"
163#ifdef MODULE_SOCK_DTLS
164#include "sock_dtls_types.h"
165#endif /* MODULE_SOCK_DTLS */
166#endif /* defined(SOCK_HAS_ASYNC) || defined(DOXYGEN) */
167
168#if defined (__clang__)
169# pragma clang diagnostic pop
170#endif
171
172#ifdef __cplusplus
173}
174#endif
175
struct sock_tcp sock_tcp_t
forward declare for async
Definition types.h:93
void(* sock_tcp_queue_cb_t)(sock_tcp_queue_t *queue, sock_async_flags_t flags, void *arg)
Event callback for sock_tcp_queue_t.
Definition types.h:130
struct sock_tcp_queue sock_tcp_queue_t
forward declare for async
Definition types.h:94
void(* sock_udp_cb_t)(sock_udp_t *sock, sock_async_flags_t flags, void *arg)
Event callback for sock_udp_t.
Definition types.h:154
struct sock_udp sock_udp_t
forward declare for async
Definition types.h:136
sock_async_flags_t
Flag types to signify asynchronous sock events.
Definition types.h:34
struct sock_ip sock_ip_t
forward declare for async
Definition types.h:70
void(* sock_tcp_cb_t)(sock_tcp_t *sock, sock_async_flags_t flags, void *arg)
Event callback for sock_tcp_t.
Definition types.h:114
void(* sock_ip_cb_t)(sock_ip_t *sock, sock_async_flags_t flags, void *arg)
Event callback for sock_ip_t.
Definition types.h:88
struct sock_dtls sock_dtls_t
forward declare for async
Definition types.h:44
void(* sock_dtls_cb_t)(sock_dtls_t *sock, sock_async_flags_t flags, void *arg)
Event callback for sock_dtls_t.
Definition types.h:65
@ SOCK_ASYNC_MSG_RECV
Message received event.
Definition types.h:38
@ SOCK_ASYNC_MSG_SENT
Message sent event.
Definition types.h:39
@ SOCK_ASYNC_PATH_PROP
Path property changed event.
Definition types.h:40
@ SOCK_ASYNC_CONN_RDY
Connection ready event.
Definition types.h:35
@ SOCK_ASYNC_CONN_FIN
Connection finished event.
Definition types.h:36
@ SOCK_ASYNC_CONN_RECV
Listener received connection event.
Definition types.h:37
Type definitions for asynchronous socks with Event Queue.
tinydtls-specific types and functions definitions
Information about DTLS sock.
Raw IP sock type.
Definition sock_types.h:91
uint16_t flags
option flags
Definition sock_types.h:129
TCP queue type.
Definition sock_types.h:114
TCP sock type.
Definition sock_types.h:101
UDP sock type.
Definition sock_types.h:128
uint16_t flags
option flags
Definition sock_types.h:140