#ifndef LWIP_HDR_NETIF_IEEE802154_H
#define LWIP_HDR_NETIF_IEEE802154_H
#include "lwip/opt.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef PACK_STRUCT_USE_INCLUDES
# include "arch/bpstruct.h"
#endif
PACK_STRUCT_BEGIN
struct ieee_802154_hdr {
PACK_STRUCT_FIELD(u16_t frame_control);
PACK_STRUCT_FLD_8(u8_t sequence_number);
PACK_STRUCT_FIELD(u16_t destination_pan_id);
PACK_STRUCT_FLD_8(u8_t destination_address[8]);
PACK_STRUCT_FIELD(u16_t source_pan_id);
PACK_STRUCT_FLD_8(u8_t source_address[8]);
} PACK_STRUCT_STRUCT;
PACK_STRUCT_END
#ifdef PACK_STRUCT_USE_INCLUDES
# include "arch/epstruct.h"
#endif
#define IEEE_802154_ADDR_MODE_NO_ADDR 0x00
#define IEEE_802154_ADDR_MODE_RESERVED 0x01
#define IEEE_802154_ADDR_MODE_SHORT 0x02
#define IEEE_802154_ADDR_MODE_EXT 0x03
#define IEEE_802154_FC_FT_MASK 0x0007
#define IEEE_802154_FC_FT_BEACON 0x00
#define IEEE_802154_FC_FT_DATA 0x01
#define IEEE_802154_FC_FT_ACK 0x02
#define IEEE_802154_FC_FT_MAC_CMD 0x03
#define IEEE_802154_FC_FT_RESERVED 0x04
#define IEEE_802154_FC_FT_MULTIPURPOSE 0x05
#define IEEE_802154_FC_FT_FRAG 0x06
#define IEEE_802154_FC_FT_EXT 0x07
#define IEEE_802154_FC_SEC_EN 0x0008
#define IEEE_802154_FC_FRAME_PEND 0x0010
#define IEEE_802154_FC_ACK_REQ 0x0020
#define IEEE_802154_FC_PANID_COMPR 0x0040
#define IEEE_802154_FC_RESERVED 0x0080
#define IEEE_802154_FC_SEQNO_SUPPR 0x0100
#define IEEE_802154_FC_IE_PRESENT 0x0200
#define IEEE_802154_FC_DST_ADDR_MODE_MASK 0x0c00
#define IEEE_802154_FC_DST_ADDR_MODE_NO_ADDR (IEEE_802154_ADDR_MODE_NO_ADDR << 10)
#define IEEE_802154_FC_DST_ADDR_MODE_SHORT (IEEE_802154_ADDR_MODE_SHORT << 10)
#define IEEE_802154_FC_DST_ADDR_MODE_EXT (IEEE_802154_ADDR_MODE_EXT << 10)
#define IEEE_802154_FC_FRAME_VERSION_MASK 0x3000
#define IEEE_802154_FC_FRAME_VERSION_GET(x) (((x) & IEEE_802154_FC_FRAME_VERSION_MASK) >> 12)
#define IEEE_802154_FC_SRC_ADDR_MODE_MASK 0xc000
#define IEEE_802154_FC_SRC_ADDR_MODE_SHORT (IEEE_802154_ADDR_MODE_SHORT << 14)
#define IEEE_802154_FC_SRC_ADDR_MODE_EXT (IEEE_802154_ADDR_MODE_EXT << 14)
#ifdef __cplusplus
}
#endif
#endif