1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2017 Cavium, Inc
3 */
4
5 #include <stdio.h>
6 #include <unistd.h>
7 #include <sys/queue.h>
8
9 #include "evt_test.h"
10
11 static STAILQ_HEAD(, evt_test_entry) head = STAILQ_HEAD_INITIALIZER(head);
12
13 void
evt_test_register(struct evt_test_entry * entry)14 evt_test_register(struct evt_test_entry *entry)
15 {
16 STAILQ_INSERT_TAIL(&head, entry, next);
17 }
18
19 struct evt_test*
evt_test_get(const char * name)20 evt_test_get(const char *name)
21 {
22 struct evt_test_entry *entry;
23
24 if (!name)
25 return NULL;
26
27 STAILQ_FOREACH(entry, &head, next)
28 if (!strncmp(entry->test.name, name, strlen(name)))
29 return &entry->test;
30
31 return NULL;
32 }
33
34 void
evt_test_dump_names(void)35 evt_test_dump_names(void)
36 {
37 struct evt_test_entry *entry;
38
39 STAILQ_FOREACH(entry, &head, next)
40 if (entry->test.name)
41 printf("\t %s\n", entry->test.name);
42 }
43