Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Codes(3)	      User Contributed Perl Documentation	      Codes(3)

NAME
       Net::DNS::Codes - collection of "C" library DNS codes

SYNOPSIS
	 use Net::DNS::Codes qw(
	       :header
	       :RRs
	       :constants
	       :all
	   (or any individual item)
	 );

	 --------- :header -------

	 $textval = RBitsTxt->{masked_bits};
	 $textval = RcodeTxt->{numeric};
	 $textval = OpcodeTxt->{numeric};
	 $code = (one of text below)

       QR AA TC	RD RA MBZ Z AD CD

       BITS_QUERY BITS_IQUERY BITS_STATUS BITS_NS_NOTIFY_OP BITS_NS_UPDATE_OP

       QUERY IQUERY STATUS NS_NOTIFY_OP	NS_UPDATE_OP

       NOERROR FORMERR SERVFAIL	NXDOMAIN NOTIMP	REFUSED	YXDOMAIN YXRRSET
       NXRRSET NOTAUTH NOTZONE BADSIG BADKEY BADTIME

	 for flag manipulation

       RCODE_MASK BITS_OPCODE_MASK

	 ------- :RRs -------

	 $textval = ClassTxt->{numeric};
	 $textval = TypeTxt->{numeric};
	 $code = (one of text below)

       C_IN C_CHAOS C_HS C_NONE	C_ANY

       T_A T_NS	T_MD T_MF T_CNAME T_SOA	T_MB T_MG T_MR T_NULL T_WKS T_PTR
       T_HINFO T_MINFO T_MX T_TXT T_RP T_AFSDB T_X25 T_ISDN T_RT T_NSAP
       T_NSAP_PTR T_SIG	T_KEY T_PX T_GPOS T_AAAA T_LOC T_NXT T_EID T_NIMLOC
       T_SRV T_ATMA T_NAPTR T_KX T_CERT	T_A6 T_DNAME T_SINK T_OPT T_TKEY
       T_TSIG T_IXFR T_AXFR T_MAILB T_MAILA T_ANY

	 ------- :constants -------
	 $code = (one of test below)

       PACKETSZ	NS_PACKETSZ MAXDNAME NS_MAXDNAME MAXCDNAME NS_MAXCDNAME
       MAXLABEL	NS_MAXLABEL HFIXEDSZ NS_HFIXEDSZ QFIXEDSZ NS_QFIXEDSZ
       RRFIXEDSZ NS_RRFIXEDSZ INT32SZ NS_INT32SZ INT16SZ NS_INT16SZ NS_INT8SZ
       INADDRSZ	NS_INADDRSZ IN6ADDRSZ NS_IN6ADDRSZ INDIR_MASK NS_CMPRSFLGS
       NAMESERVER_PORT NS_DEFAULTPORT

	 $code = INT8SZ	(not a DNS code, added for convenience)

