99d4f0bfe85823c10abd283be550133bdc62a2d9
[dragonfly.git] / contrib / ldns / ldns / error.h
1 /**
2  * \file error.h
3  *
4  * Defines error numbers and functions to translate those to a readable string.
5  *
6  */
7  
8 /**
9  * a Net::DNS like library for C
10  *
11  * (c) NLnet Labs, 2005-2006
12  *
13  * See the file LICENSE for the license
14  */
15
16 #ifndef LDNS_ERROR_H
17 #define LDNS_ERROR_H
18
19 #include <ldns/util.h>
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 enum ldns_enum_status {
26         LDNS_STATUS_OK, 
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,
34         LDNS_STATUS_MEM_ERR,
35         LDNS_STATUS_INTERNAL_ERR,
36         LDNS_STATUS_SSL_ERR,
37         LDNS_STATUS_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,
48         LDNS_STATUS_FILE_ERR,
49         LDNS_STATUS_UNKNOWN_INET,
50         LDNS_STATUS_NOT_IMPL,
51         LDNS_STATUS_NULL,
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,
77         LDNS_STATUS_NO_DATA,
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
104 };
105 typedef enum ldns_enum_status ldns_status;
106
107 extern ldns_lookup_table ldns_error_str[];
108
109 /**
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
114  */
115 const char *ldns_get_errorstr_by_id(ldns_status err);
116
117 #ifdef __cplusplus
118 }
119 #endif
120
121 #endif /* LDNS_ERROR_H */