Orocos Real-Time Toolkit
2.9.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
os
tlsf
tlsf.h
Go to the documentation of this file.
1
/*
2
* Two Levels Segregate Fit memory allocator (TLSF)
3
* Version 2.4.6
4
*
5
* Written by Miguel Masmano Tello <mimastel@doctor.upv.es>
6
*
7
* Thanks to Ismael Ripoll for his suggestions and reviews
8
*
9
* Copyright (C) 2008, 2007, 2006, 2005, 2004
10
*
11
* This code is released using a dual license strategy: GPL/LGPL
12
* You can choose the licence that better fits your requirements.
13
*
14
* Released under the terms of the GNU General Public License Version 2.0
15
* Released under the terms of the GNU Lesser General Public License Version 2.1
16
*
17
*/
18
19
#ifndef _TLSF_H_
20
#define _TLSF_H_
21
22
#include <sys/types.h>
23
24
/* We avoid name clashes with other projects and
25
* only make the required function available
26
*/
27
#include "../fosi.h"
28
#define tlsf_malloc oro_rt_malloc
29
#define tlsf_free oro_rt_free
30
#define tlsf_realloc oro_rt_realloc
31
#define tlsf_calloc oro_rt_calloc
32
33
#ifdef __cplusplus
34
extern
"C"
{
35
#endif
36
37
#ifdef ORO_MEMORY_POOL
38
extern
size_t
init_memory_pool(
size_t
,
void
*);
39
// get size of TLSF pool
40
extern
size_t
get_pool_size(
void
*);
41
extern
size_t
get_pool_size_mp(
void
);
42
// get size of TLSF overhead
43
extern
size_t
get_overhead_size(
void
*);
44
extern
size_t
get_overhead_size_mp(
void
);
45
// get currently used size (includes overhead)
46
extern
size_t
get_used_size(
void
*);
47
extern
size_t
get_used_size_mp(
void
);
48
// get max used size (includes overhead)
49
extern
size_t
get_max_size(
void
*);
50
extern
size_t
get_max_size_mp(
void
);
51
extern
void
destroy_memory_pool(
void
*);
52
extern
size_t
add_new_area(
void
*,
size_t
,
void
*);
53
extern
void
*malloc_ex(
size_t
,
void
*);
54
extern
void
free_ex(
void
*,
void
*);
55
extern
void
*realloc_ex(
void
*,
size_t
,
void
*);
56
extern
void
*calloc_ex(
size_t
,
size_t
,
void
*);
57
#endif
58
59
extern
void
*
tlsf_malloc
(
size_t
size);
60
extern
void
tlsf_free
(
void
*ptr);
61
extern
void
*
tlsf_realloc
(
void
*ptr,
size_t
size);
62
extern
void
*
tlsf_calloc
(
size_t
nelem,
size_t
elem_size);
63
64
#if _DEBUG_TLSF_
65
// dump default memory pool to file ff
66
extern
void
print_tlsf_mp(FILE* ff);
67
// dump all blocks of default memory pool to file ff
68
extern
void
print_all_blocks_mp(FILE* ff);
69
#endif
70
71
#ifdef __cplusplus
72
}
73
#endif
74
75
#endif
tlsf_calloc
#define tlsf_calloc
Definition:
tlsf.h:31
tlsf_free
#define tlsf_free
Definition:
tlsf.h:29
tlsf_realloc
#define tlsf_realloc
Definition:
tlsf.h:30
tlsf_malloc
#define tlsf_malloc
Definition:
tlsf.h:28
Generated on Fri Apr 5 2019 11:59:39 for Orocos Real-Time Toolkit by
1.8.11