New upstream version 18.02
[deb_dpdk.git] / examples / l2fwd-cat / cat.h
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 */