Commit 56afef56 authored by Solomon Peachy's avatar Solomon Peachy Committed by Greg Kroah-Hartman

Staging: wlan-ng: Purge all MIBs not used internally.

The next step is to bypass the MIB calling mechanism altogether and just
invoke the hardware directly where needed, but at least now the list has
been paired down considerably.
Signed-off-by: default avatarSolomon Peachy <pizza@shaftnet.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent e02c69b8
......@@ -650,135 +650,6 @@
P80211DID_MKITEM(4) | 0x00000000)
#define DIDmib_cat_dot11smt \
P80211DID_MKSECTION(1)
#define DIDmib_dot11smt_p80211Table \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(1))
#define DIDmib_dot11smt_p80211Table_p80211_ifstate \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(1) | 0x10000000)
#define DIDmib_dot11smt_dot11StationConfigTable \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2))
#define DIDmib_dot11smt_dot11StationConfigTable_dot11StationID \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(1) | 0x18000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11CFPollable \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(3) | 0x10000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11AuthenticationResponseTimeOut \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(6) | 0x18000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11PrivacyOptionImplemented \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(7) | 0x10000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11PowerManagementMode \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(8) | 0x18000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredSSID \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(9) | 0x18000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredBSSType \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(10) | 0x18000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11OperationalRateSet \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(11) | 0x18000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11BeaconPeriod \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(12) | 0x18000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11DTIMPeriod \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(13) | 0x18000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11AssociationResponseTimeOut \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(14) | 0x10000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11DisassociateReason \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(15) | 0x10000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11DisassociateStation \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(16) | 0x10000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11DeauthenticateReason \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(17) | 0x10000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11DeauthenticateStation \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(18) | 0x10000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11AuthenticateFailStatus \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(19) | 0x10000000)
#define DIDmib_dot11smt_dot11StationConfigTable_dot11AuthenticateFailStation \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(20) | 0x10000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3))
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm1 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(1) | 0x14000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable1 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(2) | 0x1c000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm2 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(3) | 0x14000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable2 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(4) | 0x1c000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm3 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(5) | 0x14000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable3 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(6) | 0x1c000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm4 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(7) | 0x14000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable4 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(8) | 0x1c000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm5 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(9) | 0x14000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable5 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(10) | 0x1c000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm6 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(11) | 0x14000000)
#define DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable6 \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(12) | 0x1c000000)
#define DIDmib_dot11smt_dot11WEPDefaultKeysTable \
(P80211DID_MKSECTION(1) | \
P80211DID_MKGROUP(4))
......@@ -842,35 +713,15 @@
(P80211DID_MKSECTION(2) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(6) | 0x10000000)
#define DIDmib_dot11mac_dot11OperationTable_dot11MaxReceiveLifetime \
(P80211DID_MKSECTION(2) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(7) | 0x10000000)
#define DIDmib_cat_dot11phy \
P80211DID_MKSECTION(3)
#define DIDmib_dot11phy_dot11PhyOperationTable \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(1))
#define DIDmib_dot11phy_dot11PhyOperationTable_dot11PHYType \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(1) | 0x10000000)
#define DIDmib_dot11phy_dot11PhyOperationTable_dot11CurrentRegDomain \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(2) | 0x18000000)
#define DIDmib_dot11phy_dot11PhyOperationTable_dot11TempType \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(3) | 0x10000000)
#define DIDmib_dot11phy_dot11PhyTxPowerTable_dot11CurrentTxPowerLevel \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(10) | 0x18000000)
#define DIDmib_dot11phy_dot11PhyOperationTable_dot11ShortPreambleEnabled \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(6) | 0x10000000)
#define DIDmib_dot11phy_dot11PhyDSSSTable \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(5))
......@@ -878,22 +729,6 @@
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(1) | 0x10000000)
#define DIDmib_dot11phy_dot11PhyDSSSTable_dot11CCAModeSupported \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(2) | 0x10000000)
#define DIDmib_dot11phy_dot11PhyDSSSTable_dot11CurrentCCAMode \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(3) | 0x10000000)
#define DIDmib_dot11phy_dot11PhyDSSSTable_dot11EDThreshold \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(4) | 0x18000000)
#define DIDmib_dot11phy_dot11PhyDSSSTable_dot11ShortPreambleOptionImplemented \
(P80211DID_MKSECTION(3) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(5) | 0x10000000)
#define DIDmib_cat_lnx \
P80211DID_MKSECTION(4)
#define DIDmib_lnx_lnxConfigTable \
......@@ -905,25 +740,6 @@
P80211DID_MKITEM(1) | 0x18000000)
#define DIDmib_cat_p2 \
P80211DID_MKSECTION(5)
#define DIDmib_p2_p2Table \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(1))
#define DIDmib_p2_p2Table_p2MMTx \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(1) | 0x18000000)
#define DIDmib_p2_p2Table_p2ReceivedFrameStatistics \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(3) | 0x10000000)
#define DIDmib_p2_p2Table_p2CommunicationTallies \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(4) | 0x10000000)
#define DIDmib_p2_p2Table_p2Comment \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(1) | \
P80211DID_MKITEM(8) | 0x18000000)
#define DIDmib_p2_p2Static \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2))
......@@ -931,452 +747,11 @@
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(1) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfOwnMACAddress \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(2) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfDesiredSSID \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(3) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfOwnChannel \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(4) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfOwnSSID \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(5) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfOwnATIMWindow \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(6) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfSystemScale \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(7) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfMaxDataLength \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(8) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfWDSAddress \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(9) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfPMEnabled \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(10) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfPMEPS \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(11) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfMulticastReceive \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(12) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfMaxSleepDuration \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(13) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfPMHoldoverDuration \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(14) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfOwnName \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(15) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfOwnDTIMPeriod \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(16) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfWEPDefaultKeyID \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(24) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfWEPDefaultKey0 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(25) | 0x08000000)
#define DIDmib_p2_p2Static_p2CnfWEPDefaultKey1 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(26) | 0x08000000)
#define DIDmib_p2_p2Static_p2CnfWEPDefaultKey2 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(27) | 0x08000000)
#define DIDmib_p2_p2Static_p2CnfWEPDefaultKey3 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(28) | 0x08000000)
#define DIDmib_p2_p2Static_p2CnfWEPFlags \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(29) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfAuthentication \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(30) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfTxControl \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(32) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfRoamingMode \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(33) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfRcvCrcError \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(35) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfAltRetryCount \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(36) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfSTAPCFInfo \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(42) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfPriorityQUsage \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(43) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfTIMCtrl \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(44) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfThirty2Tally \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(45) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfShortPreamble \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(47) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfAuthenticationRspTO \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(49) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfBasicRates \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(50) | 0x18000000)
#define DIDmib_p2_p2Static_p2CnfSupportedRates \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(2) | \
P80211DID_MKITEM(51) | 0x18000000)
#define DIDmib_p2_p2Dynamic \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3))
#define DIDmib_p2_p2Dynamic_p2CreateIBSS \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(1) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2FragmentationThreshold \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(2) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2RTSThreshold \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(3) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2TxRateControl \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(4) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2PromiscuousMode \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(5) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2FragmentationThreshold0 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(6) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2FragmentationThreshold1 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(7) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2FragmentationThreshold2 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(8) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2FragmentationThreshold3 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(9) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2FragmentationThreshold4 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(10) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2FragmentationThreshold5 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(11) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2FragmentationThreshold6 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(12) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2RTSThreshold0 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(13) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2RTSThreshold1 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(14) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2RTSThreshold2 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(15) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2RTSThreshold3 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(16) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2RTSThreshold4 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(17) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2RTSThreshold5 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(18) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2RTSThreshold6 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(19) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2TxRateControl0 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(20) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2TxRateControl1 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(21) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2TxRateControl2 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(22) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2TxRateControl3 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(23) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2TxRateControl4 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(24) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2TxRateControl5 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(25) | 0x18000000)
#define DIDmib_p2_p2Dynamic_p2TxRateControl6 \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(3) | \
P80211DID_MKITEM(26) | 0x18000000)
#define DIDmib_p2_p2NIC \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5))
#define DIDmib_p2_p2NIC_p2MaxLoadTime \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(1) | 0x10000000)
#define DIDmib_p2_p2NIC_p2DLBufferPage \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(2) | 0x10000000)
#define DIDmib_p2_p2NIC_p2DLBufferOffset \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(3) | 0x10000000)
#define DIDmib_p2_p2NIC_p2DLBufferLength \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(4) | 0x10000000)
#define DIDmib_p2_p2NIC_p2PRIIdentity \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(5) | 0x10000000)
#define DIDmib_p2_p2NIC_p2PRISupRange \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(6) | 0x10000000)
#define DIDmib_p2_p2NIC_p2CFIActRanges \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(7) | 0x10000000)
#define DIDmib_p2_p2NIC_p2NICSerialNumber \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(8) | 0x10000000)
#define DIDmib_p2_p2NIC_p2NICIdentity \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(9) | 0x10000000)
#define DIDmib_p2_p2NIC_p2MFISupRange \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(10) | 0x10000000)
#define DIDmib_p2_p2NIC_p2CFISupRange \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(11) | 0x10000000)
#define DIDmib_p2_p2NIC_p2ChannelList \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(12) | 0x10000000)
#define DIDmib_p2_p2NIC_p2RegulatoryDomains \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(13) | 0x10000000)
#define DIDmib_p2_p2NIC_p2TempType \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(14) | 0x10000000)
#define DIDmib_p2_p2NIC_p2STAIdentity \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(15) | 0x10000000)
#define DIDmib_p2_p2NIC_p2STASupRange \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(16) | 0x10000000)
#define DIDmib_p2_p2NIC_p2MFIActRanges \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(17) | 0x10000000)
#define DIDmib_p2_p2NIC_p2STACFIActRanges \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(18) | 0x10000000)
#define DIDmib_p2_p2NIC_p2BuildSequence \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(19) | 0x10000000)
#define DIDmib_p2_p2NIC_p2PrimaryFWID \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(20) | 0x10000000)
#define DIDmib_p2_p2NIC_p2SecondaryFWID \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(5) | \
P80211DID_MKITEM(21) | 0x10000000)
#define DIDmib_p2_p2MAC \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6))
#define DIDmib_p2_p2MAC_p2PortStatus \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(1) | 0x10000000)
#define DIDmib_p2_p2MAC_p2CurrentSSID \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(2) | 0x10000000)
#define DIDmib_p2_p2MAC_p2CurrentBSSID \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(3) | 0x10000000)
#define DIDmib_p2_p2MAC_p2CommsQuality \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(4) | 0x10000000)
#define DIDmib_p2_p2MAC_p2CommsQualityCQ \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(5) | 0x10000000)
#define DIDmib_p2_p2MAC_p2CommsQualityASL \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(6) | 0x10000000)
#define DIDmib_p2_p2MAC_p2CommsQualityANL \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(7) | 0x10000000)
#define DIDmib_p2_p2MAC_p2dbmCommsQuality \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(8) | 0x10000000)
#define DIDmib_p2_p2MAC_p2dbmCommsQualityCQ \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(9) | 0x10000000)
#define DIDmib_p2_p2MAC_p2dbmCommsQualityASL \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(10) | 0x10000000)
#define DIDmib_p2_p2MAC_p2dbmCommsQualityANL \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(11) | 0x10000000)
#define DIDmib_p2_p2MAC_p2CurrentTxRate \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(12) | 0x10000000)
#define DIDmib_p2_p2MAC_p2CurrentBeaconInterval \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(13) | 0x10000000)
#define DIDmib_p2_p2MAC_p2StaCurrentScaleThresholds \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(14) | 0x10000000)
#define DIDmib_p2_p2MAC_p2ProtocolRspTime \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(16) | 0x10000000)
#define DIDmib_p2_p2MAC_p2ShortRetryLimit \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(17) | 0x10000000)
#define DIDmib_p2_p2MAC_p2LongRetryLimit \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(18) | 0x10000000)
#define DIDmib_p2_p2MAC_p2MaxTransmitLifetime \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(19) | 0x10000000)
#define DIDmib_p2_p2MAC_p2MaxReceiveLifetime \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(20) | 0x10000000)
#define DIDmib_p2_p2MAC_p2CFPollable \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(21) | 0x10000000)
#define DIDmib_p2_p2MAC_p2AuthenticationAlgorithms \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(22) | 0x10000000)
#define DIDmib_p2_p2MAC_p2PrivacyOptionImplemented \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(6) | \
P80211DID_MKITEM(23) | 0x10000000)
#define DIDmib_p2_p2Modem \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(7))
#define DIDmib_p2_p2Modem_p2PHYType \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(7) | \
P80211DID_MKITEM(1) | 0x10000000)
#define DIDmib_p2_p2Modem_p2CurrentChannel \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(7) | \
P80211DID_MKITEM(2) | 0x10000000)
#define DIDmib_p2_p2Modem_p2CurrentPowerState \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(7) | \
P80211DID_MKITEM(3) | 0x10000000)
#define DIDmib_p2_p2Modem_p2CCAMode \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(7) | \
P80211DID_MKITEM(4) | 0x10000000)
#define DIDmib_p2_p2Modem_p2SupportedDataRates \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(7) | \
P80211DID_MKITEM(5) | 0x10000000)
#define DIDmib_p2_p2Modem_p2TxPowerMax \
(P80211DID_MKSECTION(5) | \
P80211DID_MKGROUP(7) | \
P80211DID_MKITEM(6) | 0x18000000)
#endif
......@@ -206,7 +206,6 @@ typedef struct wlandevice
p80211pstr32_t ssid;
u32 macmode;
int linkstatus;
int shortpreamble; /* C bool */
/* WEP State */
u8 wep_keys[NUM_WEPKEYS][MAX_KEYLEN];
......
......@@ -228,33 +228,6 @@ static int p80211req_mibset_mibget(wlandevice_t *wlandev,
DBFENTER;
switch (mibitem->did) {
case DIDmib_dot11smt_p80211Table_p80211_ifstate: {
u32 *data = (u32 *) mibitem->data;
if (isget)
switch (wlandev->msdstate) {
case WLAN_MSD_HWPRESENT:
*data = P80211ENUM_ifstate_disable;
break;
case WLAN_MSD_FWLOAD:
*data = P80211ENUM_ifstate_fwload;
break;
case WLAN_MSD_RUNNING:
*data = P80211ENUM_ifstate_enable;
break;
default:
*data = P80211ENUM_ifstate_enable;
}
break;
}
case DIDmib_dot11phy_dot11PhyOperationTable_dot11ShortPreambleEnabled: {
u32 *data = (u32 *) mibitem->data;
if (isget)
*data = wlandev->shortpreamble;
else
wlandev->shortpreamble = *data;
break;
}
case DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey0: {
if (!isget)
wep_change_key(wlandev, 0, key, pstr->len);
......
......@@ -112,14 +112,6 @@ typedef struct mibrec
/*================================================================*/
/* Local Function Declarations */
static int prism2mib_bytestr2pstr(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_bytearea2pstr(
mibrec_t *mib,
int isget,
......@@ -136,38 +128,6 @@ hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_uint32array(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_uint32offset(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_truth(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_preamble(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_flag(
mibrec_t *mib,
int isget,
......@@ -176,14 +136,6 @@ hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_regulatorydomains(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_wepdefaultkey(
mibrec_t *mib,
int isget,
......@@ -192,14 +144,6 @@ hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_powermanagement(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_privacyinvoked(
mibrec_t *mib,
int isget,
......@@ -224,38 +168,6 @@ hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_operationalrateset(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_fwid(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_authalg(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_authalgenable(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data);
static int prism2mib_priv(
mibrec_t *mib,
int isget,
......@@ -270,95 +182,6 @@ void *data);
static mibrec_t mibtab[] = {
/* dot11smt MIB's */
{ DIDmib_dot11smt_dot11StationConfigTable_dot11StationID,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFOWNMACADDR, HFA384x_RID_CNFOWNMACADDR_LEN, 0,
prism2mib_bytearea2pstr },
{ DIDmib_dot11smt_dot11StationConfigTable_dot11CFPollable,
F_STA | F_READ,
HFA384x_RID_CFPOLLABLE, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11smt_dot11StationConfigTable_dot11AuthenticationResponseTimeOut,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFAUTHRSPTIMEOUT, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11smt_dot11StationConfigTable_dot11PrivacyOptionImplemented,
F_STA | F_READ,
HFA384x_RID_PRIVACYOPTIMP, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11smt_dot11StationConfigTable_dot11PowerManagementMode,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFPMENABLED, 0, 0,
prism2mib_powermanagement },
{ DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredSSID,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFDESIREDSSID, HFA384x_RID_CNFDESIREDSSID_LEN, 0,
prism2mib_bytestr2pstr },
{ DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredBSSType,
F_STA | F_READ | F_WRITE,
0, 0, 0,
prism2mib_priv },
{ DIDmib_dot11smt_dot11StationConfigTable_dot11OperationalRateSet,
F_STA | F_READ | F_WRITE,
HFA384x_RID_TXRATECNTL, 0, 0,
prism2mib_operationalrateset },
{ DIDmib_dot11smt_dot11StationConfigTable_dot11DTIMPeriod,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFOWNDTIMPER, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11smt_dot11StationConfigTable_dot11AssociationResponseTimeOut,
F_STA | F_READ,
HFA384x_RID_PROTOCOLRSPTIME, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm1,
F_STA | F_READ,
1, 0, 0,
prism2mib_authalg },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm2,
F_STA | F_READ,
2, 0, 0,
prism2mib_authalg },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm3,
F_STA | F_READ,
3, 0, 0,
prism2mib_authalg },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm4,
F_STA | F_READ,
4, 0, 0,
prism2mib_authalg },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm5,
F_STA | F_READ,
5, 0, 0,
prism2mib_authalg },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm6,
F_STA | F_READ,
6, 0, 0,
prism2mib_authalg },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable1,
F_STA | F_READ | F_WRITE,
1, 0, 0,
prism2mib_authalgenable },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable2,
F_STA | F_READ | F_WRITE,
2, 0, 0,
prism2mib_authalgenable },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable3,
F_STA | F_READ | F_WRITE,
3, 0, 0,
prism2mib_authalgenable },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable4,
F_STA | F_READ | F_WRITE,
4, 0, 0,
prism2mib_authalgenable },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable5,
F_STA | F_READ | F_WRITE,
5, 0, 0,
prism2mib_authalgenable },
{ DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable6,
F_STA | F_READ | F_WRITE,
6, 0, 0,
prism2mib_authalgenable },
{ DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey0,
F_STA | F_WRITE,
HFA384x_RID_CNFWEPDEFAULTKEY0, 0, 0,
......@@ -387,10 +210,6 @@ static mibrec_t mibtab[] = {
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFWEPFLAGS, HFA384x_WEPFLAGS_EXCLUDE, 0,
prism2mib_excludeunencrypted },
{ DIDmib_dot11phy_dot11PhyOperationTable_dot11ShortPreambleEnabled,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFSHORTPREAMBLE, 0, 0,
prism2mib_preamble },
/* dot11mac MIB's */
......@@ -418,48 +237,17 @@ static mibrec_t mibtab[] = {
F_STA | F_READ,
HFA384x_RID_MAXTXLIFETIME, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11mac_dot11OperationTable_dot11MaxReceiveLifetime,
F_STA | F_READ,
HFA384x_RID_MAXRXLIFETIME, 0, 0,
prism2mib_uint32 },
/* dot11phy MIB's */
{ DIDmib_dot11phy_dot11PhyOperationTable_dot11PHYType,
F_STA | F_READ,
HFA384x_RID_PHYTYPE, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11phy_dot11PhyOperationTable_dot11TempType,
F_STA | F_READ,
HFA384x_RID_TEMPTYPE, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11phy_dot11PhyDSSSTable_dot11CurrentChannel,
F_STA | F_READ,
HFA384x_RID_CURRENTCHANNEL, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11phy_dot11PhyDSSSTable_dot11CurrentCCAMode,
F_STA | F_READ,
HFA384x_RID_CCAMODE, 0, 0,
prism2mib_uint32 },
/* p2Table MIB's */
{ DIDmib_p2_p2Table_p2MMTx,
F_STA | F_READ | F_WRITE,
0, 0, 0,
prism2mib_priv },
{ DIDmib_p2_p2Table_p2ReceivedFrameStatistics,
F_STA | F_READ,
0, 0, 0,
prism2mib_priv },
{ DIDmib_p2_p2Table_p2CommunicationTallies,
F_STA | F_READ,
0, 0, 0,
prism2mib_priv },
{ DIDmib_p2_p2Table_p2Comment,
{ DIDmib_dot11phy_dot11PhyTxPowerTable_dot11CurrentTxPowerLevel,
F_STA | F_READ | F_WRITE,
0, 0, 0,
prism2mib_priv },
HFA384x_RID_TXPOWERMAX, 0, 0,
prism2mib_uint32 },
/* p2Static MIB's */
......@@ -467,374 +255,13 @@ static mibrec_t mibtab[] = {
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFPORTTYPE, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfOwnMACAddress,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFOWNMACADDR, HFA384x_RID_CNFOWNMACADDR_LEN, 0,
prism2mib_bytearea2pstr },
{ DIDmib_p2_p2Static_p2CnfDesiredSSID,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFDESIREDSSID, HFA384x_RID_CNFDESIREDSSID_LEN, 0,
prism2mib_bytestr2pstr },
{ DIDmib_p2_p2Static_p2CnfOwnChannel,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFOWNCHANNEL, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfOwnSSID,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFOWNSSID, HFA384x_RID_CNFOWNSSID_LEN, 0,
prism2mib_bytestr2pstr },
{ DIDmib_p2_p2Static_p2CnfOwnATIMWindow,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFOWNATIMWIN, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfSystemScale,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFSYSSCALE, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfMaxDataLength,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFMAXDATALEN, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfWDSAddress,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFWDSADDR, HFA384x_RID_CNFWDSADDR_LEN, 0,
prism2mib_bytearea2pstr },
{ DIDmib_p2_p2Static_p2CnfPMEnabled,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFPMENABLED, 0, 0,
prism2mib_truth },
{ DIDmib_p2_p2Static_p2CnfPMEPS,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFPMEPS, 0, 0,
prism2mib_truth },
{ DIDmib_p2_p2Static_p2CnfMulticastReceive,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFMULTICASTRX, 0, 0,
prism2mib_truth },
{ DIDmib_p2_p2Static_p2CnfMaxSleepDuration,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFMAXSLEEPDUR, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfPMHoldoverDuration,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFPMHOLDDUR, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfOwnName,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFOWNNAME, HFA384x_RID_CNFOWNNAME_LEN, 0,
prism2mib_bytestr2pstr },
{ DIDmib_p2_p2Static_p2CnfOwnDTIMPeriod,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFOWNDTIMPER, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfWEPDefaultKeyID,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFWEPDEFAULTKEYID, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfWEPDefaultKey0,
F_STA | F_WRITE,
HFA384x_RID_CNFWEPDEFAULTKEY0, 0, 0,
prism2mib_wepdefaultkey },
{ DIDmib_p2_p2Static_p2CnfWEPDefaultKey1,
F_STA | F_WRITE,
HFA384x_RID_CNFWEPDEFAULTKEY1, 0, 0,
prism2mib_wepdefaultkey },
{ DIDmib_p2_p2Static_p2CnfWEPDefaultKey2,
F_STA | F_WRITE,
HFA384x_RID_CNFWEPDEFAULTKEY2, 0, 0,
prism2mib_wepdefaultkey },
{ DIDmib_p2_p2Static_p2CnfWEPDefaultKey3,
F_STA | F_WRITE,
HFA384x_RID_CNFWEPDEFAULTKEY3, 0, 0,
prism2mib_wepdefaultkey },
{ DIDmib_p2_p2Static_p2CnfWEPFlags,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFWEPFLAGS, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfAuthentication,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFAUTHENTICATION, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfTxControl,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFTXCONTROL, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfRoamingMode,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFROAMINGMODE, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfRcvCrcError,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFRCVCRCERROR, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfAltRetryCount,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFALTRETRYCNT, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfSTAPCFInfo,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFSTAPCFINFO, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfPriorityQUsage,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFPRIORITYQUSAGE, HFA384x_RID_CNFPRIOQUSAGE_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2Static_p2CnfTIMCtrl,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFTIMCTRL, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfThirty2Tally,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFTHIRTY2TALLY, 0, 0,
prism2mib_truth },
{ DIDmib_p2_p2Static_p2CnfShortPreamble,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFSHORTPREAMBLE, 0, 0,
prism2mib_preamble },
{ DIDmib_p2_p2Static_p2CnfAuthenticationRspTO,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFAUTHRSPTIMEOUT, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfBasicRates,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFBASICRATES, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Static_p2CnfSupportedRates,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CNFSUPPRATES, 0, 0,
prism2mib_uint32 },
/* p2Dynamic MIB's */
{ DIDmib_p2_p2Dynamic_p2CreateIBSS,
F_STA | F_READ | F_WRITE,
HFA384x_RID_CREATEIBSS, 0, 0,
prism2mib_truth },
{ DIDmib_p2_p2Dynamic_p2FragmentationThreshold,
F_STA | F_READ | F_WRITE,
HFA384x_RID_FRAGTHRESH, 0, 0,
prism2mib_fragmentationthreshold },
{ DIDmib_p2_p2Dynamic_p2RTSThreshold,
F_STA | F_READ | F_WRITE,
HFA384x_RID_RTSTHRESH, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Dynamic_p2TxRateControl,
F_STA | F_READ | F_WRITE,
HFA384x_RID_TXRATECNTL, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Dynamic_p2PromiscuousMode,
F_STA | F_READ | F_WRITE,
HFA384x_RID_PROMISCMODE, 0, 0,
prism2mib_truth },
/* p2NIC MIB's */
{ DIDmib_p2_p2NIC_p2MaxLoadTime,
F_STA | F_READ,
HFA384x_RID_MAXLOADTIME, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2NIC_p2DLBufferPage,
F_STA | F_READ,
HFA384x_RID_DOWNLOADBUFFER, HFA384x_RID_DOWNLOADBUFFER_LEN, 0,
prism2mib_uint32offset },
{ DIDmib_p2_p2NIC_p2DLBufferOffset,
F_STA | F_READ,
HFA384x_RID_DOWNLOADBUFFER, HFA384x_RID_DOWNLOADBUFFER_LEN, 1,
prism2mib_uint32offset },
{ DIDmib_p2_p2NIC_p2DLBufferLength,
F_STA | F_READ,
HFA384x_RID_DOWNLOADBUFFER, HFA384x_RID_DOWNLOADBUFFER_LEN, 2,
prism2mib_uint32offset },
{ DIDmib_p2_p2NIC_p2PRIIdentity,
F_STA | F_READ,
HFA384x_RID_PRIIDENTITY, HFA384x_RID_PRIIDENTITY_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2PRISupRange,
F_STA | F_READ,
HFA384x_RID_PRISUPRANGE, HFA384x_RID_PRISUPRANGE_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2CFIActRanges,
F_STA | F_READ,
HFA384x_RID_PRI_CFIACTRANGES, HFA384x_RID_CFIACTRANGES_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2BuildSequence,
F_STA | F_READ,
HFA384x_RID_BUILDSEQ, HFA384x_RID_BUILDSEQ_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2PrimaryFWID,
F_STA | F_READ,
0, 0, 0,
prism2mib_fwid },
{ DIDmib_p2_p2NIC_p2SecondaryFWID,
F_STA | F_READ,
0, 0, 0,
prism2mib_fwid },
{ DIDmib_p2_p2NIC_p2NICSerialNumber,
F_STA | F_READ,
HFA384x_RID_NICSERIALNUMBER, HFA384x_RID_NICSERIALNUMBER_LEN, 0,
prism2mib_bytearea2pstr },
{ DIDmib_p2_p2NIC_p2NICIdentity,
F_STA | F_READ,
HFA384x_RID_NICIDENTITY, HFA384x_RID_NICIDENTITY_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2MFISupRange,
F_STA | F_READ,
HFA384x_RID_MFISUPRANGE, HFA384x_RID_MFISUPRANGE_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2CFISupRange,
F_STA | F_READ,
HFA384x_RID_CFISUPRANGE, HFA384x_RID_CFISUPRANGE_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2ChannelList,
F_STA | F_READ,
HFA384x_RID_CHANNELLIST, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2NIC_p2RegulatoryDomains,
F_STA | F_READ,
HFA384x_RID_REGULATORYDOMAINS, HFA384x_RID_REGULATORYDOMAINS_LEN, 0,
prism2mib_regulatorydomains },
{ DIDmib_p2_p2NIC_p2TempType,
F_STA | F_READ,
HFA384x_RID_TEMPTYPE, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2NIC_p2STAIdentity,
F_STA | F_READ,
HFA384x_RID_STAIDENTITY, HFA384x_RID_STAIDENTITY_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2STASupRange,
F_STA | F_READ,
HFA384x_RID_STASUPRANGE, HFA384x_RID_STASUPRANGE_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2MFIActRanges,
F_STA | F_READ,
HFA384x_RID_STA_MFIACTRANGES, HFA384x_RID_MFIACTRANGES_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2NIC_p2STACFIActRanges,
F_STA | F_READ,
HFA384x_RID_STA_CFIACTRANGES, HFA384x_RID_CFIACTRANGES2_LEN, 0,
prism2mib_uint32array },
/* p2MAC MIB's */
{ DIDmib_p2_p2MAC_p2PortStatus,
F_STA | F_READ,
HFA384x_RID_PORTSTATUS, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2MAC_p2CurrentSSID,
F_STA | F_READ,
HFA384x_RID_CURRENTSSID, HFA384x_RID_CURRENTSSID_LEN, 0,
prism2mib_bytestr2pstr },
{ DIDmib_p2_p2MAC_p2CurrentBSSID,
F_STA | F_READ,
HFA384x_RID_CURRENTBSSID, HFA384x_RID_CURRENTBSSID_LEN, 0,
prism2mib_bytearea2pstr },
{ DIDmib_p2_p2MAC_p2CommsQuality,
F_STA | F_READ,
HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2MAC_p2CommsQualityCQ,
F_STA | F_READ,
HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 0,
prism2mib_uint32offset },
{ DIDmib_p2_p2MAC_p2CommsQualityASL,
F_STA | F_READ,
HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 1,
prism2mib_uint32offset },
{ DIDmib_p2_p2MAC_p2CommsQualityANL,
F_STA | F_READ,
HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 2,
prism2mib_uint32offset },
{ DIDmib_p2_p2MAC_p2dbmCommsQuality,
F_STA | F_READ,
HFA384x_RID_DBMCOMMSQUALITY, HFA384x_RID_DBMCOMMSQUALITY_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2MAC_p2dbmCommsQualityCQ,
F_STA | F_READ,
HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 0,
prism2mib_uint32offset },
{ DIDmib_p2_p2MAC_p2dbmCommsQualityASL,
F_STA | F_READ,
HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 1,
prism2mib_uint32offset },
{ DIDmib_p2_p2MAC_p2dbmCommsQualityANL,
F_STA | F_READ,
HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 2,
prism2mib_uint32offset },
{ DIDmib_p2_p2MAC_p2CurrentTxRate,
F_STA | F_READ,
HFA384x_RID_CURRENTTXRATE, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2MAC_p2CurrentBeaconInterval,
F_STA | F_READ,
HFA384x_RID_CURRENTBCNint, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2MAC_p2StaCurrentScaleThresholds,
F_STA | F_READ,
HFA384x_RID_CURRENTSCALETHRESH, HFA384x_RID_STACURSCALETHRESH_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2MAC_p2ProtocolRspTime,
F_STA | F_READ,
HFA384x_RID_PROTOCOLRSPTIME, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2MAC_p2ShortRetryLimit,
F_STA | F_READ,
HFA384x_RID_SHORTRETRYLIMIT, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2MAC_p2LongRetryLimit,
F_STA | F_READ,
HFA384x_RID_LONGRETRYLIMIT, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2MAC_p2MaxTransmitLifetime,
F_STA | F_READ,
HFA384x_RID_MAXTXLIFETIME, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2MAC_p2MaxReceiveLifetime,
F_STA | F_READ,
HFA384x_RID_MAXRXLIFETIME, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2MAC_p2CFPollable,
F_STA | F_READ,
HFA384x_RID_CFPOLLABLE, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2MAC_p2AuthenticationAlgorithms,
F_STA | F_READ,
HFA384x_RID_AUTHALGORITHMS, HFA384x_RID_AUTHALGORITHMS_LEN, 0,
prism2mib_uint32array },
{ DIDmib_p2_p2MAC_p2PrivacyOptionImplemented,
F_STA | F_READ,
HFA384x_RID_PRIVACYOPTIMP, 0, 0,
prism2mib_uint32 },
/* p2Modem MIB's */
{ DIDmib_p2_p2Modem_p2PHYType,
F_STA | F_READ,
HFA384x_RID_PHYTYPE, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Modem_p2CurrentChannel,
F_STA | F_READ,
HFA384x_RID_CURRENTCHANNEL, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Modem_p2CurrentPowerState,
F_STA | F_READ,
HFA384x_RID_CURRENTPOWERSTATE, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Modem_p2CCAMode,
F_STA | F_READ,
HFA384x_RID_CCAMODE, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Modem_p2TxPowerMax,
F_STA | F_READ | F_WRITE,
HFA384x_RID_TXPOWERMAX, 0, 0,
prism2mib_uint32 },
{ DIDmib_dot11phy_dot11PhyTxPowerTable_dot11CurrentTxPowerLevel,
F_STA | F_READ | F_WRITE,
HFA384x_RID_TXPOWERMAX, 0, 0,
prism2mib_uint32 },
{ DIDmib_p2_p2Modem_p2SupportedDataRates,
F_STA | F_READ,
HFA384x_RID_SUPPORTEDDATARATES, HFA384x_RID_SUPPORTEDDATARATES_LEN, 0,
prism2mib_bytestr2pstr },
/* And finally, lnx mibs */
{ DIDmib_lnx_lnxConfigTable_lnxRSNAIE,
......@@ -908,685 +335,67 @@ int prism2mgmt_mibset_mibget(wlandevice_t *wlandev, void *msgp)
/*
** Determine if this is a "mibget" or a "mibset". If this is a
** "mibget", then make sure that the MIB may be read. Otherwise,
** this is a "mibset" so make make sure that the MIB may be written.
*/
isget = (msg->msgcode == DIDmsg_dot11req_mibget);
if (isget) {
if (!(mib->flag & F_READ)) {
msg->resultcode.data =
P80211ENUM_resultcode_cant_get_writeonly_mib;
goto done;
}
} else {
if (!(mib->flag & F_WRITE)) {
msg->resultcode.data =
P80211ENUM_resultcode_cant_set_readonly_mib;
goto done;
}
}
/*
** Execute the MIB function. If things worked okay, then make
** sure that the MIB function also worked okay. If so, and this
** is a "mibget", then the status value must be set for both the
** "mibattribute" parameter and the mib item within the data
** portion of the "mibattribute".
*/
result = mib->func(mib, isget, wlandev, hw, msg,
(void *) mibitem->data);
if (msg->resultcode.data == P80211ENUM_resultcode_success) {
if (result != 0) {
WLAN_LOG_DEBUG(1, "get/set failure, result=%d\n",
result);
msg->resultcode.data =
P80211ENUM_resultcode_implementation_failure;
} else {
if (isget) {
msg->mibattribute.status =
P80211ENUM_msgitem_status_data_ok;
mibitem->status =
P80211ENUM_msgitem_status_data_ok;
}
}
}
done:
DBFEXIT;
return(0);
}
/*----------------------------------------------------------------
* prism2mib_bytestr2pstr
*
* Get/set pstr data to/from a byte string.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Number of bytes of RID data.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_bytestr2pstr(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
p80211pstrd_t *pstr = (p80211pstrd_t*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
hfa384x_bytestr_t *p2bytestr = (hfa384x_bytestr_t*) bytebuf;
DBFENTER;
if (isget) {
result = hfa384x_drvr_getconfig(hw, mib->parm1, bytebuf, mib->parm2);
prism2mgmt_bytestr2pstr(p2bytestr, pstr);
} else {
memset(bytebuf, 0, mib->parm2);
prism2mgmt_pstr2bytestr(p2bytestr, pstr);
result = hfa384x_drvr_setconfig(hw, mib->parm1, bytebuf, mib->parm2);
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_bytearea2pstr
*
* Get/set pstr data to/from a byte area.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Number of bytes of RID data.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_bytearea2pstr(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
p80211pstrd_t *pstr = (p80211pstrd_t*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
DBFENTER;
if (isget) {
result = hfa384x_drvr_getconfig(hw, mib->parm1, bytebuf, mib->parm2);
prism2mgmt_bytearea2pstr(bytebuf, pstr, mib->parm2);
} else {
memset(bytebuf, 0, mib->parm2);
prism2mgmt_pstr2bytearea(bytebuf, pstr);
result = hfa384x_drvr_setconfig(hw, mib->parm1, bytebuf, mib->parm2);
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_uint32
*
* Get/set uint32 data.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Not used.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_uint32(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
u32 *uint32 = (u32*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
DBFENTER;
if (isget) {
result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf);
*uint32 = *wordbuf;
/* [MSM] Removed, getconfig16 returns the value in host order.
* prism2mgmt_prism2int2p80211int(wordbuf, uint32);
*/
} else {
/* [MSM] Removed, setconfig16 expects host order.
* prism2mgmt_p80211int2prism2int(wordbuf, uint32);
*/
*wordbuf = *uint32;
result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf);
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_uint32array
*
* Get/set an array of uint32 data.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Number of bytes of RID data.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_uint32array(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
u32 *uint32 = (u32 *) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
int i, cnt;
DBFENTER;
cnt = mib->parm2 / sizeof(u16);
if (isget) {
result = hfa384x_drvr_getconfig(hw, mib->parm1, wordbuf, mib->parm2);
for (i = 0; i < cnt; i++)
prism2mgmt_prism2int2p80211int(wordbuf+i, uint32+i);
} else {
for (i = 0; i < cnt; i++)
prism2mgmt_p80211int2prism2int(wordbuf+i, uint32+i);
result = hfa384x_drvr_setconfig(hw, mib->parm1, wordbuf, mib->parm2);
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_uint32offset
*
* Get/set a single element in an array of uint32 data.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Number of bytes of RID data.
* parm3 Element index.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_uint32offset(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
u32 *uint32 = (u32*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
u16 cnt;
DBFENTER;
cnt = mib->parm2 / sizeof(u16);
result = hfa384x_drvr_getconfig(hw, mib->parm1, wordbuf, mib->parm2);
if (result == 0) {
if (isget) {
if (mib->parm3 < cnt)
prism2mgmt_prism2int2p80211int(wordbuf+mib->parm3, uint32);
else
*uint32 = 0;
} else {
if (mib->parm3 < cnt) {
prism2mgmt_p80211int2prism2int(wordbuf+mib->parm3, uint32);
result = hfa384x_drvr_setconfig(hw, mib->parm1, wordbuf, mib->parm2);
}
}
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_truth
*
* Get/set truth data.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Not used.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_truth(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
u32 *uint32 = (u32*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
DBFENTER;
if (isget) {
result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf);
*uint32 = (*wordbuf) ?
P80211ENUM_truth_true : P80211ENUM_truth_false;
} else {
*wordbuf = ((*uint32) == P80211ENUM_truth_true) ? 1 : 0;
result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf);
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_flag
*
* Get/set a flag.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Bit to get/set.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_flag(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
u32 *uint32 = (u32*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
u32 flags;
DBFENTER;
result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf);
if (result == 0) {
/* [MSM] Removed, getconfig16 returns the value in host order.
* prism2mgmt_prism2int2p80211int(wordbuf, &flags);
*/
flags = *wordbuf;
if (isget) {
*uint32 = (flags & mib->parm2) ?
P80211ENUM_truth_true : P80211ENUM_truth_false;
} else {
if ((*uint32) == P80211ENUM_truth_true)
flags |= mib->parm2;
else
flags &= ~mib->parm2;
/* [MSM] Removed, setconfig16 expects host order.
* prism2mgmt_p80211int2prism2int(wordbuf, &flags);
*/
*wordbuf = flags;
result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf);
}
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_regulatorydomains
*
* Get regulatory domain data.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Number of bytes of RID data.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_regulatorydomains(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
u32 cnt;
p80211pstrd_t *pstr = (p80211pstrd_t*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
DBFENTER;
result = 0;
if (isget) {
result = hfa384x_drvr_getconfig(hw, mib->parm1, wordbuf, mib->parm2);
prism2mgmt_prism2int2p80211int(wordbuf, &cnt);
pstr->len = (u8) cnt;
memcpy(pstr->data, &wordbuf[1], pstr->len);
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_wepdefaultkey
*
* Get/set WEP default keys.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Number of bytes of RID data.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_wepdefaultkey(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
p80211pstrd_t *pstr = (p80211pstrd_t*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 len;
DBFENTER;
if (isget) {
result = 0; /* Should never happen. */
} else {
len = (pstr->len > 5) ? HFA384x_RID_CNFWEP128DEFAULTKEY_LEN :
HFA384x_RID_CNFWEPDEFAULTKEY_LEN;
memset(bytebuf, 0, len);
prism2mgmt_pstr2bytearea(bytebuf, pstr);
result = hfa384x_drvr_setconfig(hw, mib->parm1, bytebuf, len);
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_powermanagement
*
* Get/set 802.11 power management value. Note that this is defined differently
* by 802.11 and Prism2:
*
* Meaning 802.11 Prism2
* active 1 false
* powersave 2 true
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Not used.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_powermanagement(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
u32 *uint32 = (u32*) data;
u32 value;
DBFENTER;
if (isget) {
result = prism2mib_uint32(mib, isget, wlandev, hw, msg, &value);
*uint32 = (value == 0) ? 1 : 2;
} else {
value = ((*uint32) == 1) ? 0 : 1;
result = prism2mib_uint32(mib, isget, wlandev, hw, msg, &value);
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_preamble
*
* Get/set Prism2 short preamble
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Not used.
* parm3 Not used.
*
* Arguments:
* mib MIB record.
* isget MIBGET/MIBSET flag.
* wlandev wlan device structure.
* priv "priv" structure.
* hw "hw" structure.
* msg Message structure.
* data Data buffer.
*
* Returns:
* 0 - Success.
* ~0 - Error.
*
----------------------------------------------------------------*/
static int prism2mib_preamble(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
u32 *uint32 = (u32*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
** "mibget", then make sure that the MIB may be read. Otherwise,
** this is a "mibset" so make make sure that the MIB may be written.
*/
DBFENTER;
isget = (msg->msgcode == DIDmsg_dot11req_mibget);
if (isget) {
result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf);
*uint32 = *wordbuf;
if (!(mib->flag & F_READ)) {
msg->resultcode.data =
P80211ENUM_resultcode_cant_get_writeonly_mib;
goto done;
}
} else {
*wordbuf = *uint32;
result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf);
if (!(mib->flag & F_WRITE)) {
msg->resultcode.data =
P80211ENUM_resultcode_cant_set_readonly_mib;
goto done;
}
}
/*
** Execute the MIB function. If things worked okay, then make
** sure that the MIB function also worked okay. If so, and this
** is a "mibget", then the status value must be set for both the
** "mibattribute" parameter and the mib item within the data
** portion of the "mibattribute".
*/
result = mib->func(mib, isget, wlandev, hw, msg,
(void *) mibitem->data);
if (msg->resultcode.data == P80211ENUM_resultcode_success) {
if (result != 0) {
WLAN_LOG_DEBUG(1, "get/set failure, result=%d\n",
result);
msg->resultcode.data =
P80211ENUM_resultcode_implementation_failure;
} else {
if (isget) {
msg->mibattribute.status =
P80211ENUM_msgitem_status_data_ok;
mibitem->status =
P80211ENUM_msgitem_status_data_ok;
}
}
}
done:
DBFEXIT;
return(result);
return(0);
}
/*----------------------------------------------------------------
* prism2mib_privacyinvoked
* prism2mib_bytearea2pstr
*
* Get/set the dot11PrivacyInvoked value.
* Get/set pstr data to/from a byte area.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Bit value for PrivacyInvoked flag.
* parm2 Number of bytes of RID data.
* parm3 Not used.
*
* Arguments:
......@@ -1604,7 +413,7 @@ void *data)
*
----------------------------------------------------------------*/
static int prism2mib_privacyinvoked(
static int prism2mib_bytearea2pstr(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
......@@ -1613,30 +422,32 @@ p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
p80211pstrd_t *pstr = (p80211pstrd_t*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
DBFENTER;
if (wlandev->hostwep & HOSTWEP_DECRYPT) {
if (wlandev->hostwep & HOSTWEP_DECRYPT)
mib->parm2 |= HFA384x_WEPFLAGS_DISABLE_RXCRYPT;
if (wlandev->hostwep & HOSTWEP_ENCRYPT)
mib->parm2 |= HFA384x_WEPFLAGS_DISABLE_TXCRYPT;
if (isget) {
result = hfa384x_drvr_getconfig(hw, mib->parm1, bytebuf, mib->parm2);
prism2mgmt_bytearea2pstr(bytebuf, pstr, mib->parm2);
} else {
memset(bytebuf, 0, mib->parm2);
prism2mgmt_pstr2bytearea(bytebuf, pstr);
result = hfa384x_drvr_setconfig(hw, mib->parm1, bytebuf, mib->parm2);
}
result = prism2mib_flag(mib, isget, wlandev, hw, msg, data);
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_excludeunencrypted
* prism2mib_uint32
*
* Get/set the dot11ExcludeUnencrypted value.
* Get/set uint32 data.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Bit value for ExcludeUnencrypted flag.
* parm2 Not used.
* parm3 Not used.
*
* Arguments:
......@@ -1654,7 +465,7 @@ void *data)
*
----------------------------------------------------------------*/
static int prism2mib_excludeunencrypted(
static int prism2mib_uint32(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
......@@ -1663,23 +474,38 @@ p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
u32 *uint32 = (u32*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
DBFENTER;
result = prism2mib_flag(mib, isget, wlandev, hw, msg, data);
if (isget) {
result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf);
*uint32 = *wordbuf;
/* [MSM] Removed, getconfig16 returns the value in host order.
* prism2mgmt_prism2int2p80211int(wordbuf, uint32);
*/
} else {
/* [MSM] Removed, setconfig16 expects host order.
* prism2mgmt_p80211int2prism2int(wordbuf, uint32);
*/
*wordbuf = *uint32;
result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf);
}
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_fragmentationthreshold
* prism2mib_flag
*
* Get/set the fragmentation threshold.
* Get/set a flag.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Not used.
* parm2 Bit to get/set.
* parm3 Not used.
*
* Arguments:
......@@ -1697,7 +523,7 @@ void *data)
*
----------------------------------------------------------------*/
static int prism2mib_fragmentationthreshold(
static int prism2mib_flag(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
......@@ -1707,31 +533,46 @@ void *data)
{
int result;
u32 *uint32 = (u32*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
u32 flags;
DBFENTER;
if (!isget)
if ((*uint32) % 2) {
WLAN_LOG_WARNING("Attempt to set odd number "
"FragmentationThreshold\n");
msg->resultcode.data = P80211ENUM_resultcode_not_supported;
return(0);
result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf);
if (result == 0) {
/* [MSM] Removed, getconfig16 returns the value in host order.
* prism2mgmt_prism2int2p80211int(wordbuf, &flags);
*/
flags = *wordbuf;
if (isget) {
*uint32 = (flags & mib->parm2) ?
P80211ENUM_truth_true : P80211ENUM_truth_false;
} else {
if ((*uint32) == P80211ENUM_truth_true)
flags |= mib->parm2;
else
flags &= ~mib->parm2;
/* [MSM] Removed, setconfig16 expects host order.
* prism2mgmt_p80211int2prism2int(wordbuf, &flags);
*/
*wordbuf = flags;
result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf);
}
}
result = prism2mib_uint32(mib, isget, wlandev, hw, msg, data);
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_operationalrateset
* prism2mib_wepdefaultkey
*
* Get/set the operational rate set.
* Get/set WEP default keys.
*
* MIB record parameters:
* parm1 Prism2 RID value.
* parm2 Not used.
* parm2 Number of bytes of RID data.
* parm3 Not used.
*
* Arguments:
......@@ -1749,7 +590,7 @@ void *data)
*
----------------------------------------------------------------*/
static int prism2mib_operationalrateset(
static int prism2mib_wepdefaultkey(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
......@@ -1758,19 +599,20 @@ p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
p80211pstrd_t *pstr = (p80211pstrd_t *) data;
p80211pstrd_t *pstr = (p80211pstrd_t*) data;
u8 bytebuf[MIB_TMP_MAXLEN];
u16 *wordbuf = (u16*) bytebuf;
u16 len;
DBFENTER;
if (isget) {
result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf);
prism2mgmt_get_oprateset(wordbuf, pstr);
result = 0; /* Should never happen. */
} else {
prism2mgmt_set_oprateset(wordbuf, pstr);
result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf);
result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFSUPPRATES, *wordbuf);
len = (pstr->len > 5) ? HFA384x_RID_CNFWEP128DEFAULTKEY_LEN :
HFA384x_RID_CNFWEPDEFAULTKEY_LEN;
memset(bytebuf, 0, len);
prism2mgmt_pstr2bytearea(bytebuf, pstr);
result = hfa384x_drvr_setconfig(hw, mib->parm1, bytebuf, len);
}
DBFEXIT;
......@@ -1778,13 +620,13 @@ void *data)
}
/*----------------------------------------------------------------
* prism2mib_fwid
* prism2mib_privacyinvoked
*
* Get the firmware ID.
* Get/set the dot11PrivacyInvoked value.
*
* MIB record parameters:
* parm1 Not used.
* parm2 Not used.
* parm1 Prism2 RID value.
* parm2 Bit value for PrivacyInvoked flag.
* parm3 Not used.
*
* Arguments:
......@@ -1802,7 +644,7 @@ void *data)
*
----------------------------------------------------------------*/
static int prism2mib_fwid(
static int prism2mib_privacyinvoked(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
......@@ -1811,38 +653,30 @@ p80211msg_dot11req_mibset_t *msg,
void *data)
{
int result;
p80211pstrd_t *pstr = (p80211pstrd_t *) data;
hfa384x_FWID_t fwid;
DBFENTER;
if (isget) {
result = hfa384x_drvr_getconfig(hw, HFA384x_RID_FWID,
&fwid, HFA384x_RID_FWID_LEN);
if (mib->did == DIDmib_p2_p2NIC_p2PrimaryFWID) {
fwid.primary[HFA384x_FWID_LEN - 1] = '\0';
pstr->len = strlen(fwid.primary);
memcpy(pstr->data, fwid.primary, pstr->len);
} else {
fwid.secondary[HFA384x_FWID_LEN - 1] = '\0';
pstr->len = strlen(fwid.secondary);
memcpy(pstr->data, fwid.secondary, pstr->len);
if (wlandev->hostwep & HOSTWEP_DECRYPT) {
if (wlandev->hostwep & HOSTWEP_DECRYPT)
mib->parm2 |= HFA384x_WEPFLAGS_DISABLE_RXCRYPT;
if (wlandev->hostwep & HOSTWEP_ENCRYPT)
mib->parm2 |= HFA384x_WEPFLAGS_DISABLE_TXCRYPT;
}
} else
result = 0; /* Should never happen. */
result = prism2mib_flag(mib, isget, wlandev, hw, msg, data);
DBFEXIT;
return(result);
}
/*----------------------------------------------------------------
* prism2mib_authalg
* prism2mib_excludeunencrypted
*
* Get values from the AuhtenticationAlgorithmsTable.
* Get/set the dot11ExcludeUnencrypted value.
*
* MIB record parameters:
* parm1 Table index (1-6).
* parm2 Not used.
* parm1 Prism2 RID value.
* parm2 Bit value for ExcludeUnencrypted flag.
* parm3 Not used.
*
* Arguments:
......@@ -1860,7 +694,7 @@ void *data)
*
----------------------------------------------------------------*/
static int prism2mib_authalg(
static int prism2mib_excludeunencrypted(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
......@@ -1868,43 +702,23 @@ hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
u32 *uint32 = (u32*) data;
int result;
DBFENTER;
/* MSM: pkx supplied code that code queries RID FD4D....but the f/w's
* results are bogus. Therefore, we have to simulate the appropriate
* results here in the driver based on our knowledge of existing MAC
* features. That's the whole point behind this ugly function.
*/
if (isget) {
msg->resultcode.data = P80211ENUM_resultcode_success;
switch (mib->parm1) {
case 1: /* Open System */
*uint32 = P80211ENUM_authalg_opensystem;
break;
case 2: /* SharedKey */
*uint32 = P80211ENUM_authalg_sharedkey;
break;
default:
*uint32 = 0;
msg->resultcode.data = P80211ENUM_resultcode_not_supported;
break;
}
}
result = prism2mib_flag(mib, isget, wlandev, hw, msg, data);
DBFEXIT;
return(0);
return(result);
}
/*----------------------------------------------------------------
* prism2mib_authalgenable
* prism2mib_fragmentationthreshold
*
* Get/set the enable values from the AuhtenticationAlgorithmsTable.
* Get/set the fragmentation threshold.
*
* MIB record parameters:
* parm1 Table index (1-6).
* parm1 Prism2 RID value.
* parm2 Not used.
* parm3 Not used.
*
......@@ -1923,7 +737,7 @@ void *data)
*
----------------------------------------------------------------*/
static int prism2mib_authalgenable(
static int prism2mib_fragmentationthreshold(
mibrec_t *mib,
int isget,
wlandevice_t *wlandev,
......@@ -1934,45 +748,17 @@ void *data)
int result;
u32 *uint32 = (u32*) data;
int index;
u16 cnf_auth;
u16 mask;
DBFENTER;
index = mib->parm1 - 1;
result = hfa384x_drvr_getconfig16( hw,
HFA384x_RID_CNFAUTHENTICATION, &cnf_auth);
WLAN_LOG_DEBUG(2,"cnfAuthentication0=%d, index=%d\n", cnf_auth, index);
if (isget) {
if ( index == 0 || index == 1 ) {
*uint32 = (cnf_auth & (1<<index)) ?
P80211ENUM_truth_true: P80211ENUM_truth_false;
} else {
*uint32 = P80211ENUM_truth_false;
msg->resultcode.data = P80211ENUM_resultcode_not_supported;
}
} else {
if ( index == 0 || index == 1 ) {
mask = 1 << index;
if (*uint32==P80211ENUM_truth_true ) {
cnf_auth |= mask;
} else {
cnf_auth &= ~mask;
}
result = hfa384x_drvr_setconfig16( hw,
HFA384x_RID_CNFAUTHENTICATION, cnf_auth);
WLAN_LOG_DEBUG(2,"cnfAuthentication:=%d\n", cnf_auth);
if ( result ) {
WLAN_LOG_DEBUG(1,"Unable to set p2cnfAuthentication to %d\n", cnf_auth);
msg->resultcode.data = P80211ENUM_resultcode_implementation_failure;
}
} else {
if (!isget)
if ((*uint32) % 2) {
WLAN_LOG_WARNING("Attempt to set odd number "
"FragmentationThreshold\n");
msg->resultcode.data = P80211ENUM_resultcode_not_supported;
return(0);
}
}
result = prism2mib_uint32(mib, isget, wlandev, hw, msg, data);
DBFEXIT;
return(result);
......@@ -2011,114 +797,13 @@ hfa384x_t *hw,
p80211msg_dot11req_mibset_t *msg,
void *data)
{
u32 *uint32 = (u32*) data;
p80211pstrd_t *pstr = (p80211pstrd_t*) data;
int i, cnt, result;
/*
** "test" is a lot longer than necessary but who cares? ...as long as
** it is long enough!
*/
u8 test[sizeof(wlandev->rx) + sizeof(hw->tallies)];
int result;
DBFENTER;
switch (mib->did) {
case DIDmib_p2_p2Table_p2ReceivedFrameStatistics:
/*
** Note: The values in this record are changed by the
** interrupt handler and therefore cannot be guaranteed
** to be stable while they are being copied. However,
** the interrupt handler will take priority over this
** code. Hence, if the same values are copied twice,
** then we are ensured that the values have not been
** changed. If they have, then just try again. Don't
** try more than 10 times...if we still haven't got it,
** then the values we do have are probably good enough.
** This scheme for copying values is used in order to
** prevent having to block the interrupt handler while
** we copy the values.
*/
if (isget)
for (i = 0; i < 10; i++) {
memcpy(data, &wlandev->rx, sizeof(wlandev->rx));
memcpy(test, &wlandev->rx, sizeof(wlandev->rx));
if (memcmp(data, test, sizeof(wlandev->rx)) == 0) break;
}
break;
case DIDmib_p2_p2Table_p2CommunicationTallies:
/*
** Note: The values in this record are changed by the
** interrupt handler and therefore cannot be guaranteed
** to be stable while they are being copied. See the
** note above about copying values.
*/
if (isget) {
result = hfa384x_drvr_commtallies(hw);
/* ?????? We need to wait a bit here for the */
/* tallies to get updated. ?????? */
/* MSM: TODO: The right way to do this is to
* add a "commtallie" wait queue to the
* priv structure that gets run every time
* we receive a commtally info frame.
* This process would sleep on that
* queue and get awakened when the
* the requested info frame arrives.
* Don't have time to do and test this
* right now.
*/
/* Ugh, this is nasty. */
for (i = 0; i < 10; i++) {
memcpy(data,
&hw->tallies,
sizeof(hw->tallies));
memcpy(test,
&hw->tallies,
sizeof(hw->tallies));
if ( memcmp(data,
test,
sizeof(hw->tallies)) == 0)
break;
}
}
break;
case DIDmib_p2_p2Table_p2Comment:
if (isget) {
pstr->len = strlen(hw->comment);
memcpy(pstr->data, hw->comment, pstr->len);
} else {
cnt = pstr->len;
if (cnt < 0) cnt = 0;
if (cnt >= sizeof(hw->comment))
cnt = sizeof(hw->comment)-1;
memcpy(hw->comment, pstr->data, cnt);
pstr->data[cnt] = '\0';
}
break;
case DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredBSSType:
if (isget)
*uint32 = hw->dot11_desired_bss_type;
else
hw->dot11_desired_bss_type = *uint32;
break;
case DIDmib_lnx_lnxConfigTable_lnxRSNAIE: {
hfa384x_WPAData_t wpa;
if (isget) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment