1*d30ea906Sjfb8856606 /* SPDX-License-Identifier: BSD-3-Clause
2*d30ea906Sjfb8856606 * Copyright(c) 2017 Cavium, Inc
32bfe3f2eSlogwang */
42bfe3f2eSlogwang
52bfe3f2eSlogwang #include <stdio.h>
62bfe3f2eSlogwang #include <unistd.h>
72bfe3f2eSlogwang #include <sys/queue.h>
82bfe3f2eSlogwang
92bfe3f2eSlogwang #include "evt_test.h"
102bfe3f2eSlogwang
112bfe3f2eSlogwang static STAILQ_HEAD(, evt_test_entry) head = STAILQ_HEAD_INITIALIZER(head);
122bfe3f2eSlogwang
132bfe3f2eSlogwang void
evt_test_register(struct evt_test_entry * entry)142bfe3f2eSlogwang evt_test_register(struct evt_test_entry *entry)
152bfe3f2eSlogwang {
162bfe3f2eSlogwang STAILQ_INSERT_TAIL(&head, entry, next);
172bfe3f2eSlogwang }
182bfe3f2eSlogwang
192bfe3f2eSlogwang struct evt_test*
evt_test_get(const char * name)202bfe3f2eSlogwang evt_test_get(const char *name)
212bfe3f2eSlogwang {
222bfe3f2eSlogwang struct evt_test_entry *entry;
232bfe3f2eSlogwang
242bfe3f2eSlogwang if (!name)
252bfe3f2eSlogwang return NULL;
262bfe3f2eSlogwang
272bfe3f2eSlogwang STAILQ_FOREACH(entry, &head, next)
282bfe3f2eSlogwang if (!strncmp(entry->test.name, name, strlen(name)))
292bfe3f2eSlogwang return &entry->test;
302bfe3f2eSlogwang
312bfe3f2eSlogwang return NULL;
322bfe3f2eSlogwang }
332bfe3f2eSlogwang
342bfe3f2eSlogwang void
evt_test_dump_names(void)352bfe3f2eSlogwang evt_test_dump_names(void)
362bfe3f2eSlogwang {
372bfe3f2eSlogwang struct evt_test_entry *entry;
382bfe3f2eSlogwang
392bfe3f2eSlogwang STAILQ_FOREACH(entry, &head, next)
402bfe3f2eSlogwang if (entry->test.name)
412bfe3f2eSlogwang printf("\t %s\n", entry->test.name);
422bfe3f2eSlogwang }
43