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