1a9643ea8Slogwang /*
2*d30ea906Sjfb8856606  * SPDX-License-Identifier: BSD-3-Clause
3*d30ea906Sjfb8856606  * Copyright 2015 Intel Corporation.
4*d30ea906Sjfb8856606  * Copyright 2012 Hasan Alayli <[email protected]>
5a9643ea8Slogwang  */
6a9643ea8Slogwang 
7a9643ea8Slogwang #ifndef LTHREAD_COND_H_
8a9643ea8Slogwang #define LTHREAD_COND_H_
9a9643ea8Slogwang 
102bfe3f2eSlogwang #ifdef __cplusplus
112bfe3f2eSlogwang extern "C" {
122bfe3f2eSlogwang #endif
132bfe3f2eSlogwang 
14a9643ea8Slogwang #include "lthread_queue.h"
15a9643ea8Slogwang 
16a9643ea8Slogwang #define MAX_COND_NAME_SIZE 64
17a9643ea8Slogwang 
18a9643ea8Slogwang struct lthread_cond {
19a9643ea8Slogwang 	struct lthread_queue *blocked;
20a9643ea8Slogwang 	struct lthread_sched *root_sched;
21a9643ea8Slogwang 	int count;
22a9643ea8Slogwang 	char name[MAX_COND_NAME_SIZE];
23a9643ea8Slogwang 	uint64_t diag_ref;	/* optional ref to user diag data */
24a9643ea8Slogwang } __rte_cache_aligned;
25a9643ea8Slogwang 
262bfe3f2eSlogwang #ifdef __cplusplus
272bfe3f2eSlogwang }
282bfe3f2eSlogwang #endif
292bfe3f2eSlogwang 
30a9643ea8Slogwang #endif				/* LTHREAD_COND_H_ */
31