diff options
author | Shawn Routhier <sar@isc.org> | 2009-10-28 04:12:30 +0000 |
---|---|---|
committer | Shawn Routhier <sar@isc.org> | 2009-10-28 04:12:30 +0000 |
commit | 98bf16077d22f28e288a18e184a9d1f97cb5f4f7 (patch) | |
tree | b38c8282016ec1526d59abe313ff8317da4c21b6 /omapip/result.c | |
parent | 571c38b093626507112330e197dbbd318ba43a57 (diff) | |
download | isc-dhcp-98bf16077d22f28e288a18e184a9d1f97cb5f4f7.tar.gz |
Support for asynchronous ddns per ticket 19216 - convert to using isclib and
dnslib.
Diffstat (limited to 'omapip/result.c')
-rw-r--r-- | omapip/result.c | 161 |
1 files changed, 63 insertions, 98 deletions
diff --git a/omapip/result.c b/omapip/result.c index 6b682362..383279fb 100644 --- a/omapip/result.c +++ b/omapip/result.c @@ -1,23 +1,21 @@ /* result.c + */ - Cheap knock-off of libisc result table code. This is just a place-holder - until the actual libisc merge. */ - -/* - * Copyright (c) 2004,2007 by Internet Systems Consortium, Inc. ("ISC") +/* + * Copyright (c) 2004,2007,2009 by Internet Systems Consortium, Inc. ("ISC") * Copyright (c) 1999-2003 by Internet Software Consortium * - * Permission to use, copy, modify, and distribute this software for any + * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * - * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. * * Internet Systems Consortium, Inc. * 950 Charter Street @@ -25,97 +23,64 @@ * <info@isc.org> * https://www.isc.org/ * - * This software has been written for Internet Systems Consortium - * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. - * To learn more about Internet Systems Consortium, see - * ``https://www.isc.org/''. To learn more about Vixie Enterprises, - * see ``http://www.vix.com''. To learn more about Nominum, Inc., see - * ``http://www.nominum.com''. */ #include "dhcpd.h" -#include <omapip/omapip_p.h> +/* + * In the previous code the results started at 36 + * rather than ISC_RESULTCLASS_DHCP + 0 + * ISC_R_NOTCONNECTED was + 4 (40), it has been superseeded by the isc version + */ -static const char *text[ISC_R_NRESULTS] = { - "success", /* 0 */ - "out of memory", /* 1 */ - "timed out", /* 2 */ - "no available threads", /* 3 */ - "address not available", /* 4 */ - "address in use", /* 5 */ - "permission denied", /* 6 */ - "no pending connections", /* 7 */ - "network unreachable", /* 8 */ - "host unreachable", /* 9 */ - "network down", /* 10 */ - "host down", /* 11 */ - "connection refused", /* 12 */ - "not enough free resources", /* 13 */ - "end of file", /* 14 */ - "socket already bound", /* 15 */ - "task is done", /* 16 */ - "lock busy", /* 17 */ - "already exists", /* 18 */ - "ran out of space", /* 19 */ - "operation canceled", /* 20 */ - "sending events is not allowed", /* 21 */ - "shutting down", /* 22 */ - "not found", /* 23 */ - "unexpected end of input", /* 24 */ - "failure", /* 25 */ - "I/O error", /* 26 */ - "not implemented", /* 27 */ - "unbalanced parentheses", /* 28 */ - "no more", /* 29 */ - "invalid file", /* 30 */ - "bad base64 encoding", /* 31 */ - "unexpected token", /* 32 */ - "quota reached", /* 33 */ - "unexpected error", /* 34 */ - "already running", /* 35 */ - "host unknown", /* 36 */ - "protocol version mismatch", /* 37 */ - "protocol error", /* 38 */ - "invalid argument", /* 39 */ - "not connected", /* 40 */ - "data not yet available", /* 41 */ - "object unchanged", /* 42 */ - "more than one object matches key", /* 43 */ - "key conflict", /* 44 */ - "parse error(s) occurred", /* 45 */ - "no key specified", /* 46 */ - "zone TSIG key not known", /* 47 */ - "invalid TSIG key", /* 48 */ - "operation in progress", /* 49 */ - "DNS format error", /* 50 */ - "DNS server failed", /* 51 */ - "no such domain", /* 52 */ - "not implemented", /* 53 */ - "refused", /* 54 */ - "domain already exists", /* 55 */ - "RRset already exists", /* 56 */ - "no such RRset", /* 57 */ - "not authorized", /* 58 */ - "not a zone", /* 59 */ - "bad DNS signature", /* 60 */ - "bad DNS key", /* 61 */ - "clock skew too great", /* 62 */ - "no root zone", /* 63 */ - "destination address required", /* 64 */ - "cross-zone update", /* 65 */ - "no TSIG signature", /* 66 */ - "not equal", /* 67 */ - "connection reset by peer", /* 68 */ - "unknown attribute" /* 69 */ +static const char *text[DHCP_R_NRESULTS] = { + "host unknown", /* 0 */ + "protocol version mismatch", /* 1 */ + "protocol error", /* 2 */ + "invalid argument", /* 3 */ + "data not yet available", /* 4 */ + "object unchanged", /* 5 */ + "more than one object matches key", /* 6 */ + "key conflict", /* 7 */ + "parse error(s) occurred", /* 8 */ + "no key specified", /* 9 */ + "zone TSIG key not known", /* 10 */ + "invalid TSIG key", /* 11 */ + "operation in progress", /* 12 */ + "DNS format error", /* 13 */ + "DNS server failed", /* 14 */ + "no such domain", /* 15 */ + "not implemented", /* 16 */ + "refused", /* 17 */ + "domain already exists", /* 18 */ + "RRset already exists", /* 19 */ + "no such RRset", /* 20 */ + "not authorized", /* 21 */ + "not a zone", /* 22 */ + "bad DNS signature", /* 23 */ + "bad DNS key", /* 24 */ + "clock skew too great", /* 25 */ + "no root zone", /* 26 */ + "destination address required", /* 27 */ + "cross-zone update", /* 28 */ + "no TSIG signature", /* 29 */ + "not equal", /* 30 */ + "connection reset by peer", /* 31 */ + "unknown attribute" /* 32 */ }; -const char *isc_result_totext (isc_result_t result) -{ - static char ebuf[40]; +#define DHCP_RESULT_RESULTSET 2 +#define DHCP_RESULT_UNAVAILABLESET 3 + +// This is a placeholder as we don't allow for external message catalogs yet +isc_msgcat_t * dhcp_msgcat = NULL; + +isc_result_t +dhcp_result_register(void) { + isc_result_t result; + + result = isc_result_register(ISC_RESULTCLASS_DHCP, DHCP_R_NRESULTS, + text, dhcp_msgcat, DHCP_RESULT_RESULTSET); - if (result >= ISC_R_SUCCESS && result < ISC_R_NRESULTS) - return text [result]; - sprintf(ebuf, "unknown error: %d", result); - return ebuf; + return(result); } |