Loading...
Searching...
No Matches
async.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2019 Freie Universität Berlin
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
9#pragma once
10
25
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#if defined(SOCK_HAS_ASYNC) || defined(DOXYGEN)
33#if defined(MODULE_SOCK_DTLS) || defined(DOXYGEN)
34
51 sock_dtls_session_t *session);
52
67void sock_dtls_set_cb(sock_dtls_t *sock, sock_dtls_cb_t cb, void *cb_arg);
68#endif /* defined(MODULE_SOCK_DTLS) || defined(DOXYGEN) */
69
70#if defined(MODULE_SOCK_IP) || defined(DOXYGEN)
85void sock_ip_set_cb(sock_ip_t *sock, sock_ip_cb_t cb, void *cb_arg);
86#endif /* defined(MODULE_SOCK_IP) || defined(DOXYGEN) */
87
88#if defined(MODULE_SOCK_TCP) || defined(DOXYGEN)
103void sock_tcp_set_cb(sock_tcp_t *sock, sock_tcp_cb_t cb, void *cb_arg);
104
120 void *cb_arg);
121#endif /* defined(MODULE_SOCK_TCP) || defined(DOXYGEN) */
122
123#if defined(MODULE_SOCK_UDP) || defined(DOXYGEN)
138void sock_udp_set_cb(sock_udp_t *sock, sock_udp_cb_t cb, void *cb_arg);
139#endif /* defined(MODULE_SOCK_UDP) || defined(DOXYGEN) */
140
141#if defined(SOCK_HAS_ASYNC_CTX) || defined(DOXYGEN)
142#include "sock_async_ctx.h" /* defines sock_async_ctx_t */
143
144#if defined(MODULE_SOCK_DTLS) || defined(DOXYGEN)
160#endif /* defined(MODULE_SOCK_DTLS) || defined(DOXYGEN) */
161
162#if defined(MODULE_SOCK_IP) || defined(DOXYGEN)
178#endif /* defined(MODULE_SOCK_IP) || defined(DOXYGEN) */
179
180#if defined(MODULE_SOCK_TCP) || defined(DOXYGEN)
196
212#endif /* defined(MODULE_SOCK_TCP) || defined(DOXYGEN) */
213
214#if defined(MODULE_SOCK_UDP) || defined(DOXYGEN)
230#endif /* defined(MODULE_SOCK_UDP) || defined(DOXYGEN) */
231#endif /* defined(SOCK_HAS_ASYNC_CTX) || defined(DOXYGEN) */
232#endif /* defined(SOCK_HAS_ASYNC) || defined(DOXYGEN) */
233
234#ifdef __cplusplus
235}
236#endif
237
struct sock_tcp sock_tcp_t
forward declare for async
Definition types.h:96
void sock_udp_set_cb(sock_udp_t *sock, sock_udp_cb_t cb, void *cb_arg)
Gets the asynchronous event context from sock object.
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:133
sock_async_ctx_t * sock_tcp_get_async_ctx(sock_tcp_t *sock)
Gets the asynchronous event context from sock object.
sock_async_ctx_t * sock_tcp_queue_get_async_ctx(sock_tcp_queue_t *queue)
Gets the asynchronous event context from TCP listening queue.
struct sock_tcp_queue sock_tcp_queue_t
forward declare for async
Definition types.h:97
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:157
struct sock_udp sock_udp_t
forward declare for async
Definition types.h:139
struct sock_ip sock_ip_t
forward declare for async
Definition types.h:73
void sock_tcp_queue_set_cb(sock_tcp_queue_t *queue, sock_tcp_queue_cb_t cb, void *cb_arg)
Sets event callback for sock_tcp_queue_t.
void sock_dtls_set_cb(sock_dtls_t *sock, sock_dtls_cb_t cb, void *cb_arg)
Sets the asynchronous event context from sock object.
void sock_ip_set_cb(sock_ip_t *sock, sock_ip_cb_t cb, void *cb_arg)
Sets event callback for sock_ip_t.
void sock_tcp_set_cb(sock_tcp_t *sock, sock_tcp_cb_t cb, void *cb_arg)
Sets event callback for sock_tcp_t.
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:117
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:91
struct sock_dtls sock_dtls_t
forward declare for async
Definition types.h:47
bool sock_dtls_get_event_session(sock_dtls_t *sock, sock_dtls_session_t *session)
Gets the asynchronous event session from sock object.
sock_async_ctx_t * sock_ip_get_async_ctx(sock_ip_t *sock)
Gets the asynchronous event context from sock object.
sock_async_ctx_t * sock_udp_get_async_ctx(sock_udp_t *sock)
Gets the asynchronous event context from sock object.
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:68
sock_async_ctx_t * sock_dtls_get_async_ctx(sock_dtls_t *sock)
Gets the asynchronous event context from sock object.
struct sock_dtls_session sock_dtls_session_t
Information about a created session.
Definition dtls.h:635
Type definitions for asynchronous socks with Event Queue.
Asynchronous context for Asynchronous sock with event API.
Definitions for sock extension for asynchronous access.