RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
stack.h
Go to the documentation of this file.
1
13/*
14 * COPYRIGHT (c) 1989-2006.
15 * On-Line Applications Research Corporation (OAR).
16 *
17 * The license and distribution terms for this file may be
18 * found in the file LICENSE in this distribution or at
19 * http://www.rtems.org/license/LICENSE.
20 */
21
22#ifndef _RTEMS_SCORE_STACK_H
23#define _RTEMS_SCORE_STACK_H
24
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
48#define STACK_MINIMUM_SIZE CPU_STACK_MINIMUM_SIZE
49
53typedef struct {
55 size_t size;
57 void *area;
59
65typedef void ( *Stack_Allocator_initialize )( size_t stack_space_size );
66
75typedef void *( *Stack_Allocator_allocate )( size_t stack_size );
76
82typedef void ( *Stack_Allocator_free )( void *addr );
83
96typedef void *( *Stack_Allocator_allocate_for_idle )(
97 uint32_t cpu,
98 size_t stack_size
99);
100
106extern uint32_t rtems_minimum_stack_size;
107
113extern const uintptr_t _Stack_Space_size;
114
120extern const bool _Stack_Allocator_avoids_workspace;
121
128
135
142
151
152#ifdef __cplusplus
153}
154#endif
155
156#endif
157/* end of include file */
Basic Definitions.
const Stack_Allocator_allocate_for_idle _Stack_Allocator_allocate_for_idle
The stack allocator allocate stack for idle thread handler.
Definition: stackallocatorforidle.c:58
void(* Stack_Allocator_initialize)(size_t stack_space_size)
The stack allocator initialization handler.
Definition: stack.h:65
const bool _Stack_Allocator_avoids_workspace
Indicates if the stack allocator avoids the workspace.
Definition: stackallocator.c:35
void *(* Stack_Allocator_allocate)(size_t stack_size)
Stack allocator allocate handler.
Definition: stack.h:75
const uintptr_t _Stack_Space_size
The configured stack space size.
const Stack_Allocator_allocate _Stack_Allocator_allocate
The stack allocator allocate handler.
Definition: stackallocator.c:39
const Stack_Allocator_free _Stack_Allocator_free
The stack allocator free handler.
Definition: stackallocator.c:41
const Stack_Allocator_initialize _Stack_Allocator_initialize
The stack allocator initialization handler.
Definition: stackallocator.c:37
void(* Stack_Allocator_free)(void *addr)
Stack allocator free handler.
Definition: stack.h:82
uint32_t rtems_minimum_stack_size
The minimum stack size.
void *(* Stack_Allocator_allocate_for_idle)(uint32_t cpu, size_t stack_size)
Stack allocator allocate for idle handler.
Definition: stack.h:96
Definition: stack.h:53
size_t size
Definition: stack.h:55
void * area
Definition: stack.h:57