New upstream version 18.02
[deb_dpdk.git] / examples / ip_pipeline / cpu_core_map.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2015 Intel Corporation
3  */
4
5 #ifndef __INCLUDE_CPU_CORE_MAP_H__
6 #define __INCLUDE_CPU_CORE_MAP_H__
7
8 #include <stdio.h>
9
10 #include <rte_lcore.h>
11
12 struct cpu_core_map;
13
14 struct cpu_core_map *
15 cpu_core_map_init(uint32_t n_max_sockets,
16         uint32_t n_max_cores_per_socket,
17         uint32_t n_max_ht_per_core,
18         uint32_t eal_initialized);
19
20 uint32_t
21 cpu_core_map_get_n_sockets(struct cpu_core_map *map);
22
23 uint32_t
24 cpu_core_map_get_n_cores_per_socket(struct cpu_core_map *map);
25
26 uint32_t
27 cpu_core_map_get_n_ht_per_core(struct cpu_core_map *map);
28
29 int
30 cpu_core_map_get_lcore_id(struct cpu_core_map *map,
31         uint32_t socket_id,
32         uint32_t core_id,
33         uint32_t ht_id);
34
35 void cpu_core_map_print(struct cpu_core_map *map);
36
37 void
38 cpu_core_map_free(struct cpu_core_map *map);
39
40 #endif