def register_Ns3Socket_methods(root_module, cls):
    cls.add_constructor([param('ns3::Socket const &', 'arg0')])
    cls.add_constructor([])
    cls.add_method('Bind', 'int', [param('ns3::Address const &', 'address')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Bind', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Bind6', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('BindToNetDevice', 'void', [param('ns3::Ptr< ns3::NetDevice >', 'netdevice')], is_virtual=True)
    cls.add_method('Close', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Connect', 'int', [param('ns3::Address const &', 'address')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('CreateSocket', 'ns3::Ptr< ns3::Socket >', [param('ns3::Ptr< ns3::Node >', 'node'), param('ns3::TypeId', 'tid')], is_static=True)
    cls.add_method('GetAllowBroadcast', 'bool', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetBoundNetDevice', 'ns3::Ptr< ns3::NetDevice >', [])
    cls.add_method('GetErrno', 'ns3::Socket::SocketErrno', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetIpTos', 'uint8_t', [], is_const=True)
    cls.add_method('GetIpTtl', 'uint8_t', [], is_const=True, is_virtual=True)
    cls.add_method('GetIpv6HopLimit', 'uint8_t', [], is_const=True, is_virtual=True)
    cls.add_method('GetIpv6Tclass', 'uint8_t', [], is_const=True)
    cls.add_method('GetNode', 'ns3::Ptr< ns3::Node >', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetPeerName', 'int', [param('ns3::Address &', 'address')], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetPriority', 'uint8_t', [], is_const=True)
    cls.add_method('GetRxAvailable', 'uint32_t', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetSockName', 'int', [param('ns3::Address &', 'address')], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetSocketType', 'ns3::Socket::SocketType', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetTxAvailable', 'uint32_t', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetTypeId', 'ns3::TypeId', [], is_static=True)
    cls.add_method('IpTos2Priority', 'uint8_t', [param('uint8_t', 'ipTos')], is_static=True)
    cls.add_method('Ipv6JoinGroup', 'void', [param('ns3::Ipv6Address', 'address'), param('ns3::Socket::Ipv6MulticastFilterMode', 'filterMode'), param('std::vector< ns3::Ipv6Address >', 'sourceAddresses')], is_virtual=True)
    cls.add_method('Ipv6JoinGroup', 'void', [param('ns3::Ipv6Address', 'address')], is_virtual=True)
    cls.add_method('Ipv6LeaveGroup', 'void', [], is_virtual=True)
    cls.add_method('IsIpRecvTos', 'bool', [], is_const=True)
    cls.add_method('IsIpRecvTtl', 'bool', [], is_const=True)
    cls.add_method('IsIpv6RecvHopLimit', 'bool', [], is_const=True)
    cls.add_method('IsIpv6RecvTclass', 'bool', [], is_const=True)
    cls.add_method('IsRecvPktInfo', 'bool', [], is_const=True)
    cls.add_method('Listen', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Recv', 'ns3::Ptr< ns3::Packet >', [param('uint32_t', 'maxSize'), param('uint32_t', 'flags')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Recv', 'ns3::Ptr< ns3::Packet >', [])
    cls.add_method('Recv', 'int', [param('uint8_t *', 'buf'), param('uint32_t', 'size'), param('uint32_t', 'flags')])
    cls.add_method('RecvFrom', 'ns3::Ptr< ns3::Packet >', [param('uint32_t', 'maxSize'), param('uint32_t', 'flags'), param('ns3::Address &', 'fromAddress')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('RecvFrom', 'ns3::Ptr< ns3::Packet >', [param('ns3::Address &', 'fromAddress')])
    cls.add_method('RecvFrom', 'int', [param('uint8_t *', 'buf'), param('uint32_t', 'size'), param('uint32_t', 'flags'), param('ns3::Address &', 'fromAddress')])
    cls.add_method('Send', 'int', [param('ns3::Ptr< ns3::Packet >', 'p'), param('uint32_t', 'flags')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Send', 'int', [param('ns3::Ptr< ns3::Packet >', 'p')])
    cls.add_method('Send', 'int', [param('uint8_t const *', 'buf'), param('uint32_t', 'size'), param('uint32_t', 'flags')])
    cls.add_method('SendTo', 'int', [param('ns3::Ptr< ns3::Packet >', 'p'), param('uint32_t', 'flags'), param('ns3::Address const &', 'toAddress')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('SendTo', 'int', [param('uint8_t const *', 'buf'), param('uint32_t', 'size'), param('uint32_t', 'flags'), param('ns3::Address const &', 'address')])
    cls.add_method('SetAcceptCallback', 'void', [param('ns3::Callback< bool, ns3::Ptr< ns3::Socket >, ns3::Address const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'connectionRequest'), param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::Address const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'newConnectionCreated')])
    cls.add_method('SetAllowBroadcast', 'bool', [param('bool', 'allowBroadcast')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('SetCloseCallbacks', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'normalClose'), param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'errorClose')])
    cls.add_method('SetConnectCallback', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'connectionSucceeded'), param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'connectionFailed')])
    cls.add_method('SetDataSentCallback', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'dataSent')])
    cls.add_method('SetIpRecvTos', 'void', [param('bool', 'ipv4RecvTos')])
    cls.add_method('SetIpRecvTtl', 'void', [param('bool', 'ipv4RecvTtl')])
    cls.add_method('SetIpTos', 'void', [param('uint8_t', 'ipTos')])
    cls.add_method('SetIpTtl', 'void', [param('uint8_t', 'ipTtl')], is_virtual=True)
    cls.add_method('SetIpv6HopLimit', 'void', [param('uint8_t', 'ipHopLimit')], is_virtual=True)
    cls.add_method('SetIpv6RecvHopLimit', 'void', [param('bool', 'ipv6RecvHopLimit')])
    cls.add_method('SetIpv6RecvTclass', 'void', [param('bool', 'ipv6RecvTclass')])
    cls.add_method('SetIpv6Tclass', 'void', [param('int', 'ipTclass')])
    cls.add_method('SetPriority', 'void', [param('uint8_t', 'priority')])
    cls.add_method('SetRecvCallback', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'arg0')])
    cls.add_method('SetRecvPktInfo', 'void', [param('bool', 'flag')])
    cls.add_method('SetSendCallback', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'sendCb')])
    cls.add_method('ShutdownRecv', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('ShutdownSend', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('DoDispose', 'void', [], visibility='protected', is_virtual=True)
    cls.add_method('IsManualIpTtl', 'bool', [], is_const=True, visibility='protected')
    cls.add_method('IsManualIpv6HopLimit', 'bool', [], is_const=True, visibility='protected')
    cls.add_method('IsManualIpv6Tclass', 'bool', [], is_const=True, visibility='protected')
    cls.add_method('NotifyConnectionFailed', 'void', [], visibility='protected')
    cls.add_method('NotifyConnectionRequest', 'bool', [param('ns3::Address const &', 'from')], visibility='protected')
    cls.add_method('NotifyConnectionSucceeded', 'void', [], visibility='protected')
    cls.add_method('NotifyDataRecv', 'void', [], visibility='protected')
    cls.add_method('NotifyDataSent', 'void', [param('uint32_t', 'size')], visibility='protected')
    cls.add_method('NotifyErrorClose', 'void', [], visibility='protected')
    cls.add_method('NotifyNewConnectionCreated', 'void', [param('ns3::Ptr< ns3::Socket >', 'socket'), param('ns3::Address const &', 'from')], visibility='protected')
    cls.add_method('NotifyNormalClose', 'void', [], visibility='protected')
    cls.add_method('NotifySend', 'void', [param('uint32_t', 'spaceAvailable')], visibility='protected')
    return
def register_Ns3Socket_methods(root_module, cls):
    cls.add_constructor([param('ns3::Socket const &', 'arg0')])
    cls.add_constructor([])
    cls.add_method('Bind', 'int', [param('ns3::Address const &', 'address')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Bind', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Bind6', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('BindToNetDevice', 'void', [param('ns3::Ptr< ns3::NetDevice >', 'netdevice')], is_virtual=True)
    cls.add_method('Close', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Connect', 'int', [param('ns3::Address const &', 'address')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('CreateSocket', 'ns3::Ptr< ns3::Socket >', [param('ns3::Ptr< ns3::Node >', 'node'), param('ns3::TypeId', 'tid')], is_static=True)
    cls.add_method('GetAllowBroadcast', 'bool', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetBoundNetDevice', 'ns3::Ptr< ns3::NetDevice >', [])
    cls.add_method('GetErrno', 'ns3::Socket::SocketErrno', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetIpTos', 'uint8_t', [], is_const=True)
    cls.add_method('GetIpTtl', 'uint8_t', [], is_const=True, is_virtual=True)
    cls.add_method('GetIpv6HopLimit', 'uint8_t', [], is_const=True, is_virtual=True)
    cls.add_method('GetIpv6Tclass', 'uint8_t', [], is_const=True)
    cls.add_method('GetNode', 'ns3::Ptr< ns3::Node >', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetPeerName', 'int', [param('ns3::Address &', 'address')], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetPriority', 'uint8_t', [], is_const=True)
    cls.add_method('GetRxAvailable', 'uint32_t', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetSockName', 'int', [param('ns3::Address &', 'address')], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetSocketType', 'ns3::Socket::SocketType', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetTxAvailable', 'uint32_t', [], is_pure_virtual=True, is_const=True, is_virtual=True)
    cls.add_method('GetTypeId', 'ns3::TypeId', [], is_static=True)
    cls.add_method('IpTos2Priority', 'uint8_t', [param('uint8_t', 'ipTos')], is_static=True)
    cls.add_method('Ipv6JoinGroup', 'void', [param('ns3::Ipv6Address', 'address'), param('ns3::Socket::Ipv6MulticastFilterMode', 'filterMode'), param('std::vector< ns3::Ipv6Address >', 'sourceAddresses')], is_virtual=True)
    cls.add_method('Ipv6JoinGroup', 'void', [param('ns3::Ipv6Address', 'address')], is_virtual=True)
    cls.add_method('Ipv6LeaveGroup', 'void', [], is_virtual=True)
    cls.add_method('IsIpRecvTos', 'bool', [], is_const=True)
    cls.add_method('IsIpRecvTtl', 'bool', [], is_const=True)
    cls.add_method('IsIpv6RecvHopLimit', 'bool', [], is_const=True)
    cls.add_method('IsIpv6RecvTclass', 'bool', [], is_const=True)
    cls.add_method('IsRecvPktInfo', 'bool', [], is_const=True)
    cls.add_method('Listen', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Recv', 'ns3::Ptr< ns3::Packet >', [param('uint32_t', 'maxSize'), param('uint32_t', 'flags')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Recv', 'ns3::Ptr< ns3::Packet >', [])
    cls.add_method('Recv', 'int', [param('uint8_t *', 'buf'), param('uint32_t', 'size'), param('uint32_t', 'flags')])
    cls.add_method('RecvFrom', 'ns3::Ptr< ns3::Packet >', [param('uint32_t', 'maxSize'), param('uint32_t', 'flags'), param('ns3::Address &', 'fromAddress')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('RecvFrom', 'ns3::Ptr< ns3::Packet >', [param('ns3::Address &', 'fromAddress')])
    cls.add_method('RecvFrom', 'int', [param('uint8_t *', 'buf'), param('uint32_t', 'size'), param('uint32_t', 'flags'), param('ns3::Address &', 'fromAddress')])
    cls.add_method('Send', 'int', [param('ns3::Ptr< ns3::Packet >', 'p'), param('uint32_t', 'flags')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('Send', 'int', [param('ns3::Ptr< ns3::Packet >', 'p')])
    cls.add_method('Send', 'int', [param('uint8_t const *', 'buf'), param('uint32_t', 'size'), param('uint32_t', 'flags')])
    cls.add_method('SendTo', 'int', [param('ns3::Ptr< ns3::Packet >', 'p'), param('uint32_t', 'flags'), param('ns3::Address const &', 'toAddress')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('SendTo', 'int', [param('uint8_t const *', 'buf'), param('uint32_t', 'size'), param('uint32_t', 'flags'), param('ns3::Address const &', 'address')])
    cls.add_method('SetAcceptCallback', 'void', [param('ns3::Callback< bool, ns3::Ptr< ns3::Socket >, ns3::Address const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'connectionRequest'), param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::Address const &, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'newConnectionCreated')])
    cls.add_method('SetAllowBroadcast', 'bool', [param('bool', 'allowBroadcast')], is_pure_virtual=True, is_virtual=True)
    cls.add_method('SetCloseCallbacks', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'normalClose'), param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'errorClose')])
    cls.add_method('SetConnectCallback', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'connectionSucceeded'), param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'connectionFailed')])
    cls.add_method('SetDataSentCallback', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'dataSent')])
    cls.add_method('SetIpRecvTos', 'void', [param('bool', 'ipv4RecvTos')])
    cls.add_method('SetIpRecvTtl', 'void', [param('bool', 'ipv4RecvTtl')])
    cls.add_method('SetIpTos', 'void', [param('uint8_t', 'ipTos')])
    cls.add_method('SetIpTtl', 'void', [param('uint8_t', 'ipTtl')], is_virtual=True)
    cls.add_method('SetIpv6HopLimit', 'void', [param('uint8_t', 'ipHopLimit')], is_virtual=True)
    cls.add_method('SetIpv6RecvHopLimit', 'void', [param('bool', 'ipv6RecvHopLimit')])
    cls.add_method('SetIpv6RecvTclass', 'void', [param('bool', 'ipv6RecvTclass')])
    cls.add_method('SetIpv6Tclass', 'void', [param('int', 'ipTclass')])
    cls.add_method('SetPriority', 'void', [param('uint8_t', 'priority')])
    cls.add_method('SetRecvCallback', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'arg0')])
    cls.add_method('SetRecvPktInfo', 'void', [param('bool', 'flag')])
    cls.add_method('SetSendCallback', 'void', [param('ns3::Callback< void, ns3::Ptr< ns3::Socket >, unsigned int, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'sendCb')])
    cls.add_method('ShutdownRecv', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('ShutdownSend', 'int', [], is_pure_virtual=True, is_virtual=True)
    cls.add_method('DoDispose', 'void', [], visibility='protected', is_virtual=True)
    cls.add_method('IsManualIpTtl', 'bool', [], is_const=True, visibility='protected')
    cls.add_method('IsManualIpv6HopLimit', 'bool', [], is_const=True, visibility='protected')
    cls.add_method('IsManualIpv6Tclass', 'bool', [], is_const=True, visibility='protected')
    cls.add_method('NotifyConnectionFailed', 'void', [], visibility='protected')
    cls.add_method('NotifyConnectionRequest', 'bool', [param('ns3::Address const &', 'from')], visibility='protected')
    cls.add_method('NotifyConnectionSucceeded', 'void', [], visibility='protected')
    cls.add_method('NotifyDataRecv', 'void', [], visibility='protected')
    cls.add_method('NotifyDataSent', 'void', [param('uint32_t', 'size')], visibility='protected')
    cls.add_method('NotifyErrorClose', 'void', [], visibility='protected')
    cls.add_method('NotifyNewConnectionCreated', 'void', [param('ns3::Ptr< ns3::Socket >', 'socket'), param('ns3::Address const &', 'from')], visibility='protected')
    cls.add_method('NotifyNormalClose', 'void', [], visibility='protected')
    cls.add_method('NotifySend', 'void', [param('uint32_t', 'spaceAvailable')], visibility='protected')
    return