RTEMS
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 
25 #include <rtems/score/basedefs.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
48 #define STACK_MINIMUM_SIZE CPU_STACK_MINIMUM_SIZE
49 
53 typedef struct {
55  size_t size;
57  void *area;
59 
65 typedef void ( *Stack_Allocator_initialize )( size_t stack_space_size );
66 
75 typedef void *( *Stack_Allocator_allocate )( size_t stack_size );
76 
82 typedef void ( *Stack_Allocator_free )( void *addr );
83 
89 extern uint32_t rtems_minimum_stack_size;
90 
96 extern const uintptr_t _Stack_Space_size;
97 
103 extern const bool _Stack_Allocator_avoids_workspace;
104 
111 
118 
125 
131 void _Stack_Allocator_do_initialize( void );
132 
135 #ifdef __cplusplus
136 }
137 #endif
138 
139 #endif
140 /* end of include file */
const bool _Stack_Allocator_avoids_workspace
Indicates if the stack allocator avoids the workspace.
const Stack_Allocator_initialize _Stack_Allocator_initialize
The stack allocator initialization handler.
const uintptr_t _Stack_Space_size
The configured stack space size.
size_t size
Definition: stack.h:55
void _Stack_Allocator_do_initialize(void)
Do the stack allocator initialization during system initialize.
uint32_t rtems_minimum_stack_size
The minimum stack size.
const Stack_Allocator_free _Stack_Allocator_free
The stack allocator free handler.
void(* Stack_Allocator_initialize)(size_t stack_space_size)
The stack allocator initialization handler.
Definition: stack.h:65
void(* Stack_Allocator_free)(void *addr)
Stack allocator free handler.
Definition: stack.h:82
This header file provides basic definitions used by the API and the implementation.
const Stack_Allocator_allocate _Stack_Allocator_allocate
The stack allocator allocate handler.
void * area
Definition: stack.h:57
void *(* Stack_Allocator_allocate)(size_t stack_size)
Stack allocator allocate handler.
Definition: stack.h:75