14#ifndef ZEPHYR_INCLUDE_NET_IEEE802154_H_
15#define ZEPHYR_INCLUDE_NET_IEEE802154_H_
107#define IEEE802154_MAX_PHY_PACKET_SIZE 127
116#define IEEE802154_FCS_LENGTH 2
132#define IEEE802154_MTU (IEEE802154_MAX_PHY_PACKET_SIZE - IEEE802154_FCS_LENGTH)
137#define IEEE802154_SHORT_ADDR_LENGTH 2
140#define IEEE802154_EXT_ADDR_LENGTH 8
143#define IEEE802154_MAX_ADDR_LENGTH IEEE802154_EXT_ADDR_LENGTH
149#define IEEE802154_NO_CHANNEL USHRT_MAX
155#define IEEE802154_BROADCAST_ADDRESS 0xffff
162#define IEEE802154_NO_SHORT_ADDRESS_ASSIGNED 0xfffe
165#define IEEE802154_BROADCAST_PAN_ID 0xffff
171#define IEEE802154_SHORT_ADDRESS_NOT_ASSOCIATED IEEE802154_BROADCAST_ADDRESS
177#define IEEE802154_PAN_ID_NOT_ASSOCIATED IEEE802154_BROADCAST_PAN_ID
296#ifdef CONFIG_NET_L2_IEEE802154_SECURITY
301#ifdef CONFIG_NET_L2_IEEE802154_MGMT
396#define IEEE802154_L2_CTX_TYPE struct ieee802154_context
Crypto Cipher structure definitions.
ieee802154_device_role
Definition: ieee802154.h:240
#define IEEE802154_MAX_ADDR_LENGTH
IEEE 802.15.4 maximum address length.
Definition: ieee802154.h:143
@ IEEE802154_DEVICE_ROLE_PAN_COORDINATOR
Definition: ieee802154.h:243
@ IEEE802154_DEVICE_ROLE_ENDDEVICE
Definition: ieee802154.h:241
@ IEEE802154_DEVICE_ROLE_COORDINATOR
Definition: ieee802154.h:242
net_l2_flags
L2 flags.
Definition: net_l2.h:34
Public IEEE 802.15.4 Driver API.
Public API for network L2 interface.
Network Management API public header.
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
__INT16_TYPE__ int16_t
Definition: stdint.h:73
Structure encoding session parameters.
Definition: cipher.h:110
IEEE 802.15.4 L2 context.
Definition: ieee802154.h:247
struct ieee802154_req_params * scan_ctx
Pointer to scanning parameters and results, guarded by scan_ctx_lock.
Definition: ieee802154.h:303
struct ieee802154_security_ctx sec_ctx
Security context.
Definition: ieee802154.h:298
uint8_t ack_seq
ACK expected sequence number, guarded by ack_lock.
Definition: ieee802154.h:379
uint8_t ext_addr[8]
Extended Address (in little endian)
Definition: ieee802154.h:291
struct k_sem scan_ctx_lock
Used to maintain integrity of data for all fields in this struct unless otherwise documented on field...
Definition: ieee802154.h:309
struct k_sem ctx_lock
Context lock.
Definition: ieee802154.h:390
uint8_t ack_requested
ACK requested flag, guarded by ack_lock.
Definition: ieee802154.h:376
uint8_t sequence
Data sequence number.
Definition: ieee802154.h:353
struct k_sem ack_lock
ACK lock, guards ack_* fields.
Definition: ieee802154.h:382
uint16_t short_addr
Short Address (in CPU byte order)
Definition: ieee802154.h:281
uint8_t device_role
Device Role.
Definition: ieee802154.h:367
struct net_linkaddr_storage linkaddr
Link layer address (in big endian)
Definition: ieee802154.h:294
uint8_t coord_ext_addr[8]
Coordinator extended address.
Definition: ieee802154.h:323
int16_t tx_power
Transmission power in dBm.
Definition: ieee802154.h:342
uint16_t coord_short_addr
Coordinator short address.
Definition: ieee802154.h:338
enum net_l2_flags flags
L2 flags.
Definition: ieee802154.h:345
uint16_t channel
Channel Number.
Definition: ieee802154.h:268
uint16_t pan_id
PAN ID.
Definition: ieee802154.h:257
Scanning parameters.
Definition: ieee802154_mgmt.h:309
Interface-level security attributes, see section 9.5.
Definition: ieee802154.h:180
uint8_t key_len
Length in bytes of the interface-level security key material.
Definition: ieee802154.h:209
uint8_t key[16]
Interface-level frame encryption security key material.
Definition: ieee802154.h:206
uint8_t level
Frame security level, possible values are defined in section 9.4.2.2, table 9-6.
Definition: ieee802154.h:221
uint32_t frame_counter
Interface-level outgoing frame counter, section 9.5, table 9-8, secFrameCounter.
Definition: ieee802154.h:188
uint8_t key_mode
Frame security key mode.
Definition: ieee802154.h:233
Hardware link address structure.
Definition: net_linkaddr.h:88