1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/sys/include/net
Marian Buschsieweke 276ad5716a
sys/net/gnrc/netif: allow checking if a netdev is legacy or new API
A if `netdev_driver_t::confirm_send()` is provided, it provides the
new netdev API. However, detecting the API at runtime and handling
both API styles comes at a cost. This can be optimized in case only
new or only old style netdevs are in use.

To do so, this adds the pseudo modules `netdev_legacy_api` and
`netdev_new_api`. As right now no netdev actually implements the new
API, all netdevs pull in `netdev_legacy_api`. If `netdev_legacy_api` is
in used but `netdev_new_api` is not, we can safely assume at compile
time that only legacy netdevs are in use. Similar, if only
`netdev_new_api` is used, only support for the new API is needed. Only
when both are in use, run time checks are needed.

This provides two helper function to check for a netif if the
corresponding netdev implements the old or the new API. (With one
being the inverse of the other.) They are suitable for constant folding
when only new or only legacy devices are in use. Consequently, dead
branches should be eliminated by the optimizer.
2022-08-17 12:56:07 +02:00
..
bluetil
cord net/cord doc: Expand CONFIG_CORD_EXTRAARGS documentation 2022-01-27 09:50:08 +01:00
dhcpv6 sys/net/dhcpv6: enhance doc of CONFIG_DHCPV6_CLIENT_PFX_LEASE_MAX 2022-02-17 18:46:28 +01:00
dns sock_dns_cache: move to dns_cache 2022-07-18 15:27:58 +02:00
ethernet treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
fib all: adapt to moved sched defines 2020-11-23 16:56:34 +01:00
gcoap gcoap/fileserver: make PUT and DELETE pseudomodules 2022-08-03 22:10:30 +02:00
gnrc sys/net/gnrc/netif: allow checking if a netdev is legacy or new API 2022-08-17 12:56:07 +02:00
iana
ieee802154 ieee802154/submac: use default config for max frame retransmissions 2022-06-27 14:51:16 +02:00
ipv4 sys/net/ipv4: ipv4_addr_t pointer should be const 2022-03-05 14:39:50 +01:00
ipv6 sys/net: add ipv6_addrs_print() 2022-06-06 20:46:48 +02:00
lorawan sys/net/lorawan: fix cpp namespace 2020-11-23 11:36:05 +01:00
nanocoap nanocoap_cache: add helper function to check if entry is stale 2022-05-13 12:14:55 +02:00
netstats sys/include/net/netstats: move xtimer header where it is needed 2021-02-16 18:18:21 +01:00
ppp treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
rpl sys/net/gnrc/rpl: refactor netstats_rpl_t 2022-06-30 09:48:45 +02:00
sixlowpan sixlowpan|gnrc_sixlowpan: change SFR draft to RFC in doc 2020-12-14 09:00:26 +01:00
skald net/ble/skald: let itvl be configured per context 2022-05-24 13:02:10 +02:00
sock Merge pull request #18363 from benpicco/sock_dtls_sendv_aux 2022-08-01 09:59:55 +02:00
af.h sys/include/net/af: fix doc comment 2022-04-14 09:23:27 +02:00
arp.h
asymcute.h sys/asymcute: remove deprecated CONFIG_ASYMCUTE_BUFSIZE_EXP 2022-01-07 11:28:11 +01:00
ble.h
coap.h gcoap/fileserver: implement PUT/POST/DELETE functionality 2022-08-03 22:09:21 +02:00
credman.h sys/net/credman: add key loading functions 2021-09-20 08:10:59 +02:00
csma_sender.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
dhcpv6.h sys/net/dhcpv6: Implement stateless DHCPv6 2021-10-04 17:40:56 +02:00
dns_mock.h sys/net/application_layer/sock_dns_mock: add module for mocking sock_dns 2022-04-03 17:29:10 +02:00
dns.h dns: add generic dns_query() function 2022-07-29 17:48:26 +02:00
dsm.h dsm: make CONFIG_DSM_PEER_MAX depend on CONFIG_DTLS_PEER_MAX 2021-10-08 12:15:53 +02:00
dtls.h dtls: set CONFIG_DTLS_PEER_MAX in dtls.h header 2021-10-08 12:10:28 +02:00
eddystone.h
emcute.h net/emcute: add doc that QoS -1 is not supported 2020-12-18 10:41:52 +01:00
ethernet.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
ethertype.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
eui48.h net/eui48: add eui64_to_eui48() 2020-09-30 11:18:36 +02:00
eui64.h
eui_provider.h net/eui_provider: prohibit use of NETDEV_ANY for EUI device type 2021-06-08 14:30:40 +02:00
fib.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
gcoap.h gcoap_fileserver: New module to serve VFS via CoAP 2022-05-22 16:36:21 +02:00
gnrc.h net/gnrc: Fixing whitespace in the documentation 2022-04-29 14:19:25 +02:00
icmp.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
icmpv6.h
ieee802154_security.h net/ieee802154 doc: Group security with existing 802154 2022-01-16 11:24:22 +01:00
ieee802154.h ieee802154: add ACK timeout in symbols to header 2022-08-12 10:17:33 +02:00
inet_csum.h
ipv4.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
ipv6.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
l2filter.h net/l2filter : Update documentation 2020-07-22 00:26:09 +05:30
l2util.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
lora.h sys/include/net/lora: add 2.4Ghz BW definitions 2022-05-17 15:30:01 +02:00
loramac.h net/loramac: use enum type in lora_time_on_air() 2022-04-12 12:16:44 +02:00
mqttsn.h net/mqttsn: add flag definition for QoS -1 2020-12-18 10:22:25 +01:00
nanocoap_sock.h nanocoap_sock: add nanocoap_sock_block_request() 2022-05-17 23:07:23 +02:00
nanocoap_vfs.h nanocoap_vfs: add nanocoap_vfs_put() 2022-06-08 17:19:03 +02:00
nanocoap.h nanocoap: make coap_request_ctx_t members internal 2022-07-17 14:32:16 +02:00
ndp.h gnrc_ndp: add route information option 2021-06-18 00:13:08 +02:00
netdev_test.h netdev_test: avoid explicit cast to netdev 2021-07-09 11:35:19 +02:00
netif.h sys/net/netif: add helpers for IPv6 addresses 2022-06-06 20:46:48 +02:00
netopt.h sys/net/netopt: change NETOPT_STATS semantics 2022-06-28 16:57:43 +02:00
netstats.h netstats: add missing cib.h include 2021-07-05 10:32:50 +02:00
ntp_packet.h
packet.h
ppptype.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
protnum.h treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
sixlowpan.h sixlowpan|gnrc_sixlowpan: change SFR draft to RFC in doc 2020-12-14 09:00:26 +01:00
skald.h net/ble/skald: let itvl be configured per context 2022-05-24 13:02:10 +02:00
sntp.h
sock.h sys/net/sock: introduce SOCK_AUX_SET_LOCAL 2022-05-10 09:24:56 +02:00
someip.h sys/include/net: Add suggested changes 2020-07-16 14:44:47 +02:00
tcp.h gnrc_tcp: add listen/accept 2021-07-08 09:40:02 +02:00
telnet.h sys/net/telnet: add telnet_server_disconnect() 2022-06-08 13:01:23 +02:00
udp.h
uhcp.h uhcp: improve documentation 2020-11-09 11:45:28 +01:00
utils.h sys/net/netutils: add netutils_get_ipv4() 2022-03-08 13:35:32 +01:00
zep.h