.. SPDX-License-Identifier: CC-BY-SA-4.0
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
Directives
==========
.. raw:: latex
\clearpage
.. index:: build object name
.. index:: rtems_build_name
.. _rtems_build_name:
BUILD_NAME - Build object name from characters
----------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
rtems_name rtems_build_name(
uint8_t c1,
uint8_t c2,
uint8_t c3,
uint8_t c4
);
DIRECTIVE STATUS CODES:
Returns a name constructed from the four characters.
DESCRIPTION:
This service takes the four characters provided as arguments and constructs
a thirty-two bit object name with ``c1`` in the most significant byte and
``c4`` in the least significant byte.
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: get name from id
.. index:: obtain name from id
.. index:: rtems_object_get_classic_name
.. _rtems_object_get_classic_name:
OBJECT_GET_CLASSIC_NAME - Lookup name from id
---------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
rtems_status_code rtems_object_get_classic_name(
rtems_id id,
rtems_name *name
);
DIRECTIVE STATUS CODES:
.. list-table::
:class: rtems-table
* - ``RTEMS_SUCCESSFUL``
- name looked up successfully
* - ``RTEMS_INVALID_ADDRESS``
- invalid name pointer
* - ``RTEMS_INVALID_ID``
- invalid object id
DESCRIPTION:
This service looks up the name for the object ``id`` specified and, if
found, places the result in ``*name``.
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: get object name as string
.. index:: obtain object name as string
.. index:: rtems_object_get_name
.. _rtems_object_get_name:
OBJECT_GET_NAME - Obtain object name as string
----------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
char* rtems_object_get_name(
rtems_id id,
size_t length,
char *name
);
DIRECTIVE STATUS CODES:
Returns a pointer to the name if successful or ``NULL`` otherwise.
DESCRIPTION:
This service looks up the name of the object specified by ``id`` and places
it in the memory pointed to by ``name``. Every attempt is made to return
name as a printable string even if the object has the Classic API
thirty-two bit style name.
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: set object name
.. index:: rtems_object_set_name
.. _rtems_object_set_name:
OBJECT_SET_NAME - Set object name
---------------------------------
CALLING SEQUENCE:
.. code-block:: c
rtems_status_code rtems_object_set_name(
rtems_id id,
const char *name
);
DIRECTIVE STATUS CODES:
.. list-table::
:class: rtems-table
* - ``RTEMS_SUCCESSFUL``
- name looked up successfully
* - ``RTEMS_INVALID_ADDRESS``
- invalid name pointer
* - ``RTEMS_INVALID_ID``
- invalid object id
DESCRIPTION:
This service sets the name of ``id`` to that specified by the string
located at ``name``.
NOTES:
This directive is strictly local and does not impact task scheduling.
If the object specified by ``id`` is of a class that has a string name,
this method will free the existing name to the RTEMS Workspace and allocate
enough memory from the RTEMS Workspace to make a copy of the string located
at ``name``.
If the object specified by ``id`` is of a class that has a thirty-two bit
integer style name, then the first four characters in ``*name`` will be
used to construct the name. name to the RTEMS Workspace and allocate
enough memory from the RTEMS Workspace to make a copy of the string
.. raw:: latex
\clearpage
.. index:: obtain API from id
.. index:: rtems_object_id_get_api
.. _rtems_object_id_get_api:
OBJECT_ID_GET_API - Obtain API from Id
--------------------------------------
CALLING SEQUENCE:
.. code-block:: c
int rtems_object_id_get_api(
rtems_id id
);
DIRECTIVE STATUS CODES:
Returns the API portion of the object Id.
DESCRIPTION:
This directive returns the API portion of the provided object ``id``.
NOTES:
This directive is strictly local and does not impact task scheduling.
This directive does NOT validate the ``id`` provided.
.. raw:: latex
\clearpage
.. index:: obtain class from object id
.. index:: rtems_object_id_get_class
.. _rtems_object_id_get_class:
OBJECT_ID_GET_CLASS - Obtain Class from Id
------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
uint32_t rtems_object_id_get_class(
rtems_id id
);
DIRECTIVE STATUS CODES:
Returns the class portion of the object Id.
DESCRIPTION:
This directive returns the class portion of the provided object ``id``.
NOTES:
This directive is strictly local and does not impact task scheduling.
This directive does NOT validate the ``id`` provided.
.. raw:: latex
\clearpage
.. index:: obtain node from object id
.. index:: rtems_object_id_get_node
.. _rtems_object_id_get_node:
OBJECT_ID_GET_NODE - Obtain Node from Id
----------------------------------------
CALLING SEQUENCE:
.. code-block:: c
uint32_t rtems_object_id_get_node(
rtems_id id
);
DIRECTIVE STATUS CODES:
Returns the node portion of the object Id.
DESCRIPTION:
This directive returns the node portion of the provided object ``id``.
NOTES:
This directive is strictly local and does not impact task scheduling.
This directive does NOT validate the ``id`` provided.
.. raw:: latex
\clearpage
.. index:: obtain index from object id
.. index:: rtems_object_id_get_index
.. _rtems_object_id_get_index:
OBJECT_ID_GET_INDEX - Obtain Index from Id
------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
uint16_t rtems_object_id_get_index(
rtems_id id
);
DIRECTIVE STATUS CODES:
Returns the index portion of the object Id.
DESCRIPTION:
This directive returns the index portion of the provided object ``id``.
NOTES:
This directive is strictly local and does not impact task scheduling.
This directive does NOT validate the ``id`` provided.
.. raw:: latex
\clearpage
.. index:: build object id from components
.. index:: rtems_build_id
.. _rtems_build_id:
BUILD_ID - Build Object Id From Components
------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
rtems_id rtems_build_id(
int the_api,
int the_class,
int the_node,
int the_index
);
DIRECTIVE STATUS CODES:
Returns an object Id constructed from the provided arguments.
DESCRIPTION:
This service constructs an object Id from the provided ``the_api``,
``the_class``, ``the_node``, and ``the_index``.
NOTES:
This directive is strictly local and does not impact task scheduling.
This directive does NOT validate the arguments provided or the Object id
returned.
.. raw:: latex
\clearpage
.. index:: obtain minimum API value
.. index:: rtems_object_id_api_minimum
.. _rtems_object_id_api_minimum:
OBJECT_ID_API_MINIMUM - Obtain Minimum API Value
------------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
int rtems_object_id_api_minimum(void);
DIRECTIVE STATUS CODES:
Returns the minimum valid for the API portion of an object Id.
DESCRIPTION:
This service returns the minimum valid for the API portion of an object Id.
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: obtain maximum API value
.. index:: rtems_object_id_api_maximum
.. _rtems_object_id_api_maximum:
OBJECT_ID_API_MAXIMUM - Obtain Maximum API Value
------------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
int rtems_object_id_api_maximum(void);
DIRECTIVE STATUS CODES:
Returns the maximum valid for the API portion of an object Id.
DESCRIPTION:
This service returns the maximum valid for the API portion of an object Id.
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: obtain minimum class value
.. index:: rtems_object_api_minimum_class
.. _rtems_object_api_minimum_class:
OBJECT_API_MINIMUM_CLASS - Obtain Minimum Class Value
-----------------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
int rtems_object_api_minimum_class(
int api
);
DIRECTIVE STATUS CODES:
If ``api`` is not valid, -1 is returned.
If successful, this service returns the minimum valid for the class portion
of an object Id for the specified ``api``.
DESCRIPTION:
This service returns the minimum valid for the class portion of an object
Id for the specified ``api``.
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: obtain maximum class value
.. index:: rtems_object_api_maximum_class
.. _rtems_object_api_maximum_class:
OBJECT_API_MAXIMUM_CLASS - Obtain Maximum Class Value
-----------------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
int rtems_object_api_maximum_class(
int api
);
DIRECTIVE STATUS CODES:
If ``api`` is not valid, -1 is returned.
If successful, this service returns the maximum valid for the class portion
of an object Id for the specified ``api``.
DESCRIPTION:
This service returns the maximum valid for the class portion of an object
Id for the specified ``api``.
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: obtain minimum class value for an API
.. index:: rtems_object_id_api_minimum_class
.. _rtems_object_id_api_minimum_class:
OBJECT_ID_API_MINIMUM_CLASS - Obtain Minimum Class Value for an API
-------------------------------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
int rtems_object_get_id_api_minimum_class(
int api
);
DIRECTIVE STATUS CODES:
If ``api`` is not valid, -1 is returned.
If successful, this service returns the index corresponding to the first
object class of the specified ``api``.
DESCRIPTION:
This service returns the index for the first object class associated with
the specified ``api``.
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: obtain maximum class value for an API
.. index:: rtems_object_id_api_maximum_class
.. _rtems_object_id_api_maximum_class:
OBJECT_ID_API_MAXIMUM_CLASS - Obtain Maximum Class Value for an API
-------------------------------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
int rtems_object_get_api_maximum_class(
int api
);
DIRECTIVE STATUS CODES:
If ``api`` is not valid, -1 is returned.
If successful, this service returns the index corresponding to the last
object class of the specified ``api``.
DESCRIPTION:
This service returns the index for the last object class associated with
the specified ``api``.
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: obtain API name
.. index:: rtems_object_get_api_name
.. _rtems_object_get_api_name:
OBJECT_GET_API_NAME - Obtain API Name
-------------------------------------
CALLING SEQUENCE:
.. code-block:: c
const char* rtems_object_get_api_name(
int api
);
DIRECTIVE STATUS CODES:
If ``api`` is not valid, the string ``"BAD API"`` is returned.
If successful, this service returns a pointer to a string containing the
name of the specified ``api``.
DESCRIPTION:
This service returns the name of the specified ``api``.
NOTES:
This directive is strictly local and does not impact task scheduling.
The string returned is from constant space. Do not modify or free it.
.. raw:: latex
\clearpage
.. index:: obtain class name
.. index:: rtems_object_get_api_class_name
.. _rtems_object_get_api_class_name:
OBJECT_GET_API_CLASS_NAME - Obtain Class Name
---------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
const char *rtems_object_get_api_class_name(
int the_api,
int the_class
);
DIRECTIVE STATUS CODES:
If ``the_api`` is not valid, the string ``"BAD API"`` is returned.
If ``the_class`` is not valid, the string ``"BAD CLASS"`` is returned.
If successful, this service returns a pointer to a string containing the
name of the specified ``the_api`` / ``the_class`` pair.
DESCRIPTION:
This service returns the name of the object class indicated by the
specified ``the_api`` and ``the_class``.
NOTES:
This directive is strictly local and does not impact task scheduling.
The string returned is from constant space. Do not modify or free it.
.. raw:: latex
\clearpage
.. index:: obtain class information
.. index:: rtems_object_get_class_information
.. _rtems_object_get_class_information:
OBJECT_GET_CLASS_INFORMATION - Obtain Class Information
-------------------------------------------------------
CALLING SEQUENCE:
.. code-block:: c
rtems_status_code rtems_object_get_class_information(
int the_api,
int the_class,
rtems_object_api_class_information *info
);
DIRECTIVE STATUS CODES:
.. list-table::
:class: rtems-table
* - ``RTEMS_SUCCESSFUL``
- information obtained successfully
* - ``RTEMS_INVALID_ADDRESS``
- ``info`` is NULL
* - ``RTEMS_INVALID_NUMBER``
- invalid ``api`` or ``the_class``
If successful, the structure located at ``info`` will be filled in with
information about the specified ``api`` / ``the_class`` pairing.
DESCRIPTION:
This service returns information about the object class indicated by the
specified ``api`` and ``the_class``. This structure is defined as follows:
.. code-block:: c
typedef struct {
rtems_id minimum_id;
rtems_id maximum_id;
int maximum;
bool auto_extend;
int unallocated;
} rtems_object_api_class_information;
NOTES:
This directive is strictly local and does not impact task scheduling.
.. raw:: latex
\clearpage
.. index:: obtain local node
.. index:: rtems_object_get_local_node
.. _rtems_object_get_local_node:
OBJECT_GET_LOCAL_NODE - Obtain Local Node
-----------------------------------------
CALLING SEQUENCE:
.. code-block:: c
uint16_t rtems_object_get_local_node( void );
DIRECTIVE STATUS CODES:
NONE
DESCRIPTION:
This service returns the local MPCI node.
NOTES:
This directive is strictly local and does not impact task scheduling.