aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-03-01 21:58:31 +0100
committerHarald Welte <laforge@gnumonks.org>2010-03-01 21:58:31 +0100
commitd284cd9f43a6954be338d85470a17ac6796b56d5 (patch)
tree66672b0a0f68172e31726bd5926e1383a4575aa7 /src/utils.c
parent00096acb8fbbf76b4fd8a223a2684df6c370d9f9 (diff)
Import value_string utilities and some RSL stuff from OpenBSC
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
new file mode 100644
index 00000000..0d878c7b
--- /dev/null
+++ b/src/utils.c
@@ -0,0 +1,32 @@
+
+#include <string.h>
+#include <stdint.h>
+#include <errno.h>
+
+#include <osmocore/utils.h>
+
+const char *get_value_string(const struct value_string *vs, uint32_t val)
+{
+ int i;
+
+ for (i = 0;; i++) {
+ if (vs[i].value == 0 && vs[i].str == NULL)
+ break;
+ if (vs[i].value == val)
+ return vs[i].str;
+ }
+ return "unknown";
+}
+
+int get_string_value(const struct value_string *vs, const char *str)
+{
+ int i;
+
+ for (i = 0;; i++) {
+ if (vs[i].value == 0 && vs[i].str == NULL)
+ break;
+ if (!strcasecmp(vs[i].str, str))
+ return vs[i].value;
+ }
+ return -EINVAL;
+}