source: rtems-central/spec/if/rtems/tasks/config.yml @ 51f9a65

Last change on this file since 51f9a65 was 51f9a65, checked in by Sebastian Huber <sebastian.huber@…>, on 09/10/20 at 13:21:24

spec: Specify rtems_task_create_from_config()

  • Property mode set to 100644
File size: 3.3 KB
Line 
1SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
2brief: |
3  This structure defines a task configuration used to build a task.  This
4  structure defines the configuration of a task created by
5  ${create-from-config:/name}.
6copyrights:
7- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
8definition:
9- default:
10    brief: |
11      This member defines the name of the task.
12    definition: ${../types/name:/name} ${.:name}
13    description: null
14    kind: member
15    name: name
16  variants: []
17- default:
18    brief: |
19      This member defines the initial priority of the task.
20    definition: ${priority:/name} ${.:name}
21    description: null
22    kind: member
23    name: initial_priority
24  variants: []
25- default:
26    brief: |
27      This member shall point to the task storage area begin.
28    definition: void *${.:name}
29    description: |
30      The task storage area will contain the task stack, the thread-local
31      storage, and the floating-point context on architectures with a separate
32      floating-point context.
33
34      There are no alignment requirements for the task storage area.  To avoid
35      memory waste, use the ${storage-alignment:/name} variable attribute to
36      enforce the recommended alignment of the task storage area.
37    kind: member
38    name: storage_area
39  variants: []
40- default:
41    brief: |
42      This member defines size of the task storage area in bytes.
43    definition: ${../../c/size_t:/name} ${.:name}
44    description: |
45      Use the ${storage-size:/name} macro to determine the recommended task
46      storage area size.
47    kind: member
48    name: storage_size
49  variants: []
50- default:
51    brief: |
52      This member defines the maximum thread-local storage size supported by the
53      task storage area.
54    definition: ${../../c/size_t:/name} ${.:name}
55    description: |
56      If the value is less than the actual thread-local storage size, then the
57      task creation by ${create-from-config:/name} fails.
58
59      If the is less than the task storage area size, then the task creation by
60      ${create-from-config:/name} fails.
61    kind: member
62    name: maximum_thread_local_storage_size
63  variants: []
64- default:
65    brief: |
66      This member defines the optional handler to free the task storage area.
67    definition: void ( *${.:name} )( void * )
68    description: |
69      It is called when the task creation aborts due to a failed task create
70      extension or the task is deleted.  It is called from task context under
71      protection of the object allocator lock.  It is allowed to call free() in
72      this handler.  The handler may be ${../../c/null:/name}.
73    kind: member
74    name: storage_free
75  variants: []
76- default:
77    brief: |
78      This member defines the initial modes of the task.
79    definition: ${../modes/mode:/name} ${.:name}
80    description: null
81    kind: member
82    name: initial_modes
83  variants: []
84- default:
85    brief: |
86      This member defines the attributes of the task.
87    definition: ${../attr/attribute:/name} ${.:name}
88    description: null
89    kind: member
90    name: attributes
91  variants: []
92definition-kind: typedef-only
93description: null
94enabled-by: true
95interface-type: struct
96links:
97- role: interface-placement
98  uid: header
99- role: interface-ingroup
100  uid: group
101name: rtems_task_config
102notes: null
103type: interface
Note: See TracBrowser for help on using the repository browser.