def register_Ns3Packet_methods(root_module, cls):
    cls.add_output_stream_operator()
    cls.add_constructor([])
    cls.add_constructor([param('ns3::Packet const &', 'o')])
    cls.add_constructor([param('uint32_t', 'size')])
    cls.add_constructor([param('uint8_t const *', 'buffer'), param('uint32_t', 'size'), param('bool', 'magic')])
    cls.add_constructor([param('uint8_t const *', 'buffer'), param('uint32_t', 'size')])
    cls.add_method('AddAtEnd', 'void', [param('ns3::Ptr< ns3::Packet const >', 'packet')])
    cls.add_method('AddByteTag', 'void', [param('ns3::Tag const &', 'tag')], is_const=True)
    cls.add_method('AddHeader', 'void', [param('ns3::Header const &', 'header')])
    cls.add_method('AddPacketTag', 'void', [param('ns3::Tag const &', 'tag')], is_const=True)
    cls.add_method('AddPaddingAtEnd', 'void', [param('uint32_t', 'size')])
    cls.add_method('AddTrailer', 'void', [param('ns3::Trailer const &', 'trailer')])
    cls.add_method('BeginItem', 'ns3::PacketMetadata::ItemIterator', [], is_const=True)
    cls.add_method('Copy', 'ns3::Ptr< ns3::Packet >', [], is_const=True)
    cls.add_method('CopyData', 'uint32_t', [param('uint8_t *', 'buffer'), param('uint32_t', 'size')], is_const=True)
    cls.add_method('CopyData', 'void', [param('std::ostream *', 'os'), param('uint32_t', 'size')], is_const=True)
    cls.add_method('CreateFragment', 'ns3::Ptr< ns3::Packet >', [param('uint32_t', 'start'), param('uint32_t', 'length')], is_const=True)
    cls.add_method('EnableChecking', 'void', [], is_static=True)
    cls.add_method('EnablePrinting', 'void', [], is_static=True)
    cls.add_method('FindFirstMatchingByteTag', 'bool', [param('ns3::Tag &', 'tag')], is_const=True)
    cls.add_method('GetByteTagIterator', 'ns3::ByteTagIterator', [], is_const=True)
    cls.add_method('GetNixVector', 'ns3::Ptr< ns3::NixVector >', [], is_const=True)
    cls.add_method('GetPacketTagIterator', 'ns3::PacketTagIterator', [], is_const=True)
    cls.add_method('GetSerializedSize', 'uint32_t', [], is_const=True)
    cls.add_method('GetSize', 'uint32_t', [], is_const=True)
    cls.add_method('GetUid', 'uint64_t', [], is_const=True)
    cls.add_method('PeekHeader', 'uint32_t', [param('ns3::Header &', 'header')], is_const=True)
    cls.add_method('PeekHeader', 'uint32_t', [param('ns3::Header &', 'header'), param('uint32_t', 'size')], is_const=True)
    cls.add_method('PeekPacketTag', 'bool', [param('ns3::Tag &', 'tag')], is_const=True)
    cls.add_method('PeekTrailer', 'uint32_t', [param('ns3::Trailer &', 'trailer')])
    cls.add_method('Print', 'void', [param('std::ostream &', 'os')], is_const=True)
    cls.add_method('PrintByteTags', 'void', [param('std::ostream &', 'os')], is_const=True)
    cls.add_method('PrintPacketTags', 'void', [param('std::ostream &', 'os')], is_const=True)
    cls.add_method('RemoveAllByteTags', 'void', [])
    cls.add_method('RemoveAllPacketTags', 'void', [])
    cls.add_method('RemoveAtEnd', 'void', [param('uint32_t', 'size')])
    cls.add_method('RemoveAtStart', 'void', [param('uint32_t', 'size')])
    cls.add_method('RemoveHeader', 'uint32_t', [param('ns3::Header &', 'header')])
    cls.add_method('RemoveHeader', 'uint32_t', [param('ns3::Header &', 'header'), param('uint32_t', 'size')])
    cls.add_method('RemovePacketTag', 'bool', [param('ns3::Tag &', 'tag')])
    cls.add_method('RemoveTrailer', 'uint32_t', [param('ns3::Trailer &', 'trailer')])
    cls.add_method('ReplacePacketTag', 'bool', [param('ns3::Tag &', 'tag')])
    cls.add_method('Serialize', 'uint32_t', [param('uint8_t *', 'buffer'), param('uint32_t', 'maxSize')], is_const=True)
    cls.add_method('SetNixVector', 'void', [param('ns3::Ptr< ns3::NixVector >', 'nixVector')])
    cls.add_method('ToString', 'std::string', [], is_const=True)
    return
