xref: /dpdk/examples/l2fwd-cat/cat.h (revision 3998e2a07220844d3f3c17f76a781ced3efe0de0)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016 Intel Corporation
3  */
4 
5 #ifndef _CAT_H
6 #define _CAT_H
7 
8 /**
9  * @file
10  * PQoS CAT
11  */
12 
13 #include <stdint.h>
14 #include <string.h>
15 
16 #include <rte_lcore.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 /* L3 cache allocation class of service data structure */
23 struct cat_config {
24 	rte_cpuset_t cpumask;		/* CPUs bitmask */
25 	int cdp;			/* data & code masks used if true */
26 	union {
27 		uint64_t mask;		/* capacity bitmask (CBM) */
28 		struct {
29 			uint64_t data_mask; /* data capacity bitmask (CBM) */
30 			uint64_t code_mask; /* code capacity bitmask (CBM) */
31 		};
32 	};
33 };
34 
35 int cat_init(int argc, char **argv);
36 
37 void cat_exit(void);
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif /* _CAT_H */
44