diff --git a/Info/IEEE802dot11.pm b/Info/IEEE802dot11.pm index 51c2c4d8..ea8d29d5 100644 --- a/Info/IEEE802dot11.pm +++ b/Info/IEEE802dot11.pm @@ -64,6 +64,16 @@ use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/; 'i_ssidlist' => 'dot11DesiredSSID', 'dot11_pwr_mode' => 'dot11PowerManagementMode', 'dot11_sta_id' => 'dot11StationID', + # dot11PhyTxPowerTable + 'dot11_cur_tx_pwr' => 'dot11CurrentTxPowerLevel', + 'dot11_tx_pwr_level_1' => 'dot11TxPowerLevel1', + 'dot11_tx_pwr_level_2' => 'dot11TxPowerLevel2', + 'dot11_tx_pwr_level_3' => 'dot11TxPowerLevel3', + 'dot11_tx_pwr_level_4' => 'dot11TxPowerLevel4', + 'dot11_tx_pwr_level_5' => 'dot11TxPowerLevel5', + 'dot11_tx_pwr_level_6' => 'dot11TxPowerLevel6', + 'dot11_tx_pwr_level_7' => 'dot11TxPowerLevel7', + 'dot11_tx_pwr_level_8' => 'dot11TxPowerLevel8', ); %MUNGE = ( @@ -145,6 +155,23 @@ sub i_80211channel { return \%i_80211channel; } +sub dot11_cur_tx_pwr_mw { + my $dot11 = shift; + my $partial = shift; + my $cur = $dot11->dot11_cur_tx_pwr($partial); + my $dot11_cur_tx_pwr_mw = {}; + foreach my $idx (keys %$cur) { + my $pwr = $cur->{$idx}; + if ($pwr >= 1 && $pwr <= 8) { + my $mw = eval "\$dot11->dot11_tx_pwr_level_$pwr(\$idx)"; + $dot11_cur_tx_pwr_mw->{$idx} = $mw->{$idx}; + } else { + next; + } + } + return $dot11_cur_tx_pwr_mw; +} + 1; __END__ @@ -238,6 +265,11 @@ Returns reference to hash. SSID's recognized by the radio interface. Returns reference to hash. Current operating frequency channel of the radio interface. +=item $dot11->dot11_cur_tx_pwr_mw() + +Returns reference to hash. Current transmit power, in milliwats, of the radio +interface. + =back =head2 Dot11 Phy OFDM Table (B) @@ -318,4 +350,48 @@ interface. (B) +=back + +=head2 Dot11 Transmission Power Table (B) + +=over + +=item $dot11->dot11_cur_tx_pwr() + +(B) + +=item $dot11->dot11_tx_pwr_level_1() + +(B) + +=item $dot11->dot11_tx_pwr_level_2() + +(B) + +=item $dot11->dot11_tx_pwr_level_3() + +(B) + +=item $dot11->dot11_tx_pwr_level_4() + +(B) + +=item $dot11->dot11_tx_pwr_level_5() + +(B) + +=item $dot11->dot11_tx_pwr_level_6() + +(B) + +=item $dot11->dot11_tx_pwr_level_7() + +(B) + +=item $dot11->dot11_tx_pwr_level_8() + +(B) + +=back + =cut