DESCRIPTION
       Net::DNS::Codes provides	forward	and reverse lookup for most common "C"
       library DNS codes as well as all	the codes for the DNS HEADER field.

       o   $bitmask = XX

	     Return the	bitmask	for the	code:

	      15 14 13 12 11 10	 9  8  7  6  5	4  3  2	 1  0
	     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
	     |QR|   Opcode  |AA|TC|RD|RA| Z|AD|CD|   Rcode   |
	     +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
	       0  1  2	3  4  5	 6  7  8  9 10 11 12 13	14 15

	     QR		   =>	   1000_0000_0000_0000
	     BitsOpcode	   =>	   Opcode binary value
				   left	shifted	11 bits
	     AA		   =>	   100_0000_0000
	     TC		   =>	   10_0000_0000
	     RD		   =>	   1_0000_0000
	     RA		   =>	   1000_0000
	     MBZ or Z	   =>	   100_0000
	     AD		   =>	   10_0000
	     CD		   =>	   1_0000
	     Rcode	   =>	   Rcode binary	value

	     RCODE_MASK	   =>	   1111_1111_1111_0000

	     where BitsOpcode =

	     BITS_QUERY	       =>      0,
	     BITS_IQUERY       =>      1000_0000_0000 #	1 << 11
	     BITS_STATUS       =>    1_0000_0000_0000 #	2 << 11
	     BITS_NS_NOTIFY_OP =>   10_0000_0000_0000 #	4 << 11
	     BITS_NS_UPDATE_OP =>   10_1000_0000_0000 #	5 << 11

	     BITS_OPCODE_MASK  => 1000_0111_1111_1111

       o   $textval = RBitsTxt->{masked_bits};

	   Returns the TEXT string for the bit fields above.

	     NOTE: that	MBZ and	Z have the same	value.
	     The text string 'MBZ' is returned for 0x1 << 6

       o   $textval = RcodeTxt->{numeric};

	     Return the	TEXT string for	numeric	code.

		   NOERROR	   => 0,
		   FORMERR	   => 1,
		   SERVFAIL	   => 2,
		   NXDOMAIN	   => 3,
		   NOTIMP	   => 4,
		   REFUSED	   => 5,
		   YXDOMAIN	   => 6,
		   YXRRSET	   => 7,
		   NXRRSET	   => 8,
		   NOTAUTH	   => 9,
		   NOTZONE	   => 10,
		   BADSIG	   => 16,
		   BADKEY	   => 17,
		   BADTIME	   => 18,

       o   $textval = OpcodeTxt->{numeric};

	     Return the	TEXT string for	numeric	code.

		   QUERY	   => 0,
		   IQUERY	   => 1,
		   STATUS	   => 2,
		   NS_NOTIFY_OP	   => 4,
		   NS_UPDATE_OP	   => 5,

       o   $textval = ClassTxt->{numeric};

	     Return the	TEXT string for	numeric	code.

		   C_IN	       => 1,
		   C_CHAOS  => 3,
		   C_HS	       => 4,
		   C_NONE    =>	254,
		   C_ANY      => 255,

       o   $textval = TypeTxt->{numeric};

	     Return the	TEXT string for	numeric	code.

	     T_A	   => 1,   # rfc1035.txt
	     T_NS	   => 2,   # rfc1035.txt
	     T_MD	   => 3,   # rfc1035.txt
	     T_MF	   => 4,   # rfc1035.txt
	     T_CNAME	   => 5,   # rfc1035.txt
	     T_SOA	   => 6,   # rfc1035.txt
	     T_MB	   => 7,   # rfc1035.txt
	     T_MG	   => 8,   # rfc1035.txt
	     T_MR	   => 9,   # rfc1035.txt
	     T_NULL	   => 10,  # rfc1035.txt
	     T_WKS	   => 11,  # rfc1035.txt
	     T_PTR	   => 12,  # rfc1035.txt
	     T_HINFO	   => 13,  # rfc1035.txt
	     T_MINFO	   => 14,  # rfc1035.txt
	     T_MX	   => 15,  # rfc1035.txt
	     T_TXT	   => 16,  # rfc1035.txt
	     T_RP	   => 17,  # rfc1183.txt
	     T_AFSDB	   => 18,  # rfc1183.txt
	     T_X25	   => 19,  # rfc1183.txt
	     T_ISDN	   => 20,  # rfc1183.txt
	     T_RT	   => 21,  # rfc1183.txt
	     T_NSAP	   => 22,  # rfc1706.txt
	     T_NSAP_PTR	   => 23,  # rfc1348.txt
	     T_SIG	   => 24,  # rfc2535.txt
	     T_KEY	   => 25,  # rfc2535.txt
	     T_PX	   => 26,  # rfc2163.txt
	     T_GPOS	   => 27,  # rfc1712.txt
	     T_AAAA	   => 28,  # rfc1886.txt
	     T_LOC	   => 29,  # rfc1876.txt
	     T_NXT	   => 30,  # rfc2535.txt
	     T_EID	   => 31,  # draft-ietf-nimrod-dns-02.txt
	     T_NIMLOC	   => 32,  # draft-ietf-nimrod-dns-02.txt
	     T_SRV	   => 33,  # rfc2052.txt
	     T_ATMA	   => 34,  # af-saa-0069.000.txt
	     T_NAPTR	   => 35,  # rfc2168.txt
	     T_KX	   => 36,  # rfc2230.txt
	     T_CERT	   => 37,  # rfc2538.txt
	     T_A6	   => 38,  # rfc2874.txt
	     T_DNAME	   => 39,  # rfc2672.txt
	     T_SINK	   => 40,  # draft-ietf-dnsind-kitchen-sink-01.txt
	     T_OPT	   => 41,  # rfc2671.txt
	     T_APL	   => 42,  # rfc3123.txt
	     T_DS	   => 43,  # draft-ietf-dnsext-delegation-signer-15.txt
	     T_SSHFP	   => 44,  # rfc4255.txt
	     T_IPSECKEY	   => 45,  # rfc4025.txt
	     T_RRSIG	   => 46,  # rfc4034.txt
	     T_NSEC	   => 47,  # rfc4034.txt
	     T_DNSKEY	   => 48,  # rfc4034.txt
	     T_DHCID	   => 49,  # rfc4701.txt
	     T_NSEC3	   => 50,  # rfc5155.txt
	     T_NSEC3PARAM  => 51,  # rfc5155.txt
		   # unassigned	52 - 54
	     T_HIP	   => 55,  # rfc5205.txt
	     T_NINFO	   => 56,  # unknown
	     T_RKEY	   => 57,  # draft-reid-dnsext-rkey-00.txt
	     T_ALINK	   => 58,  # draft-ietf-dnsop-dnssec-trust-history-02.txt
	     T_CDS	   => 59,  # draft-barwood-dnsop-ds-publish-02.txt
		   # unassigned	60 - 98
	     T_UINFO	   => 100, # reserved
	     T_UID	   => 101, # reserved
	     T_GID	   => 102, # reserved
	     T_UNSPEC	   => 103, # reserved
		   # unassigned	104 - 248
	     T_TKEY	   => 249, # rfc2930.txt
	     T_TSIG	   => 250, # rfc2931.txt
	     T_IXFR	   => 251, # rfc1995.txt
	     T_AXFR	   => 252, # rfc1035.txt
	     T_MAILB	   => 253, # rfc973.txt
	     T_MAILA	   => 254, # rfc973.txt
	     T_ANY	   => 255, # rfc1886.txt

       o   (various constants)

	     PACKETSZ	     NS_PACKETSZ     512
	     MAXDNAME	     NS_MAXDNAME     1025
	     MAXCDNAME	     NS_MAXCDNAME    255
	     MAXLABEL	     NS_MAXLABEL     63
	     HFIXEDSZ	     NS_HFIXEDSZ     12
	     QFIXEDSZ	     NS_QFIXEDSZ     4
	     RRFIXEDSZ	     NS_RRFIXEDSZ    10
	     INT32SZ	     NS_INT32SZ	     4
	     INT16SZ	     NS_INT16SZ	     2
	     INT8SZ	     NS_INT8SZ	     1
	     INADDRSZ	     NS_INADDRSZ     4
	     IN6ADDRSZ	     NS_IN6ADDRSZ    16
	     INDIR_MASK	     NS_CMPRSFLGS    0xc0
	     NAMESERVER_PORT NS_DEFAULTPORT  53

