1.1 --- a/bindings/python/ns3_module_common.py Thu Jun 04 09:32:03 2009 -0400
1.2 +++ b/bindings/python/ns3_module_common.py Thu Jun 04 09:41:07 2009 -0400
1.3 @@ -941,6 +941,14 @@
1.4 cls.add_method('WriteWifiHeader',
1.5 'void',
1.6 [])
1.7 + ## pcap-writer.h: void ns3::PcapWriter::WriteWifiRadiotapHeader() [member function]
1.8 + cls.add_method('WriteWifiRadiotapHeader',
1.9 + 'void',
1.10 + [])
1.11 + ## pcap-writer.h: void ns3::PcapWriter::WriteWifiPrismHeader() [member function]
1.12 + cls.add_method('WriteWifiPrismHeader',
1.13 + 'void',
1.14 + [])
1.15 ## pcap-writer.h: void ns3::PcapWriter::WritePppHeader() [member function]
1.16 cls.add_method('WritePppHeader',
1.17 'void',
1.18 @@ -949,6 +957,10 @@
1.19 cls.add_method('WritePacket',
1.20 'void',
1.21 [param('ns3::Ptr< ns3::Packet const >', 'packet')])
1.22 + ## pcap-writer.h: void ns3::PcapWriter::WriteWifiMonitorPacket(ns3::Ptr<ns3::Packet const> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, bool isTx, double signalDbm, double noiseDbm) [member function]
1.23 + cls.add_method('WriteWifiMonitorPacket',
1.24 + 'void',
1.25 + [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('uint16_t', 'channelFreqMhz'), param('uint32_t', 'rate'), param('bool', 'isShortPreamble'), param('bool', 'isTx'), param('double', 'signalDbm'), param('double', 'noiseDbm')])
1.26 return
1.27
1.28 def register_Ns3Trailer_methods(root_module, cls):
2.1 --- a/bindings/python/ns3_module_core.py Thu Jun 04 09:32:03 2009 -0400
2.2 +++ b/bindings/python/ns3_module_core.py Thu Jun 04 09:41:07 2009 -0400
2.3 @@ -495,10 +495,10 @@
2.4 cls.add_constructor([param('ns3::Names const &', 'arg0')])
2.5 ## names.h: ns3::Names::Names() [constructor]
2.6 cls.add_constructor([])
2.7 - ## names.h: static void ns3::Names::Add(std::string name, ns3::Ptr<ns3::Object> obj) [member function]
2.8 + ## names.h: static void ns3::Names::Add(std::string name, ns3::Ptr<ns3::Object> object) [member function]
2.9 cls.add_method('Add',
2.10 'void',
2.11 - [param('std::string', 'name'), param('ns3::Ptr< ns3::Object >', 'obj')],
2.12 + [param('std::string', 'name'), param('ns3::Ptr< ns3::Object >', 'object')],
2.13 is_static=True)
2.14 ## names.h: static void ns3::Names::Add(std::string path, std::string name, ns3::Ptr<ns3::Object> object) [member function]
2.15 cls.add_method('Add',
2.16 @@ -2043,7 +2043,7 @@
2.17 cls.add_method('ConnectWithoutContext',
2.18 'void',
2.19 [param('ns3::CallbackBase const &', 'cb')])
2.20 - ## traced-value.h: void ns3::TracedValue<unsigned int>::Connect(ns3::CallbackBase const & cb, std::basic_string<char,std::char_traits<char>,std::allocator<char> > path) [member function]
2.21 + ## traced-value.h: void ns3::TracedValue<unsigned int>::Connect(ns3::CallbackBase const & cb, std::string path) [member function]
2.22 cls.add_method('Connect',
2.23 'void',
2.24 [param('ns3::CallbackBase const &', 'cb'), param('std::string', 'path')])
2.25 @@ -2051,7 +2051,7 @@
2.26 cls.add_method('DisconnectWithoutContext',
2.27 'void',
2.28 [param('ns3::CallbackBase const &', 'cb')])
2.29 - ## traced-value.h: void ns3::TracedValue<unsigned int>::Disconnect(ns3::CallbackBase const & cb, std::basic_string<char,std::char_traits<char>,std::allocator<char> > path) [member function]
2.30 + ## traced-value.h: void ns3::TracedValue<unsigned int>::Disconnect(ns3::CallbackBase const & cb, std::string path) [member function]
2.31 cls.add_method('Disconnect',
2.32 'void',
2.33 [param('ns3::CallbackBase const &', 'cb'), param('std::string', 'path')])
2.34 @@ -2199,7 +2199,7 @@
2.35 module.add_function('TypeNameGet',
2.36 'std::string',
2.37 [],
2.38 - template_parameters=['long'])
2.39 + template_parameters=['long long'])
2.40 ## type-name.h: extern std::string ns3::TypeNameGet() [free function]
2.41 module.add_function('TypeNameGet',
2.42 'std::string',
2.43 @@ -2219,7 +2219,7 @@
2.44 module.add_function('TypeNameGet',
2.45 'std::string',
2.46 [],
2.47 - template_parameters=['unsigned long'])
2.48 + template_parameters=['unsigned long long'])
2.49 ## type-name.h: extern std::string ns3::TypeNameGet() [free function]
2.50 module.add_function('TypeNameGet',
2.51 'std::string',
3.1 --- a/bindings/python/ns3_module_helper.py Thu Jun 04 09:32:03 2009 -0400
3.2 +++ b/bindings/python/ns3_module_helper.py Thu Jun 04 09:41:07 2009 -0400
3.3 @@ -55,6 +55,8 @@
3.4 module.add_class('YansWifiChannelHelper', allow_subclassing=False)
3.5 ## yans-wifi-helper.h: ns3::YansWifiPhyHelper [class]
3.6 module.add_class('YansWifiPhyHelper', allow_subclassing=False, parent=root_module['ns3::WifiPhyHelper'])
3.7 + ## yans-wifi-helper.h: ns3::YansWifiPhyHelper::PcapFormat [enumeration]
3.8 + module.add_enum('PcapFormat', ['PCAP_FORMAT_80211', 'PCAP_FORMAT_80211_PRISM', 'PCAP_FORMAT_80211_RADIOTAP'], outer_class=root_module['ns3::YansWifiPhyHelper'])
3.9 ## nqos-wifi-mac-helper.h: ns3::NqosWifiMacHelper [class]
3.10 module.add_class('NqosWifiMacHelper', allow_subclassing=False, parent=root_module['ns3::WifiMacHelper'])
3.11 ## qos-wifi-mac-helper.h: ns3::QosWifiMacHelper [class]
3.12 @@ -1160,36 +1162,34 @@
3.13 cls.add_method('SetErrorRateModel',
3.14 'void',
3.15 [param('std::string', 'name'), param('std::string', 'n0', default_value='""'), param('ns3::AttributeValue const &', 'v0', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n1', default_value='""'), param('ns3::AttributeValue const &', 'v1', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n2', default_value='""'), param('ns3::AttributeValue const &', 'v2', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n3', default_value='""'), param('ns3::AttributeValue const &', 'v3', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n4', default_value='""'), param('ns3::AttributeValue const &', 'v4', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n5', default_value='""'), param('ns3::AttributeValue const &', 'v5', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n6', default_value='""'), param('ns3::AttributeValue const &', 'v6', default_value='ns3::EmptyAttributeValue()'), param('std::string', 'n7', default_value='""'), param('ns3::AttributeValue const &', 'v7', default_value='ns3::EmptyAttributeValue()')])
3.16 - ## yans-wifi-helper.h: static void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, uint32_t nodeid, uint32_t deviceid) [member function]
3.17 + ## yans-wifi-helper.h: void ns3::YansWifiPhyHelper::SetPcapFormat(ns3::YansWifiPhyHelper::PcapFormat format) [member function]
3.18 + cls.add_method('SetPcapFormat',
3.19 + 'void',
3.20 + [param('ns3::YansWifiPhyHelper::PcapFormat', 'format')])
3.21 + ## yans-wifi-helper.h: void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, uint32_t nodeid, uint32_t deviceid) [member function]
3.22 cls.add_method('EnablePcap',
3.23 'void',
3.24 - [param('std::string', 'filename'), param('uint32_t', 'nodeid'), param('uint32_t', 'deviceid')],
3.25 - is_static=True)
3.26 - ## yans-wifi-helper.h: static void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, ns3::Ptr<ns3::NetDevice> nd) [member function]
3.27 + [param('std::string', 'filename'), param('uint32_t', 'nodeid'), param('uint32_t', 'deviceid')])
3.28 + ## yans-wifi-helper.h: void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, ns3::Ptr<ns3::NetDevice> nd) [member function]
3.29 cls.add_method('EnablePcap',
3.30 'void',
3.31 - [param('std::string', 'filename'), param('ns3::Ptr< ns3::NetDevice >', 'nd')],
3.32 - is_static=True)
3.33 - ## yans-wifi-helper.h: static void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, std::string ndName) [member function]
3.34 + [param('std::string', 'filename'), param('ns3::Ptr< ns3::NetDevice >', 'nd')])
3.35 + ## yans-wifi-helper.h: void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, std::string ndName) [member function]
3.36 cls.add_method('EnablePcap',
3.37 'void',
3.38 - [param('std::string', 'filename'), param('std::string', 'ndName')],
3.39 - is_static=True)
3.40 - ## yans-wifi-helper.h: static void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, ns3::NetDeviceContainer d) [member function]
3.41 + [param('std::string', 'filename'), param('std::string', 'ndName')])
3.42 + ## yans-wifi-helper.h: void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, ns3::NetDeviceContainer d) [member function]
3.43 cls.add_method('EnablePcap',
3.44 'void',
3.45 - [param('std::string', 'filename'), param('ns3::NetDeviceContainer', 'd')],
3.46 - is_static=True)
3.47 - ## yans-wifi-helper.h: static void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, ns3::NodeContainer n) [member function]
3.48 + [param('std::string', 'filename'), param('ns3::NetDeviceContainer', 'd')])
3.49 + ## yans-wifi-helper.h: void ns3::YansWifiPhyHelper::EnablePcap(std::string filename, ns3::NodeContainer n) [member function]
3.50 cls.add_method('EnablePcap',
3.51 'void',
3.52 - [param('std::string', 'filename'), param('ns3::NodeContainer', 'n')],
3.53 - is_static=True)
3.54 - ## yans-wifi-helper.h: static void ns3::YansWifiPhyHelper::EnablePcapAll(std::string filename) [member function]
3.55 + [param('std::string', 'filename'), param('ns3::NodeContainer', 'n')])
3.56 + ## yans-wifi-helper.h: void ns3::YansWifiPhyHelper::EnablePcapAll(std::string filename) [member function]
3.57 cls.add_method('EnablePcapAll',
3.58 'void',
3.59 - [param('std::string', 'filename')],
3.60 - is_static=True)
3.61 + [param('std::string', 'filename')])
3.62 ## yans-wifi-helper.h: static void ns3::YansWifiPhyHelper::EnableAscii(std::ostream & os, uint32_t nodeid, uint32_t deviceid) [member function]
3.63 cls.add_method('EnableAscii',
3.64 'void',
4.1 --- a/bindings/python/ns3_module_node.py Thu Jun 04 09:32:03 2009 -0400
4.2 +++ b/bindings/python/ns3_module_node.py Thu Jun 04 09:41:07 2009 -0400
4.3 @@ -1443,10 +1443,10 @@
4.4 'ns3::Ipv4Address',
4.5 [],
4.6 is_const=True)
4.7 - ## ipv4-route.h: void ns3::Ipv4MulticastRoute::SetOrigin(ns3::Ipv4Address const group) [member function]
4.8 + ## ipv4-route.h: void ns3::Ipv4MulticastRoute::SetOrigin(ns3::Ipv4Address const origin) [member function]
4.9 cls.add_method('SetOrigin',
4.10 'void',
4.11 - [param('ns3::Ipv4Address const', 'group')])
4.12 + [param('ns3::Ipv4Address const', 'origin')])
4.13 ## ipv4-route.h: ns3::Ipv4Address ns3::Ipv4MulticastRoute::GetOrigin() const [member function]
4.14 cls.add_method('GetOrigin',
4.15 'ns3::Ipv4Address',
5.1 --- a/bindings/python/ns3_module_olsr.py Thu Jun 04 09:32:03 2009 -0400
5.2 +++ b/bindings/python/ns3_module_olsr.py Thu Jun 04 09:41:07 2009 -0400
5.3 @@ -102,13 +102,13 @@
5.4 module.add_container('std::vector< ns3::olsr::MessageHeader::Hello::LinkMessage >', 'ns3::olsr::MessageHeader::Hello::LinkMessage', container_type='vector')
5.5 module.add_container('std::vector< ns3::olsr::MessageHeader::Hna::Association >', 'ns3::olsr::MessageHeader::Hna::Association', container_type='vector')
5.6 typehandlers.add_type_alias('std::vector< ns3::olsr::DuplicateTuple, std::allocator< ns3::olsr::DuplicateTuple > >', 'ns3::olsr::DuplicateSet')
5.7 - typehandlers.add_type_alias('std::vector< ns3::olsr::TopologyTuple, std::allocator< ns3::olsr::TopologyTuple > >', 'ns3::olsr::TopologySet')
5.8 typehandlers.add_type_alias('std::set< ns3::Ipv4Address, std::less< ns3::Ipv4Address >, std::allocator< ns3::Ipv4Address > >', 'ns3::olsr::MprSet')
5.9 typehandlers.add_type_alias('std::vector< ns3::olsr::MprSelectorTuple, std::allocator< ns3::olsr::MprSelectorTuple > >', 'ns3::olsr::MprSelectorSet')
5.10 typehandlers.add_type_alias('std::vector< ns3::olsr::MessageHeader, std::allocator< ns3::olsr::MessageHeader > >', 'ns3::olsr::MessageList')
5.11 typehandlers.add_type_alias('std::vector< ns3::olsr::IfaceAssocTuple, std::allocator< ns3::olsr::IfaceAssocTuple > >', 'ns3::olsr::IfaceAssocSet')
5.12 typehandlers.add_type_alias('std::vector< ns3::olsr::NeighborTuple, std::allocator< ns3::olsr::NeighborTuple > >', 'ns3::olsr::NeighborSet')
5.13 typehandlers.add_type_alias('std::vector< ns3::olsr::TwoHopNeighborTuple, std::allocator< ns3::olsr::TwoHopNeighborTuple > >', 'ns3::olsr::TwoHopNeighborSet')
5.14 + typehandlers.add_type_alias('std::vector< ns3::olsr::TopologyTuple, std::allocator< ns3::olsr::TopologyTuple > >', 'ns3::olsr::TopologySet')
5.15 typehandlers.add_type_alias('std::vector< ns3::olsr::LinkTuple, std::allocator< ns3::olsr::LinkTuple > >', 'ns3::olsr::LinkSet')
5.16
5.17 def register_methods(root_module):
6.1 --- a/bindings/python/ns3_module_wifi.py Thu Jun 04 09:32:03 2009 -0400
6.2 +++ b/bindings/python/ns3_module_wifi.py Thu Jun 04 09:41:07 2009 -0400
6.3 @@ -8,7 +8,7 @@
6.4 ## wifi-preamble.h: ns3::WifiPreamble [enumeration]
6.5 module.add_enum('WifiPreamble', ['WIFI_PREAMBLE_LONG', 'WIFI_PREAMBLE_SHORT'])
6.6 ## wifi-phy-standard.h: ns3::WifiPhyStandard [enumeration]
6.7 - module.add_enum('WifiPhyStandard', ['WIFI_PHY_STANDARD_80211a', 'WIFI_PHY_STANDARD_holland'])
6.8 + module.add_enum('WifiPhyStandard', ['WIFI_PHY_STANDARD_80211a', 'WIFI_PHY_STANDARD_80211b', 'WIFI_PHY_STANDARD_holland'])
6.9 ## qos-utils.h: ns3::AccessClass [enumeration]
6.10 module.add_enum('AccessClass', ['AC_VO', 'AC_VI', 'AC_BE', 'AC_BK', 'AC_UNDEF'])
6.11 ## edca-txop-n.h: ns3::TypeOfStation [enumeration]
6.12 @@ -26,7 +26,7 @@
6.13 ## wifi-mode.h: ns3::WifiMode [class]
6.14 module.add_class('WifiMode')
6.15 ## wifi-mode.h: ns3::WifiMode::ModulationType [enumeration]
6.16 - module.add_enum('ModulationType', ['BPSK', 'QAM'], outer_class=root_module['ns3::WifiMode'])
6.17 + module.add_enum('ModulationType', ['BPSK', 'DBPSK', 'DQPSK', 'QAM'], outer_class=root_module['ns3::WifiMode'])
6.18 ## wifi-mode.h: ns3::WifiModeFactory [class]
6.19 module.add_class('WifiModeFactory')
6.20 ## wifi-phy.h: ns3::WifiPhyListener [class]
6.21 @@ -101,6 +101,8 @@
6.22 module.add_class('EdcaTxopN', parent=root_module['ns3::Object'])
6.23 ## error-rate-model.h: ns3::ErrorRateModel [class]
6.24 module.add_class('ErrorRateModel', parent=root_module['ns3::Object'])
6.25 + ## propagation-loss-model.h: ns3::FixedRssLossModel [class]
6.26 + module.add_class('FixedRssLossModel', parent=root_module['ns3::PropagationLossModel'])
6.27 ## propagation-loss-model.h: ns3::FriisPropagationLossModel [class]
6.28 module.add_class('FriisPropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
6.29 ## ideal-wifi-manager.h: ns3::IdealWifiManager [class]
6.30 @@ -111,6 +113,8 @@
6.31 module.add_class('LogDistancePropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
6.32 ## msdu-aggregator.h: ns3::MsduAggregator [class]
6.33 module.add_class('MsduAggregator', parent=root_module['ns3::Object'])
6.34 + ## propagation-loss-model.h: ns3::NakagamiPropagationLossModel [class]
6.35 + module.add_class('NakagamiPropagationLossModel', parent=root_module['ns3::PropagationLossModel'])
6.36 ## nqap-wifi-mac.h: ns3::NqapWifiMac [class]
6.37 module.add_class('NqapWifiMac', parent=root_module['ns3::WifiMac'])
6.38 ## nqsta-wifi-mac.h: ns3::NqstaWifiMac [class]
6.39 @@ -228,11 +232,13 @@
6.40 register_Ns3DcaTxop_methods(root_module, root_module['ns3::DcaTxop'])
6.41 register_Ns3EdcaTxopN_methods(root_module, root_module['ns3::EdcaTxopN'])
6.42 register_Ns3ErrorRateModel_methods(root_module, root_module['ns3::ErrorRateModel'])
6.43 + register_Ns3FixedRssLossModel_methods(root_module, root_module['ns3::FixedRssLossModel'])
6.44 register_Ns3FriisPropagationLossModel_methods(root_module, root_module['ns3::FriisPropagationLossModel'])
6.45 register_Ns3IdealWifiManager_methods(root_module, root_module['ns3::IdealWifiManager'])
6.46 register_Ns3JakesPropagationLossModel_methods(root_module, root_module['ns3::JakesPropagationLossModel'])
6.47 register_Ns3LogDistancePropagationLossModel_methods(root_module, root_module['ns3::LogDistancePropagationLossModel'])
6.48 register_Ns3MsduAggregator_methods(root_module, root_module['ns3::MsduAggregator'])
6.49 + register_Ns3NakagamiPropagationLossModel_methods(root_module, root_module['ns3::NakagamiPropagationLossModel'])
6.50 register_Ns3NqapWifiMac_methods(root_module, root_module['ns3::NqapWifiMac'])
6.51 register_Ns3NqstaWifiMac_methods(root_module, root_module['ns3::NqstaWifiMac'])
6.52 register_Ns3OnoeWifiManager_methods(root_module, root_module['ns3::OnoeWifiManager'])
6.53 @@ -267,6 +273,10 @@
6.54 cls.add_method('Configure80211aParameters',
6.55 'void',
6.56 [])
6.57 + ## interference-helper.h: void ns3::InterferenceHelper::Configure80211bParameters() [member function]
6.58 + cls.add_method('Configure80211bParameters',
6.59 + 'void',
6.60 + [])
6.61 ## interference-helper.h: ns3::Time ns3::InterferenceHelper::GetEnergyDuration(double energyW) [member function]
6.62 cls.add_method('GetEnergyDuration',
6.63 'ns3::Time',
6.64 @@ -487,6 +497,16 @@
6.65 'ns3::WifiMode',
6.66 [param('std::string', 'uniqueName'), param('bool', 'isMandatory'), param('uint32_t', 'bandwidth'), param('uint32_t', 'dataRate'), param('uint32_t', 'phyRate'), param('uint8_t', 'constellationSize')],
6.67 is_static=True)
6.68 + ## wifi-mode.h: static ns3::WifiMode ns3::WifiModeFactory::CreateDbpsk(std::string uniqueName, bool isMandatory, uint32_t bandwidth, uint32_t dataRate, uint32_t phyRate) [member function]
6.69 + cls.add_method('CreateDbpsk',
6.70 + 'ns3::WifiMode',
6.71 + [param('std::string', 'uniqueName'), param('bool', 'isMandatory'), param('uint32_t', 'bandwidth'), param('uint32_t', 'dataRate'), param('uint32_t', 'phyRate')],
6.72 + is_static=True)
6.73 + ## wifi-mode.h: static ns3::WifiMode ns3::WifiModeFactory::CreateDqpsk(std::string uniqueName, bool isMandatory, uint32_t bandwidth, uint32_t dataRate, uint32_t phyRate) [member function]
6.74 + cls.add_method('CreateDqpsk',
6.75 + 'ns3::WifiMode',
6.76 + [param('std::string', 'uniqueName'), param('bool', 'isMandatory'), param('uint32_t', 'bandwidth'), param('uint32_t', 'dataRate'), param('uint32_t', 'phyRate')],
6.77 + is_static=True)
6.78 return
6.79
6.80 def register_Ns3WifiPhyListener_methods(root_module, cls):
6.81 @@ -2013,6 +2033,26 @@
6.82 'ns3::WifiMode',
6.83 [],
6.84 is_static=True)
6.85 + ## wifi-phy.h: static ns3::WifiMode ns3::WifiPhy::Get1mbb() [member function]
6.86 + cls.add_method('Get1mbb',
6.87 + 'ns3::WifiMode',
6.88 + [],
6.89 + is_static=True)
6.90 + ## wifi-phy.h: static ns3::WifiMode ns3::WifiPhy::Get2mbb() [member function]
6.91 + cls.add_method('Get2mbb',
6.92 + 'ns3::WifiMode',
6.93 + [],
6.94 + is_static=True)
6.95 + ## wifi-phy.h: static ns3::WifiMode ns3::WifiPhy::Get5_5mbb() [member function]
6.96 + cls.add_method('Get5_5mbb',
6.97 + 'ns3::WifiMode',
6.98 + [],
6.99 + is_static=True)
6.100 + ## wifi-phy.h: static ns3::WifiMode ns3::WifiPhy::Get11mbb() [member function]
6.101 + cls.add_method('Get11mbb',
6.102 + 'ns3::WifiMode',
6.103 + [],
6.104 + is_static=True)
6.105 ## wifi-phy.h: void ns3::WifiPhy::NotifyTxBegin(ns3::Ptr<ns3::Packet const> packet) [member function]
6.106 cls.add_method('NotifyTxBegin',
6.107 'void',
6.108 @@ -2037,10 +2077,14 @@
6.109 cls.add_method('NotifyRxDrop',
6.110 'void',
6.111 [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6.112 - ## wifi-phy.h: void ns3::WifiPhy::NotifyPromiscSniff(ns3::Ptr<ns3::Packet const> packet) [member function]
6.113 - cls.add_method('NotifyPromiscSniff',
6.114 - 'void',
6.115 - [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6.116 + ## wifi-phy.h: void ns3::WifiPhy::NotifyPromiscSniffRx(ns3::Ptr<ns3::Packet const> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, double signalDbm, double noiseDbm) [member function]
6.117 + cls.add_method('NotifyPromiscSniffRx',
6.118 + 'void',
6.119 + [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('uint16_t', 'channelFreqMhz'), param('uint32_t', 'rate'), param('bool', 'isShortPreamble'), param('double', 'signalDbm'), param('double', 'noiseDbm')])
6.120 + ## wifi-phy.h: void ns3::WifiPhy::NotifyPromiscSniffTx(ns3::Ptr<ns3::Packet const> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble) [member function]
6.121 + cls.add_method('NotifyPromiscSniffTx',
6.122 + 'void',
6.123 + [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('uint16_t', 'channelFreqMhz'), param('uint32_t', 'rate'), param('bool', 'isShortPreamble')])
6.124 return
6.125
6.126 def register_Ns3WifiRemoteStationManager_methods(root_module, cls):
6.127 @@ -2972,6 +3016,25 @@
6.128 is_pure_virtual=True, is_const=True, is_virtual=True)
6.129 return
6.130
6.131 +def register_Ns3FixedRssLossModel_methods(root_module, cls):
6.132 + ## propagation-loss-model.h: static ns3::TypeId ns3::FixedRssLossModel::GetTypeId() [member function]
6.133 + cls.add_method('GetTypeId',
6.134 + 'ns3::TypeId',
6.135 + [],
6.136 + is_static=True)
6.137 + ## propagation-loss-model.h: ns3::FixedRssLossModel::FixedRssLossModel() [constructor]
6.138 + cls.add_constructor([])
6.139 + ## propagation-loss-model.h: void ns3::FixedRssLossModel::SetRss(double rss) [member function]
6.140 + cls.add_method('SetRss',
6.141 + 'void',
6.142 + [param('double', 'rss')])
6.143 + ## propagation-loss-model.h: double ns3::FixedRssLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
6.144 + cls.add_method('DoCalcRxPower',
6.145 + 'double',
6.146 + [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
6.147 + is_const=True, visibility='private', is_virtual=True)
6.148 + return
6.149 +
6.150 def register_Ns3FriisPropagationLossModel_methods(root_module, cls):
6.151 ## propagation-loss-model.h: static ns3::TypeId ns3::FriisPropagationLossModel::GetTypeId() [member function]
6.152 cls.add_method('GetTypeId',
6.153 @@ -3122,6 +3185,21 @@
6.154 is_static=True)
6.155 return
6.156
6.157 +def register_Ns3NakagamiPropagationLossModel_methods(root_module, cls):
6.158 + ## propagation-loss-model.h: static ns3::TypeId ns3::NakagamiPropagationLossModel::GetTypeId() [member function]
6.159 + cls.add_method('GetTypeId',
6.160 + 'ns3::TypeId',
6.161 + [],
6.162 + is_static=True)
6.163 + ## propagation-loss-model.h: ns3::NakagamiPropagationLossModel::NakagamiPropagationLossModel() [constructor]
6.164 + cls.add_constructor([])
6.165 + ## propagation-loss-model.h: double ns3::NakagamiPropagationLossModel::DoCalcRxPower(double txPowerDbm, ns3::Ptr<ns3::MobilityModel> a, ns3::Ptr<ns3::MobilityModel> b) const [member function]
6.166 + cls.add_method('DoCalcRxPower',
6.167 + 'double',
6.168 + [param('double', 'txPowerDbm'), param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
6.169 + is_const=True, visibility='private', is_virtual=True)
6.170 + return
6.171 +
6.172 def register_Ns3NqapWifiMac_methods(root_module, cls):
6.173 ## nqap-wifi-mac.h: static ns3::TypeId ns3::NqapWifiMac::GetTypeId() [member function]
6.174 cls.add_method('GetTypeId',
7.1 --- a/src/common/pcap-writer.cc Thu Jun 04 09:32:03 2009 -0400
7.2 +++ b/src/common/pcap-writer.cc Thu Jun 04 09:41:07 2009 -0400
7.3 @@ -169,7 +169,9 @@
7.4 }
7.5
7.6
7.7 -void PcapWriter::WriteWifiMonitorPacket(Ptr<const Packet> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, bool isTx, double signalDbm, double noiseDbm)
7.8 +void PcapWriter::WriteWifiMonitorPacket(Ptr<const Packet> packet, uint16_t channelFreqMhz,
7.9 + uint32_t rate, bool isShortPreamble, bool isTx,
7.10 + double signalDbm, double noiseDbm)
7.11 {
7.12 NS_LOG_FUNCTION (this << packet->GetSize() << channelFreqMhz << rate << isShortPreamble << isTx << signalDbm << noiseDbm);
7.13
7.14 @@ -264,7 +266,7 @@
7.15 // (which stands for Received Signal Strength Indicator) but it is
7.16 // rather a Signal to Noise Ratio (SNR), of course in dB.
7.17 // Anyway, in the end we calculate the value exactly as madwifi does.
7.18 - Write32(round(signalDbm - noiseDbm));
7.19 + Write32((uint32_t)round(signalDbm - noiseDbm));
7.20
7.21 // SQ field not used. I would expect a PRISM_STATUS_ABSENT to be
7.22 // needed here, but if you look at the prism header that madwifi
7.23 @@ -278,12 +280,12 @@
7.24 Write32(PRISM_DID_SIGNAL);
7.25 Write16(PRISM_STATUS_PRESENT);
7.26 Write16(PRISM_ITEM_LENGTH);
7.27 - Write32(round(signalDbm));
7.28 + Write32((uint32_t)round(signalDbm));
7.29
7.30 Write32(PRISM_DID_NOISE);
7.31 Write16(PRISM_STATUS_PRESENT);
7.32 Write16(PRISM_ITEM_LENGTH);
7.33 - Write32(round(noiseDbm));
7.34 + Write32((uint32_t)round(noiseDbm));
7.35
7.36 Write32(PRISM_DID_RATE);
7.37 Write16(PRISM_STATUS_PRESENT);
8.1 --- a/src/common/pcap-writer.h Thu Jun 04 09:32:03 2009 -0400
8.2 +++ b/src/common/pcap-writer.h Thu Jun 04 09:41:07 2009 -0400
8.3 @@ -124,7 +124,9 @@
8.4 * @param signalDbm signal power in dBm
8.5 * @param noiseDbm noise power in dBm
8.6 */
8.7 - void WriteWifiMonitorPacket(Ptr<const Packet> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, bool isTx, double signalDbm, double noiseDbm);
8.8 + void WriteWifiMonitorPacket(Ptr<const Packet> packet, uint16_t channelFreqMhz,
8.9 + uint32_t rate, bool isShortPreamble, bool isTx,
8.10 + double signalDbm, double noiseDbm);
8.11
8.12
8.13
9.1 --- a/src/devices/wifi/msdu-aggregator.cc Thu Jun 04 09:32:03 2009 -0400
9.2 +++ b/src/devices/wifi/msdu-aggregator.cc Thu Jun 04 09:41:07 2009 -0400
9.3 @@ -44,33 +44,31 @@
9.4 DeaggregatedMsdus set;
9.5
9.6 AmsduSubframeHeader hdr;
9.7 + Ptr<Packet> extractedMsdu = Create<Packet> ();
9.8 uint32_t maxSize = aggregatedPacket->GetSize ();
9.9 - // The worst condition is: two aggregated packets with no padding.
9.10 - // 28 bytes is the size of two Amsdu subframe headers.
9.11 - uint8_t *buffer = new uint8_t[maxSize-28];
9.12 + uint16_t extractedLength;
9.13 uint32_t padding;
9.14 uint32_t deserialized = 0;
9.15
9.16 while (deserialized < maxSize)
9.17 {
9.18 deserialized += aggregatedPacket->RemoveHeader (hdr);
9.19 - deserialized += aggregatedPacket->CopyData (buffer, hdr.GetLength ());
9.20 - aggregatedPacket->RemoveAtStart (hdr.GetLength ());
9.21 + extractedLength = hdr.GetLength ();
9.22 + extractedMsdu = aggregatedPacket->CreateFragment (0, static_cast<uint32_t>(extractedLength));
9.23 + aggregatedPacket->RemoveAtStart (extractedLength);
9.24 + deserialized += extractedLength;
9.25
9.26 - padding = (4 - ((hdr.GetLength () + 14) %4 )) % 4;
9.27 + padding = (4 - ((extractedLength + 14) %4 )) % 4;
9.28
9.29 if (padding > 0 && deserialized < maxSize)
9.30 {
9.31 aggregatedPacket->RemoveAtStart (padding);
9.32 deserialized += padding;
9.33 }
9.34 - //a new packet is created with the content of extracted msdu
9.35 - Ptr<Packet> p = Create<Packet> (buffer, hdr.GetLength ());
9.36
9.37 - std::pair<Ptr<Packet>, AmsduSubframeHeader> packetHdr (p,hdr);
9.38 + std::pair<Ptr<Packet>, AmsduSubframeHeader> packetHdr (extractedMsdu, hdr);
9.39 set.push_back (packetHdr);
9.40 }
9.41 - delete [] buffer;
9.42 NS_LOG_INFO ("Deaggreated A-MSDU: extracted "<< set.size () << " MSDUs");
9.43 return set;
9.44 }
10.1 --- a/src/devices/wifi/wifi-phy.h Thu Jun 04 09:32:03 2009 -0400
10.2 +++ b/src/devices/wifi/wifi-phy.h Thu Jun 04 09:41:07 2009 -0400
10.3 @@ -313,7 +313,8 @@
10.4 * @param signalDbm signal power in dBm
10.5 * @param noiseDbm noise power in dBm
10.6 */
10.7 - void NotifyPromiscSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, double signalDbm, double noiseDbm);
10.8 + void NotifyPromiscSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble,
10.9 + double signalDbm, double noiseDbm);
10.10
10.11 /**
10.12 *
11.1 --- a/src/helper/yans-wifi-helper.cc Thu Jun 04 09:32:03 2009 -0400
11.2 +++ b/src/helper/yans-wifi-helper.cc Thu Jun 04 09:41:07 2009 -0400
11.3 @@ -31,14 +31,16 @@
11.4
11.5 namespace ns3 {
11.6
11.7 -static void PcapSniffTxEvent (Ptr<PcapWriter> writer, Ptr<const Packet> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble)
11.8 +static void PcapSniffTxEvent (Ptr<PcapWriter> writer, Ptr<const Packet> packet, uint16_t channelFreqMhz,
11.9 + uint32_t rate, bool isShortPreamble)
11.10 {
11.11 const double unusedValue = 0;
11.12 writer->WriteWifiMonitorPacket(packet, channelFreqMhz, rate, isShortPreamble, true, unusedValue, unusedValue);
11.13 }
11.14
11.15
11.16 -static void PcapSniffRxEvent (Ptr<PcapWriter> writer, Ptr<const Packet> packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, double signalDbm, double noiseDbm)
11.17 +static void PcapSniffRxEvent (Ptr<PcapWriter> writer, Ptr<const Packet> packet, uint16_t channelFreqMhz,
11.18 + uint32_t rate, bool isShortPreamble, double signalDbm, double noiseDbm)
11.19 {
11.20 writer->WriteWifiMonitorPacket(packet, channelFreqMhz, rate, isShortPreamble, false, signalDbm, noiseDbm);
11.21 }