diff options
author | jake <jake@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-09-10 20:42:17 +0000 |
---|---|---|
committer | jake <jake@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-09-10 20:42:17 +0000 |
commit | ad0a6c77327f288b9830be3f9fd31ee8ef1fceb1 (patch) | |
tree | 91856fc7fd0a73f5356b96823d9c779676dadfab /epan/dissectors/packet-ieee802154.h | |
parent | 329d8d4994f3c70d91113e11c6e87ae1c31395f5 (diff) |
From Jean-François Wauthy:
Implementation of the IEEE 802.15.4 dissector ignores the Auxiliary Security
Header of the MHR (see IEEE 802.15.4-2006 specs p.138).
The attached patch, add two things :
1) Support for dissecting the Auxiliary Security Header
2) Add a preference option to force the dissection of
the FCS field as being in the TI CC24xx format
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29849 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-ieee802154.h')
-rw-r--r-- | epan/dissectors/packet-ieee802154.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ieee802154.h b/epan/dissectors/packet-ieee802154.h index 006c0ef3c0..b41b28ed06 100644 --- a/epan/dissectors/packet-ieee802154.h +++ b/epan/dissectors/packet-ieee802154.h @@ -127,6 +127,29 @@ /* Bit mask for PHY length field */ #define IEEE802154_PHY_LENGTH_MASK 0x7f +/* Auxiliary Security Header */ +#define IEEE802154_AUX_SEC_LEVEL_MASK 0x07 /* Security Level */ +#define IEEE802154_AUX_KEY_ID_MODE_MASK 0x18 /* Key Identifier Mode */ +#define IEEE802154_AUX_KEY_RESERVED_MASK 0xE0 /* Reserved */ + +typedef enum { + SECURITY_LEVEL_NONE = 0x00, + SECURITY_LEVEL_MIC_32 = 0x01, + SECURITY_LEVEL_MIC_64 = 0x02, + SECURITY_LEVEL_MIC_128 = 0x03, + SECURITY_LEVEL_ENC = 0x04, + SECURITY_LEVEL_ENC_MIC_32 = 0x05, + SECURITY_LEVEL_ENC_MIC_64 = 0x06, + SECURITY_LEVEL_ENC_MIC_128 = 0x07 +} ieee802154_security_level; + +typedef enum { + KEY_ID_MODE_IMPLICIT = 0x00, + KEY_ID_MODE_KEY_INDEX = 0x01, + KEY_ID_MODE_KEY_EXPLICIT_4 = 0x02, + KEY_ID_MODE_KEY_EXPLICIT_8 = 0x03 +} ieee802154_key_id_mode; + /* Structure containing information regarding all necessary packet feilds. */ typedef struct { /* Frame control field. */ @@ -156,7 +179,6 @@ typedef struct { /* Some Helper Function Definitions. */ -extern guint get_by_mask(guint, guint); extern gchar *print_eui64(guint64); extern gchar *print_eui64_oui(guint64); |