aboutsummaryrefslogtreecommitdiffstats
path: root/wsutil/introspection.c
diff options
context:
space:
mode:
authorJoão Valverde <j@v6e.pt>2022-10-02 01:55:51 +0100
committerJoão Valverde <j@v6e.pt>2022-10-07 10:28:47 +0100
commit3c99478cef3ad009aa22076d172ac528ac4e2d58 (patch)
tree0d300dbdc0ff712452c8092565305ebcd336784c /wsutil/introspection.c
parent9faaf0ecff25e8d6b51da4f90eba07a176cbef60 (diff)
wiretap: Add enum generation
Diffstat (limited to 'wsutil/introspection.c')
-rw-r--r--wsutil/introspection.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/wsutil/introspection.c b/wsutil/introspection.c
new file mode 100644
index 0000000000..c571c8d5b5
--- /dev/null
+++ b/wsutil/introspection.c
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2021, João Valverde <j@v6e.pt>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+#include "config.h"
+#include "introspection.h"
+#include <string.h>
+#include <stdlib.h>
+
+
+static int
+compare_enum(const void *needle, const void *memb)
+{
+ return strcmp(needle, ((const ws_enum_t *)memb)->symbol);
+}
+
+const ws_enum_t *
+ws_enums_bsearch(const ws_enum_t *enums, size_t count,
+ const char *needle)
+{
+ return bsearch(needle, enums, count, sizeof(ws_enum_t), compare_enum);
+}