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 }; 103 typedef enum ldns_enum_status ldns_status; 104 105 extern ldns_lookup_table ldns_error_str[]; 106 107 /** 108 * look up a descriptive text by each error. This function 109 * could use a better name 110 * \param[in] err ldns_status number 111 * \return the string for that error 112 */ 113 const char *ldns_get_errorstr_by_id(ldns_status err); 114 115 #ifdef __cplusplus 116 } 117 #endif 118 119 #endif /* LDNS_ERROR_H */ 120