xref: /dpdk/app/test-eventdev/evt_test.c (revision 53a3b7e8dd453e9c968567ee086bb108f6282f7c)
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