nRF5 SDK v13.0.0
Data Structures | Macros | Typedefs | Enumerations
MAC MLME Security API

Module to declare MAC MLME Security API. More...

Data Structures

struct  mac_table_t
 Abstract type to work with growing tables such as some of MAC security attributes. More...
 
struct  mac_table_item_t
 Due to processing algorithm this field MUST be the first inside a table or list. More...
 
struct  mac_key_id_lookup_descr_t
 KeyIdLookupDescriptor as described in Table 94 . More...
 
struct  mac_device_descr_t
 DeviceDescriptor as described in Table 93 . More...
 
struct  mac_key_device_descr_t
 KeyDeviceDescriptor as described in Table 91 . More...
 
struct  mac_key_usage_descr_t
 KeyUsageDescriptor as described in Table 90 . More...
 
struct  mac_key_descr_t
 KeyDescriptor as described in Table 89 . More...
 
struct  mac_security_level_descr_t
 SecurityLevelDescriptor as described in Table 93 . More...
 

Macros

#define MAC_LOOKUP_DATA_SIZE_SHORT   5
 Size (in bytes) of short security look up item. This size is set when lookup size equals to 0.
 
#define MAC_KEY_LOOKUP_DATA_SIZE_LONG   9
 Size (in bytes) of long security Key look up item. This size is set when lookup size equals to 1.
 
#define MAC_DATA_LOOKUP_DATA_SIZE_LONG   8
 Size (in bytes) of long security Data look up item. This size is set when lookup size equals to 1.
 
#define MAC_KEY_SOURCE_SIZE   8
 Length of mac_key_source_t. Equals to extended address length.
 
#define MAC_KEY_DEVICE_FLAG_UNIQUE   0x01
 This bit-mask is used to get UniqueDevice field value of mac_key_device_descr_t.
 
#define MAC_KEY_DEVICE_FLAG_BLACKLISTED   0x02
 This bit-mask is used to get BlackListed field value of mac_key_device_descr_t.
 
#define MAC_SECURITY_KEY_SIZE   16
 Length of key.
 
#define MAC_SECURITY_NONCE_SIZE   13
 Length of nonce for aes-ccm algorithm .
 
#define MAX_MIC_SIZE   16
 Maximum MIC size .
 

Typedefs

typedef uint8_t mac_key_t [16]
 This type is used to store security key .
 
typedef uint8_t mac_key_lookup_data_t [9]
 This type is used to store security key lookup data .
 
typedef uint8_t mac_data_lookup_data_t [8]
 This type is used to store security data lookup data .
 
typedef uint64_t mac_key_source_t
 This type is used to store security key source address .
 
typedef mac_table_t mac_key_id_lookup_list_t
 KeyIdLookupLis as described in Table 89 .
 
typedef mac_table_t mac_device_table_t
 DeviceTable as described in Table 93 .
 
typedef mac_table_t mac_key_device_list_t
 KeyDeviceList as described in Table 89 .
 
typedef mac_table_t mac_key_usage_list_t
 KeyUsageList as described in Table 89 .
 
typedef mac_table_t mac_key_table_t
 KeyTable as described in Table 88 .
 
typedef mac_table_t mac_security_level_table_t
 

Enumerations

enum  mac_security_level_t {
  MAC_SEC_OFF = 0,
  MAC_SEC_MIC32,
  MAC_SEC_MIC64,
  MAC_SEC_MIC128,
  MAC_SEC_ENC,
  MAC_SEC_ENC_MIC32,
  MAC_SEC_ENC_MIC64,
  MAC_SEC_ENC_MIC128
}
 MAC sublayer security levels. More...
 
enum  mac_key_id_mode_t {
  MAC_KEY_ID_IMPL = 0,
  MAC_KEY_ID_ONE_OCTET,
  MAC_KEY_ID_FOUR_OCTET,
  MAC_KEY_ID_EIGHT_OCTET
}
 MAC key identifier mode. More...
 
enum  mac_key_lookup_size_t {
  KEY_LOOKUP_SIZE_FIVE = 0,
  KEY_LOOKUP_SIZE_NINE = 1
}
 This type represents key LookupDataSize according to Table 94 . More...
 
enum  mac_key_lookup_size_val_t {
  KEY_LOOKUP_SIZE_FIVE_VAL = 5,
  KEY_LOOKUP_SIZE_NINE_VAL = 9
}
 This type represents real size of key LookupData . More...
 
enum  mac_data_lookup_size_val_t {
  DATA_LOOKUP_SIZE_FOUR_VAL = 4,
  DATA_LOOKUP_SIZE_EIGHT_VAL = 8
}
 This type represents data LookupDataSize . More...
 

Detailed Description

Module to declare MAC MLME Security API.

The MAC Security module declares types/macros needed to implement and use the MAC security engine according to the MAC specification. No routines or callbacks are declared here.

Enumeration Type Documentation

This type represents data LookupDataSize .

Enumerator
DATA_LOOKUP_SIZE_FOUR_VAL 

Size is 4.

DATA_LOOKUP_SIZE_EIGHT_VAL 

Size is 8.

MAC key identifier mode.

In accordance with IEEE Std 802.15.4-2006, section 7.6.2.2.2

Enumerator
MAC_KEY_ID_IMPL 

Impl.

MAC_KEY_ID_ONE_OCTET 

One octet.

MAC_KEY_ID_FOUR_OCTET 

4 octets.

MAC_KEY_ID_EIGHT_OCTET 

8 octets.

This type represents key LookupDataSize according to Table 94 .

Enumerator
KEY_LOOKUP_SIZE_FIVE 

Size is 5.

KEY_LOOKUP_SIZE_NINE 

Size is 9.

This type represents real size of key LookupData .

Enumerator
KEY_LOOKUP_SIZE_FIVE_VAL 

Size is 5.

KEY_LOOKUP_SIZE_NINE_VAL 

Size is 9.

MAC sublayer security levels.

In accordance with IEEE Std 802.15.4-2006, section 7.6.2.2.1

Enumerator
MAC_SEC_OFF 

Security is OFF.

MAC_SEC_MIC32 

MIC32 security.

MAC_SEC_MIC64 

MIC64 security.

MAC_SEC_MIC128 

MIC128 security.

MAC_SEC_ENC 

ENC security.

MAC_SEC_ENC_MIC32 

ENC/MIC32 security.

MAC_SEC_ENC_MIC64 

ENC/MIC64 security.

MAC_SEC_ENC_MIC128 

ENC/MIC128 security.


Documentation feedback | Developer Zone | Subscribe | Updated