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... | |
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.
enum mac_key_id_mode_t |
enum mac_security_level_t |
MAC sublayer security levels.
In accordance with IEEE Std 802.15.4-2006, section 7.6.2.2.1