View | Details | Raw Unified | Return to bug 1785
Collapse All | Expand All

(-)a/src/wifi/bindings/modulegen__gcc_ILP32.py (-19 / +23 lines)
 Lines 20-25    Link Here 
20
def register_types(module):
20
def register_types(module):
21
    root_module = module.get_root()
21
    root_module = module.get_root()
22
    
22
    
23
    ## propagation-environment.h (module 'propagation'): ns3::EnvironmentType [enumeration]
24
    module.add_enum('EnvironmentType', ['UrbanEnvironment', 'SubUrbanEnvironment', 'OpenAreasEnvironment'], import_from_module='ns.propagation')
23
    ## qos-utils.h (module 'wifi'): ns3::AcIndex [enumeration]
25
    ## qos-utils.h (module 'wifi'): ns3::AcIndex [enumeration]
24
    module.add_enum('AcIndex', ['AC_BE', 'AC_BK', 'AC_VI', 'AC_VO', 'AC_BE_NQOS', 'AC_UNDEF'])
26
    module.add_enum('AcIndex', ['AC_BE', 'AC_BK', 'AC_VI', 'AC_VO', 'AC_BE_NQOS', 'AC_UNDEF'])
25
    ## wifi-mac-header.h (module 'wifi'): ns3::WifiMacType [enumeration]
27
    ## wifi-mac-header.h (module 'wifi'): ns3::WifiMacType [enumeration]
 Lines 40-47    Link Here 
40
    module.add_enum('TypeOfStation', ['STA', 'AP', 'ADHOC_STA', 'MESH', 'HT_STA', 'HT_AP', 'HT_ADHOC_STA'])
42
    module.add_enum('TypeOfStation', ['STA', 'AP', 'ADHOC_STA', 'MESH', 'HT_STA', 'HT_AP', 'HT_ADHOC_STA'])
41
    ## ctrl-headers.h (module 'wifi'): ns3::BlockAckType [enumeration]
43
    ## ctrl-headers.h (module 'wifi'): ns3::BlockAckType [enumeration]
42
    module.add_enum('BlockAckType', ['BASIC_BLOCK_ACK', 'COMPRESSED_BLOCK_ACK', 'MULTI_TID_BLOCK_ACK'])
44
    module.add_enum('BlockAckType', ['BASIC_BLOCK_ACK', 'COMPRESSED_BLOCK_ACK', 'MULTI_TID_BLOCK_ACK'])
43
    ## propagation-environment.h (module 'propagation'): ns3::EnvironmentType [enumeration]
44
    module.add_enum('EnvironmentType', ['UrbanEnvironment', 'SubUrbanEnvironment', 'OpenAreasEnvironment'], import_from_module='ns.propagation')
45
    ## address.h (module 'network'): ns3::Address [class]
45
    ## address.h (module 'network'): ns3::Address [class]
46
    module.add_class('Address', import_from_module='ns.network')
46
    module.add_class('Address', import_from_module='ns.network')
47
    ## address.h (module 'network'): ns3::Address::MaxSize_e [enumeration]
47
    ## address.h (module 'network'): ns3::Address::MaxSize_e [enumeration]
 Lines 570-578    Link Here 
570
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >', 'ns3::WifiMcsList')
570
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >', 'ns3::WifiMcsList')
571
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >*', 'ns3::WifiMcsList*')
571
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >*', 'ns3::WifiMcsList*')
572
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >&', 'ns3::WifiMcsList&')
572
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >&', 'ns3::WifiMcsList&')
573
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >', 'ns3::MinstrelRate')
574
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >*', 'ns3::MinstrelRate*')
575
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >&', 'ns3::MinstrelRate&')
576
    typehandlers.add_type_alias('uint8_t', 'ns3::WifiInformationElementId')
573
    typehandlers.add_type_alias('uint8_t', 'ns3::WifiInformationElementId')
577
    typehandlers.add_type_alias('uint8_t*', 'ns3::WifiInformationElementId*')
574
    typehandlers.add_type_alias('uint8_t*', 'ns3::WifiInformationElementId*')
578
    typehandlers.add_type_alias('uint8_t&', 'ns3::WifiInformationElementId&')
575
    typehandlers.add_type_alias('uint8_t&', 'ns3::WifiInformationElementId&')
 Lines 583-588    Link Here 
583
    typehandlers.add_type_alias('ns3::Vector3D*', 'ns3::Vector*')
