blob: f09fc1a18badf4b317960471434cee7b63b1efa3 (
plain) (
tree)
|
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
This structure defines the configuration of a task constructed by
${construct:/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.
The task storage area begin address and size should be aligned by
${storage-alignment:/name}. To avoid memory waste, use
${../basedefs/aligned:/name} and ${storage-alignment:/name} to enforce
the recommended alignment of a statically allocated 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: |
Use ${../basedefs/align-up:/name} and ${storage-alignment:/name} to
adjust the size to meet the minimum alignment requirement of a
thread-local storage area used to construct a task.
If the value is less than the actual thread-local storage size, then the
task construction by ${construct:/name} fails.
If the is less than the task storage area size, then the task
construction by ${construct:/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 on exactly two mutually exclusive occasions. Firstly, when
the task construction aborts due to a failed task create extension, or
secondly, when 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. If handler is ${../../c/null:/name}, then no action will
be performed.
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
|