Cascoda SDK
Cascoda SDK for building software to run with CA-821x transceivers
MLME and MCPS Message definitions

Data structures and definitions used for MLME and MCPS Messages. More...

Collaboration diagram for MLME and MCPS Message definitions:

Classes

struct  FullAddr
 Contains full addressing information for a node. More...
 
struct  ShortAddr
 Contains raw little endian short address. More...
 
struct  ExtAddr
 Contains raw extended address. More...
 
struct  MacAddr
 Holds either short or extended address. More...
 
struct  SecSpec
 Security specification to be applied to MAC frames. More...
 
struct  PanDescriptor
 Describes a discovered PAN. More...
 
struct  MCPS_DATA_request_pset
 MCPS_DATA_request parameter set. More...
 
struct  MLME_ASSOCIATE_request_pset
 MLME_ASSOCIATE_request parameter set. More...
 
struct  MLME_ASSOCIATE_response_pset
 MLME_ASSOCIATE_response parameter set. More...
 
struct  MLME_DISASSOCIATE_request_pset
 MLME_DISASSOCIATE_request parameter set. More...
 
struct  MLME_GET_request_pset
 MLME_GET_request parameter set. More...
 
struct  MLME_GET_confirm_pset
 MLME_GET_confirm parameter set. More...
 
struct  MLME_ORPHAN_response_pset
 MLME_ORPHAN_response parameter set. More...
 
struct  MLME_POLL_request_pset
 MLME_POLL_request parameter set. More...
 
struct  MLME_RX_ENABLE_request_pset
 MLME_RX_ENABLE_request parameter set. More...
 
struct  MLME_SCAN_request_pset
 MLME_SCAN_request parameter set. More...
 
struct  MLME_SET_request_pset
 MLME_SET_request parameter set. More...
 
struct  MLME_SET_confirm_pset
 MLME_SET_confirm parameter set. More...
 
struct  MLME_START_request_pset
 MLME_START_request parameter set. More...
 
struct  HWME_SET_request_pset
 HWME_SET_request parameter set. More...
 
struct  HWME_GET_request_pset
 HWME_GET_request parameter set. More...
 
struct  HWME_HAES_request_pset
 HWME_HAES_request parameter set. More...
 
struct  TDME_SETSFR_request_pset
 TDME_SETSFR_request parameter set. More...
 
struct  TDME_GETSFR_request_pset
 TDME_GETSFR_request parameter set. More...
 
struct  TDME_TESTMODE_request_pset
 TDME_TESTMODE_request parameter set. More...
 
struct  TDME_SET_request_pset
 TDME_SET_request parameter set. More...
 
struct  TDME_TXPKT_request_pset
 TDME_TXPKT_request parameter set. More...
 
struct  TDME_LOTLK_request_pset
 TDME_LOTLK_request parameter set. More...
 
struct  MCPS_DATA_confirm_pset
 MCPS_DATA_confirm parameter set. More...
 
struct  MCPS_PURGE_confirm_pset
 MCPS_PURGE_confirm parameter set. More...
 
struct  MCPS_DATA_indication_pset
 MCPS_DATA_indication parameter set. More...
 
struct  MLME_ASSOCIATE_indication_pset
 MLME_ASSOCIATE_indication parameter set. More...
 
struct  MLME_ASSOCIATE_confirm_pset
 MLME_ASSOCIATE_confirm parameter set. More...
 
struct  MLME_DISASSOCIATE_confirm_pset
 MLME_DISASSOCIATE_confirm parameter set. More...
 
struct  MLME_DISASSOCIATE_indication_pset
 MLME_DISASSOCIATE_indication parameter set. More...
 
struct  MLME_BEACON_NOTIFY_indication_pset
 MLME_BEACON_NOTIFY_indication parameter set. More...
 
struct  MLME_SCAN_confirm_pset
 MLME_SCAN_confirm parameter set. More...
 
struct  MLME_COMM_STATUS_indication_pset
 MLME_COMM_STATUS_indication parameter set. More...
 
