summaryrefslogtreecommitdiffstats
path: root/spec/if/rtems/tasks/config.yml
blob: 91943ff1ea12a2500c10d089ec763ede7eb730f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
  This structure defines a task configuration used to build a task.  This
  structure defines the configuration of a task created by
  ${create-from-config:/name}.
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
- default:
    brief: |
      This member defines the name of the task.
    definition: ${../types/name:/name} ${.:name}
    description: null
    kind: member
    name: name
  variants: []
- default:
    brief: |
      This member defines the initial priority of the task.
    definition: ${priority:/name} ${.:name}
    description: null
    kind: member
    name: initial_priority
  variants: []
- default:
    brief: |
      This member shall point to the task storage area begin.
    definition: void *${.:name}
    description: |
      The task storage area will contain the task stack, the thread-local
      storage, and the floating-point context on architectures with a separate
      floating-point context.

      There are no alignment requirements for the task storage area.  To avoid
      memory waste, use the ${storage-alignment:/name} variable attribute to
      enforce the recommended alignment of the task storage area.
    kind: member
    name: storage_area
  variants: []
- default:
    brief: |
      This member defines size of the task storage area in bytes.
    definition: ${../../c/size_t:/name} ${.:name}
    description: |
      Use the ${storage-size:/name} macro to determine the recommended task
      storage area size.
    kind: member
    name: storage_size
  variants: []
- default:
    brief: |
      This member defines the maximum thread-local storage size supported by the
      task storage area.
    definition: ${../../c/size_t:/name} ${.:name}
    description: |
      If the value is less than the actual thread-local storage size, then the
      task creation by ${create-from-config:/name} fails.

      If the is less than the task storage area size, then the task creation by
      ${create-from-config:/name} fails.
    kind: member
    name: maximum_thread_local_storage_size
  variants: []
- default:
    brief: |
      This member defines the optional handler to free the task storage area.
    definition: void ( *${.:name} )( void * )
    description: |
      It is called when the task creation aborts due to a failed task create
      extension or the task is deleted.  It is called from task context under
      protection of the object allocator lock.  It is allowed to call free() in
      this handler.  The handler may be ${../../c/null:/name}.
    kind: member
    name: storage_free
  variants: []
- default:
    brief: |
      This member defines the initial modes of the task.
    definition: ${../modes/mode:/name} ${.:name}
    description: null
    kind: member
    name: initial_modes
  variants: []
- default:
    brief: |
      This member defines the attributes of the task.
    definition: ${../attr/attribute:/name} ${.:name}
    description: null
    kind: member
    name: attributes
  variants: []
definition-kind: typedef-only
description: null
enabled-by: true
interface-type: struct
links:
- role: interface-placement
  uid: header
- role: interface-ingroup
  uid: group
name: rtems_task_config
notes: null
type: interface