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
| 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