mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-31 10:41:26 +08:00

This makes it easier to automatically generate parts of the manager documentation in the future. Update #3993.
144 lines
4.2 KiB
ReStructuredText
144 lines
4.2 KiB
ReStructuredText
.. SPDX-License-Identifier: CC-BY-SA-4.0
|
|
|
|
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
|
|
|
|
Directives
|
|
==========
|
|
|
|
This section details the user extension manager's directives. A subsection is
|
|
dedicated to each of this manager's directives and describes the calling
|
|
sequence, related constants, usage, and status codes.
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. index:: create an extension set
|
|
.. index:: rtems_extension_create
|
|
|
|
.. _rtems_extension_create:
|
|
|
|
EXTENSION_CREATE - Create a extension set
|
|
-----------------------------------------
|
|
|
|
CALLING SEQUENCE:
|
|
.. code-block:: c
|
|
|
|
rtems_status_code rtems_extension_create(
|
|
rtems_name name,
|
|
const rtems_extensions_table *table,
|
|
rtems_id *id
|
|
);
|
|
|
|
DIRECTIVE STATUS CODES:
|
|
.. list-table::
|
|
:class: rtems-table
|
|
|
|
* - ``RTEMS_SUCCESSFUL``
|
|
- extension set created successfully
|
|
* - ``RTEMS_INVALID_ADDRESS``
|
|
- ``table`` or ``id`` are NULL
|
|
* - ``RTEMS_INVALID_NAME``
|
|
- invalid extension set name
|
|
* - ``RTEMS_TOO_MANY``
|
|
- too many extension sets created
|
|
|
|
DESCRIPTION:
|
|
|
|
This directive creates an extension set object and initializes it using the
|
|
specified extension set table. The assigned extension set identifier is
|
|
returned in :c:data:`id`. This identifier is used to access the extension
|
|
set with other user extension manager directives. For control and
|
|
maintenance of the extension set, RTEMS allocates an Extension Set Control
|
|
Block (ESCB) from the local ESCB free pool and initializes it. The
|
|
user-specified :c:data:`name` is assigned to the ESCB and may be used to
|
|
identify the extension set via
|
|
:ref:`rtems_extension_ident() <rtems_extension_ident>`. The extension set
|
|
specified by :c:data:`table` is copied to the ESCB.
|
|
|
|
NOTES:
|
|
This directive may cause the calling task to be preempted due to an
|
|
obtain and release of the object allocator mutex.
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. index:: get ID of an extension set
|
|
.. index:: obtain ID of an extension set
|
|
.. index:: rtems_extension_ident
|
|
|
|
.. _rtems_extension_ident:
|
|
|
|
EXTENSION_IDENT - Get ID of a extension set
|
|
-------------------------------------------
|
|
|
|
CALLING SEQUENCE:
|
|
.. code-block:: c
|
|
|
|
rtems_status_code rtems_extension_ident(
|
|
rtems_name name,
|
|
rtems_id *id
|
|
);
|
|
|
|
DIRECTIVE STATUS CODES:
|
|
.. list-table::
|
|
:class: rtems-table
|
|
|
|
* - ``RTEMS_SUCCESSFUL``
|
|
- extension set identified successfully
|
|
* - ``RTEMS_INVALID_NAME``
|
|
- extension set name not found
|
|
|
|
DESCRIPTION:
|
|
This directive obtains the extension set identifier associated with the
|
|
extension set :c:data:`name` to be acquired and returns it in :c:data:`id`.
|
|
If the extension set name is not unique, then the extension set identifier
|
|
will match one of the extension sets with that name. However, this
|
|
extension set identifier is not guaranteed to correspond to the desired
|
|
extension set. The extension set identifier is used to access this
|
|
extension set in other extension set related directives.
|
|
|
|
NOTES:
|
|
This directive will not cause the running task to be preempted.
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. index:: delete an extension set
|
|
.. index:: rtems_extension_delete
|
|
|
|
.. _rtems_extension_delete:
|
|
|
|
EXTENSION_DELETE - Delete a extension set
|
|
-----------------------------------------
|
|
|
|
CALLING SEQUENCE:
|
|
.. code-block:: c
|
|
|
|
rtems_status_code rtems_extension_delete(
|
|
rtems_id id
|
|
);
|
|
|
|
DIRECTIVE STATUS CODES:
|
|
.. list-table::
|
|
:class: rtems-table
|
|
|
|
* - ``RTEMS_SUCCESSFUL``
|
|
- extension set deleted successfully
|
|
* - ``RTEMS_INVALID_ID``
|
|
- invalid extension set id
|
|
|
|
DESCRIPTION:
|
|
This directive deletes the extension set specified by :c:data:`id`. If the
|
|
extension set is running, it is automatically canceled. The ESCB for the
|
|
deleted extension set is reclaimed by RTEMS.
|
|
|
|
NOTES:
|
|
This directive may cause the calling task to be preempted due to an
|
|
obtain and release of the object allocator mutex.
|
|
|
|
A extension set can be deleted by a task other than the task which created
|
|
the extension set.
|