GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Codes(3) User Contributed Perl Documentation Codes(3)

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

  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)

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.
  • $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
        
  • $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
        
  • $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,
        
  • $textval = OpcodeTxt->{numeric};

      Return the TEXT string for numeric code.
    
            QUERY           => 0,
            IQUERY          => 1,
            STATUS          => 2, 
            NS_NOTIFY_OP    => 4, 
            NS_UPDATE_OP    => 5,
        
  • $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,
        
  • $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
        
  • (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
        

To install this module, type:

        perl Makfile.PL
        make
        make test
        make install

  ------- 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

        :header
        :RRs
        :constants
        :all

Michael Robinton, michael@bizsystems.com

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.

perl(1), /usr/include/resolv.h /usr/include/arpa/nameser.h /usr/include/namser_compat.h
2014-01-27 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.