INSTALLATION
       To install this module, type:

	       perl Makfile.PL
	       make
	       make test
	       make install

EXPORT_OK
	 ------- for tag :header -------

       RBitsTxt	RcodeTxt OpcodeTxt

       QR AA TC	RD RA MBZ Z AD CD

       BITS_QUERY BITS_IQUERY BITS_STATUS BITS_NS_NOTIFY_OP BITS_NS_UPDATE_OP

       QUERY IQUERY STATUS NS_NOTIFY_OP	NS_UPDATE_OP

       NOERROR FORMERR SERVFAIL	NXDOMAIN NOTIMP	REFUSED	YXDOMAIN YXRRSET
       NXRRSET NOTAUTH NOTZONE BADSIG BADKEY BADTIME

       BITS_OPCODE_MASK	RCODE_MASK

	 ------- for tag :RRs -------

	 $textval = ClassTxt->{numeric};
	 $textval = TypeTxt->{numeric};
	 $code = (one of text below)

       C_IN C_CHAOS C_HS C_NONE	C_ANY

       T_A T_NS	T_MD T_MF T_CNAME T_SOA	T_MB T_MG T_MR T_NULL T_WKS T_PTR
       T_HINFO T_MINFO T_MX T_TXT T_RP T_AFSDB T_X25 T_ISDN T_RT T_NSAP
       T_NSAP_PTR T_SIG	T_KEY T_PX T_GPOS T_AAAA T_LOC T_NXT T_EID T_NIMLOC
       T_SRV T_ATMA T_NAPTR T_KX T_CERT	T_A6 T_DNAME T_SINK T_OPT T_APL	T_DS
       T_SSHFP T_IPSECKEY T_RRSIG T_NSEC T_DNSKEY T_DHCID T_NSEC3 T_NSEC3PARAM
       T_HIP T_NINFO T_RKEY T_ALINK T_CDS T_UINFO T_UID	T_GID T_UNSPEC T_TKEY
       T_TSIG T_IXFR T_AXFR T_MAILB T_MAILA T_ANY

	 ------- for tag :constants -------

       PACKETSZ	NS_PACKETSZ MAXDNAME NS_MAXDNAME MAXCDNAME NS_MAXCDNAME
       MAXLABEL	NS_MAXLABEL HFIXEDSZ NS_HFIXEDSZ QFIXEDSZ NS_QFIXEDSZ
       RRFIXEDSZ NS_RRFIXEDSZ INT32SZ NS_INT32SZ INT16SZ NS_INT16SZ NS_INT8SZ
       INADDRSZ	NS_INADDRSZ IN6ADDRSZ NS_IN6ADDRSZ INDIR_MASK NS_CMPRSFLGS
       NAMESERVER_PORT NS_DEFAULTPORT INT8SZ

EXPORT_TAGS
	       :header
	       :RRs
	       :constants
	       :all

AUTHOR
       Michael Robinton, michael@bizsystems.com

COPYRIGHT
       Copyright 2003 -	2014, Michael Robinton & BizSystems This program 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 2 of the License, or (at your	option)	any
       later version.

       This program 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 this program; if not, write	to the Free Software Foundation, Inc.,
       59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

SEE ALSO
       perl(1),	/usr/include/resolv.h /usr/include/arpa/nameser.h
       /usr/include/namser_compat.h

perl v5.32.0			  2014-01-27			      Codes(3)

NAME | SYNOPSIS | DESCRIPTION | INSTALLATION | EXPORT_OK | EXPORT_TAGS | AUTHOR | COPYRIGHT | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Net::DNS::Codes&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help