1"""
2 $Id$
3
4 This file is part of the py3dns project.
5 Homepage: https://launchpad.net/py3dns
6
7 This code is covered by the standard Python License. See LICENSE for details.
8
9 Status values in message header
10"""
11
12NOERROR   = 0 #   No Error                           [RFC 1035]
13FORMERR   = 1 #   Format Error                       [RFC 1035]
14SERVFAIL  = 2 #   Server Failure                     [RFC 1035]
15NXDOMAIN  = 3 #   Non-Existent Domain                [RFC 1035]
16NOTIMP    = 4 #   Not Implemented                    [RFC 1035]
17REFUSED   = 5 #   Query Refused                      [RFC 1035]
18YXDOMAIN  = 6 #   Name Exists when it should not     [RFC 2136]
19YXRRSET   = 7 #   RR Set Exists when it should not   [RFC 2136]
20NXRRSET   = 8 #   RR Set that should exist does not  [RFC 2136]
21NOTAUTH   = 9 #   Server Not Authoritative for zone  [RFC 2136]
22NOTZONE   = 10 #  Name not contained in zone         [RFC 2136]
23BADVERS   = 16 #  Bad OPT Version                    [RFC 2671]
24BADSIG    = 16 #  TSIG Signature Failure             [RFC 2845]
25BADKEY    = 17 #  Key not recognized                 [RFC 2845]
26BADTIME   = 18 #  Signature out of time window       [RFC 2845]
27BADMODE   = 19 #  Bad TKEY Mode                      [RFC 2930]
28BADNAME   = 20 #  Duplicate key name                 [RFC 2930]
29BADALG    = 21 #  Algorithm not supported            [RFC 2930]
30
31# Construct reverse mapping dictionary
32
33_names = dir()
34statusmap = {}
35for _name in _names:
36    if _name[0] != '_': statusmap[eval(_name)] = _name
37
38def statusstr(status):
39    if status in statusmap: return statusmap[status]
40    else: return repr(status)
41
42