From 6585e5ad764ee2414d9b01f30784b6549bc8f58e Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Mon, 30 Jul 2007 19:37:53 +0000 Subject: added keyexchange --- keyexchange/isakmpd-20041012/constants.c | 99 ++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 keyexchange/isakmpd-20041012/constants.c (limited to 'keyexchange/isakmpd-20041012/constants.c') diff --git a/keyexchange/isakmpd-20041012/constants.c b/keyexchange/isakmpd-20041012/constants.c new file mode 100644 index 0000000..ec0d0f4 --- /dev/null +++ b/keyexchange/isakmpd-20041012/constants.c @@ -0,0 +1,99 @@ +/* $OpenBSD: constants.c,v 1.9 2004/04/15 18:39:25 deraadt Exp $ */ +/* $EOM: constants.c,v 1.7 1999/04/02 00:57:31 niklas Exp $ */ + +/* + * Copyright (c) 1998, 1999 Niklas Hallqvist. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This code was written under funding by Ericsson Radio Systems. + */ + +#include +#include + +#include "sysdep.h" + +#include "constants.h" + +int +constant_value(struct constant_map *map, char *name) +{ + struct constant_map *entry = map; + + for (entry = map; entry->name; entry++) + if (strcasecmp(entry->name, name) == 0) + return entry->value; + return 0; +} + +char * +constant_lookup(struct constant_map *map, int value) +{ + struct constant_map *entry = map; + + for (entry = map; entry->name; entry++) + if (entry->value == value) + return entry->name; + return 0; +} + +struct constant_map * +constant_link_lookup(struct constant_map *map, int value) +{ + struct constant_map *entry = map; + + for (entry = map; entry->name; entry++) + if (entry->value == value) + return entry->link; + return 0; +} + +char * +constant_name(struct constant_map *map, int value) +{ + static char tmp[32];/* XXX Ugly, I know. */ + char *retval = constant_lookup(map, value); + + if (!retval) { + snprintf(tmp, sizeof tmp, "", value); + return tmp; + } + return retval; +} + +char * +constant_name_maps(struct constant_map **maps, int value) +{ + static char tmp[32];/* XXX Ugly, I know. */ + char *retval; + struct constant_map **map; + + for (map = maps; *map; map++) { + retval = constant_lookup(*map, value); + if (retval) + return retval; + } + snprintf(tmp, sizeof tmp, "", value); + return tmp; +} -- cgit v1.2.3