mirror of https://github.com/getdnsapi/getdns.git
files added for getdns_get_errorstr_by_id()
This commit is contained in:
parent
61ca5e4b52
commit
655343e6dc
|
@ -0,0 +1,70 @@
|
||||||
|
/**
|
||||||
|
* \file
|
||||||
|
* \brief include this header in your application to use getdns API
|
||||||
|
* This source was taken from the original pseudo-implementation by
|
||||||
|
* Paul Hoffman.
|
||||||
|
*/
|
||||||
|
/* The MIT License (MIT)
|
||||||
|
* Copyright (c) 2013 Verisign, Inc.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef GETDNS_ERROR_H
|
||||||
|
#define GETDNS_ERROR_H
|
||||||
|
|
||||||
|
#include <getdns/getdns.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct getdns_struct_lookup_table { /* may or may not want to move this into */
|
||||||
|
int id; /* getdns.h if it's more generally useful */
|
||||||
|
const char *name;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct getdns_struct_lookup_table getdns_lookup_table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup error_table error number to string mapping
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
getdns_lookup_table getdns_error_str[] = {
|
||||||
|
{ GETDNS_RETURN_GOOD, "Good" },
|
||||||
|
{ GETDNS_RETURN_GENERIC_ERROR, "Generic error" },
|
||||||
|
{ GETDNS_RETURN_BAD_DOMAIN_NAME, "Badly-formed domain name" },
|
||||||
|
{ GETDNS_RETURN_BAD_CONTEXT, "Bad value for a context type" },
|
||||||
|
{ GETDNS_RETURN_CONTEXT_UPDATE_FAIL, "Did not update the context" },
|
||||||
|
{ GETDNS_RETURN_UNKNOWN_TRANSACTION, "An attempt was made to cancel a callback with a transaction_id that is not recognized" },
|
||||||
|
{ GETDNS_RETURN_NO_SUCH_LIST_ITEM, "A helper function for lists had an index argument that was too high" },
|
||||||
|
{ GETDNS_RETURN_NO_SUCH_DICT_NAME, "A helper function for dicts had a name argument that for a name that is not in the dict" },
|
||||||
|
{ GETDNS_RETURN_WRONG_TYPE_REQUESTED, "A helper function was supposed to return a certain type for an item, but the wrong type was given" },
|
||||||
|
{ GETDNS_RETURN_NO_SUCH_EXTENSION, "A name in the extensions dict is not a valid extension" },
|
||||||
|
{ GETDNS_RETURN_EXTENSION_MISFORMAT, "One or more of the extensions is has a bad format" },
|
||||||
|
{ GETDNS_RETURN_DNSSEC_WITH_STUB_DISALLOWED, "A query was made with a context that is using stub resolution and a DNSSEC extension specified" },
|
||||||
|
{ 0, "" }
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef enum getdns_enum_status getdns_status;
|
||||||
|
const char *getdns_get_errorstr_by_id(uint16_t err);
|
||||||
|
|
||||||
|
/** @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#endif /* GETDNS_ERROR_H */
|
|
@ -0,0 +1,54 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* /brief getdns error code to string functon
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* The MIT License (MIT)
|
||||||
|
* Copyright (c) 2013 Verisign, Include.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <getdns/getdns.h>
|
||||||
|
#include <getdns/getdns_error.h>
|
||||||
|
|
||||||
|
/*---------------------------------------- getdns_get_errorstr_by_id() */
|
||||||
|
/**
|
||||||
|
* return error string from getdns return
|
||||||
|
* heavily modeled on ldns ldns_get_errorstr_by_id
|
||||||
|
* @param err getdns_return_t
|
||||||
|
* @return string containing error message
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
const char *
|
||||||
|
getdns_get_errorstr_by_id(uint16_t err)
|
||||||
|
{
|
||||||
|
getdns_lookup_table *lt;
|
||||||
|
|
||||||
|
lt = getdns_error_str;
|
||||||
|
while (lt->name != 0) {
|
||||||
|
if (lt->id == err)
|
||||||
|
return lt->name;
|
||||||
|
lt++;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue