#include <senf/Ext/NetEmu/WLAN/WirelessNLController.hh>
Classes | |
struct | ChannelMode |
struct | DFSState |
struct | IfaceType |
struct | MonitorFlags |
class | NetlinkEvent |
struct | ScanResults |
struct | Survey |
struct | TxPowerSetting |
Public Types | |
enum | Band_t { BAND_2GHZ = NL80211_BAND_2GHZ, BAND_5GHZ = NL80211_BAND_5GHZ } |
typedef unsigned | bitrate_type |
typedef unsigned | frequency_type |
typedef boost::iterator_range< Frequencies_iterator > | FrequencyRange |
typedef boost::function< int(nl_msg *)> | NetlinkMsgCallback |
typedef std::set< std::string > | IfaceNameSet |
Public Member Functions | |
WirelessNLController (bool disableSeqNoCheck=true) | |
WirelessNLController (std::string const &interface) | |
JoinParameters::ptr | ibss_join (std::string const &ssid, frequency_type freq, ChannelMode::Enum channelMode, bool &success) |
void | ibss_leave () |
JoinParameters::ptr | mesh_join (std::string const &meshId, frequency_type freq, ChannelMode::Enum channelMode, bool &success) |
void | mesh_leave () |
void | set_frequency (frequency_type freq, ChannelMode::Enum=ChannelMode::NoHT20) |
void | set_txpower (TxPowerSetting::Enum setting, unsigned int mBm) |
void | add_monInterface (std::string const &name, int flags=MonitorFlags::None) |
void | add_adhocInterface (std::string const &name) |
void | add_apInterface (std::string const &name) |
void | add_meshInterface (std::string const &name, std::string const &meshId="") |
void | del_interface (std::string const &name) |
void | set_retryLimit (boost::uint8_t shortLimit, boost::uint8_t longLimit) |
void | set_txQueueParameters (boost::uint8_t queue, boost::uint16_t cwMin, boost::uint16_t cwMax, boost::uint8_t aifs, boost::uint16_t txop) |
std::pair< DFSState::Enum, std::uint32_t > | dfsState (frequency_type freq) |
void | start_radarDetection (unsigned int freq, ChannelMode::Enum=ChannelMode::NoHT20) |
template<typename ForwardReadableRange > | |
void | trigger_scan (ForwardReadableRange const &frequencies) |
void | do_trigger_scan (std::set< frequency_type > const &frequencies, std::set< std::string > const &ssids={}) |
void | set_regulatory_request (std::string const &alpha2Country) |
void | set_regulatory (RegulatoryDomain const ®Domain) |
RegulatoryDomain | get_regulatory () |
void | coverageClass (unsigned coverage) |
unsigned | coverageClass () |
bool | hasHTCapabilities () |
HTCapabilitiesInfo const & | htCapabilities () |
bool | hasVHTCapabilities () |
VHTCapabilitiesInfo const & | vhtCapabilities () |
IfaceNameSet | all_interfaces () const |
std::string const & | phyName () const |
int | phyIndex () const |
std::multiset< ScanResults > const & | getScan () |
std::set< Survey > const & | survey () |
frequency_type | frequency () |
FrequencyRange | frequencies () |
FrequencyRange | frequencies (Band_t band) |
void | set_bitrates (BitrateParameters parameters) |
BitrateParameters const & | bitrates () |
Return valid bitrates. More... | |
IfaceType::Enum | type () |
void | type (IfaceType::Enum) |
std::set< Band_t > const & | supportedBands () |
Static Public Member Functions | |
static unsigned | distanceToCoverageClass (unsigned distance) |
static int | if_nameto_phy_index (std::string const &ifname) |
static std::string | if_nameto_phy_name (std::string const &ifname) |
static int | phy_nametoindex (std::string const &phyname) |
static std::string | macToPhy (senf::MACAddress const &mac) |
static int | channelWidth (ChannelMode::Enum channelMode) |
static int | channelType (ChannelMode::Enum channelMode) |
static frequency_type | centerFreq (frequency_type freq, ChannelMode::Enum channelMode) |
Public Attributes | |
NetlinkEvent< RadarEvent > | radarEvent |
NetlinkEvent< RegulatoryDomainChangeEvent > | regulatoryDomainChangeEvent |
NetlinkEvent< ScanEvent > | scanEvent |
Definition at line 184 of file WirelessNLController.hh.
typedef unsigned senf::emu::WirelessNLController::bitrate_type |
Definition at line 233 of file WirelessNLController.hh.
typedef unsigned senf::emu::WirelessNLController::frequency_type |
Definition at line 234 of file WirelessNLController.hh.
typedef boost::iterator_range<Frequencies_iterator> senf::emu::WirelessNLController::FrequencyRange |
Definition at line 359 of file WirelessNLController.hh.
typedef std::set<std::string> senf::emu::WirelessNLController::IfaceNameSet |
Definition at line 406 of file WirelessNLController.hh.
typedef boost::function<int (nl_msg *)> senf::emu::WirelessNLController::NetlinkMsgCallback |
Definition at line 360 of file WirelessNLController.hh.
Enumerator | |
---|---|
BAND_2GHZ | |
BAND_5GHZ |
Definition at line 228 of file WirelessNLController.hh.
senf::emu::WirelessNLController::WirelessNLController | ( | bool | disableSeqNoCheck = true | ) |
Definition at line 194 of file WirelessNLController.cc.
senf::emu::WirelessNLController::WirelessNLController | ( | std::string const & | interface | ) |
Definition at line 174 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::add_adhocInterface | ( | std::string const & | name | ) |
Definition at line 1002 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::add_apInterface | ( | std::string const & | name | ) |
Definition at line 1012 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::add_meshInterface | ( | std::string const & | name, |
std::string const & | meshId = "" |
||
) |
Definition at line 1022 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::add_monInterface | ( | std::string const & | name, |
int | flags = MonitorFlags::None |
||
) |
Definition at line 986 of file WirelessNLController.cc.
senf::emu::WirelessNLController::IfaceNameSet senf::emu::WirelessNLController::all_interfaces | ( | ) | const |
Definition at line 1048 of file WirelessNLController.cc.
senf::emu::BitrateParameters const & senf::emu::WirelessNLController::bitrates | ( | ) |
Return valid bitrates.
Definition at line 546 of file WirelessNLController.cc.
|
static |
Definition at line 1217 of file WirelessNLController.cc.
|
static |
Definition at line 1200 of file WirelessNLController.cc.
|
static |
Definition at line 1184 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::coverageClass | ( | unsigned | coverage | ) |
Definition at line 1072 of file WirelessNLController.cc.
unsigned senf::emu::WirelessNLController::coverageClass | ( | ) |
Definition at line 1081 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::del_interface | ( | std::string const & | name | ) |
Definition at line 1035 of file WirelessNLController.cc.
std::pair< senf::emu::WirelessNLController::DFSState::Enum, std::uint32_t > senf::emu::WirelessNLController::dfsState | ( | frequency_type | freq | ) |
Definition at line 347 of file WirelessNLController.cc.
|
static |
Definition at line 1067 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::do_trigger_scan | ( | std::set< frequency_type > const & | frequencies, |
std::set< std::string > const & | ssids = {} |
||
) |
Definition at line 1346 of file WirelessNLController.cc.
senf::emu::WirelessNLController::FrequencyRange senf::emu::WirelessNLController::frequencies | ( | ) |
Definition at line 552 of file WirelessNLController.cc.
senf::emu::WirelessNLController::FrequencyRange senf::emu::WirelessNLController::frequencies | ( | Band_t | band | ) |
Definition at line 559 of file WirelessNLController.cc.
senf::emu::WirelessNLController::frequency_type senf::emu::WirelessNLController::frequency | ( | ) |
Definition at line 891 of file WirelessNLController.cc.
senf::emu::RegulatoryDomain senf::emu::WirelessNLController::get_regulatory | ( | ) |
Definition at line 435 of file WirelessNLController.cc.
std::multiset< senf::emu::WirelessNLController::ScanResults > const & senf::emu::WirelessNLController::getScan | ( | ) |
Definition at line 1369 of file WirelessNLController.cc.
bool senf::emu::WirelessNLController::hasHTCapabilities | ( | ) |
Definition at line 1087 of file WirelessNLController.cc.
bool senf::emu::WirelessNLController::hasVHTCapabilities | ( | ) |
Definition at line 1093 of file WirelessNLController.cc.
senf::emu::HTCapabilitiesInfo const & senf::emu::WirelessNLController::htCapabilities | ( | ) |
Definition at line 1099 of file WirelessNLController.cc.
senf::emu::WirelessNLController::IbssJoinParameters::ptr senf::emu::WirelessNLController::ibss_join | ( | std::string const & | ssid, |
frequency_type | freq, | ||
ChannelMode::Enum | channelMode, | ||
bool & | success | ||
) |
Definition at line 1304 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::ibss_leave | ( | ) |
Definition at line 1298 of file WirelessNLController.cc.
|
static |
Definition at line 1154 of file WirelessNLController.cc.
|
static |
Definition at line 1166 of file WirelessNLController.cc.
|
static |
Definition at line 1172 of file WirelessNLController.cc.
senf::emu::WirelessNLController::MeshJoinParameters::ptr senf::emu::WirelessNLController::mesh_join | ( | std::string const & | meshId, |
frequency_type | freq, | ||
ChannelMode::Enum | channelMode, | ||
bool & | success | ||
) |
Definition at line 1252 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::mesh_leave | ( | ) |
Definition at line 1246 of file WirelessNLController.cc.
|
static |
Definition at line 1160 of file WirelessNLController.cc.
int senf::emu::WirelessNLController::phyIndex | ( | ) | const |
Definition at line 253 of file WirelessNLController.cc.
std::string const & senf::emu::WirelessNLController::phyName | ( | ) | const |
Definition at line 259 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::set_bitrates | ( | BitrateParameters | parameters | ) |
Definition at line 480 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::set_frequency | ( | frequency_type | freq, |
ChannelMode::Enum | channelMode = ChannelMode::NoHT20 |
||
) |
Definition at line 357 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::set_regulatory | ( | RegulatoryDomain const & | regDomain | ) |
Definition at line 408 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::set_regulatory_request | ( | std::string const & | alpha2Country | ) |
Definition at line 396 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::set_retryLimit | ( | boost::uint8_t | shortLimit, |
boost::uint8_t | longLimit | ||
) |
Definition at line 377 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::set_txpower | ( | TxPowerSetting::Enum | setting, |
unsigned int | mBm | ||
) |
Definition at line 366 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::set_txQueueParameters | ( | boost::uint8_t | queue, |
boost::uint16_t | cwMin, | ||
boost::uint16_t | cwMax, | ||
boost::uint8_t | aifs, | ||
boost::uint16_t | txop | ||
) |
Definition at line 448 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::start_radarDetection | ( | unsigned int | freq, |
ChannelMode::Enum | channelMode = ChannelMode::NoHT20 |
||
) |
Definition at line 387 of file WirelessNLController.cc.
std::set< senf::emu::WirelessNLController::Band_t > const & senf::emu::WirelessNLController::supportedBands | ( | ) |
Definition at line 540 of file WirelessNLController.cc.
std::set< senf::emu::WirelessNLController::Survey > const & senf::emu::WirelessNLController::survey | ( | ) |
Definition at line 883 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::trigger_scan | ( | ForwardReadableRange const & | frequencies | ) |
senf::emu::WirelessNLController::IfaceType::Enum senf::emu::WirelessNLController::type | ( | ) |
Definition at line 942 of file WirelessNLController.cc.
void senf::emu::WirelessNLController::type | ( | IfaceType::Enum | type | ) |
Definition at line 949 of file WirelessNLController.cc.
senf::emu::VHTCapabilitiesInfo const & senf::emu::WirelessNLController::vhtCapabilities | ( | ) |
Definition at line 1105 of file WirelessNLController.cc.
NetlinkEvent<RadarEvent> senf::emu::WirelessNLController::radarEvent |
Definition at line 449 of file WirelessNLController.hh.
NetlinkEvent<RegulatoryDomainChangeEvent> senf::emu::WirelessNLController::regulatoryDomainChangeEvent |
Definition at line 450 of file WirelessNLController.hh.
NetlinkEvent<ScanEvent> senf::emu::WirelessNLController::scanEvent |
Definition at line 451 of file WirelessNLController.hh.