mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
sys: add netopt to string map function and netopt module
This commit is contained in:
parent
155b91bd06
commit
d18cb7a9c3
@ -59,6 +59,10 @@ ifneq (,$(filter udp,$(USEMODULE)))
|
||||
DIRS += net/transport_layer/udp
|
||||
endif
|
||||
|
||||
ifneq (,$(filter netopt,$(USEMODULE)))
|
||||
DIRS += net/crosslayer/netopt
|
||||
endif
|
||||
|
||||
DIRS += $(dir $(wildcard $(addsuffix /Makefile, ${USEMODULE})))
|
||||
|
||||
include $(RIOTBASE)/Makefile.base
|
||||
|
@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Freie Universität Berlin
|
||||
* 2015 Kaspar Schleiser <kaspar@schleiser.de>
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
@ -18,6 +19,7 @@
|
||||
*
|
||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
||||
* @author Oliver Hahm <oliver.hahm@inria.fr>
|
||||
* @author Kaspar Schleiser <kaspar@schleiser.de>
|
||||
*/
|
||||
|
||||
#ifndef NETOPT_H_
|
||||
@ -177,6 +179,15 @@ typedef enum {
|
||||
/* add other states if needed */
|
||||
} netopt_state_t;
|
||||
|
||||
/**
|
||||
* @brief Get a string ptr corresponding to opt, for debugging
|
||||
*
|
||||
* @param[in] opt The option to get a string representation for
|
||||
*
|
||||
* @return ptr to string representation for given option or "unknown"
|
||||
*/
|
||||
const char *netopt2str(netopt_t opt);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
1
sys/net/crosslayer/netopt/Makefile
Normal file
1
sys/net/crosslayer/netopt/Makefile
Normal file
@ -0,0 +1 @@
|
||||
include $(RIOTBASE)/Makefile.base
|
65
sys/net/crosslayer/netopt/netopt.c
Normal file
65
sys/net/crosslayer/netopt/netopt.c
Normal file
@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Kaspar Schleiser <kaspar@schleiser.de>
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
* directory for more details.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @{
|
||||
* @ingroup net_netopt
|
||||
* @file
|
||||
* @brief This file contains functionality to map netopt option
|
||||
* numbers to strings
|
||||
*
|
||||
* @author Kaspar Schleiser <kaspar@schleiser.de>
|
||||
* @}
|
||||
*/
|
||||
|
||||
#include "net/netopt.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
static const char *_netopt_strmap[] = {
|
||||
[NETOPT_CHANNEL] = "NETOPT_CHANNEL",
|
||||
[NETOPT_IS_CHANNEL_CLR] = "NETOPT_IS_CHANNEL_CLR",
|
||||
[NETOPT_ADDRESS] = "NETOPT_ADDRESS",
|
||||
[NETOPT_ADDRESS_LONG] = "NETOPT_ADDRESS_LONG",
|
||||
[NETOPT_ADDR_LEN] = "NETOPT_ADDR_LEN",
|
||||
[NETOPT_SRC_LEN] = "NETOPT_SRC_LEN",
|
||||
[NETOPT_NID] = "NETOPT_NID",
|
||||
[NETOPT_IPV6_IID] = "NETOPT_IPV6_IID",
|
||||
[NETOPT_TX_POWER] = "NETOPT_TX_POWER",
|
||||
[NETOPT_MAX_PACKET_SIZE] = "NETOPT_MAX_PACKET_SIZE",
|
||||
[NETOPT_PRELOADING] = "NETOPT_PRELOADING",
|
||||
[NETOPT_PROMISCUOUSMODE] = "NETOPT_PROMISCUOUSMODE",
|
||||
[NETOPT_AUTOACK] = "NETOPT_AUTOACK",
|
||||
[NETOPT_RETRANS] = "NETOPT_RETRANS",
|
||||
[NETOPT_PROTO] = "NETOPT_PROTO",
|
||||
[NETOPT_STATE] = "NETOPT_STATE",
|
||||
[NETOPT_RAWMODE] = "NETOPT_RAWMODE",
|
||||
[NETOPT_RX_START_IRQ] = "NETOPT_RX_START_IRQ",
|
||||
[NETOPT_RX_END_IRQ] = "NETOPT_RX_END_IRQ",
|
||||
[NETOPT_TX_START_IRQ] = "NETOPT_TX_START_IRQ",
|
||||
[NETOPT_TX_END_IRQ] = "NETOPT_TX_END_IRQ",
|
||||
[NETOPT_AUTOCCA] = "NETOPT_AUTOCCA",
|
||||
[NETOPT_NUMOF] = "NETOPT_NUMOF",
|
||||
};
|
||||
|
||||
const char *netopt2str(netopt_t opt)
|
||||
{
|
||||
if (opt >= NETOPT_NUMOF) {
|
||||
return "unknown";
|
||||
}
|
||||
else {
|
||||
const char *tmp = _netopt_strmap[opt];
|
||||
return tmp ? tmp : "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user