14#ifndef ZEPHYR_INCLUDE_NET_IEEE802154_H_
15#define ZEPHYR_INCLUDE_NET_IEEE802154_H_
111#define IEEE802154_MAX_PHY_PACKET_SIZE 127
120#define IEEE802154_FCS_LENGTH 2
136#define IEEE802154_MTU (IEEE802154_MAX_PHY_PACKET_SIZE - IEEE802154_FCS_LENGTH)
141#define IEEE802154_SHORT_ADDR_LENGTH 2
144#define IEEE802154_EXT_ADDR_LENGTH 8
147#define IEEE802154_MAX_ADDR_LENGTH IEEE802154_EXT_ADDR_LENGTH
153#define IEEE802154_NO_CHANNEL USHRT_MAX
159#define IEEE802154_BROADCAST_ADDRESS 0xffff
166#define IEEE802154_NO_SHORT_ADDRESS_ASSIGNED 0xfffe
169#define IEEE802154_BROADCAST_PAN_ID 0xffff
175#define IEEE802154_SHORT_ADDRESS_NOT_ASSOCIATED IEEE802154_BROADCAST_ADDRESS
181#define IEEE802154_PAN_ID_NOT_ASSOCIATED IEEE802154_BROADCAST_PAN_ID
301#ifdef CONFIG_NET_L2_IEEE802154_SECURITY
306#ifdef CONFIG_NET_L2_IEEE802154_MGMT
401#define IEEE802154_L2_CTX_TYPE struct ieee802154_context
Crypto Cipher structure definitions.
ieee802154_device_role
IEEE 802.15.4 device role.
Definition ieee802154.h:245
#define IEEE802154_MAX_ADDR_LENGTH
IEEE 802.15.4 maximum address length.
Definition ieee802154.h:147
@ IEEE802154_DEVICE_ROLE_PAN_COORDINATOR
PAN coordinator.
Definition ieee802154.h:248
@ IEEE802154_DEVICE_ROLE_ENDDEVICE
End device.
Definition ieee802154.h:246
@ IEEE802154_DEVICE_ROLE_COORDINATOR
Coordinator.
Definition ieee802154.h:247
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:252
struct ieee802154_req_params * scan_ctx
Pointer to scanning parameters and results, guarded by scan_ctx_lock.
Definition ieee802154.h:308
struct ieee802154_security_ctx sec_ctx
Security context.
Definition ieee802154.h:303
uint8_t ack_seq
ACK expected sequence number, guarded by ack_lock.
Definition ieee802154.h:384
uint8_t ext_addr[8]
Extended Address (in little endian)
Definition ieee802154.h:296
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:314
struct k_sem ctx_lock
Context lock.
Definition ieee802154.h:395
uint8_t ack_requested
ACK requested flag, guarded by ack_lock.
Definition ieee802154.h:381
uint8_t sequence
Data sequence number.
Definition ieee802154.h:358
struct k_sem ack_lock
ACK lock, guards ack_* fields.
Definition ieee802154.h:387
uint16_t short_addr
Short Address (in CPU byte order)
Definition ieee802154.h:286
uint8_t device_role
Device Role.
Definition ieee802154.h:372
struct net_linkaddr_storage linkaddr
Link layer address (in big endian)
Definition ieee802154.h:299
uint8_t coord_ext_addr[8]
Coordinator extended address.
Definition ieee802154.h:328
int16_t tx_power
Transmission power in dBm.
Definition ieee802154.h:347
uint16_t coord_short_addr
Coordinator short address.
Definition ieee802154.h:343
enum net_l2_flags flags
L2 flags.
Definition ieee802154.h:350
uint16_t channel
Channel Number.
Definition ieee802154.h:273
uint16_t pan_id
PAN ID.
Definition ieee802154.h:262
Scanning parameters.
Definition ieee802154_mgmt.h:311
Interface-level security attributes, see section 9.5.
Definition ieee802154.h:184
uint8_t key_len
Length in bytes of the interface-level security key material.
Definition ieee802154.h:213
uint8_t key[16]
Interface-level frame encryption security key material.
Definition ieee802154.h:210
uint8_t level
Frame security level, possible values are defined in section 9.4.2.2, table 9-6.
Definition ieee802154.h:225
uint32_t frame_counter
Interface-level outgoing frame counter, section 9.5, table 9-8, secFrameCounter.
Definition ieee802154.h:192
uint8_t key_mode
Frame security key mode.
Definition ieee802154.h:237
Hardware link address structure.
Definition net_linkaddr.h:88