summaryrefslogtreecommitdiffstats
path: root/c-user/scheduling-concepts/directives.rst
diff options
context:
space:
mode:
Diffstat (limited to 'c-user/scheduling-concepts/directives.rst')
-rw-r--r--c-user/scheduling-concepts/directives.rst68
1 files changed, 37 insertions, 31 deletions
diff --git a/c-user/scheduling-concepts/directives.rst b/c-user/scheduling-concepts/directives.rst
index b1c485f..115b4fa 100644
--- a/c-user/scheduling-concepts/directives.rst
+++ b/c-user/scheduling-concepts/directives.rst
@@ -1,6 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2013, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2013, 2021 embedded brains GmbH & Co. KG
.. Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR)
.. This file is part of the RTEMS quality process and was automatically
@@ -54,9 +54,9 @@ Identifies a scheduler by the object name.
This parameter is the scheduler name to look up.
``id``
- This parameter is the pointer to an object identifier variable. When the
- directive call is successful, the identifier of the scheduler will be
- stored in this variable.
+ This parameter is the pointer to an :ref:`InterfaceRtemsId` object. When
+ the directive call is successful, the identifier of the scheduler will be
+ stored in this object.
.. rubric:: DESCRIPTION:
@@ -120,9 +120,9 @@ Identifies a scheduler by the processor index.
This parameter is the processor index to identify the scheduler.
``id``
- This parameter is the pointer to an object identifier variable. When the
- directive call is successful, the identifier of the scheduler will be
- stored in this variable.
+ This parameter is the pointer to an :ref:`InterfaceRtemsId` object. When
+ the directive call is successful, the identifier of the scheduler will be
+ stored in this object.
.. rubric:: RETURN VALUES:
@@ -176,17 +176,17 @@ Identifies a scheduler by the processor set.
.. rubric:: PARAMETERS:
``cpusetsize``
- This parameter is the size of the referenced processor set variable in
- bytes. This value shall be positive.
+ This parameter is the size of the processor set referenced by ``cpuset`` in
+ bytes. The size shall be positive.
``cpuset``
- This parameter is the pointer to a processor set variable. The referenced
+ This parameter is the pointer to a :c:type:`cpu_set_t`. The referenced
processor set will be used to identify the scheduler.
``id``
- This parameter is the pointer to an object identifier variable. When the
- directive call is successful, the identifier of the scheduler will be
- stored in this variable.
+ This parameter is the pointer to an :ref:`InterfaceRtemsId` object. When
+ the directive call is successful, the identifier of the scheduler will be
+ stored in this object.
.. rubric:: DESCRIPTION:
@@ -202,6 +202,10 @@ the specified processor set.
The ``id`` parameter was `NULL
<https://en.cppreference.com/w/c/types/NULL>`_.
+:c:macro:`RTEMS_INVALID_ADDRESS`
+ The ``cpuset`` parameter was `NULL
+ <https://en.cppreference.com/w/c/types/NULL>`_.
+
:c:macro:`RTEMS_INVALID_SIZE`
The processor set size was invalid.
@@ -250,9 +254,9 @@ Gets the maximum task priority of the scheduler.
This parameter is the scheduler identifier.
``priority``
- This parameter is the pointer to a task priority variable. The maximum
- priority of the scheduler will be stored in this variable, if the operation
- is successful.
+ This parameter is the pointer to an :ref:`InterfaceRtemsTaskPriority`
+ object. When the directive the maximum priority of the scheduler will be
+ stored in this object.
.. rubric:: RETURN VALUES:
@@ -309,10 +313,9 @@ Maps a Classic API task priority to the corresponding POSIX thread priority.
This parameter is the Classic API task priority to map.
``posix_priority``
- This parameter is the pointer to a POSIX thread priority variable. When
- the directive call is successful, the POSIX thread priority value
- corresponding to the specified Classic API task priority value will be
- stored in this variable.
+ This parameter is the pointer to an ``int`` object. When the directive
+ call is successful, the POSIX thread priority value corresponding to the
+ specified Classic API task priority value will be stored in this object.
.. rubric:: RETURN VALUES:
@@ -372,10 +375,10 @@ Maps a POSIX thread priority to the corresponding Classic API task priority.
This parameter is the POSIX thread priority to map.
``priority``
- This parameter is the pointer to a Classic API task priority variable.
- When the directive call is successful, the Classic API task priority value
- corresponding to the specified POSIX thread priority value will be stored
- in this variable.
+ This parameter is the pointer to an :ref:`InterfaceRtemsTaskPriority`
+ object. When the directive call is successful, the Classic API task
+ priority value corresponding to the specified POSIX thread priority value
+ will be stored in this object.
.. rubric:: RETURN VALUES:
@@ -528,13 +531,13 @@ Gets the set of processors owned by the scheduler.
This parameter is the scheduler identifier.
``cpusetsize``
- This parameter is the size of the referenced processor set variable in
+ This parameter is the size of the processor set referenced by ``cpuset`` in
bytes.
``cpuset``
- This parameter is the pointer to a processor set variable. When the
+ This parameter is the pointer to a :c:type:`cpu_set_t` object. When the
directive call is successful, the processor set of the scheduler will be
- stored in this variable. A set bit in the processor set means that the
+ stored in this object. A set bit in the processor set means that the
corresponding processor is owned by the scheduler, otherwise the bit is
cleared.
@@ -551,7 +554,7 @@ Gets the set of processors owned by the scheduler.
There was no scheduler associated with the identifier specified by
``scheduler_id``.
-:c:macro:`RTEMS_INVALID_NUMBER`
+:c:macro:`RTEMS_INVALID_SIZE`
The provided processor set was too small for the set of processors owned by
the scheduler.
@@ -680,9 +683,12 @@ scheduler specified by ``scheduler_id``.
The processor was not owned by the scheduler.
:c:macro:`RTEMS_RESOURCE_IN_USE`
- The set of processors owned by the scheduler would have been empty after
- the processor removal and there was at least one non-idle task that used
- this scheduler as its :term:`home scheduler`.
+ The processor was required by at least one non-idle task that used the
+ scheduler as its :term:`home scheduler`.
+
+:c:macro:`RTEMS_RESOURCE_IN_USE`
+ The processor was the last processor owned by the scheduler and there was
+ at least one task that used the scheduler as a :term:`helping scheduler`.
.. rubric:: NOTES: