New upstream version 18.02
[deb_dpdk.git] / drivers / net / thunderx / nicvf_svf.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016 Cavium, Inc
3  */
4
5 #ifndef __THUNDERX_NICVF_SVF_H__
6 #define __THUNDERX_NICVF_SVF_H__
7
8 struct nicvf;
9
10 /**
11  * Enqueue new VF to secondary qsets.
12  *
13  * @param entry
14  *   Entry to be enqueued.
15  */
16 void
17 nicvf_svf_push(struct nicvf *vf);
18
19 /**
20  * Dequeue a VF from secondary qsets.
21  *
22  * @return
23  *   Dequeued entry.
24  */
25 struct nicvf *
26 nicvf_svf_pop(void);
27
28 /**
29  * Check if the queue of secondary qsets is empty.
30  *
31  * @return
32  *   0 on non-empty
33  *   otherwise empty
34  */
35 int
36 nicvf_svf_empty(void);
37
38 #endif /* __THUNDERX_NICVF_SVF_H__  */