PicoScenes API Docs
 
Loading...
Searching...
No Matches
MAC80211Utils.hxx
Go to the documentation of this file.
1//
2// Created by Zhiping Jiang on 12/27/19.
3//
4
5#ifndef PICOSCENES_PLATFORM_MAC80211UTILS_HXX
6#define PICOSCENES_PLATFORM_MAC80211UTILS_HXX
7
8#include "ModularPicoScenesFrame.hxx"
9#include "SystemTools.hxx"
10
12 std::optional<std::string> path2Intel5300Debugfs(const std::string &phyId, const std::string &dest);
13
14 std::optional<std::string> path2IntelMVMDebugfs(const std::string &phyId, const std::string &dest);
15
16 std::optional<std::string> path2Ath9kDebugfs(const std::string &phyId, const std::string &dest);
17
18 uint32_t getIntelNewMVMRateNFlags4TxFrame(const ModularPicoScenesTxFrame &txframe);
19
20 uint32_t getIntelLegacyMVMRateNFlags4TxFrame(const ModularPicoScenesTxFrame &txframe);
21
22 uint32_t getIntelDVMRateNFlags4TxFrame(const ModularPicoScenesTxFrame &txframe);
23
24 bool isQCA9300NIC(const std::string &anyId);
25
26 bool isIWL5300NIC(const std::string &anyId);
27
28 bool isIntelMVMTypeNIC(const std::string &anyId);
29
30 bool isIntelAX200TypeNIC(const std::string &anyId);
31
32 bool isIntelAX210TypeNIC(const std::string &anyId);
33
34 bool isIntelAX211SubTypeNIC(const std::string &anyId);
35
36 bool isSupportedHardware(const std::string &anyId);
37
39
40 bool isIWLMVMUsingCSIFirmware(const std::string &anyId);
41
43
45
46 std::vector<std::string> searchAllCompatibleIntel5300Phys();
47
48 std::vector<std::string> searchAllCompatibleIntelMVMPhys();
49
50 std::vector<std::string> searchAllCompatibleAth9kPhys();
51
52 std::vector<std::string> searchAllCompatiblePhys();
53
55
56 std::optional<std::string> anyId2PhyId(const std::string &anyId);
57
58 std::optional<std::string> devId2PhyId(const std::string &devId);
59
60 std::optional<std::string> anyId2DevId(const std::string &anyId);
61
62 std::optional<std::string> anyId2MonId(const std::string &anyId);
63
64 std::optional<std::string> anyId2PhyPath(const std::string &anyId);
65
66 std::array<uint8_t, 6> MACAddress4PhyId(const std::string &phyId);
67
68 std::array<uint8_t, 6> MACAddress4DevId(const std::string &devId);
69
70 std::vector<std::string> searchNetworkInterfaces4PhyId(const std::string &phyId);
71
72 std::string searchMonId4PhyId(const std::string &phyId);
73
74 std::string searchDevId4PhyId(const std::string &phyId);
75
76 std::vector<double> systemSupportedChannelFrequencies(const std::string &phyId);
77
78 const std::vector<std::tuple<int, int, int>> &standard2_4_5GHzbandChannelsUpTo40MHzBW();
79
80 const std::vector<std::tuple<int, int, int>> &standard2_4_5GHzbandChannelsUpTo160MHzBW();
81
82 const std::vector<std::tuple<int, int, int>> &standardChannelsIn2_4_5_6GHzBandUpTo160MHzBW();
83
84 bool isSupportedChannelParametersBy2_4_5GBandHT40RateNIC(double controlFreq, double bw, double centerFreq);
85
86 bool isSupportedChannelParametersBy2_4_5GBandHE160RateNIC(double controlFreq, double bw, double centerFreq);
87
88 bool isSupportedChannelParametersBy2_4_5_6GBandHE160RateNIC(double controlFreq, double bw, double centerFreq);
89}
90
91
92#endif //PICOSCENES_PLATFORM_MAC80211UTILS_HXX
bool isIntelAX200TypeNIC(const std::string &anyId)
std::optional< std::string > devId2PhyId(const std::string &devId)
bool isIWLMVMUsingCSIFirmware(const std::string &anyId)
const std::vector< std::tuple< int, int, int > > & standard2_4_5GHzbandChannelsUpTo160MHzBW()
const std::vector< std::tuple< int, int, int > > & standardChannelsIn2_4_5_6GHzBandUpTo160MHzBW()
bool isIntelAX211SubTypeNIC(const std::string &anyId)
std::vector< std::string > searchAllCompatibleAth9kPhys()
std::vector< std::string > searchAllCompatibleIntel5300Phys()
bool isIntelMVMTypeNIC(const std::string &anyId)
std::string searchMonId4PhyId(const std::string &phyId)
bool isIWL5300NIC(const std::string &anyId)
bool isIWLAX211PNVMFileCorrect()
std::string searchDevId4PhyId(const std::string &phyId)
std::vector< std::string > searchAllCompatiblePhys()
std::vector< double > systemSupportedChannelFrequencies(const std::string &phyId)
bool isSupportedHardware(const std::string &anyId)
std::optional< std::string > path2IntelMVMDebugfs(const std::string &phyId, const std::string &dest)
uint32_t getIntelDVMRateNFlags4TxFrame(const ModularPicoScenesTxFrame &txframe)
bool isIntelAX210TypeNIC(const std::string &anyId)
std::optional< std::string > path2Ath9kDebugfs(const std::string &phyId, const std::string &dest)
std::optional< std::string > path2Intel5300Debugfs(const std::string &phyId, const std::string &dest)
std::array< uint8_t, 6 > MACAddress4DevId(const std::string &devId)
bool isSupportedChannelParametersBy2_4_5GBandHT40RateNIC(double controlFreq, double bw, double centerFreq)
std::optional< std::string > anyId2DevId(const std::string &anyId)
bool isIWL5300UsingCSIFirmware()
std::vector< std::string > searchNetworkInterfaces4PhyId(const std::string &phyId)
uint32_t getIntelLegacyMVMRateNFlags4TxFrame(const ModularPicoScenesTxFrame &txframe)
const std::vector< std::tuple< int, int, int > > & standard2_4_5GHzbandChannelsUpTo40MHzBW()
std::vector< std::string > searchAllCompatibleIntelMVMPhys()
std::optional< std::string > anyId2PhyPath(const std::string &anyId)
bool isSupportedChannelParametersBy2_4_5GBandHE160RateNIC(double controlFreq, double bw, double centerFreq)
std::optional< std::string > anyId2MonId(const std::string &anyId)
bool isQCA9300NIC(const std::string &anyId)
uint32_t getIntelNewMVMRateNFlags4TxFrame(const ModularPicoScenesTxFrame &txframe)
std::array< uint8_t, 6 > MACAddress4PhyId(const std::string &phyId)
bool isSupportedChannelParametersBy2_4_5_6GBandHE160RateNIC(double controlFreq, double bw, double centerFreq)
bool isIWLAX210PNVMFileCorrect()
std::optional< std::string > anyId2PhyId(const std::string &anyId)