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