33#ifndef NET_GNRC_NETTYPE_H
34#define NET_GNRC_NETTYPE_H
68#if IS_USED(MODULE_GNRC_NETTYPE_GOMACH) || defined(DOXYGEN)
76#if IS_USED(MODULE_GNRC_NETTYPE_LWMAC) || defined(DOXYGEN)
84#if IS_USED(MODULE_GNRC_NETTYPE_CUSTOM) || defined(DOXYGEN)
89#if IS_USED(MODULE_GNRC_NETTYPE_SIXLOWPAN) || defined(DOXYGEN)
93#if IS_USED(MODULE_GNRC_NETTYPE_LORAWAN) || defined(DOXYGEN)
99#define GNRC_NETTYPE_LORAWAN GNRC_NETTYPE_UNDEF
106#if IS_USED(MODULE_GNRC_NETTYPE_IPV6) || defined(DOXYGEN)
109#if IS_USED(MODULE_GNRC_NETTYPE_IPV6_EXT) || defined(DOXYGEN)
112#if IS_USED(MODULE_GNRC_NETTYPE_ICMPV6) || defined(DOXYGEN)
116#if IS_USED(MODULE_GNRC_NETTYPE_CCN) || defined(DOXYGEN)
122#if IS_USED(MODULE_GNRC_NETTYPE_NDN) || defined(DOXYGEN)
131#if IS_USED(MODULE_GNRC_NETTYPE_TCP) || defined(DOXYGEN)
134#if IS_USED(MODULE_GNRC_NETTYPE_UDP) || defined(DOXYGEN)
163#if IS_USED(MODULE_GNRC_NETTYPE_IPV6)
167#if IS_USED(MODULE_GNRC_NETTYPE_CCN) || IS_USED(MODULE_GNRC_NETTYPE_NDN)
169#if IS_USED(MODULE_GNRC_NETTYPE_CCN)
171#elif IS_USED(MODULE_GNRC_NETTYPE_NDN)
175#if IS_USED(MODULE_GNRC_SIXLOENC) && IS_USED(MODULE_GNRC_NETTYPE_SIXLOWPAN)
179#if IS_USED(MODULE_GNRC_NETTYPE_CUSTOM)
200#if IS_USED(MODULE_GNRC_NETTYPE_CUSTOM)
204#if IS_USED(MODULE_GNRC_SIXLOENC) && IS_USED(MODULE_GNRC_NETTYPE_SIXLOWPAN)
208#if IS_USED(MODULE_GNRC_NETTYPE_IPV6)
212#if IS_USED(MODULE_GNRC_NETTYPE_CCN)
216#if IS_USED(MODULE_GNRC_NETTYPE_NDN)
239#if IS_USED(MODULE_GNRC_NETTYPE_ICMPV6)
243#if IS_USED(MODULE_GNRC_NETTYPE_IPV6)
247#if IS_USED(MODULE_GNRC_NETTYPE_TCP)
251#if IS_USED(MODULE_GNRC_NETTYPE_UDP)
255#if IS_USED(MODULE_GNRC_NETTYPE_IPV6_EXT)
284#if IS_USED(MODULE_GNRC_NETTYPE_IPV6)
288#if IS_USED(MODULE_GNRC_NETTYPE_ICMPV6)
292#if IS_USED(MODULE_GNRC_NETTYPE_TCP)
296#if IS_USED(MODULE_GNRC_NETTYPE_UDP)
#define ETHERTYPE_CUSTOM
Custom ethertype.
#define ETHERTYPE_6LOENC
6LoWPAN encapsulation
#define ETHERTYPE_IPV6
Internet protocol version 6.
#define ETHERTYPE_UNKNOWN
Reserved (no protocol specified)
#define ETHERTYPE_NDN
NDN Protocol (http://named-data.net/)
gnrc_nettype_t
Definition of protocol types in the network stack.
static gnrc_nettype_t gnrc_nettype_from_ethertype(uint16_t type)
Translates an Ether Type number to gnrc_nettype_t.
static uint8_t gnrc_nettype_to_protnum(gnrc_nettype_t type)
Translates gnrc_nettype_t to a Protocol Number.
static gnrc_nettype_t gnrc_nettype_from_protnum(uint8_t num)
Translates a Protocol Number to gnrc_nettype_t.
static uint16_t gnrc_nettype_to_ethertype(gnrc_nettype_t type)
Translates gnrc_nettype_t to an Ether Type number.
@ GNRC_NETTYPE_TX_SYNC
TX synchronization data for passing up error data or auxiliary data.
@ GNRC_NETTYPE_IPV6_EXT
Protocol is IPv6 extension header.
@ GNRC_NETTYPE_CCN_CHUNK
Protocol is CCN, packet contains a content chunk.
@ GNRC_NETTYPE_CCN
Protocol is CCN.
@ GNRC_NETTYPE_CUSTOM
Custom ethertype.
@ GNRC_NETTYPE_TEST
Usable with test vectors.
@ GNRC_NETTYPE_NETIF
Protocol is as defined in gnrc_netif_hdr_t.
@ GNRC_NETTYPE_IPV6
Protocol is IPv6.
@ GNRC_NETTYPE_LWMAC
Protocol is lwMAC.
@ GNRC_NETTYPE_UDP
Protocol is UDP.
@ GNRC_NETTYPE_UNDEF
Protocol is undefined.
@ GNRC_NETTYPE_ICMPV6
Protocol is ICMPv6.
@ GNRC_NETTYPE_GOMACH
Protocol is GoMacH.
@ GNRC_NETTYPE_SIXLOWPAN
Protocol is 6LoWPAN.
@ GNRC_NETTYPE_TCP
Protocol is TCP.
@ GNRC_NETTYPE_NDN
Protocol is NDN.
@ GNRC_NETTYPE_NUMOF
maximum number of available protocols
#define PROTNUM_IPV6_EXT_MOB
IPv6 Mobility Extension Header.
#define PROTNUM_IPV6_EXT_HOPOPT
IPv6 Hop-by-Hop Option.
#define PROTNUM_IPV6_EXT_FRAG
Fragment Header for IPv6.
#define PROTNUM_RESERVED
Reserved.
#define PROTNUM_IPV6_EXT_ESP
IPv6 Encap Security Payload Extension Header.
#define PROTNUM_ICMPV6
ICMP for IPv6.
#define PROTNUM_IPV6_EXT_DST
IPv6 Extension Header: Destination Options.
#define PROTNUM_IPV6
IPv6 encapsulation.
#define PROTNUM_UDP
User Datagram.
#define PROTNUM_IPV6_EXT_AH
IPv6 Authentication Extension Header.
#define PROTNUM_TCP
Transmission Control.
#define PROTNUM_IPV6_EXT_RH
Routing Header for IPv6.
Adds include for missing inttype definitions.
Common macros and compiler attributes/pragmas configuration.
Protocol number definitions.