struct  MLME_ORPHAN_indication_pset
 MLME_ORPHAN_indication parameter set. More...
 
struct  MLME_SYNC_LOSS_indication_pset
 MLME_SYNC_LOSS_indication parameter set. More...
 
struct  MLME_POLL_indication_pset
 
struct  HWME_SET_confirm_pset
 HWME_SET_confirm parameter set. More...
 
struct  HWME_GET_confirm_pset
 HWME_GET_confirm parameter set. More...
 
struct  HWME_HAES_confirm_pset
 HWME_HAES_confirm parameter set. More...
 
struct  HWME_WAKEUP_indication_pset
 HWME_WAKEUP_indication parameter set. More...
 
struct  TDME_SETSFR_confirm_pset
 TDME_SETSFR_confirm parameter set. More...
 
struct  TDME_GETSFR_confirm_pset
 TDME_GETSFR_confirm parameter set. More...
 
struct  TDME_TESTMODE_confirm_pset
 TDME_TESTMODE_confirm parameter set. More...
 
struct  TDME_SET_confirm_pset
 TDME_SET_confirm parameter set. More...
 
struct  TDME_TXPKT_confirm_pset
 TDME_TXPKT_confirm parameter set. More...
 
struct  TDME_RXPKT_indication_pset
 TDME_RXPKT_indication parameter set. More...
 
struct  TDME_EDDET_indication_pset
 TDME_EDDET_indication parameter set. More...
 
struct  TDME_ERROR_indication_pset
 TDME_ERROR_indication parameter set. More...
 
struct  TDME_LOTLK_confirm_pset
 TDME_LOTLK_confirm parameter set. More...
 
struct  M_KeyIdLookupDesc
 
struct  M_DeviceDescriptor
 
struct  M_SecurityLevelDescriptor
 
struct  M_KeyDeviceDesc
 
struct  M_KeyUsageDesc
 
struct  M_KeyTableEntryFixed
 
struct  M_KeyDescriptor
 
union  ca821x_api_callback
 Union of all compatible callback types. More...
 
struct  MAC_Message
 SPI Message Format Typedef. More...
 

Macros

#define MAX_HWME_ATTRIBUTE_SIZE   16
 Longest hwme attribute in octets. More...
 
#define MAX_TDME_ATTRIBUTE_SIZE   2
 Longest tdme attribute in octets. More...
 
#define DEFAULT_RESULT_LIST_SIZE   (128)
 Default size of scan results list. More...
 

Typedefs

typedef ca_error(* HWME_WAKEUP_indication_callback) (struct HWME_WAKEUP_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_ASSOCIATE_indication_callback) (struct MLME_ASSOCIATE_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_ASSOCIATE_confirm_callback) (struct MLME_ASSOCIATE_confirm_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_DISASSOCIATE_indication_callback) (struct MLME_DISASSOCIATE_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_DISASSOCIATE_confirm_callback) (struct MLME_DISASSOCIATE_confirm_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_BEACON_NOTIFY_indication_callback) (struct MLME_BEACON_NOTIFY_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_ORPHAN_indication_callback) (struct MLME_ORPHAN_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_COMM_STATUS_indication_callback) (struct MLME_COMM_STATUS_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_SYNC_LOSS_indication_callback) (struct MLME_SYNC_LOSS_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_POLL_indication_callback) (struct MLME_POLL_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MLME_SCAN_confirm_callback) (struct MLME_SCAN_confirm_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MCPS_DATA_indication_callback) (struct MCPS_DATA_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* MCPS_DATA_confirm_callback) (struct MCPS_DATA_confirm_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* TDME_RXPKT_indication_callback) (struct TDME_RXPKT_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* TDME_EDDET_indication_callback) (struct TDME_EDDET_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* TDME_ERROR_indication_callback) (struct TDME_ERROR_indication_pset *params, struct ca821x_dev *pDeviceRef)
 
typedef ca_error(* ca821x_generic_callback) (void *params, struct ca821x_dev *pDeviceRef)
 

Enumerations

enum  SecurityPibSize
 
