1
0
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:
Martine S. Lenders 2020-03-11 12:22:10 +01:00
parent 612e782b3c
commit 4bdd138021
No known key found for this signature in database
GPG Key ID: CCD317364F63286F
4 changed files with 6 additions and 5 deletions

View File

@ -58,7 +58,7 @@ static void _netapi_cb(uint16_t cmd, gnrc_pktsnip_t *pkt, void *ctx)
(void *)&reg->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);
}
}
}

View File

@ -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

View File

@ -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;
}

View File

@ -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;
}