1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
19963: sys/event/timeout: add event_timeout_is_pending() r=benpicco a=benpicco



19971: sys/shell/gnrc_netif: Fix a few blockers for sharing ifconfig shell r=benpicco a=yarrick



19974: gnrc_ipv6_ext_frag: _completed: Add comment why list head is not checked for NULL pointer dereference r=benpicco a=miri64

 


19975: pkg/nanocbor: Bump to latest commit r=benpicco a=bergzand

### Contribution description

Not much to see here

Important changes:
- Add stream-like interface for encoder
- Separate functions for number of items left in arrays and maps

### Testing procedure

The usual test should still work

### Issues/PRs references

None

19976: core: Express -1 as ~0 in thread_status_t cast r=benpicco a=SimonIT



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Erik Ekman <eekman@google.com>
Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: SimonIT <simonit.orig@gmail.com>
This commit is contained in:
bors[bot] 2023-10-16 15:31:25 +00:00 committed by GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 32 additions and 11 deletions

View File

@ -184,7 +184,7 @@ typedef enum {
*/
#define STATUS_ON_RUNQUEUE STATUS_RUNNING /**< to check if on run queue:
`st >= STATUS_ON_RUNQUEUE` */
#define STATUS_NOT_FOUND ((thread_status_t)-1) /**< Describes an illegal thread status */
#define STATUS_NOT_FOUND ((thread_status_t)~0) /**< Describes an illegal thread status */
/** @} */
/**
* @def SCHED_PRIO_LEVELS

View File

@ -1,6 +1,6 @@
PKG_NAME = nanocbor
PKG_URL = https://github.com/bergzand/nanocbor
PKG_VERSION = 1bc789705057c42be32aea17aeec97763aece3c7
PKG_VERSION = ae01e393f152b8294028986256f8451c93f75cfc
PKG_LICENSE = CC-0
include $(RIOTBASE)/pkg/pkg.mk

View File

@ -107,6 +107,18 @@ void event_timeout_set(event_timeout_t *event_timeout, uint32_t timeout);
*/
void event_timeout_clear(event_timeout_t *event_timeout);
/**
* @brief Check if a timeout event is scheduled to be executed in the future
*
* @param[in] event_timeout event_timout context object to use
* @return true if the event is scheduled, false otherwise
*/
static inline bool event_timeout_is_pending(const event_timeout_t *event_timeout)
{
return ztimer_is_set(event_timeout->clock, &event_timeout->timer)
|| event_is_queued(event_timeout->queue, event_timeout->event);
}
#ifdef __cplusplus
}
#endif

View File