enum  kdd_mask { KDD_DeviceDescHandleMask = 0x3F , KDD_BlacklistedMask = 0x80 , KDD_UniqueDeviceMask = 0x40 }
 Masks for M_KeyDeviceDesc Flags. More...
 
enum  kud_mask { KUD_FrameTypeMask = 0x03 , KUD_CommandFrameIdentifierMask = 0xF0 , KUD_CommandFrameIdentifierShift = 4 }
 Masks for M_KeyUsageDesc Flags. More...
 
enum  spi_command_masks { SPI_MID_MASK = 0x1F , SPI_S2M = 0x20 , SPI_SYN = 0x40 , SPI_INVALID = 0x80 }
 
enum  spi_command_ids {
  SPI_IDLE = 0xFF , SPI_NACK = 0xF0 , SPI_MCPS_DATA_REQUEST = 0x00 , SPI_MCPS_PURGE_REQUEST = 0x41 ,
  SPI_MCPS_DATA_INDICATION = 0x20 , SPI_MCPS_DATA_CONFIRM = 0x21 , SPI_MCPS_PURGE_CONFIRM = 0x62 , SPI_MLME_ASSOCIATE_REQUEST = 0x02 ,
  SPI_MLME_ASSOCIATE_RESPONSE = 0x03 , SPI_MLME_DISASSOCIATE_REQUEST = 0x04 , SPI_MLME_GET_REQUEST = 0x45 , SPI_MLME_ORPHAN_RESPONSE = 0x06 ,
  SPI_MLME_RESET_REQUEST = 0x47 , SPI_MLME_RX_ENABLE_REQUEST = 0x48 , SPI_MLME_SCAN_REQUEST = 0x09 , SPI_MLME_SET_REQUEST = 0x4A ,
  SPI_MLME_START_REQUEST = 0x4B , SPI_MLME_SYNC_REQUEST = 0x0C , SPI_MLME_POLL_REQUEST = 0x4D , SPI_MLME_ASSOCIATE_INDICATION = 0x23 ,
  SPI_MLME_ASSOCIATE_CONFIRM = 0x24 , SPI_MLME_DISASSOCIATE_INDICATION = 0x25 , SPI_MLME_DISASSOCIATE_CONFIRM = 0x26 , SPI_MLME_BEACON_NOTIFY_INDICATION = 0x27 ,
  SPI_MLME_GET_CONFIRM = 0x68 , SPI_MLME_ORPHAN_INDICATION = 0x29 , SPI_MLME_RESET_CONFIRM = 0x6A , SPI_MLME_RX_ENABLE_CONFIRM = 0x6B ,
  SPI_MLME_SCAN_CONFIRM = 0x2C , SPI_MLME_COMM_STATUS_INDICATION = 0x2D , SPI_MLME_SET_CONFIRM = 0x6E , SPI_MLME_START_CONFIRM = 0x6F ,
  SPI_MLME_SYNC_LOSS_INDICATION = 0x30 , SPI_MLME_POLL_CONFIRM = 0x71 , SPI_HWME_SET_REQUEST = 0x4E , SPI_HWME_GET_REQUEST = 0x4F ,
  SPI_HWME_HAES_REQUEST = 0x50 , SPI_HWME_SET_CONFIRM = 0x72 , SPI_HWME_GET_CONFIRM = 0x73 , SPI_HWME_HAES_CONFIRM = 0x74 ,
  SPI_HWME_WAKEUP_INDICATION = 0x35 , SPI_TDME_SETSFR_REQUEST = 0x51 , SPI_TDME_GETSFR_REQUEST = 0x52 , SPI_TDME_TESTMODE_REQUEST = 0x53 ,
  SPI_TDME_SET_REQUEST = 0x54 , SPI_TDME_TXPKT_REQUEST = 0x55 , SPI_TDME_LOTLK_REQUEST = 0x56 , SPI_TDME_SETSFR_CONFIRM = 0x77 ,
  SPI_TDME_GETSFR_CONFIRM = 0x78 , SPI_TDME_TESTMODE_CONFIRM = 0x79 , SPI_TDME_SET_CONFIRM = 0x7A , SPI_TDME_TXPKT_CONFIRM = 0x7B ,
  SPI_TDME_RXPKT_INDICATION = 0x3C , SPI_TDME_EDDET_INDICATION = 0x3D , SPI_TDME_ERROR_INDICATION = 0x3E , SPI_TDME_LOTLK_CONFIRM = 0x7F
}
 SPI Command IDs. More...
 

