4 * Defines error numbers and functions to translate those to a readable string.
9 * a Net::DNS like library for C
11 * (c) NLnet Labs, 2005-2006
13 * See the file LICENSE for the license
19 #include <ldns/util.h>
25 enum ldns_enum_status {
27 LDNS_STATUS_EMPTY_LABEL,
28 LDNS_STATUS_LABEL_OVERFLOW,
29 LDNS_STATUS_DOMAINNAME_OVERFLOW,
30 LDNS_STATUS_DOMAINNAME_UNDERFLOW,
31 LDNS_STATUS_DDD_OVERFLOW,
32 LDNS_STATUS_PACKET_OVERFLOW,
33 LDNS_STATUS_INVALID_POINTER,
35 LDNS_STATUS_INTERNAL_ERR,
38 LDNS_STATUS_INVALID_INT,
39 LDNS_STATUS_INVALID_IP4,
40 LDNS_STATUS_INVALID_IP6,
41 LDNS_STATUS_INVALID_STR,
42 LDNS_STATUS_INVALID_B32_EXT,
43 LDNS_STATUS_INVALID_B64,
44 LDNS_STATUS_INVALID_HEX,
45 LDNS_STATUS_INVALID_TIME,
46 LDNS_STATUS_NETWORK_ERR,
47 LDNS_STATUS_ADDRESS_ERR,
49 LDNS_STATUS_UNKNOWN_INET,
52 LDNS_STATUS_CRYPTO_UNKNOWN_ALGO,
53 LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL,
54 LDNS_STATUS_CRYPTO_NO_RRSIG,
55 LDNS_STATUS_CRYPTO_NO_DNSKEY,
56 LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY,
57 LDNS_STATUS_CRYPTO_NO_DS,
58 LDNS_STATUS_CRYPTO_NO_TRUSTED_DS,
59 LDNS_STATUS_CRYPTO_NO_MATCHING_KEYTAG_DNSKEY,
60 LDNS_STATUS_CRYPTO_VALIDATED,
61 LDNS_STATUS_CRYPTO_BOGUS,
62 LDNS_STATUS_CRYPTO_SIG_EXPIRED,
63 LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED,
64 LDNS_STATUS_CRYPTO_TSIG_BOGUS,
65 LDNS_STATUS_CRYPTO_TSIG_ERR,
66 LDNS_STATUS_CRYPTO_EXPIRATION_BEFORE_INCEPTION,
67 LDNS_STATUS_CRYPTO_TYPE_COVERED_ERR,
68 LDNS_STATUS_ENGINE_KEY_NOT_LOADED,
69 LDNS_STATUS_NSEC3_ERR,
70 LDNS_STATUS_RES_NO_NS,
71 LDNS_STATUS_RES_QUERY,
72 LDNS_STATUS_WIRE_INCOMPLETE_HEADER,
73 LDNS_STATUS_WIRE_INCOMPLETE_QUESTION,
74 LDNS_STATUS_WIRE_INCOMPLETE_ANSWER,
75 LDNS_STATUS_WIRE_INCOMPLETE_AUTHORITY,
76 LDNS_STATUS_WIRE_INCOMPLETE_ADDITIONAL,
78 LDNS_STATUS_CERT_BAD_ALGORITHM,
79 LDNS_STATUS_SYNTAX_TYPE_ERR,
80 LDNS_STATUS_SYNTAX_CLASS_ERR,
81 LDNS_STATUS_SYNTAX_TTL_ERR,
82 LDNS_STATUS_SYNTAX_INCLUDE_ERR_NOTIMPL,
83 LDNS_STATUS_SYNTAX_RDATA_ERR,
84 LDNS_STATUS_SYNTAX_DNAME_ERR,
85 LDNS_STATUS_SYNTAX_VERSION_ERR,
86 LDNS_STATUS_SYNTAX_ALG_ERR,
87 LDNS_STATUS_SYNTAX_KEYWORD_ERR,
88 LDNS_STATUS_SYNTAX_TTL,
89 LDNS_STATUS_SYNTAX_ORIGIN,
90 LDNS_STATUS_SYNTAX_INCLUDE,
91 LDNS_STATUS_SYNTAX_EMPTY,
92 LDNS_STATUS_SYNTAX_ITERATIONS_OVERFLOW,
93 LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR,
94 LDNS_STATUS_SYNTAX_INTEGER_OVERFLOW,
95 LDNS_STATUS_SYNTAX_BAD_ESCAPE,
96 LDNS_STATUS_SOCKET_ERROR,
97 LDNS_STATUS_SYNTAX_ERR,
98 LDNS_STATUS_DNSSEC_EXISTENCE_DENIED,
99 LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED,
100 LDNS_STATUS_DNSSEC_NSEC_WILDCARD_NOT_COVERED,
101 LDNS_STATUS_DNSSEC_NSEC3_ORIGINAL_NOT_FOUND,
102 LDNS_STATUS_MISSING_RDATA_FIELDS_RRSIG,
103 LDNS_STATUS_MISSING_RDATA_FIELDS_KEY
105 typedef enum ldns_enum_status ldns_status;
107 extern ldns_lookup_table ldns_error_str[];
110 * look up a descriptive text by each error. This function
111 * could use a better name
112 * \param[in] err ldns_status number
113 * \return the string for that error
115 const char *ldns_get_errorstr_by_id(ldns_status err);
121 #endif /* LDNS_ERROR_H */