@ -711,6 +711,7 @@ static gnrc_pktsnip_t *_completed(gnrc_ipv6_ext_frag_rbuf_t *rbuf)
/* clist: first element is second element ;-) (from next of head) */
gnrc_ipv6_ext_frag_limits_t *ptr =
(gnrc_ipv6_ext_frag_limits_t *)rbuf->limits.next->next;
/* ptr should not be NULL at this point so it is safe to dereference with ptr->start here */
if (rbuf->last && (ptr->start == 0)) {
gnrc_pktsnip_t *res = NULL;

View File

@ -3,6 +3,9 @@ USEMODULE += stdin
ifneq (,$(filter shell_cmds_default,$(USEMODULE)))
USEMODULE += shell_cmd_sys
ifneq (,$(filter netif,$(USEMODULE)))
USEMODULE += l2util
endif
ifneq (,$(filter app_metadata,$(USEMODULE)))
USEMODULE += shell_cmd_app_metadata
endif

View File

@ -29,6 +29,7 @@
#include "net/gnrc/netif.h"
#include "net/gnrc/netif/hdr.h"
#include "net/ipv6/addr.h"
#include "net/l2util.h"
#include "net/lora.h"
#include "net/loramac.h"
#include "net/netif.h"
@ -579,7 +580,7 @@ static unsigned _netif_list_flag(netif_t *iface, netopt_t opt, char *str,
return line_thresh;
}
#ifdef MODULE_GNRC_IPV6
#ifdef MODULE_IPV6
static void _netif_list_ipv6(ipv6_addr_t *addr, uint8_t flags)
{
char addr_str[IPV6_ADDR_MAX_STR_LEN];
@ -599,6 +600,7 @@ static void _netif_list_ipv6(ipv6_addr_t *addr, uint8_t flags)
else {
printf("unknown");
}
#if MODULE_GNRC_IPV6
if (flags & GNRC_NETIF_IPV6_ADDRS_FLAGS_ANYCAST) {
printf(" [anycast]");
}
@ -619,6 +621,7 @@ static void _netif_list_ipv6(ipv6_addr_t *addr, uint8_t flags)
break;
}
}
#endif
_newline(0U, _LINE_THRESHOLD);
}
@ -635,7 +638,7 @@ static void _netif_list_groups(ipv6_addr_t *addr)
static void _netif_list(netif_t *iface)
{
#ifdef MODULE_GNRC_IPV6
#ifdef MODULE_IPV6
ipv6_addr_t ipv6_addrs[CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF];
ipv6_addr_t ipv6_groups[GNRC_NETIF_IPV6_GROUPS_NUMOF];
#endif
@ -657,7 +660,7 @@ static void _netif_list(netif_t *iface)
if (res >= 0) {
char hwaddr_str[res * 3];
printf(" HWaddr: %s ",
gnrc_netif_addr_to_str(hwaddr, res, hwaddr_str));
l2util_addr_to_str(hwaddr, res, hwaddr_str));
}
res = netif_get_opt(iface, NETOPT_CHANNEL, 0, &u16, sizeof(u16));
if (res >= 0) {
@ -791,7 +794,7 @@ static void _netif_list(netif_t *iface)
if (res >= 0) {
char hwaddr_str[res * 3];
printf("Long HWaddr: ");
printf("%s ", gnrc_netif_addr_to_str(hwaddr, res, hwaddr_str));
printf("%s ", l2util_addr_to_str(hwaddr, res, hwaddr_str));
line_thresh++;
}
line_thresh = _newline(0U, line_thresh);
@ -897,11 +900,11 @@ static void _netif_list(netif_t *iface)
line_thresh++;
}
line_thresh = _newline(0U, line_thresh);
#ifdef MODULE_GNRC_IPV6
printf("Link type: %s",
(netif_get_opt(iface, NETOPT_IS_WIRED, 0, &u16, sizeof(u16)) > 0) ?
"wired" : "wireless");
_newline(0U, ++line_thresh);
#ifdef MODULE_IPV6
res = netif_get_opt(iface, NETOPT_IPV6_ADDR, 0, ipv6_addrs,
sizeof(ipv6_addrs));
if (res >= 0) {
@ -938,8 +941,8 @@ static void _netif_list(netif_t *iface)
for (unsigned i = 0; i < CONFIG_L2FILTER_LISTSIZE; i++) {
if (filter[i].addr_len > 0) {
char hwaddr_str[filter[i].addr_len * 3];
gnrc_netif_addr_to_str(filter[i].addr, filter[i].addr_len,
hwaddr_str);
l2util_addr_to_str(filter[i].addr, filter[i].addr_len,
hwaddr_str);
printf(" %2i: %s\n", count++, hwaddr_str);
}
}
@ -1303,7 +1306,7 @@ static int _netif_set_lw_key(netif_t *iface, netopt_t opt, char *key_str)
static int _netif_set_addr(netif_t *iface, netopt_t opt, char *addr_str)
{
uint8_t addr[GNRC_NETIF_L2ADDR_MAXLEN];
size_t addr_len = gnrc_netif_addr_from_str(addr_str, addr);
size_t addr_len = l2util_addr_from_str(addr_str, addr);
if (addr_len == 0) {
printf("error: unable to parse address.\n"
@ -1452,7 +1455,7 @@ static int _netif_set_encrypt_key(netif_t *iface, netopt_t opt, char *key_str)
static int _netif_addrm_l2filter(netif_t *iface, char *val, bool add)
{
uint8_t addr[GNRC_NETIF_L2ADDR_MAXLEN];
size_t addr_len = gnrc_netif_addr_from_str(val, addr);
size_t addr_len = l2util_addr_from_str(val, addr);
if ((addr_len == 0) || (addr_len > CONFIG_L2FILTER_ADDR_MAXLEN)) {
printf("error: given address is invalid\n");

View File

@ -197,6 +197,7 @@ int main(void)
before = xtimer_now_usec();
#endif
event_timeout_set(&event_timeout, (1 * US_PER_SEC));
expect(event_timeout_is_pending(&event_timeout));
event_timeout_t event_timeout_canceled;
@ -205,6 +206,7 @@ int main(void)
(event_t *)&noevent_callback);
event_timeout_set(&event_timeout_canceled, 500 * US_PER_MS);
event_timeout_clear(&event_timeout_canceled);
expect(!event_timeout_is_pending(&event_timeout_canceled));
puts("launching event queue");
event_loop(&queue);