result.c revision 40f53fa8d9c6a4fc38c0014495e7a42b08f52481
c71b045cdb935188b3781f6da8039d7bdbc51ad5Tinderbox User/*
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * Copyright (C) 1999, 2000 Internet Software Consortium.
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User *
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User * Permission to use, copy, modify, and distribute this software for any
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User * purpose with or without fee is hereby granted, provided that the above
83217b5fdc70ea66fedf2ab3e9b9169c2b8a200aRob Austein * copyright notice and this permission notice appear in all copies.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein *
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
3afd0ff6628df1e7e20161e4afa99469a1195a5bTinderbox User * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User */
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User/* $Id: result.c,v 1.10 2000/08/01 01:33:00 tale Exp $ */
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#include <config.h>
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#include <isc/once.h>
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#include <isc/util.h>
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#include <omapi/result.h>
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#include <omapi/lib.h>
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userstatic const char *text[OMAPI_R_NRESULTS] = {
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User "data not yet available", /* 0 */
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User "not connected", /* 1 */
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User "no key specified", /* 2 */
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater "invalid argument", /* 3 */
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater "protocol version mismatch", /* 4 */
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater "protocol error", /* 5 */
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater};
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#define OMAPI_RESULT_RESULTSET 2
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafssonstatic isc_once_t once = ISC_ONCE_INIT;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userstatic void
9700e6d72c3ba0d0c567969ab97d9eff202656d4Tinderbox Userinitialize_action(void) {
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User isc_result_t result;
83217b5fdc70ea66fedf2ab3e9b9169c2b8a200aRob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User result = isc_result_register(ISC_RESULTCLASS_OMAPI, OMAPI_R_NRESULTS,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein text, omapi_msgcat,
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson OMAPI_RESULT_RESULTSET);
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson if (result != ISC_R_SUCCESS)
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater UNEXPECTED_ERROR(__FILE__, __LINE__,
d95b19f839f5bad2d1c25577fd334907bd90656cTinderbox User "isc_result_register() failed: %u", result);
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater}
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userstatic void
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafssoninitialize(void) {
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater omapi_lib_initmsgcat();
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS);
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User}
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userconst char *
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updateromapi_result_totext(isc_result_t result) {
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User initialize();
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater return (isc_result_totext(result));
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater}
8dc5d5e460da15b2481893687cad7e5b72d0314aAutomatic Updater
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Uservoid
d8620c7234281056fdfd2ee40cf16636b8281092Tinderbox Useromapi_result_register(void) {
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User initialize();
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson}
b49958b502ee45022010a0b1bed3968f598895a4Automatic Updater