ESP-IDF
heap_t
is only used within ESP-IDF.
Symbol previews are coming soon...
Symbols
loading (3/5)...
Files
loading (4/5)...
Summary
Syntax
Related
Examples
References
Call Tree
Data Use
Class Tree
Override Tree
Implementations
Instances
Lifecycle
SourceVu
ESP-IDF Framework and Examples
ESP-IDF
heap_t
heap_t struct
Syntax
Show:
Summary
Declaration
from
heap_private.h:27
typedef
struct
heap_t_
{
uint32_t
caps
[
SOC_MEMORY_TYPE_NO_PRIOS
]
;
intptr_t
start
;
intptr_t
end
;
multi_heap_lock_t
heap_mux
;
multi_heap_handle_t
heap
;
SLIST_ENTRY
(
heap_t_
)
next
;
}
heap_t
;
Fields
Field
Declared as
heap_t_::caps
uint32_t
[
SOC_MEMORY_TYPE_NO_PRIOS
]
heap_t_::start
intptr_t
heap_t_::end
intptr_t
heap_t_::heap_mux
multi_heap_lock_t
heap_t_::heap
multi_heap_handle_t
heap_t_::next
SLIST_ENTRY
(
heap_t_
)
Related Functions
Found 3 other functions taking a
heap_t_
argument:
Function
get_all_caps()
heap_caps_match()
register_heap()
Examples
References
from
examples
Code
Location
Scope
Referrer
typedef
struct
heap_t_
{
heap_private.h:27
}
heap_t
;
heap_private.h:34
}
heap_t
;
multi_heap.c:84
bool
heap_caps_match
(
const
heap_t
*
heap
,
uint32_t
caps
)
heap_caps.c:73
heap_caps_match()
heap_caps_match()::heap
heap_t
*
heap
;
heap_caps.c:268
heap_caps_get_total_size()
heap_t
*
heap
;
heap_caps.c:280
heap_caps_get_free_size()
heap_t
*
heap
;
heap_caps.c:292
heap_caps_get_minimum_free_size()
heap_t
*
heap
=
NULL
;
heap_caps.c:318
heap_caps_monitor_local_minimum_free_size_start()
heap_t
*
heap
=
SLIST_FIRST
(
&
registered_heaps
)
;
heap_caps.c:351
heap_caps_monitor_local_minimum_free_size_stop()
heap_t
*
heap
;
heap_caps.c:371
heap_caps_get_info()
heap_t
*
heap
;
heap_caps.c:395
heap_caps_print_heap_info()
heap_t
*
heap
;
heap_caps.c:418
heap_caps_check_integrity()
heap_t
*
heap
=
find_containing_heap
(
(
void
*
)
addr
)
;
heap_caps.c:436
heap_caps_check_integrity_addr()
heap_t
*
heap
;
heap_caps.c:446
heap_caps_dump()
heap_t
*
heap
=
find_containing_heap
(
ptr
)
;
heap_caps.c:465
heap_caps_get_allocated_size()
heap_t
*
heap
;
heap_caps.c:567
walker_data
walker_data::heap
heap_t
*
heap
;
heap_caps.c:592
heap_caps_walk()
heap_t
*
heap
=
find_containing_heap
(
block_owner_ptr
)
;
heap_caps_base.c:73
heap_caps_free()
heap_t
*
heap
;
heap_caps_base.c:128
heap_caps_aligned_alloc_base()
heap_t
*
heap
=
NULL
;
heap_caps_base.c:186
heap_caps_realloc_base()
static
void
register_heap
(
heap_t
*
region
)
heap_caps_init.c:30
register_heap()
register_heap()::region
heap_t
*
heap
;
heap_caps_init.c:42
heap_caps_enable_nonos_stack_heaps()
heap_t
temp_heaps
[
num_heaps
]
;
heap_caps_init.c:95
heap_caps_init()
heap_t
*
heap
=
&
temp_heaps
[
heap_idx
]
;
heap_caps_init.c:102
heap_caps_init()
heap_t
*
heaps_array
=
NULL
;
heap_caps_init.c:133
heap_caps_init()
heaps_array
=
multi_heap_malloc
(
temp_heaps
[
i
]
.
heap
,
MULTI_HEAP_ADD_BLOCK_OWNER_SIZE
(
sizeof
(
heap_t
)
*
num_heaps
)
)
;
heap_caps_init.c:140
heap_caps_init()
heaps_array
=
(
heap_t
*
)
MULTI_HEAP_ADD_BLOCK_OWNER_OFFSET
(
heaps_array
)
;
heap_caps_init.c:148
heap_caps_init()
memcpy
(
heaps_array
,
temp_heaps
,
sizeof
(
heap_t
)
*
num_heaps
)
;
heap_caps_init.c:150
heap_caps_init()
heap_t
*
heap
;
heap_caps_init.c:230
heap_caps_add_region_with_caps()
heap_t
*
p_new
=
heap_caps_malloc
(
sizeof
(
heap_t
)
,
MALLOC_CAP_INTERNAL
|
MALLOC_CAP_8BIT
)
;
heap_caps_init.c:238
heap_caps_add_region_with_caps()
free
(
p_new
)
;
heap_caps_init.c:267
heap_caps_add_region_with_caps()
SLIST_ENTRY
(
heap_t_
)
next
;
heap_private.h:33
}
heap_t
;
heap_private.h:34
heap_t
extern
SLIST_HEAD
(
registered_heap_ll
,
heap_t_
)
registered_heaps
;
heap_private.h:42
registered_heap_ll
bool
heap_caps_match
(
const
heap_t
*
heap
,
uint32_t
caps
)
;
heap_private.h:44
heap_caps_match()
heap_caps_match()::heap
FORCE_INLINE_ATTR
uint32_t
get_all_caps
(
const
heap_t
*
heap
)
heap_private.h:47
get_all_caps()
get_all_caps()::heap
FORCE_INLINE_ATTR
heap_t
*
find_containing_heap
(
void
*
ptr
)
heap_private.h:65
find_containing_heap()
heap_t
*
heap
;
heap_private.h:68
find_containing_heap()
heap_t
*
reg
;
heap_task_info.c:29
heap_caps_get_per_task_info()
__attribute__
(
(
noinline
)
)
NOCLONE_ATTR
static
void
assert_valid_block
(
const
heap_t
*
heap
,
const
multi_heap_block_handle_t
block
)
multi_heap.c:111
assert_valid_block()
if
(
size
<
(
sizeof
(
heap_t
)
)
)
{
multi_heap.c:134
multi_heap_register_impl()
heap_t
*
result
=
(
heap_t
*
)
start_ptr
;
multi_heap.c:139
multi_heap_register_impl()
size
-=
sizeof
(
heap_t
)
;
multi_heap.c:140
multi_heap_register_impl()
result
->
heap_data
=
tlsf_create_with_pool
(
start_ptr
+
sizeof
(
heap_t
)
,
size
,
max_bytes
)
;
multi_heap.c:145
multi_heap_register_impl()
Call Tree
from
examples
All items filtered out
All items filtered out
Data Use
from
examples
All items filtered out
All items filtered out
Class Tree
from
examples
All items filtered out
All items filtered out
Override Tree
from
examples
All items filtered out
All items filtered out
Implementations
from
examples
All items filtered out
All items filtered out
Instances
from
examples
Instance
Scope
Location
Project
heap_caps_match()::heap
heap_caps_match()
heap_private.h:44
get_all_caps()::heap
get_all_caps()
heap_private.h:47
return
find_containing_heap()
heap_private.h:65
heap_caps_match()::heap
heap_caps_match()
heap_caps.c:73
walker_data::heap
walker_data
heap_caps.c:567
register_heap()::region
register_heap()
heap_caps_init.c:30
Lifecycle
from
examples
heap_t
is freed by 1 symbol:
All items filtered out
heap_t
heap_caps_add_region_with_caps()
All items filtered out