diff --git a/include/tins/dot11/dot11_mgmt.h b/include/tins/dot11/dot11_mgmt.h index 17a4bfd..e1efa70 100644 --- a/include/tins/dot11/dot11_mgmt.h +++ b/include/tins/dot11/dot11_mgmt.h @@ -43,6 +43,21 @@ namespace Tins { */ class Dot11ManagementFrame : public Dot11 { public: + /** + * \brief Enum that represents the map field within a channels map field. + * + * These bitmasks can be used to get or set the second value of + * ibss_dfs_params().channel_map + */ + enum MapMask { + BSS = 0x1, + OFDM_PREAMBLE = 0x2, + UNIDENTIFIED_SIGNAL = 0x4, + RADARE = 0x8, + UNMEASURED = 0x10, + RESERVED = 0xE0 + }; + /** * The supported rates container type. */ @@ -53,6 +68,11 @@ public: */ typedef std::vector > channels_type; + /** + * The channel map container type. + */ + typedef std::vector > channel_map_type; + /** * The requested information container type. */ @@ -409,14 +429,14 @@ public: address_type dfs_owner; uint8_t recovery_interval; - channels_type channel_map; + channel_map_type channel_map; ibss_dfs_params() {} ibss_dfs_params(const address_type &addr, - uint8_t recovery_interval, const channels_type &channels) + uint8_t recovery_interval, const channel_map_type &channel_map) : dfs_owner(addr), recovery_interval(recovery_interval), - channel_map(channels) {} + channel_map(channel_map) {} static ibss_dfs_params from_option(const option &opt); };