def register_Ns3Packet_methods(root_module, cls):
    cls.add_output_stream_operator()
    cls.add_constructor([])
    cls.add_constructor([param('ns3::Packet const &', 'o')])
    cls.add_constructor([param('uint32_t', 'size')])
    cls.add_constructor([param('uint8_t const *', 'buffer'), param('uint32_t', 'size'), param('bool', 'magic')])
    cls.add_constructor([param('uint8_t const *', 'buffer'), param('uint32_t', 'size')])
    cls.add_method('AddAtEnd', 'void', [param('ns3::Ptr< ns3::Packet const >', 'packet')])
    cls.add_method('AddByteTag', 'void', [param('ns3::Tag const &', 'tag')], is_const=True)
    cls.add_method('AddHeader', 'void', [param('ns3::Header const &', 'header')])
    cls.add_method('AddPacketTag', 'void', [param('ns3::Tag const &', 'tag')], is_const=True)
    cls.add_method('AddPaddingAtEnd', 'void', [param('uint32_t', 'size')])
    cls.add_method('AddTrailer', 'void', [param('ns3::Trailer const &', 'trailer')])
    cls.add_method('BeginItem', 'ns3::PacketMetadata::ItemIterator', [], is_const=True)
    cls.add_method('Copy', 'ns3::Ptr< ns3::Packet >', [], is_const=True)
    cls.add_method('CopyData', 'uint32_t', [param('uint8_t *', 'buffer'), param('uint32_t', 'size')], is_const=True)
    cls.add_method('CopyData', 'void', [param('std::ostream *', 'os'), param('uint32_t', 'size')], is_const=True)
    cls.add_method('CreateFragment', 'ns3::Ptr< ns3::Packet >', [param('uint32_t', 'start'), param('uint32_t', 'length')], is_const=True)
    cls.add_method('EnableChecking', 'void', [], is_static=True)
    cls.add_method('EnablePrinting', 'void', [], is_static=True)
    cls.add_method('FindFirstMatchingByteTag', 'bool', [param('ns3::Tag &', 'tag')], is_const=True)
    cls.add_method('GetByteTagIterator', 'ns3::ByteTagIterator', [], is_const=True)
    cls.add_method('GetNixVector', 'ns3::Ptr< ns3::NixVector >', [], is_const=True)
    cls.add_method('GetPacketTagIterator', 'ns3::PacketTagIterator', [], is_const=True)
    cls.add_method('GetSerializedSize', 'uint32_t', [], is_const=True)
    cls.add_method('GetSize', 'uint32_t', [], is_const=True)
    cls.add_method('GetUid', 'uint64_t', [], is_const=True)
    cls.add_method('PeekHeader', 'uint32_t', [param('ns3::Header &', 'header')], is_const=True)
    cls.add_method('PeekHeader', 'uint32_t', [param('ns3::Header &', 'header'), param('uint32_t', 'size')], is_const=True)
    cls.add_method('PeekPacketTag', 'bool', [param('ns3::Tag &', 'tag')], is_const=True)
    cls.add_method('PeekTrailer', 'uint32_t', [param('ns3::Trailer &', 'trailer')])
    cls.add_method('Print', 'void', [param('std::ostream &', 'os')], is_const=True)
    cls.add_method('PrintByteTags', 'void', [param('std::ostream &', 'os')], is_const=True)
    cls.add_method('PrintPacketTags', 'void', [param('std::ostream &', 'os')], is_const=True)
    cls.add_method('RemoveAllByteTags', 'void', [])
    cls.add_method('RemoveAllPacketTags', 'void', [])
    cls.add_method('RemoveAtEnd', 'void', [param('uint32_t', 'size')])
    cls.add_method('RemoveAtStart', 'void', [param('uint32_t', 'size')])
    cls.add_method('RemoveHeader', 'uint32_t', [param('ns3::Header &', 'header')])
    cls.add_method('RemoveHeader', 'uint32_t', [param('ns3::Header &', 'header'), param('uint32_t', 'size')])
    cls.add_method('RemovePacketTag', 'bool', [param('ns3::Tag &', 'tag')])
    cls.add_method('RemoveTrailer', 'uint32_t', [param('ns3::Trailer &', 'trailer')])
    cls.add_method('ReplacePacketTag', 'bool', [param('ns3::Tag &', 'tag')])
    cls.add_method('Serialize', 'uint32_t', [param('uint8_t *', 'buffer'), param('uint32_t', 'maxSize')], is_const=True)
    cls.add_method('SetNixVector', 'void', [param('ns3::Ptr< ns3::NixVector >', 'nixVector')])
    cls.add_method('ToString', 'std::string', [], is_const=True)
    return