xref: /dragonfly/contrib/ldns/ldns/error.h (revision ee791feb)
1825eb42bSJan Lentfer /**
2825eb42bSJan Lentfer  * \file error.h
3825eb42bSJan Lentfer  *
4825eb42bSJan Lentfer  * Defines error numbers and functions to translate those to a readable string.
5825eb42bSJan Lentfer  *
6825eb42bSJan Lentfer  */
7825eb42bSJan Lentfer 
8825eb42bSJan Lentfer /**
9825eb42bSJan Lentfer  * a Net::DNS like library for C
10825eb42bSJan Lentfer  *
11825eb42bSJan Lentfer  * (c) NLnet Labs, 2005-2006
12825eb42bSJan Lentfer  *
13825eb42bSJan Lentfer  * See the file LICENSE for the license
14825eb42bSJan Lentfer  */
15825eb42bSJan Lentfer 
16825eb42bSJan Lentfer #ifndef LDNS_ERROR_H
17825eb42bSJan Lentfer #define LDNS_ERROR_H
18825eb42bSJan Lentfer 
19825eb42bSJan Lentfer #include <ldns/util.h>
20825eb42bSJan Lentfer 
21ac996e71SJan Lentfer #ifdef __cplusplus
22ac996e71SJan Lentfer extern "C" {
23ac996e71SJan Lentfer #endif
24ac996e71SJan Lentfer 
25825eb42bSJan Lentfer enum ldns_enum_status {
26825eb42bSJan Lentfer 	LDNS_STATUS_OK,
27825eb42bSJan Lentfer 	LDNS_STATUS_EMPTY_LABEL,
28825eb42bSJan Lentfer 	LDNS_STATUS_LABEL_OVERFLOW,
29825eb42bSJan Lentfer 	LDNS_STATUS_DOMAINNAME_OVERFLOW,
30825eb42bSJan Lentfer 	LDNS_STATUS_DOMAINNAME_UNDERFLOW,
31825eb42bSJan Lentfer 	LDNS_STATUS_DDD_OVERFLOW,
32825eb42bSJan Lentfer 	LDNS_STATUS_PACKET_OVERFLOW,
33825eb42bSJan Lentfer 	LDNS_STATUS_INVALID_POINTER,
34825eb42bSJan Lentfer 	LDNS_STATUS_MEM_ERR,
35825eb42bSJan Lentfer 	LDNS_STATUS_INTERNAL_ERR,
36825eb42bSJan Lentfer 	LDNS_STATUS_SSL_ERR,
37825eb42bSJan Lentfer 	LDNS_STATUS_ERR,
38825eb42bSJan Lentfer 	LDNS_STATUS_INVALID_INT,
39825eb42bSJan Lentfer 	LDNS_STATUS_INVALID_IP4,
40825eb42bSJan Lentfer 	LDNS_STATUS_INVALID_IP6,
41825eb42bSJan Lentfer 	LDNS_STATUS_INVALID_STR,
42825eb42bSJan Lentfer 	LDNS_STATUS_INVALID_B32_EXT,
43825eb42bSJan Lentfer 	LDNS_STATUS_INVALID_B64,
44825eb42bSJan Lentfer 	LDNS_STATUS_INVALID_HEX,
45825eb42bSJan Lentfer 	LDNS_STATUS_INVALID_TIME,
46825eb42bSJan Lentfer 	LDNS_STATUS_NETWORK_ERR,
47825eb42bSJan Lentfer 	LDNS_STATUS_ADDRESS_ERR,
48825eb42bSJan Lentfer 	LDNS_STATUS_FILE_ERR,
49825eb42bSJan Lentfer 	LDNS_STATUS_UNKNOWN_INET,
50825eb42bSJan Lentfer 	LDNS_STATUS_NOT_IMPL,
51825eb42bSJan Lentfer 	LDNS_STATUS_NULL,
52825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_UNKNOWN_ALGO,
53825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL,
54825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_NO_RRSIG,
55825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_NO_DNSKEY,
56825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY,
57825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_NO_DS,
58825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_NO_TRUSTED_DS,
59825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_NO_MATCHING_KEYTAG_DNSKEY,
60825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_VALIDATED,
61825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_BOGUS,
62825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_SIG_EXPIRED,
63825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED,
64825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_TSIG_BOGUS,
65825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_TSIG_ERR,
66825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_EXPIRATION_BEFORE_INCEPTION,
67825eb42bSJan Lentfer 	LDNS_STATUS_CRYPTO_TYPE_COVERED_ERR,
68825eb42bSJan Lentfer 	LDNS_STATUS_ENGINE_KEY_NOT_LOADED,
69825eb42bSJan Lentfer 	LDNS_STATUS_NSEC3_ERR,
70825eb42bSJan Lentfer 	LDNS_STATUS_RES_NO_NS,
71825eb42bSJan Lentfer 	LDNS_STATUS_RES_QUERY,
72825eb42bSJan Lentfer 	LDNS_STATUS_WIRE_INCOMPLETE_HEADER,
73825eb42bSJan Lentfer 	LDNS_STATUS_WIRE_INCOMPLETE_QUESTION,
74825eb42bSJan Lentfer 	LDNS_STATUS_WIRE_INCOMPLETE_ANSWER,
75825eb42bSJan Lentfer 	LDNS_STATUS_WIRE_INCOMPLETE_AUTHORITY,
76825eb42bSJan Lentfer 	LDNS_STATUS_WIRE_INCOMPLETE_ADDITIONAL,
77825eb42bSJan Lentfer 	LDNS_STATUS_NO_DATA,
78825eb42bSJan Lentfer 	LDNS_STATUS_CERT_BAD_ALGORITHM,
79825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_TYPE_ERR,
80825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_CLASS_ERR,
81825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_TTL_ERR,
82ac996e71SJan Lentfer 	LDNS_STATUS_SYNTAX_INCLUDE_ERR_NOTIMPL,
83825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_RDATA_ERR,
84825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_DNAME_ERR,
85825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_VERSION_ERR,
86825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_ALG_ERR,
87825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_KEYWORD_ERR,
88825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_TTL,
89825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_ORIGIN,
90ac996e71SJan Lentfer 	LDNS_STATUS_SYNTAX_INCLUDE,
91825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_EMPTY,
92825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_ITERATIONS_OVERFLOW,
93825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR,
94825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_INTEGER_OVERFLOW,
95825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_BAD_ESCAPE,
96825eb42bSJan Lentfer 	LDNS_STATUS_SOCKET_ERROR,
97825eb42bSJan Lentfer 	LDNS_STATUS_SYNTAX_ERR,
98825eb42bSJan Lentfer 	LDNS_STATUS_DNSSEC_EXISTENCE_DENIED,
99825eb42bSJan Lentfer 	LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED,
100825eb42bSJan Lentfer 	LDNS_STATUS_DNSSEC_NSEC_WILDCARD_NOT_COVERED,
101b5dedccaSJan Lentfer 	LDNS_STATUS_DNSSEC_NSEC3_ORIGINAL_NOT_FOUND,
102b5dedccaSJan Lentfer 	LDNS_STATUS_MISSING_RDATA_FIELDS_RRSIG,
103d1b2b5caSJohn Marino 	LDNS_STATUS_MISSING_RDATA_FIELDS_KEY,
104d1b2b5caSJohn Marino 	LDNS_STATUS_CRYPTO_SIG_EXPIRED_WITHIN_MARGIN,
105d1b2b5caSJohn Marino 	LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED_WITHIN_MARGIN,
106d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_STATUS_MESSAGES,
107d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_UNKNOWN_CERTIFICATE_USAGE,
108d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_UNKNOWN_SELECTOR,
109d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_UNKNOWN_MATCHING_TYPE,
110d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_UNKNOWN_PROTOCOL,
111d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_UNKNOWN_TRANSPORT,
112d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_MISSING_EXTRA_CERTS,
113d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_EXTRA_CERTS_NOT_USED,
114d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_OFFSET_OUT_OF_RANGE,
115d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_INSECURE,
116d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_BOGUS,
117d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_TLSA_DID_NOT_MATCH,
118d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_NON_CA_CERTIFICATE,
119d1b2b5caSJohn Marino 	LDNS_STATUS_DANE_PKIX_DID_NOT_VALIDATE,
1205340022aSzrj 	LDNS_STATUS_DANE_PKIX_NO_SELF_SIGNED_TRUST_ANCHOR,
1215340022aSzrj 	LDNS_STATUS_EXISTS_ERR,
1225340022aSzrj 	LDNS_STATUS_INVALID_ILNP64,
1235340022aSzrj 	LDNS_STATUS_INVALID_EUI48,
1245340022aSzrj 	LDNS_STATUS_INVALID_EUI64,
1255340022aSzrj 	LDNS_STATUS_WIRE_RDATA_ERR,
1265340022aSzrj 	LDNS_STATUS_INVALID_TAG,
1275340022aSzrj 	LDNS_STATUS_TYPE_NOT_IN_BITMAP,
1285340022aSzrj 	LDNS_STATUS_INVALID_RDF_TYPE,
1295340022aSzrj 	LDNS_STATUS_RDATA_OVERFLOW,
1305340022aSzrj 	LDNS_STATUS_SYNTAX_SUPERFLUOUS_TEXT_ERR,
1315340022aSzrj 	LDNS_STATUS_NSEC3_DOMAINNAME_OVERFLOW,
132*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_DANE_NEED_OPENSSL_GE_1_1_FOR_DANE_TA,
133*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_ZONEMD_DOUBLE_OCCURRENCE,
134*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_ZONEMD_UNKNOWN_SCHEME,
135*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_ZONEMD_UNKNOWN_HASH,
136*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_ZONEMD_INVALID_SOA,
137*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_NO_ZONEMD,
138*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_NO_VALID_ZONEMD,
139*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_SYNTAX_SVCPARAM_KEY_ERR,
140*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_SYNTAX_SVCPARAM_VALUE_ERR,
141*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_RESERVED_SVCPARAM_KEY,
142*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_NO_SVCPARAM_VALUE_EXPECTED,
143*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_SVCPARAM_KEY_MORE_THAN_ONCE,
144*ee791febSAntonio Huete Jimenez 	LDNS_STATUS_INVALID_SVCPARAM_VALUE
145825eb42bSJan Lentfer };
146825eb42bSJan Lentfer typedef enum ldns_enum_status ldns_status;
147825eb42bSJan Lentfer 
148825eb42bSJan Lentfer extern ldns_lookup_table ldns_error_str[];
149825eb42bSJan Lentfer 
150825eb42bSJan Lentfer /**
151825eb42bSJan Lentfer  * look up a descriptive text by each error. This function
152825eb42bSJan Lentfer  * could use a better name
153825eb42bSJan Lentfer  * \param[in] err ldns_status number
154825eb42bSJan Lentfer  * \return the string for that error
155825eb42bSJan Lentfer  */
156825eb42bSJan Lentfer const char *ldns_get_errorstr_by_id(ldns_status err);
157825eb42bSJan Lentfer 
158ac996e71SJan Lentfer #ifdef __cplusplus
159ac996e71SJan Lentfer }
160ac996e71SJan Lentfer #endif
161ac996e71SJan Lentfer 
162825eb42bSJan Lentfer #endif /* LDNS_ERROR_H */
163