mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-25 06:23:53 +01:00
gnrc_sock: update implementation for async callback argument
This commit is contained in:
parent
612e782b3c
commit
4bdd138021
@ -58,7 +58,7 @@ static void _netapi_cb(uint16_t cmd, gnrc_pktsnip_t *pkt, void *ctx)
|
||||
(void *)®->mbox);
|
||||
}
|
||||
if (reg->async_cb.generic) {
|
||||
reg->async_cb.generic(reg, SOCK_ASYNC_MSG_RECV, NULL);
|
||||
reg->async_cb.generic(reg, SOCK_ASYNC_MSG_RECV, reg->async_cb_arg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -87,6 +87,7 @@ struct gnrc_sock_reg {
|
||||
sock_udp_cb_t udp; /**< UDP version */
|
||||
#endif
|
||||
} async_cb;
|
||||
void *async_cb_arg; /**< asynchronous callback argument */
|
||||
#ifdef SOCK_HAS_ASYNC_CTX
|
||||
sock_async_ctx_t async_ctx; /**< asynchronous event context */
|
||||
#endif
|
||||
|
||||
@ -198,7 +198,7 @@ ssize_t sock_ip_send(sock_ip_t *sock, const void *data, size_t len,
|
||||
#ifdef SOCK_HAS_ASYNC
|
||||
if ((sock != NULL) && (sock->reg.async_cb.ip)) {
|
||||
sock->reg.async_cb.ip(sock, SOCK_ASYNC_MSG_SENT,
|
||||
NULL);
|
||||
sock->reg.async_cb_arg);
|
||||
}
|
||||
#endif /* SOCK_HAS_ASYNC */
|
||||
return res;
|
||||
@ -207,7 +207,7 @@ ssize_t sock_ip_send(sock_ip_t *sock, const void *data, size_t len,
|
||||
#ifdef SOCK_HAS_ASYNC
|
||||
void sock_ip_set_cb(sock_ip_t *sock, sock_ip_cb_t cb, void *arg)
|
||||
{
|
||||
(void)arg;
|
||||
sock->reg.async_cb_arg = arg;
|
||||
sock->reg.async_cb.ip = cb;
|
||||
}
|
||||
|
||||
|
||||
@ -320,7 +320,7 @@ ssize_t sock_udp_send(sock_udp_t *sock, const void *data, size_t len,
|
||||
#ifdef SOCK_HAS_ASYNC
|
||||
if ((sock != NULL) && (sock->reg.async_cb.udp)) {
|
||||
sock->reg.async_cb.udp(sock, SOCK_ASYNC_MSG_SENT,
|
||||
NULL);
|
||||
sock->reg.async_cb_arg);
|
||||
}
|
||||
#endif /* SOCK_HAS_ASYNC */
|
||||
return res;
|
||||
@ -329,7 +329,7 @@ ssize_t sock_udp_send(sock_udp_t *sock, const void *data, size_t len,
|
||||
#ifdef SOCK_HAS_ASYNC
|
||||
void sock_udp_set_cb(sock_udp_t *sock, sock_udp_cb_t cb, void *arg)
|
||||
{
|
||||
(void)arg;
|
||||
sock->reg.async_cb_arg = arg;
|
||||
sock->reg.async_cb.udp = cb;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user