summaryrefslogtreecommitdiffstats
path: root/wsutil/introspection.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-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 0000000..c571c8d
--- /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);
+}