DPDK  18.05.1
rte_malloc.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2014 Intel Corporation
3  */
4 
5 #ifndef _RTE_MALLOC_H_
6 #define _RTE_MALLOC_H_
7 
14 #include <stdio.h>
15 #include <stddef.h>
16 #include <rte_compat.h>
17 #include <rte_memory.h>
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
30  unsigned free_count;
31  unsigned alloc_count;
33 };
34 
56 void *
57 rte_malloc(const char *type, size_t size, unsigned align);
58 
82 void *
83 rte_zmalloc(const char *type, size_t size, unsigned align);
84 
108 void *
109 rte_calloc(const char *type, size_t num, size_t size, unsigned align);
110 
131 void *
132 rte_realloc(void *ptr, size_t size, unsigned align);
133 
157 void *
158 rte_malloc_socket(const char *type, size_t size, unsigned align, int socket);
159 
185 void *
186 rte_zmalloc_socket(const char *type, size_t size, unsigned align, int socket);
187 
213 void *
214 rte_calloc_socket(const char *type, size_t num, size_t size, unsigned align, int socket);
215 
228 void
229 rte_free(void *ptr);
230 
248 int
249 rte_malloc_validate(const void *ptr, size_t *size);
250 
262 int
263 rte_malloc_get_socket_stats(int socket,
264  struct rte_malloc_socket_stats *socket_stats);
265 
278 void
279 rte_malloc_dump_stats(FILE *f, const char *type);
280 
287 void __rte_experimental
288 rte_malloc_dump_heaps(FILE *f);
289 
303 int
304 rte_malloc_set_limit(const char *type, size_t max);
305 
317 rte_malloc_virt2iova(const void *addr);
318 
319 __rte_deprecated
320 static inline phys_addr_t
321 rte_malloc_virt2phy(const void *addr)
322 {
323  return rte_malloc_virt2iova(addr);
324 }
325 
326 #ifdef __cplusplus
327 }
328 #endif
329 
330 #endif /* _RTE_MALLOC_H_ */