Detailed Description

Data structures and definitions used for MLME and MCPS Messages.

Macro Definition Documentation

◆ DEFAULT_RESULT_LIST_SIZE

#define DEFAULT_RESULT_LIST_SIZE   (128)

Default size of scan results list.

◆ MAX_HWME_ATTRIBUTE_SIZE

#define MAX_HWME_ATTRIBUTE_SIZE   16

Longest hwme attribute in octets.

◆ MAX_TDME_ATTRIBUTE_SIZE

#define MAX_TDME_ATTRIBUTE_SIZE   2

Longest tdme attribute in octets.

Typedef Documentation

◆ ca821x_generic_callback

typedef ca_error(* ca821x_generic_callback) (void *params, struct ca821x_dev *pDeviceRef)

◆ HWME_WAKEUP_indication_callback

typedef ca_error(* HWME_WAKEUP_indication_callback) (struct HWME_WAKEUP_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ MCPS_DATA_confirm_callback

typedef ca_error(* MCPS_DATA_confirm_callback) (struct MCPS_DATA_confirm_pset *params, struct ca821x_dev *pDeviceRef)

◆ MCPS_DATA_indication_callback

typedef ca_error(* MCPS_DATA_indication_callback) (struct MCPS_DATA_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_ASSOCIATE_confirm_callback

typedef ca_error(* MLME_ASSOCIATE_confirm_callback) (struct MLME_ASSOCIATE_confirm_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_ASSOCIATE_indication_callback

typedef ca_error(* MLME_ASSOCIATE_indication_callback) (struct MLME_ASSOCIATE_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_BEACON_NOTIFY_indication_callback

typedef ca_error(* MLME_BEACON_NOTIFY_indication_callback) (struct MLME_BEACON_NOTIFY_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_COMM_STATUS_indication_callback

typedef ca_error(* MLME_COMM_STATUS_indication_callback) (struct MLME_COMM_STATUS_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_DISASSOCIATE_confirm_callback

typedef ca_error(* MLME_DISASSOCIATE_confirm_callback) (struct MLME_DISASSOCIATE_confirm_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_DISASSOCIATE_indication_callback

typedef ca_error(* MLME_DISASSOCIATE_indication_callback) (struct MLME_DISASSOCIATE_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_ORPHAN_indication_callback

typedef ca_error(* MLME_ORPHAN_indication_callback) (struct MLME_ORPHAN_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_POLL_indication_callback

typedef ca_error(* MLME_POLL_indication_callback) (struct MLME_POLL_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_SCAN_confirm_callback

typedef ca_error(* MLME_SCAN_confirm_callback) (struct MLME_SCAN_confirm_pset *params, struct ca821x_dev *pDeviceRef)

◆ MLME_SYNC_LOSS_indication_callback

typedef ca_error(* MLME_SYNC_LOSS_indication_callback) (struct MLME_SYNC_LOSS_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ TDME_EDDET_indication_callback

typedef ca_error(* TDME_EDDET_indication_callback) (struct TDME_EDDET_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ TDME_ERROR_indication_callback

typedef ca_error(* TDME_ERROR_indication_callback) (struct TDME_ERROR_indication_pset *params, struct ca821x_dev *pDeviceRef)

◆ TDME_RXPKT_indication_callback

typedef ca_error(* TDME_RXPKT_indication_callback) (struct TDME_RXPKT_indication_pset *params, struct ca821x_dev *pDeviceRef)

Enumeration Type Documentation

◆ kdd_mask

enum kdd_mask

Masks for M_KeyDeviceDesc Flags.

Enumerator
KDD_DeviceDescHandleMask 
KDD_BlacklistedMask 

Key Device Descriptor handle mask.

KDD_UniqueDeviceMask 

Key Device Descriptor is blacklisted mask.

◆ kud_mask

enum kud_mask

Masks for M_KeyUsageDesc Flags.

Enumerator
KUD_FrameTypeMask 
KUD_CommandFrameIdentifierMask 

Key Usage Descriptor frame type mask.

KUD_CommandFrameIdentifierShift 

Key Usage Descriptor command frame identifier mask.

◆ SecurityPibSize

◆ spi_command_ids

SPI Command IDs.

Enumerator
SPI_IDLE 

Present on SPI when stream is idle - No Data.

SPI_NACK 

Present on SPI when buffer full or busy - resend Request.

SPI_MCPS_DATA_REQUEST 
SPI_MCPS_PURGE_REQUEST 
SPI_MCPS_DATA_INDICATION 
SPI_MCPS_DATA_CONFIRM 
SPI_MCPS_PURGE_CONFIRM 
SPI_MLME_ASSOCIATE_REQUEST 
SPI_MLME_ASSOCIATE_RESPONSE 
SPI_MLME_DISASSOCIATE_REQUEST 
SPI_MLME_GET_REQUEST 
SPI_MLME_ORPHAN_RESPONSE 
SPI_MLME_RESET_REQUEST 
SPI_MLME_RX_ENABLE_REQUEST 
SPI_MLME_SCAN_REQUEST 
SPI_MLME_SET_REQUEST 
SPI_MLME_START_REQUEST 
SPI_MLME_SYNC_REQUEST 
SPI_MLME_POLL_REQUEST 
SPI_MLME_ASSOCIATE_INDICATION 
SPI_MLME_ASSOCIATE_CONFIRM 
SPI_MLME_DISASSOCIATE_INDICATION 
SPI_MLME_DISASSOCIATE_CONFIRM 
SPI_MLME_BEACON_NOTIFY_INDICATION 
SPI_MLME_GET_CONFIRM 
SPI_MLME_ORPHAN_INDICATION 
SPI_MLME_RESET_CONFIRM 
SPI_MLME_RX_ENABLE_CONFIRM 
SPI_MLME_SCAN_CONFIRM 
SPI_MLME_COMM_STATUS_INDICATION 
SPI_MLME_SET_CONFIRM 
SPI_MLME_START_CONFIRM 
SPI_MLME_SYNC_LOSS_INDICATION 
SPI_MLME_POLL_CONFIRM 
SPI_HWME_SET_REQUEST 
SPI_HWME_GET_REQUEST 
SPI_HWME_HAES_REQUEST 
SPI_HWME_SET_CONFIRM 
SPI_HWME_GET_CONFIRM 
SPI_HWME_HAES_CONFIRM 
SPI_HWME_WAKEUP_INDICATION 
SPI_TDME_SETSFR_REQUEST 
SPI_TDME_GETSFR_REQUEST 
SPI_TDME_TESTMODE_REQUEST 
SPI_TDME_SET_REQUEST 
SPI_TDME_TXPKT_REQUEST 
SPI_TDME_LOTLK_REQUEST 
SPI_TDME_SETSFR_CONFIRM 
SPI_TDME_GETSFR_CONFIRM 
SPI_TDME_TESTMODE_CONFIRM 
SPI_TDME_SET_CONFIRM 
SPI_TDME_TXPKT_CONFIRM 
SPI_TDME_RXPKT_INDICATION 
SPI_TDME_EDDET_INDICATION 
SPI_TDME_ERROR_INDICATION 
SPI_TDME_LOTLK_CONFIRM 

◆ spi_command_masks

Enumerator
SPI_MID_MASK 
SPI_S2M 

Mask to derive the Message ID Code from the Command ID.

SPI_SYN 

Bit indicating a Confirm or Indication from Slave to Master.

SPI_INVALID 

Bit indicating a Synchronous Message.