580
    typehandlers.add_type_alias('ns3::Vector3D*', 'ns3::Vector*')
584
    typehandlers.add_type_alias('ns3::Vector3D&', 'ns3::Vector&')
581
    typehandlers.add_type_alias('ns3::Vector3D&', 'ns3::Vector&')
585
    module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
582
    module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
583
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >', 'ns3::MinstrelRate')
584
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >*', 'ns3::MinstrelRate*')
585
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >&', 'ns3::MinstrelRate&')
586
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >', 'ns3::WifiModeList')
586
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >', 'ns3::WifiModeList')
587
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >*', 'ns3::WifiModeList*')
587
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >*', 'ns3::WifiModeList*')
588
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >&', 'ns3::WifiModeList&')
588
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >&', 'ns3::WifiModeList&')
 Lines 4334-4341    Link Here 
4334
    return
4334
    return
4335
4335
4336
def register_Ns3Int64x64_t_methods(root_module, cls):
4336
def register_Ns3Int64x64_t_methods(root_module, cls):
4337
    cls.add_binary_comparison_operator('<=')
4338
    cls.add_binary_comparison_operator('!=')
4337
    cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', 'right'))
4339
    cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', 'right'))
4338
    cls.add_binary_comparison_operator('!=')
4339
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
4340
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
4340
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
4341
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
4341
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
4342
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
 Lines 4391-4397    Link Here 
4391
    cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', 'right'))
4392
    cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', 'right'))
4392
    cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', 'right'))
4393
    cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', 'right'))
4393
    cls.add_output_stream_operator()
4394
    cls.add_output_stream_operator()
4394
    cls.add_binary_comparison_operator('<=')
4395
    cls.add_binary_comparison_operator('==')
4395
    cls.add_binary_comparison_operator('==')
4396
    cls.add_binary_comparison_operator('>=')
4396
    cls.add_binary_comparison_operator('>=')
4397
    ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
4397
    ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
 Lines 5689-5703    Link Here 
5689
    return
5689
    return
5690
5690
5691
def register_Ns3Time_methods(root_module, cls):
5691
def register_Ns3Time_methods(root_module, cls):
5692
    cls.add_binary_comparison_operator('<=')
5693
    cls.add_binary_comparison_operator('!=')
5692
    cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', 'right'))
5694
    cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', 'right'))
5693
    cls.add_binary_comparison_operator('!=')
5694
    cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
5695
    cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
5695
    cls.add_binary_numeric_operator('-', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
5696
    cls.add_binary_numeric_operator('-', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
5696
    cls.add_binary_comparison_operator('<')
5697
    cls.add_binary_comparison_operator('<')
5697
    cls.add_binary_comparison_operator('>')
5698
    cls.add_binary_comparison_operator('>')
5698
    cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', 'right'))
5699
    cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', 'right'))
5699
    cls.add_output_stream_operator()
5700
    cls.add_output_stream_operator()
5700
    cls.add_binary_comparison_operator('<=')
5701
    cls.add_binary_comparison_operator('==')
5701
    cls.add_binary_comparison_operator('==')
5702
    cls.add_binary_comparison_operator('>=')
5702
    cls.add_binary_comparison_operator('>=')
5703
    ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
5703
    ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
 Lines 6377-6402    Link Here 
6377
                   'ns3::TypeId', 
6377
                   'ns3::TypeId', 
6378
                   [], 
6378
                   [], 
6379
                   is_static=True)
6379
                   is_static=True)
