.\" Copyright (c) 2018-2022, OARC, Inc. .\" All rights reserved. .\" .\" This file is part of dnsjit. .\" .\" dnsjit is free software: you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation, either version 3 of the License, or .\" (at your option) any later version. .\" .\" dnsjit is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with dnsjit. If not, see . .\" .TH dnsjit.core.object 3 "1.2.3" "dnsjit" .SH NAME dnsjit.core.object \- Base object that is passed between receiver and receivee .SH SYNOPSIS require("dnsjit.core.object") print(object:type()) packet = object:cast() .SH DESCRIPTION This is the base object that can be casted to other objects that to describe a DNS message, how it was captured or generated. Objects can be chained together, for example a DNS message is created ontop of a packet. .SS Attributes .TP obj_type The enum of the object type. .TP obj_prev The previous object in the object chain. .SS Functions .TP .BR Object:type "()" Return the textual type of the object. .TP .BR Object:prev "()" Return the previous object. .TP .BR Object:cast "()" Cast the object to the underlining object module and return it. .TP .BR Object:cast_to "(obj_type)" Cast the object to the specified object module and return it. Returns nil if the object chain doesn't contained the specified object type. .TP .BR Object:uncast "()" Cast the object to the generic object module and return it. .TP .BR Object:copy "()" Make a copy of the object and return it. .TP .BR Object:free "()" Free the object, should only be used on copies or otherwise allocated. .SH SEE ALSO .BR dnsjit.core.object.pcap (3), .BR dnsjit.core.object.ether (3), .BR dnsjit.core.object.null (3), .BR dnsjit.core.object.loop (3), .BR dnsjit.core.object.linuxsll (3), .BR dnsjit.core.object.ieee802 (3), .BR dnsjit.core.object.gre (3), .BR dnsjit.core.object.ip (3), .BR dnsjit.core.object.ip6 (3), .BR dnsjit.core.object.icmp (3), .BR dnsjit.core.object.icmp6 (3), .BR dnsjit.core.object.udp (3), .BR dnsjit.core.object.tcp (3), .BR dnsjit.core.object.payload (3), .BR dnsjit.core.object.dns (3) .SH AUTHORS and CONTRIBUTORS Jerry Lundström (DNS-OARC), Tomáš Křížek (CZ.NIC), Petr Špaček (ISC) .LP Maintained by DNS-OARC .LP .RS .I https://www.dns-oarc.net/ .RE .LP .SH BUGS For issues and feature requests please use: .LP .RS \fIhttps://github.com/DNS-OARC/dnsjit/issues\fP .RE .LP For question and help please use: .LP .RS \fIadmin@dns-oarc.net\fP .RE .LP