25#if IS_USED(MODULE_IEEE802154_SECURITY)
46#define NETDEV_IEEE802154_SEND_MASK (0x0028)
47#define NETDEV_IEEE802154_RAW (0x0002)
51#define NETDEV_IEEE802154_SRC_MODE_LONG (0x0004)
55#define NETDEV_IEEE802154_SECURITY_EN (IEEE802154_FCF_SECURITY_EN)
60#define NETDEV_IEEE802154_ACK_REQ (IEEE802154_FCF_ACK_REQ)
65#define NETDEV_IEEE802154_FRAME_PEND (IEEE802154_FCF_FRAME_PEND)
74#define NETDEV_RX_IEEE802154_INFO_FLAG_TIMESTAMP (0x01)
129#if IS_USED(MODULE_IEEE802154_SECURITY) || defined(DOXYGEN)
142#if IS_USED(MODULE_NETDEV_IEEE802154_RX_TIMESTAMP)
160#if IS_USED(MODULE_NETDEV_IEEE802154_RX_TIMESTAMP)
161 dest->timestamp = timestamp;
183#if IS_USED(MODULE_NETDEV_IEEE802154_RX_TIMESTAMP)
185 *dest = info->timestamp;
be_uint16_t network_uint16_t
A 16 bit integer in network byte order.
Definitions low-level network driver interface.
EUI-48 and EUI-64 address provider.
struct netdev netdev_t
Forward declaration for netdev struct.
struct netdev_ieee802154_rx_info netdev_ieee802154_rx_info_t
Received packet status information for IEEE 802.15.4 radios.
netdev_ieee802154_cca_mode_t
Option parameter to be used with NETOPT_CCA_MODE to set the mode of the clear channel assessment (CCA...
int netdev_ieee802154_dst_filter(netdev_ieee802154_t *dev, const uint8_t *mhr)
This function compares destination address and pan id with addresses and pan id of the device.
#define NETDEV_RX_IEEE802154_INFO_FLAG_TIMESTAMP
Timestamp valid.
static void netdev_ieee802154_rx_info_set_timestamp(netdev_ieee802154_rx_info_t *dest, uint64_t timestamp)
Write the given timestamp to the given RX info struct.
int netdev_ieee802154_get(netdev_ieee802154_t *dev, netopt_t opt, void *value, size_t max_len)
Fallback function for netdev IEEE 802.15.4 devices' _get function.
static int netdev_ieee802154_rx_info_get_timestamp(const netdev_ieee802154_rx_info_t *info, uint64_t *dest)
Get the timestamp to from the RX info.
void netdev_ieee802154_reset(netdev_ieee802154_t *dev)
Reset function for ieee802154 common fields.
static void netdev_ieee802154_setup(netdev_ieee802154_t *dev)
Configure the hardware address of a IEEE 802.15.4 devices.
int netdev_ieee802154_set(netdev_ieee802154_t *dev, netopt_t opt, const void *value, size_t value_len)
Fallback function for netdev IEEE 802.15.4 devices' _set function.
@ NETDEV_IEEE802154_CCA_MODE_4
ALOHA.
@ NETDEV_IEEE802154_CCA_MODE_2
Carrier sense only.
@ NETDEV_IEEE802154_CCA_MODE_1
Energy above threshold.
@ NETDEV_IEEE802154_CCA_MODE_6
UWB preamble sense based on the packet with the multiplexed preamble.
@ NETDEV_IEEE802154_CCA_MODE_5
UWB preamble sense based on the SHR of a frame.
@ NETDEV_IEEE802154_CCA_MODE_3
Carrier sense with energy above threshold.
static void eui_short_from_eui64(eui64_t *addr_long, network_uint16_t *addr_short)
Get a short unicast address from an EUI-64.
void netdev_eui64_get(netdev_t *netdev, eui64_t *addr)
Generates an EUI-64 address for the netdev interface.
gnrc_nettype_t
Definition of protocol types in the network stack.
struct ieee802154_sec_context ieee802154_sec_context_t
Struct to hold IEEE 802.15.4 security information.
netopt_t
Global list of configuration options available throughout the network stack, e.g.
IEEE 802.15.4 security interface.
Definition of global configuration options.
Protocol type definitions.
Received packet status information for IEEE 802.15.4 radios.
uint8_t lqi
LQI of a received frame.
int16_t rssi
RSSI of a received frame in dBm.
Extended structure to hold IEEE 802.15.4 driver state.
uint8_t long_addr[IEEE802154_LONG_ADDRESS_LEN]
Long address in network byte order.
uint8_t seq
sequence number
uint16_t pan
IEEE 802.15.4 specific fields.
uint8_t short_addr[IEEE802154_SHORT_ADDRESS_LEN]
Short address in network byte order.
ieee802154_sec_context_t sec_ctx
security context
netdev_t netdev
netdev_t base class
int16_t txpower
tx power in dBm
uint16_t flags
flags as defined above
IEEE 802.15.4 header definitions.
Data type to represent an EUI-64.