6380
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyPromiscRx(ns3::Ptr<ns3::Packet const> packet) [member function]
6380
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyPromiscRx(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6381
    cls.add_method('NotifyPromiscRx', 
6381
    cls.add_method('NotifyPromiscRx', 
6382
                   'void', 
6382
                   'void', 
6383
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6383
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6384
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyRx(ns3::Ptr<ns3::Packet const> packet) [member function]
6384
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyRx(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6385
    cls.add_method('NotifyRx', 
6385
    cls.add_method('NotifyRx', 
6386
                   'void', 
6386
                   'void', 
6387
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6387
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6388
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyRxDrop(ns3::Ptr<ns3::Packet const> packet) [member function]
6388
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyRxDrop(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6389
    cls.add_method('NotifyRxDrop', 
6389
    cls.add_method('NotifyRxDrop', 
6390
                   'void', 
6390
                   'void', 
6391
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6391
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6392
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyTx(ns3::Ptr<ns3::Packet const> packet) [member function]
6392
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyTx(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6393
    cls.add_method('NotifyTx', 
6393
    cls.add_method('NotifyTx', 
6394
                   'void', 
6394
                   'void', 
6395
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6395
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6396
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyTxDrop(ns3::Ptr<ns3::Packet const> packet) [member function]
6396
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyTxDrop(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6397
    cls.add_method('NotifyTxDrop', 
6397
    cls.add_method('NotifyTxDrop', 
6398
                   'void', 
6398
                   'void', 
6399
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6399
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6400
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::SetAckTimeout(ns3::Time ackTimeout) [member function]
6400
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::SetAckTimeout(ns3::Time ackTimeout) [member function]
6401
    cls.add_method('SetAckTimeout', 
6401
    cls.add_method('SetAckTimeout', 
6402
                   'void', 
6402
                   'void', 
 Lines 13261-13266    Link Here 
13261
    cls.add_method('StartBeaconing', 
13261
    cls.add_method('StartBeaconing', 
13262
                   'void', 
13262
                   'void', 
13263
                   [])
13263
                   [])
13264
    ## ap-wifi-mac.h (module 'wifi'): int64_t ns3::ApWifiMac::AssignStreams(int64_t stream) [member function]
13265
    cls.add_method('AssignStreams', 
13266
                   'int64_t', 
13267
                   [param('int64_t', 'stream')])
13264
    ## ap-wifi-mac.h (module 'wifi'): void ns3::ApWifiMac::Receive(ns3::Ptr<ns3::Packet> packet, ns3::WifiMacHeader const * hdr) [member function]
13268
    ## ap-wifi-mac.h (module 'wifi'): void ns3::ApWifiMac::Receive(ns3::Ptr<ns3::Packet> packet, ns3::WifiMacHeader const * hdr) [member function]
13265
    cls.add_method('Receive', 
13269
    cls.add_method('Receive', 
13266
                   'void', 
13270
                   'void', 
(-)a/src/wifi/bindings/modulegen__gcc_LP64.py (-19 / +23 lines)
 Lines 20-25    Link Here 
20
def register_types(module):
20
def register_types(module):
21
    root_module = module.get_root()
21
    root_module = module.get_root()
22
    
22
    
23
    ## propagation-environment.h (module 'propagation'): ns3::EnvironmentType [enumeration]
24
    module.add_enum('EnvironmentType', ['UrbanEnvironment', 'SubUrbanEnvironment', 'OpenAreasEnvironment'], import_from_module='ns.propagation')
23
    ## qos-utils.h (module 'wifi'): ns3::AcIndex [enumeration]
25
    ## qos-utils.h (module 'wifi'): ns3::AcIndex [enumeration]
24
    module.add_enum('AcIndex', ['AC_BE', 'AC_BK', 'AC_VI', 'AC_VO', 'AC_BE_NQOS', 'AC_UNDEF'])
26
    module.add_enum('AcIndex', ['AC_BE', 'AC_BK', 'AC_VI', 'AC_VO', 'AC_BE_NQOS', 'AC_UNDEF'])
25
    ## wifi-mac-header.h (module 'wifi'): ns3::WifiMacType [enumeration]
27
    ## wifi-mac-header.h (module 'wifi'): ns3::WifiMacType [enumeration]
 Lines 40-47    Link Here 
40
    module.add_enum('TypeOfStation', ['STA', 'AP', 'ADHOC_STA', 'MESH', 'HT_STA', 'HT_AP', 'HT_ADHOC_STA'])
42
    module.add_enum('TypeOfStation', ['STA', 'AP', 'ADHOC_STA', 'MESH', 'HT_STA', 'HT_AP', 'HT_ADHOC_STA'])
41
    ## ctrl-headers.h (module 'wifi'): ns3::BlockAckType [enumeration]
43
    ## ctrl-headers.h (module 'wifi'): ns3::BlockAckType [enumeration]
42
    module.add_enum('BlockAckType', ['BASIC_BLOCK_ACK', 'COMPRESSED_BLOCK_ACK', 'MULTI_TID_BLOCK_ACK'])
44
    module.add_enum('BlockAckType', ['BASIC_BLOCK_ACK', 'COMPRESSED_BLOCK_ACK', 'MULTI_TID_BLOCK_ACK'])
43
    ## propagation-environment.h (module 'propagation'): ns3::EnvironmentType [enumeration]
44
    module.add_enum('EnvironmentType', ['UrbanEnvironment', 'SubUrbanEnvironment', 'OpenAreasEnvironment'], import_from_module='ns.propagation')
45
    ## address.h (module 'network'): ns3::Address [class]
45
    ## address.h (module 'network'): ns3::Address [class]
46
    module.add_class('Address', import_from_module='ns.network')
46
    module.add_class('Address', import_from_module='ns.network')
47
    ## address.h (module 'network'): ns3::Address::MaxSize_e [enumeration]
47
    ## address.h (module 'network'): ns3::Address::MaxSize_e [enumeration]
 Lines 570-578    Link Here 
570
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >', 'ns3::WifiMcsList')
570
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >', 'ns3::WifiMcsList')
571
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >*', 'ns3::WifiMcsList*')
571
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >*', 'ns3::WifiMcsList*')
572
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >&', 'ns3::WifiMcsList&')
572
    typehandlers.add_type_alias('std::vector< unsigned char, std::allocator< unsigned char > >&', 'ns3::WifiMcsList&')
573
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >', 'ns3::MinstrelRate')
574
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >*', 'ns3::MinstrelRate*')
575
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >&', 'ns3::MinstrelRate&')
576
    typehandlers.add_type_alias('uint8_t', 'ns3::WifiInformationElementId')
573
    typehandlers.add_type_alias('uint8_t', 'ns3::WifiInformationElementId')
577
    typehandlers.add_type_alias('uint8_t*', 'ns3::WifiInformationElementId*')
574
    typehandlers.add_type_alias('uint8_t*', 'ns3::WifiInformationElementId*')
578
    typehandlers.add_type_alias('uint8_t&', 'ns3::WifiInformationElementId&')
575
    typehandlers.add_type_alias('uint8_t&', 'ns3::WifiInformationElementId&')
 Lines 583-588    Link Here 
583
    typehandlers.add_type_alias('ns3::Vector3D*', 'ns3::Vector*')
580
    typehandlers.add_type_alias('ns3::Vector3D*', 'ns3::Vector*')
584
    typehandlers.add_type_alias('ns3::Vector3D&', 'ns3::Vector&')
581
    typehandlers.add_type_alias('ns3::Vector3D&', 'ns3::Vector&')
585
    module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
582
    module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
583
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >', 'ns3::MinstrelRate')
584
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >*', 'ns3::MinstrelRate*')
585
    typehandlers.add_type_alias('std::vector< ns3::RateInfo, std::allocator< ns3::RateInfo > >&', 'ns3::MinstrelRate&')
586
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >', 'ns3::WifiModeList')
586
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >', 'ns3::WifiModeList')
587
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >*', 'ns3::WifiModeList*')
587
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >*', 'ns3::WifiModeList*')
588
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >&', 'ns3::WifiModeList&')
588
    typehandlers.add_type_alias('std::vector< ns3::WifiMode, std::allocator< ns3::WifiMode > >&', 'ns3::WifiModeList&')
 Lines 4334-4341    Link Here 
4334
    return
4334
    return
4335
4335
4336
def register_Ns3Int64x64_t_methods(root_module, cls):
4336
def register_Ns3Int64x64_t_methods(root_module, cls):
4337
    cls.add_binary_comparison_operator('<=')
4338
    cls.add_binary_comparison_operator('!=')
4337
    cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', 'right'))
4339
    cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', 'right'))
4338
    cls.add_binary_comparison_operator('!=')
4339
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
4340
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
4340
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
4341
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
4341
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
4342
    cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
 Lines 4391-4397    Link Here 
4391
    cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', 'right'))
4392
    cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', 'right'))
4392
    cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', 'right'))
4393
    cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', 'right'))
4393
    cls.add_output_stream_operator()
4394
    cls.add_output_stream_operator()
4394
    cls.add_binary_comparison_operator('<=')
4395
    cls.add_binary_comparison_operator('==')
4395
    cls.add_binary_comparison_operator('==')
4396
    cls.add_binary_comparison_operator('>=')
4396
    cls.add_binary_comparison_operator('>=')
4397
    ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
4397
    ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
 Lines 5689-5703    Link Here 
5689
    return
5689
    return
5690
5690
5691
def register_Ns3Time_methods(root_module, cls):
5691
def register_Ns3Time_methods(root_module, cls):
5692
    cls.add_binary_comparison_operator('<=')
5693
    cls.add_binary_comparison_operator('!=')
5692
    cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', 'right'))
5694
    cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', 'right'))
5693
    cls.add_binary_comparison_operator('!=')
5694
    cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
5695
    cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
5695
    cls.add_binary_numeric_operator('-', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
5696
    cls.add_binary_numeric_operator('-', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
5696
    cls.add_binary_comparison_operator('<')
5697
    cls.add_binary_comparison_operator('<')
5697
    cls.add_binary_comparison_operator('>')
5698
    cls.add_binary_comparison_operator('>')
5698
    cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', 'right'))
5699
    cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', 'right'))
5699
    cls.add_output_stream_operator()
5700
    cls.add_output_stream_operator()
5700
    cls.add_binary_comparison_operator('<=')
5701
    cls.add_binary_comparison_operator('==')
5701
    cls.add_binary_comparison_operator('==')
5702
    cls.add_binary_comparison_operator('>=')
5702
    cls.add_binary_comparison_operator('>=')
5703
    ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
5703
    ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
 Lines 6377-6402    Link Here 
6377
                   'ns3::TypeId', 
6377
                   'ns3::TypeId', 
6378
                   [], 
6378
                   [], 
6379
                   is_static=True)
6379
                   is_static=True)
6380
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyPromiscRx(ns3::Ptr<ns3::Packet const> packet) [member function]
6380
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyPromiscRx(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6381
    cls.add_method('NotifyPromiscRx', 
6381
    cls.add_method('NotifyPromiscRx', 
6382
                   'void', 
6382
                   'void', 
6383
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6383
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6384
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyRx(ns3::Ptr<ns3::Packet const> packet) [member function]
6384
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyRx(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6385
    cls.add_method('NotifyRx', 
6385
    cls.add_method('NotifyRx', 
6386
                   'void', 
6386
                   'void', 
6387
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6387
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6388
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyRxDrop(ns3::Ptr<ns3::Packet const> packet) [member function]
6388
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyRxDrop(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6389
    cls.add_method('NotifyRxDrop', 
6389
    cls.add_method('NotifyRxDrop', 
6390
                   'void', 
6390
                   'void', 
6391
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6391
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6392
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyTx(ns3::Ptr<ns3::Packet const> packet) [member function]
6392
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyTx(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6393
    cls.add_method('NotifyTx', 
6393
    cls.add_method('NotifyTx', 
6394
                   'void', 
6394
                   'void', 
6395
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6395
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6396
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyTxDrop(ns3::Ptr<ns3::Packet const> packet) [member function]
6396
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::NotifyTxDrop(ns3::Ptr<ns3::Packet const> packet, ns3::Mac48Address destination, ns3::Mac48Address source) [member function]
6397
    cls.add_method('NotifyTxDrop', 
6397
    cls.add_method('NotifyTxDrop', 
6398
                   'void', 
6398
                   'void', 
6399
                   [param('ns3::Ptr< ns3::Packet const >', 'packet')])
6399
                   [param('ns3::Ptr< ns3::Packet const >', 'packet'), param('ns3::Mac48Address', 'destination'), param('ns3::Mac48Address', 'source')])
6400
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::SetAckTimeout(ns3::Time ackTimeout) [member function]
6400
    ## wifi-mac.h (module 'wifi'): void ns3::WifiMac::SetAckTimeout(ns3::Time ackTimeout) [member function]
6401
    cls.add_method('SetAckTimeout', 
6401
    cls.add_method('SetAckTimeout', 
6402
                   'void', 
6402
                   'void', 
 Lines 13261-13266    Link Here 
13261
    cls.add_method('StartBeaconing', 
13261
    cls.add_method('StartBeaconing', 
13262
                   'void', 
13262
                   'void', 
13263
                   [])
13263
                   [])
13264
    ## ap-wifi-mac.h (module 'wifi'): int64_t ns3::ApWifiMac::AssignStreams(int64_t stream) [member function]
13265
    cls.add_method('AssignStreams', 
13266
                   'int64_t', 
13267
                   [param('int64_t', 'stream')])
13264
    ## ap-wifi-mac.h (module 'wifi'): void ns3::ApWifiMac::Receive(ns3::Ptr<ns3::Packet> packet, ns3::WifiMacHeader const * hdr) [member function]
13268
    ## ap-wifi-mac.h (module 'wifi'): void ns3::ApWifiMac::Receive(ns3::Ptr<ns3::Packet> packet, ns3::WifiMacHeader const * hdr) [member function]
13265
    cls.add_method('Receive', 
13269
    cls.add_method('Receive', 
13266
                   'void', 
13270
                   'void', 
(-)a/src/wifi/model/ap-wifi-mac.cc (-2 / +2 lines)
 Lines 527-539    Link Here 
527
        {
527
        {
528
          // this is an AP-to-AP frame
528
          // this is an AP-to-AP frame
529
          // we ignore for now.
529
          // we ignore for now.
530
          NotifyRxDrop (packet);
530
          NotifyRxDrop (packet, hdr->GetAddr1 (), hdr->GetAddr3 ());
531
        }
531
        }
532
      else
532
      else
533
        {
533
        {
534
          // we can ignore these frames since
534
          // we can ignore these frames since
535
          // they are not targeted at the AP
535
          // they are not targeted at the AP
536
          NotifyRxDrop (packet);
536
          NotifyRxDrop (packet, hdr->GetAddr1 (), hdr->GetAddr3 ());
537
        }
537
        }
538
      return;
538
      return;
539
    }
539
    }
(-)a/src/wifi/model/sta-wifi-mac.cc (-6 / +6 lines)
 Lines 335-341    Link Here 
335
  NS_LOG_FUNCTION (this << packet << to);
335
  NS_LOG_FUNCTION (this << packet << to);
336
  if (!IsAssociated ())
336
  if (!IsAssociated ())
337
    {
337
    {
338
      NotifyTxDrop (packet);
338
      NotifyTxDrop (packet, to, GetAddress ());
339
      TryToEnsureAssociated ();
339
      TryToEnsureAssociated ();
340
      return;
340
      return;
341
    }
341
    }
 Lines 413-419    Link Here 
413
           && !hdr->GetAddr1 ().IsGroup ())
413
           && !hdr->GetAddr1 ().IsGroup ())
414
    {
414
    {
415
      NS_LOG_LOGIC ("packet is not for us");
415
      NS_LOG_LOGIC ("packet is not for us");
416
      NotifyRxDrop (packet);
416
      NotifyRxDrop (packet, hdr->GetAddr1 (), hdr->GetAddr3 ());
417
      return;
417
      return;
418
    }
418
    }
419
  else if (hdr->IsData ())
419
  else if (hdr->IsData ())
 Lines 421-439    Link Here 
421
      if (!IsAssociated ())
421
      if (!IsAssociated ())
422
        {
422
        {
423
          NS_LOG_LOGIC ("Received data frame while not associated: ignore");
423
          NS_LOG_LOGIC ("Received data frame while not associated: ignore");
424
          NotifyRxDrop (packet);
424
          NotifyRxDrop (packet, hdr->GetAddr1 (), hdr->GetAddr3 ());
425
          return;
425
          return;
426
        }
426
        }
427
      if (!(hdr->IsFromDs () && !hdr->IsToDs ()))
427
      if (!(hdr->IsFromDs () && !hdr->IsToDs ()))
428
        {
428
        {
429
          NS_LOG_LOGIC ("Received data frame not from the DS: ignore");
429
          NS_LOG_LOGIC ("Received data frame not from the DS: ignore");
430
          NotifyRxDrop (packet);
430
          NotifyRxDrop (packet, hdr->GetAddr1 (), hdr->GetAddr3 ());
431
          return;
431
          return;
432
        }
432
        }
433
      if (hdr->GetAddr2 () != GetBssid ())
433
      if (hdr->GetAddr2 () != GetBssid ())
434
        {
434
        {
435
          NS_LOG_LOGIC ("Received data frame not from the BSS we are associated with: ignore");
435
          NS_LOG_LOGIC ("Received data frame not from the BSS we are associated with: ignore");
436
          NotifyRxDrop (packet);
436
          NotifyRxDrop (packet, hdr->GetAddr1 (), hdr->GetAddr3 ());
437
          return;
437
          return;
438
        }
438
        }
439
439
 Lines 460-466    Link Here 
460
           || hdr->IsAssocReq ())
460
           || hdr->IsAssocReq ())
461
    {
461
    {
462
      // This is a frame aimed at an AP, so we can safely ignore it.
462
      // This is a frame aimed at an AP, so we can safely ignore it.
463
      NotifyRxDrop (packet);
463
      NotifyRxDrop (packet, hdr->GetAddr1 (), hdr->GetAddr3 ());
464
      return;
464
      return;
465
    }
465
    }
466
  else if (hdr->IsBeacon ())
466
  else if (hdr->IsBeacon ())
(-)a/src/wifi/model/wifi-mac.cc (-10 / +10 lines)
 Lines 241-273    Link Here 
241
}
241
}
242
242
243
void
243
void
244
WifiMac::NotifyTx (Ptr<const Packet> packet)
244
WifiMac::NotifyTx (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source)
245
{
245
{
246
  m_macTxTrace (packet);
246
  m_macTxTrace (packet, destination, source);
247
}
247
}
248
248
249
void
249
void
250
WifiMac::NotifyTxDrop (Ptr<const Packet> packet)
250
WifiMac::NotifyTxDrop (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source)
251
{
251
{
252
  m_macTxDropTrace (packet);
252
  m_macTxDropTrace (packet, destination, source);
253
}
253
}
254
254
255
void
255
void
256
WifiMac::NotifyRx (Ptr<const Packet> packet)
256
WifiMac::NotifyRx (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source)
257
{
257
{
258
  m_macRxTrace (packet);
258
  m_macRxTrace (packet, destination, source);
259
}
259
}
260
260
261
void
261
void
262
WifiMac::NotifyPromiscRx (Ptr<const Packet> packet)
262
WifiMac::NotifyPromiscRx (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source)
263
{
263
{
264
  m_macPromiscRxTrace (packet);
264
  m_macPromiscRxTrace (packet, destination, source);
265
}
265
}
266
266
267
void
267
void
268
WifiMac::NotifyRxDrop (Ptr<const Packet> packet)
268
WifiMac::NotifyRxDrop (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source)
269
{
269
{
270
  m_macRxDropTrace (packet);
270
  m_macRxDropTrace (packet, destination, source);
271
}
271
}
272
272
273
void
273
void
(-)a/src/wifi/model/wifi-mac.h (-10 / +10 lines)
 Lines 206-236    Link Here 
206
   * Public method used to fire a MacTx trace.  Implemented for encapsulation
206
   * Public method used to fire a MacTx trace.  Implemented for encapsulation
207
   * purposes.
207
   * purposes.
208
   */
208
   */
209
  void NotifyTx (Ptr<const Packet> packet);
209
  void NotifyTx (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source);
210
210
211
  /**
211
  /**
212
   * Public method used to fire a MacTxDrop trace.  Implemented for encapsulation
212
   * Public method used to fire a MacTxDrop trace.  Implemented for encapsulation
213
   * purposes.
213
   * purposes.
214
   */
214
   */
215
  void NotifyTxDrop (Ptr<const Packet> packet);
215
  void NotifyTxDrop (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source);
216
216
217
  /**
217
  /**
218
   * Public method used to fire a MacRx trace.  Implemented for encapsulation
218
   * Public method used to fire a MacRx trace.  Implemented for encapsulation
219
   * purposes.
219
   * purposes.
220
   */
220
   */
221
  void NotifyRx (Ptr<const Packet> packet);
221
  void NotifyRx (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source);
222
222
223
  /**
223
  /**
224
   * Public method used to fire a MacPromiscRx trace.  Implemented for encapsulation
224
   * Public method used to fire a MacPromiscRx trace.  Implemented for encapsulation
225
   * purposes.
225
   * purposes.
226
   */
226
   */
227
  void NotifyPromiscRx (Ptr<const Packet> packet);
227
  void NotifyPromiscRx (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source);
228
228
229
  /**
229
  /**
230
   * Public method used to fire a MacRxDrop trace.  Implemented for encapsulation
230
   * Public method used to fire a MacRxDrop trace.  Implemented for encapsulation
231
   * purposes.
231
   * purposes.
232
   */
232
   */
233
  void NotifyRxDrop (Ptr<const Packet> packet);
233
  void NotifyRxDrop (Ptr<const Packet> packet, Mac48Address destination, Mac48Address source);
234
  /**
234
  /**
235
   * \param standard the wifi standard to be configured
235
   * \param standard the wifi standard to be configured
236
   */
236
   */
 Lines 276-282    Link Here 
276
   *
276
   *
277
   * \see class CallBackTraceSource
277
   * \see class CallBackTraceSource
278
   */
278
   */
279
  TracedCallback<Ptr<const Packet> > m_macTxTrace;
279
  TracedCallback<Ptr<const Packet>, Mac48Address, Mac48Address> m_macTxTrace;
280
280
281
  /**
281
  /**
282
   * The trace source fired when packets coming into the "top" of the device
282
   * The trace source fired when packets coming into the "top" of the device
 Lines 284-290    Link Here 
284
   *
284
   *
285
   * \see class CallBackTraceSource
285
   * \see class CallBackTraceSource
286
   */
286
   */
287
  TracedCallback<Ptr<const Packet> > m_macTxDropTrace;
287
  TracedCallback<Ptr<const Packet>, Mac48Address, Mac48Address > m_macTxDropTrace;
288
288
289
  /**
289
  /**
290
   * The trace source fired for packets successfully received by the device
290
   * The trace source fired for packets successfully received by the device
 Lines 293-299    Link Here 
293
   *
293
   *
294
   * \see class CallBackTraceSource
294
   * \see class CallBackTraceSource
295
   */
295
   */
296
  TracedCallback<Ptr<const Packet> > m_macPromiscRxTrace;
296
  TracedCallback<Ptr<const Packet>, Mac48Address, Mac48Address > m_macPromiscRxTrace;
297
297
298
  /**
298
  /**
299
   * The trace source fired for packets successfully received by the device
299
   * The trace source fired for packets successfully received by the device
 Lines 302-308    Link Here 
302
   *
302
   *
303
   * \see class CallBackTraceSource
303
   * \see class CallBackTraceSource
304
   */
304
   */
305
  TracedCallback<Ptr<const Packet> > m_macRxTrace;
305
  TracedCallback<Ptr<const Packet>, Mac48Address, Mac48Address > m_macRxTrace;
306
306
307
  /**
307
  /**
308
   * The trace source fired when packets coming into the "top" of the device
308
   * The trace source fired when packets coming into the "top" of the device
 Lines 310-316    Link Here 
310
   *
310
   *
311
   * \see class CallBackTraceSource
311
   * \see class CallBackTraceSource
312
   */
312
   */
313
  TracedCallback<Ptr<const Packet> > m_macRxDropTrace;
313
  TracedCallback<Ptr<const Packet>, Mac48Address, Mac48Address > m_macRxDropTrace;
314
314
315
};
315
};
316
316
(-)a/src/wifi/model/wifi-net-device.cc (-4 / +4 lines)
 Lines 258-264    Link Here 
258
  llc.SetType (protocolNumber);
258
  llc.SetType (protocolNumber);
259
  packet->AddHeader (llc);
259
  packet->AddHeader (llc);
260
260
261
  m_mac->NotifyTx (packet);
261
  m_mac->NotifyTx (packet, realTo, m_mac->GetAddress ());
262
  m_mac->Enqueue (packet, realTo);
262
  m_mac->Enqueue (packet, realTo);
263
  return true;
263
  return true;
264
}
264
}
 Lines 309-321    Link Here 
309
309
310
  if (type != NetDevice::PACKET_OTHERHOST)
310
  if (type != NetDevice::PACKET_OTHERHOST)
311
    {
311
    {
312
      m_mac->NotifyRx (packet);
312
      m_mac->NotifyRx (packet, m_mac->GetAddress (), from);
313
      m_forwardUp (this, packet, llc.GetType (), from);
313
      m_forwardUp (this, packet, llc.GetType (), from);
314
    }
314
    }
315
315
316
  if (!m_promiscRx.IsNull ())
316
  if (!m_promiscRx.IsNull ())
317
    {
317
    {
318
      m_mac->NotifyPromiscRx (packet);
318
      m_mac->NotifyPromiscRx (packet, to, from);
319
      m_promiscRx (this, packet, llc.GetType (), from, to, type);
319
      m_promiscRx (this, packet, llc.GetType (), from, to, type);
320
    }
320
    }
321
}
321
}
 Lines 346-352    Link Here 
346
  llc.SetType (protocolNumber);
346
  llc.SetType (protocolNumber);
347
  packet->AddHeader (llc);
347
  packet->AddHeader (llc);
348
348
349
  m_mac->NotifyTx (packet);
349
  m_mac->NotifyTx (packet, realTo, realFrom);
350
  m_mac->Enqueue (packet, realTo, realFrom);
350
  m_mac->Enqueue (packet, realTo, realFrom);
351
351
352
  return true;
352
  return true;

Return to bug 1785