<div dir="ltr"><div dir="ltr">The problem with reading my email top-to-bottom... Sometimes I miss context. (The problem of reading bottom-to-top, sometimes I miss context.) I see this patch fixes up the rtems_object_id_api_maximum.</div><div dir="ltr"><br></div><div>Since this API was never functional, I suppose it is acceptable to drop it directly. Does a note need to be added anywhere (obsolete API)? I lean toward no, because it is a vacuous proof problem. The API never existed outside of Joel's head ;)</div><div><br></div><div>I usually like to see the generated documentation for review.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 24, 2020 at 5:44 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The documentation is a consolidation of the comments in Doxygen markup<br>
and the documentation sources in Sphinx markup.  The documentation was<br>
transfered to interface specification items.  This header file was<br>
generated from the items by a script.<br>
<br>
Update #3993.<br>
---<br>
 c-user/object-services/directives.rst   | 978 ++++++++++++++----------<br>
 c-user/object-services/introduction.rst |  93 ++-<br>
 2 files changed, 643 insertions(+), 428 deletions(-)<br>
<br>
diff --git a/c-user/object-services/directives.rst b/c-user/object-services/directives.rst<br>
index 87f0f5a..c760559 100644<br>
--- a/c-user/object-services/directives.rst<br>
+++ b/c-user/object-services/directives.rst<br>
@@ -1,643 +1,805 @@<br>
 .. SPDX-License-Identifier: CC-BY-SA-4.0<br>
<br>
-.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)<br>
+.. Copyright (C) 2020 embedded brains GmbH (<a href="http://www.embedded-brains.de" rel="noreferrer" target="_blank">http://www.embedded-brains.de</a>)<br>
+.. Copyright (C) 1988, 2009 On-Line Applications Research Corporation (OAR)<br>
+<br>
+.. This file is part of the RTEMS quality process and was automatically<br>
+.. generated.  If you find something that needs to be fixed or<br>
+.. worded better please post a report or patch to an RTEMS mailing list<br>
+.. or raise a bug report:<br>
+..<br>
+.. <a href="https://docs.rtems.org/branches/master/user/support/bugs.html" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/user/support/bugs.html</a><br>
+..<br>
+.. For information on updating and regenerating please refer to:<br>
+..<br>
+.. <a href="https://docs.rtems.org/branches/master/eng/req/howto.html" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/eng/req/howto.html</a><br>
+<br>
+.. _ObjectServicesDirectives:<br>
<br>
 Directives<br>
 ==========<br>
<br>
+This section details the directives of the Object Services. A subsection is<br>
+dedicated to each of this manager's directives and lists the calling sequence,<br>
+parameters, description, return values, and notes of the directive.<br>
+<br>
+.. Generated from spec:/rtems/object/if/build-id<br>
+<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_build_id()<br>
+<br>
+.. _InterfaceRtemsBuildId:<br>
+<br>
+rtems_build_id()<br>
+----------------<br>
+<br>
+Builds the object identifier from the API, class, MPCI node, and index<br>
+components.<br>
+<br>
+.. rubric:: CALLING SEQUENCE:<br>
+<br>
+.. code-block:: c<br>
+<br>
+    #define rtems_build_id( _api, _class, _node, _index )<br>
<br>
-.. index:: build object name<br>
-.. index:: rtems_build_name<br>
+.. rubric:: PARAMETERS:<br>
<br>
-.. _rtems_build_name:<br>
+``_api``<br>
+    This parameter is the API of the object identifier to build.<br>
<br>
-BUILD_NAME - Build object name from characters<br>
-----------------------------------------------<br>
+``_class``<br>
+    This parameter is the class of the object identifier to build.<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+``_node``<br>
+    This parameter is the MPCI node of the object identifier to build.<br>
<br>
-        rtems_name rtems_build_name(<br>
-            uint8_t c1,<br>
-            uint8_t c2,<br>
-            uint8_t c3,<br>
-            uint8_t c4<br>
-        );<br>
+``_index``<br>
+    This parameter is the index of the object identifier to build.<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    Returns a name constructed from the four characters.<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-DESCRIPTION:<br>
-    This service takes the four characters provided as arguments and constructs<br>
-    a thirty-two bit object name with ``c1`` in the most significant byte and<br>
-    ``c4`` in the least significant byte.<br>
+Returns the object identifier built from the API, class, MPCI node, and index<br>
+components.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+.. rubric:: NOTES:<br>
+<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+.. Generated from spec:/rtems/object/if/build-name<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
<br>
-.. index:: get name from id<br>
-.. index:: obtain name from id<br>
-.. index:: rtems_object_get_classic_name<br>
+.. index:: rtems_build_name()<br>
<br>
-.. _rtems_object_get_classic_name:<br>
+.. _InterfaceRtemsBuildName:<br>
<br>
-OBJECT_GET_CLASSIC_NAME - Lookup name from id<br>
----------------------------------------------<br>
+rtems_build_name()<br>
+------------------<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+Builds the object name composed of the four characters.<br>
<br>
-        rtems_status_code rtems_object_get_classic_name(<br>
-            rtems_id      id,<br>
-            rtems_name   *name<br>
-        );<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    .. list-table::<br>
-     :class: rtems-table<br>
+.. code-block:: c<br>
<br>
-     * - ``RTEMS_SUCCESSFUL``<br>
-       - name looked up successfully<br>
-     * - ``RTEMS_INVALID_ADDRESS``<br>
-       - invalid name pointer<br>
-     * - ``RTEMS_INVALID_ID``<br>
-       - invalid object id<br>
+    #define rtems_build_name( _c1, _c2, _c3, _c4 )<br>
<br>
-DESCRIPTION:<br>
-    This service looks up the name for the object ``id`` specified and, if<br>
-    found, places the result in ``*name``.<br>
+.. rubric:: PARAMETERS:<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+``_c1``<br>
+    This parameter is the first character of the name.<br>
<br>
-.. raw:: latex<br>
+``_c2``<br>
+    This parameter is the second character of the name.<br>
<br>
-   \clearpage<br>
+``_c3``<br>
+    This parameter is the third character of the name.<br>
<br>
-.. index:: get object name as string<br>
-.. index:: obtain object name as string<br>
-.. index:: rtems_object_get_name<br>
+``_c4``<br>
+    This parameter is the fourth character of the name.<br>
<br>
-.. _rtems_object_get_name:<br>
+.. rubric:: DESCRIPTION:<br>
<br>
-OBJECT_GET_NAME - Obtain object name as string<br>
-----------------------------------------------<br>
+This directive takes the four characters provided as arguments and composes a<br>
+32-bit object name with ``_c1`` in the most significant 8-bits and ``_c4`` in<br>
+the least significant 8-bits.<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-        char* rtems_object_get_name(<br>
-            rtems_id       id,<br>
-            size_t         length,<br>
-            char          *name<br>
-        );<br>
+Returns the object name composed of the four characters.<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    Returns a pointer to the name if successful or ``NULL`` otherwise.<br>
+.. rubric:: NOTES:<br>
<br>
-DESCRIPTION:<br>
-    This service looks up the name of the object specified by ``id`` and places<br>
-    it in the memory pointed to by ``name``.  Every attempt is made to return<br>
-    name as a printable string even if the object has the Classic API<br>
-    thirty-two bit style name.<br>
+This directive is strictly local and does not impact task scheduling.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+.. Generated from spec:/rtems/object/if/get-classic-name<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
<br>
-.. index:: set object name<br>
-.. index:: rtems_object_set_name<br>
+.. index:: rtems_object_get_classic_name()<br>
<br>
-.. _rtems_object_set_name:<br>
+.. _InterfaceRtemsObjectGetClassicName:<br>
<br>
-OBJECT_SET_NAME - Set object name<br>
----------------------------------<br>
+rtems_object_get_classic_name()<br>
+-------------------------------<br>
+<br>
+Gets the object name associated with the object identifier.<br>
+<br>
+.. rubric:: CALLING SEQUENCE:<br>
+<br>
+.. code-block:: c<br>
+<br>
+    rtems_status_code rtems_object_get_classic_name(<br>
+      rtems_id    id,<br>
+      rtems_name *name<br>
+    );<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+.. rubric:: PARAMETERS:<br>
<br>
-        rtems_status_code rtems_object_set_name(<br>
-            rtems_id       id,<br>
-            const char    *name<br>
-        );<br>
+``id``<br>
+    This parameter is the object identifier to get the name.<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    .. list-table::<br>
-     :class: rtems-table<br>
+``name``<br>
+    This parameter is the pointer to an object name variable.  The object name<br>
+    associated with the object identifier will be stored in this variable, in<br></blockquote><div>remove comma</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
+    case of a successful operation.<br>
<br>
-     * - ``RTEMS_SUCCESSFUL``<br>
-       - name looked up successfully<br>
-     * - ``RTEMS_INVALID_ADDRESS``<br>
-       - invalid name pointer<br>
-     * - ``RTEMS_INVALID_ID``<br>
-       - invalid object id<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-DESCRIPTION:<br>
-    This service sets the name of ``id`` to that specified by the string<br>
-    located at ``name``.<br>
+:c:macro:`RTEMS_SUCCESSFUL`<br>
+    The requested operation was successful.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+:c:macro:`RTEMS_INVALID_ADDRESS`<br>
+    The name parameter was `NULL<br>
+    <<a href="https://en.cppreference.com/w/c/types/NULL" rel="noreferrer" target="_blank">https://en.cppreference.com/w/c/types/NULL</a>>`_.<br>
<br>
-    If the object specified by ``id`` is of a class that has a string name,<br>
-    this method will free the existing name to the RTEMS Workspace and allocate<br>
-    enough memory from the RTEMS Workspace to make a copy of the string located<br>
-    at ``name``.<br>
+:c:macro:`RTEMS_INVALID_ID`<br>
+    There was no object information available for the object identifier.<br>
<br>
-    If the object specified by ``id`` is of a class that has a thirty-two bit<br>
-    integer style name, then the first four characters in ``*name`` will be<br>
-    used to construct the name.  name to the RTEMS Workspace and allocate<br>
-    enough memory from the RTEMS Workspace to make a copy of the string<br>
+:c:macro:`RTEMS_INVALID_ID`<br>
+    The object name associated with the object identifier was a string.<br>
+<br>
+:c:macro:`RTEMS_INVALID_ID`<br>
+    There was no object associated with the object identifier.<br>
+<br>
+.. rubric:: NOTES:<br>
+<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+.. Generated from spec:/rtems/object/if/get-name<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_get_name()<br>
+<br>
+.. _InterfaceRtemsObjectGetName:<br>
+<br>
+rtems_object_get_name()<br>
+-----------------------<br>
+<br>
+Gets the object name associated with the object identifier as a string.<br>
+<br>
+.. rubric:: CALLING SEQUENCE:<br>
+<br>
+.. code-block:: c<br>
+<br>
+    char *rtems_object_get_name( rtems_id id, size_t length, char *name );<br>
+<br>
+.. rubric:: PARAMETERS:<br>
+<br>
+``id``<br>
+    This parameter is the object identifier to get the name.<br>
+<br>
+``length``<br>
+    This parameter is the buffer length in bytes.<br>
+<br>
+``name``<br>
+    This parameter is the pointer to a buffer of the specified length.<br>
+<br>
+.. rubric:: DESCRIPTION:<br>
<br>
-.. index:: obtain API from id<br>
-.. index:: rtems_object_id_get_api<br>
+The object name is stored in the name buffer.  If the name buffer length is<br>
+greater than zero, then the stored object name will be ``NUL`` terminated. The<br>
+stored object name may be truncated to fit the length.  There is no indication<br>
+if a truncation occurred.  Every attempt is made to return name as a printable<br>
+string even if the object has the Classic API 32-bit integer style name.<br>
<br>
-.. _rtems_object_id_get_api:<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-OBJECT_ID_GET_API - Obtain API from Id<br>
---------------------------------------<br>
+`NULL <<a href="https://en.cppreference.com/w/c/types/NULL" rel="noreferrer" target="_blank">https://en.cppreference.com/w/c/types/NULL</a>>`_<br>
+    The length parameter was 0.<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+`NULL <<a href="https://en.cppreference.com/w/c/types/NULL" rel="noreferrer" target="_blank">https://en.cppreference.com/w/c/types/NULL</a>>`_<br>
+    The name parameter was `NULL<br>
+    <<a href="https://en.cppreference.com/w/c/types/NULL" rel="noreferrer" target="_blank">https://en.cppreference.com/w/c/types/NULL</a>>`_.<br>
<br>
-        int rtems_object_id_get_api(<br>
-            rtems_id id<br>
-        );<br>
+`NULL <<a href="https://en.cppreference.com/w/c/types/NULL" rel="noreferrer" target="_blank">https://en.cppreference.com/w/c/types/NULL</a>>`_<br>
+    There was no object information available for the object identifier.<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    Returns the API portion of the object Id.<br>
+`NULL <<a href="https://en.cppreference.com/w/c/types/NULL" rel="noreferrer" target="_blank">https://en.cppreference.com/w/c/types/NULL</a>>`_<br>
+    There was no object associated with the object identifier.<br>
<br>
-DESCRIPTION:<br>
-    This directive returns the API portion of the provided object ``id``.<br>
+Returns the ``name`` parameter value, if there is an object name associated<br>
+with the object identifier.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+.. rubric:: NOTES:<br>
<br>
-    This directive does NOT validate the ``id`` provided.<br>
+This directive may cause the calling task to be preempted due to an obtain and<br>
+release of the object allocator mutex.<br>
+<br>
+.. Generated from spec:/rtems/object/if/set-name<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_set_name()<br>
+<br>
+.. _InterfaceRtemsObjectSetName:<br>
+<br>
+rtems_object_set_name()<br>
+-----------------------<br>
+<br>
+Sets the object name of the object associated with the object identifier.<br>
+<br>
+.. rubric:: CALLING SEQUENCE:<br>
+<br>
+.. code-block:: c<br>
+<br>
+    rtems_status_code rtems_object_set_name( rtems_id id, const char *name );<br>
+<br>
+.. rubric:: PARAMETERS:<br>
+<br>
+``id``<br>
+    This parameter is the object identifier of the object to set the name.<br>
+<br>
+``name``<br>
+    This parameter is the object name to set.<br>
+<br>
+.. rubric:: DESCRIPTION:<br>
+<br>
+This directive will set the object name based upon the user string.<br>
+<br>
+.. rubric:: RETURN VALUES:<br>
+<br>
+:c:macro:`RTEMS_SUCCESSFUL`<br>
+    The requested operation was successful.<br>
+<br>
+:c:macro:`RTEMS_INVALID_ADDRESS`<br>
+    The name parameter was `NULL<br>
+    <<a href="https://en.cppreference.com/w/c/types/NULL" rel="noreferrer" target="_blank">https://en.cppreference.com/w/c/types/NULL</a>>`_.<br>
<br>
-.. index:: obtain class from object id<br>
-.. index:: rtems_object_id_get_class<br>
+:c:macro:`RTEMS_INVALID_ID`<br>
+    There was no object information available for the object identifier.<br>
<br>
-.. _rtems_object_id_get_class:<br>
+:c:macro:`RTEMS_INVALID_ID`<br>
+    There was no object associated with the object identifier.<br>
<br>
-OBJECT_ID_GET_CLASS - Obtain Class from Id<br>
-------------------------------------------<br>
+:c:macro:`RTEMS_NO_MEMORY`<br>
+    There was no memory available to duplicate the name.<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+.. rubric:: NOTES:<br>
<br>
-        uint32_t rtems_object_id_get_class(<br>
-                 rtems_id id<br>
-        );<br>
+This directive may cause the calling task to be preempted due to an obtain and<br>
+release of the object allocator mutex.<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    Returns the class portion of the object Id.<br>
+This directive can be used to set the name of objects which do not have a<br>
+naming scheme per their API.<br>
<br>
-DESCRIPTION:<br>
-    This directive returns the class portion of the provided object ``id``.<br>
+If the object specified by ``id`` is of a class that has a string name, this<br>
+directive will free the existing name to the RTEMS Workspace and allocate<br>
+enough memory from the RTEMS Workspace to make a copy of the string located at<br>
+``name``.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+If the object specified by ``id`` is of a class that has a 32-bit integer style<br>
+name, then the first four characters in ``name`` will be used to construct the<br>
+name.<br>
<br>
-    This directive does NOT validate the ``id`` provided.<br>
+.. Generated from spec:/rtems/object/if/id-get-api<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
<br>
-.. index:: obtain node from object id<br>
-.. index:: rtems_object_id_get_node<br>
+.. index:: rtems_object_id_get_api()<br>
<br>
-.. _rtems_object_id_get_node:<br>
+.. _InterfaceRtemsObjectIdGetApi:<br>
<br>
-OBJECT_ID_GET_NODE - Obtain Node from Id<br>
-----------------------------------------<br>
+rtems_object_id_get_api()<br>
+-------------------------<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+Gets the API component of the object identifier.<br>
<br>
-        uint32_t rtems_object_id_get_node(<br>
-                 rtems_id id<br>
-        );<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    Returns the node portion of the object Id.<br>
+.. code-block:: c<br>
<br>
-DESCRIPTION:<br>
-    This directive returns the node portion of the provided object ``id``.<br>
+    #define rtems_object_id_get_api( _id )<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+.. rubric:: PARAMETERS:<br>
<br>
-    This directive does NOT validate the ``id`` provided.<br>
+``_id``<br>
+    This parameter is the object identifier with the API component to get.<br>
+<br>
+.. rubric:: RETURN VALUES:<br>
+<br>
+Returns the API component of the object identifier.<br>
+<br>
+.. rubric:: NOTES:<br>
+<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+This directive does not validate the object identifier provided in ``_id``.<br>
+<br>
+A body is also provided.<br></blockquote><div>I don't understand this comment?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
+<br>
+.. Generated from spec:/rtems/object/if/id-get-class<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_id_get_class()<br>
<br>
-.. index:: obtain index from object id<br>
-.. index:: rtems_object_id_get_index<br>
+.. _InterfaceRtemsObjectIdGetClass:<br>
<br>
-.. _rtems_object_id_get_index:<br>
+rtems_object_id_get_class()<br>
+---------------------------<br>
<br>
-OBJECT_ID_GET_INDEX - Obtain Index from Id<br>
-------------------------------------------<br>
+Gets the class component of the object identifier.<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-        uint16_t rtems_object_id_get_index(<br>
-                 rtems_id id<br>
-        );<br>
+.. code-block:: c<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    Returns the index portion of the object Id.<br>
+    #define rtems_object_id_get_class( _id )<br>
<br>
-DESCRIPTION:<br>
-    This directive returns the index portion of the provided object ``id``.<br>
+.. rubric:: PARAMETERS:<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+``_id``<br>
+    This parameter is the object identifier with the class component to get.<br>
<br>
-    This directive does NOT validate the ``id`` provided.<br>
+.. rubric:: RETURN VALUES:<br>
+<br>
+Returns the class component of the object identifier.<br>
+<br>
+.. rubric:: NOTES:<br>
+<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+This directive does not validate the object identifier provided in ``_id``.<br>
+<br>
+A body is also provided.<br>
+<br>
+.. Generated from spec:/rtems/object/if/id-get-node<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_id_get_node()<br>
+<br>
+.. _InterfaceRtemsObjectIdGetNode:<br>
<br>
-.. index:: build object id from components<br>
-.. index:: rtems_build_id<br>
+rtems_object_id_get_node()<br>
+--------------------------<br>
<br>
-.. _rtems_build_id:<br>
+Gets the MPCI node component of the object identifier.<br>
<br>
-BUILD_ID - Build Object Id From Components<br>
-------------------------------------------<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+.. code-block:: c<br>
<br>
-        rtems_id rtems_build_id(<br>
-            int the_api,<br>
-            int the_class,<br>
-            int the_node,<br>
-            int the_index<br>
-        );<br>
+    #define rtems_object_id_get_node( _id )<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    Returns an object Id constructed from the provided arguments.<br>
+.. rubric:: PARAMETERS:<br>
<br>
-DESCRIPTION:<br>
-    This service constructs an object Id from the provided ``the_api``,<br>
-    ``the_class``, ``the_node``, and ``the_index``.<br>
+``_id``<br>
+    This parameter is the object identifier with the MPCI node component to<br>
+    get.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-    This directive does NOT validate the arguments provided or the Object id<br>
-    returned.<br>
+Returns the MPCI node component of the object identifier.<br>
+<br>
+.. rubric:: NOTES:<br>
+<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+This directive does not validate the object identifier provided in ``_id``.<br>
+<br>
+A body is also provided.<br>
+<br>
+.. Generated from spec:/rtems/object/if/id-get-index<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_id_get_index()<br>
+<br>
+.. _InterfaceRtemsObjectIdGetIndex:<br>
+<br>
+rtems_object_id_get_index()<br>
+---------------------------<br>
<br>
-.. index:: obtain minimum API value<br>
-.. index:: rtems_object_id_api_minimum<br>
+Gets the index component of the object identifier.<br>
<br>
-.. _rtems_object_id_api_minimum:<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-OBJECT_ID_API_MINIMUM - Obtain Minimum API Value<br>
-------------------------------------------------<br>
+.. code-block:: c<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+    #define rtems_object_id_get_index( _id )<br>
<br>
-        int rtems_object_id_api_minimum(void);<br>
+.. rubric:: PARAMETERS:<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    Returns the minimum valid for the API portion of an object Id.<br>
+``_id``<br>
+    This parameter is the object identifier with the index component to get.<br>
<br>
-DESCRIPTION:<br>
-    This service returns the minimum valid for the API portion of an object Id.<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+Returns the index component of the object identifier.<br>
+<br>
+.. rubric:: NOTES:<br>
+<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+This directive does not validate the object identifier provided in ``_id``.<br>
+<br>
+A body is also provided.<br>
+<br>
+.. Generated from spec:/rtems/object/if/id-api-minimum<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_id_api_minimum()<br>
+<br>
+.. _InterfaceRtemsObjectIdApiMinimum:<br>
+<br>
+rtems_object_id_api_minimum()<br>
+-----------------------------<br>
<br>
-.. index:: obtain maximum API value<br>
-.. index:: rtems_object_id_api_maximum<br>
+Gets the lowest valid value for the API component of an object identifier.<br>
<br>
-.. _rtems_object_id_api_maximum:<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-OBJECT_ID_API_MAXIMUM - Obtain Maximum API Value<br>
-------------------------------------------------<br>
+.. code-block:: c<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+    #define rtems_object_id_api_minimum()<br>
<br>
-        int rtems_object_id_api_maximum(void);<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    Returns the maximum valid for the API portion of an object Id.<br>
+Returns the lowest valid value for the API component of an object identifier.<br>
<br>
-DESCRIPTION:<br>
-    This service returns the maximum valid for the API portion of an object Id.<br>
+.. rubric:: NOTES:<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+A body is also provided.<br>
+<br>
+.. Generated from spec:/rtems/object/if/id-api-maximum<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_id_api_maximum()<br>
+<br>
+.. _InterfaceRtemsObjectIdApiMaximum:<br>
<br>
-.. index:: obtain minimum class value<br>
-.. index:: rtems_object_api_minimum_class<br>
+rtems_object_id_api_maximum()<br>
+-----------------------------<br>
<br>
-.. _rtems_object_api_minimum_class:<br>
+Gets the highest valid value for the API component of an object identifier.<br>
<br>
-OBJECT_API_MINIMUM_CLASS - Obtain Minimum Class Value<br>
------------------------------------------------------<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+.. code-block:: c<br>
<br>
-        int rtems_object_api_minimum_class(<br>
-            int api<br>
-        );<br>
+    #define rtems_object_id_api_maximum()<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    If ``api`` is not valid, -1 is returned.<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-    If successful, this service returns the minimum valid for the class portion<br>
-    of an object Id for the specified ``api``.<br>
+Returns the highest valid value for the API component of an object identifier.<br>
<br>
-DESCRIPTION:<br>
-    This service returns the minimum valid for the class portion of an object<br>
-    Id for the specified ``api``.<br>
+.. rubric:: NOTES:<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+A body is also provided.<br>
+<br>
+.. Generated from spec:/rtems/object/if/api-minimum-class<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_api_minimum_class()<br>
+<br>
+.. _InterfaceRtemsObjectApiMinimumClass:<br>
<br>
-.. index:: obtain maximum class value<br>
-.. index:: rtems_object_api_maximum_class<br>
+rtems_object_api_minimum_class()<br>
+--------------------------------<br>
<br>
-.. _rtems_object_api_maximum_class:<br>
+Gets the lowest valid class value of the object API.<br>
<br>
-OBJECT_API_MAXIMUM_CLASS - Obtain Maximum Class Value<br>
------------------------------------------------------<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+.. code-block:: c<br>
<br>
-        int rtems_object_api_maximum_class(<br>
-            int api<br>
-        );<br>
+    int rtems_object_api_minimum_class( int api );<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    If ``api`` is not valid, -1 is returned.<br>
+.. rubric:: PARAMETERS:<br>
<br>
-    If successful, this service returns the maximum valid for the class portion<br>
-    of an object Id for the specified ``api``.<br>
+``api``<br>
+    This parameter is the object API to get the lowest valid class value.<br>
<br>
-DESCRIPTION:<br>
-    This service returns the maximum valid for the class portion of an object<br>
-    Id for the specified ``api``.<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+``-1``<br>
+    The object API was invalid.<br></blockquote><div>nit: "is" invalid</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
+<br>
+Returns the lowest valid class value of the object API.<br>
+<br>
+.. rubric:: NOTES:<br>
+<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+.. Generated from spec:/rtems/object/if/api-maximum-class<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_api_maximum_class()<br>
+<br>
+.. _InterfaceRtemsObjectApiMaximumClass:<br>
+<br>
+rtems_object_api_maximum_class()<br>
+--------------------------------<br>
+<br>
+Gets the highest valid class value of the object API.<br>
<br>
-.. index:: obtain minimum class value for an API<br>
-.. index:: rtems_object_id_api_minimum_class<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-.. _rtems_object_id_api_minimum_class:<br>
+.. code-block:: c<br>
<br>
-OBJECT_ID_API_MINIMUM_CLASS - Obtain Minimum Class Value for an API<br>
--------------------------------------------------------------------<br>
+    int rtems_object_api_maximum_class( int api );<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+.. rubric:: PARAMETERS:<br>
<br>
-        int rtems_object_get_id_api_minimum_class(<br>
-            int api<br>
-        );<br>
+``api``<br>
+    This parameter is the object API to get the highest valid class value.<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    If ``api`` is not valid, -1 is returned.<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-    If successful, this service returns the index corresponding to the first<br>
-    object class of the specified ``api``.<br>
+``0``<br>
+    The object API was invalid.<br></blockquote><div>nit: "is" invalid</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-DESCRIPTION:<br>
-    This service returns the index for the first object class associated with<br>
-    the specified ``api``.<br>
+Returns the highest valid class value of the object API.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+.. rubric:: NOTES:<br>
+<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+.. Generated from spec:/rtems/object/if/get-api-name<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_get_api_name()<br>
+<br>
+.. _InterfaceRtemsObjectGetApiName:<br>
+<br>
+rtems_object_get_api_name()<br>
+---------------------------<br>
+<br>
+Gets a descriptive name of the object API.<br>
+<br>
+.. rubric:: CALLING SEQUENCE:<br>
+<br>
+.. code-block:: c<br>
<br>
-.. index:: obtain maximum class value for an API<br>
-.. index:: rtems_object_id_api_maximum_class<br>
+    const char *rtems_object_get_api_name( int api );<br>
<br>
-.. _rtems_object_id_api_maximum_class:<br>
+.. rubric:: PARAMETERS:<br>
<br>
-OBJECT_ID_API_MAXIMUM_CLASS - Obtain Maximum Class Value for an API<br>
--------------------------------------------------------------------<br>
+``api``<br>
+    This parameter is the object API to get the name.<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-        int rtems_object_get_api_maximum_class(<br>
-            int api<br>
-        );<br>
+"BAD API"<br>
+    The API was invalid.<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    If ``api`` is not valid, -1 is returned.<br>
+Returns a descriptive name of the API, if the API was valid.<br>
<br>
-    If successful, this service returns the index corresponding to the last<br>
-    object class of the specified ``api``.<br>
+.. rubric:: NOTES:<br>
<br>
-DESCRIPTION:<br>
-    This service returns the index for the last object class associated with<br>
-    the specified ``api``.<br>
+This directive is strictly local and does not impact task scheduling.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+The string returned is from constant space.  Do not modify or free it.<br>
+<br>
+.. Generated from spec:/rtems/object/if/get-api-class-name<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_get_api_class_name()<br>
+<br>
+.. _InterfaceRtemsObjectGetApiClassName:<br>
+<br>
+rtems_object_get_api_class_name()<br>
+---------------------------------<br>
+<br>
+Gets a descriptive name of the object class of the object API.<br>
+<br>
+.. rubric:: CALLING SEQUENCE:<br>
+<br>
+.. code-block:: c<br>
<br>
-.. index:: obtain API name<br>
-.. index:: rtems_object_get_api_name<br>
+    const char *rtems_object_get_api_class_name( int the_api, int the_class );<br>
<br>
-.. _rtems_object_get_api_name:<br>
+.. rubric:: PARAMETERS:<br>
<br>
-OBJECT_GET_API_NAME - Obtain API Name<br>
--------------------------------------<br>
+``the_api``<br>
+    This parameter is the object API of the object class.<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+``the_class``<br>
+    This parameter is the object class of the object API to get the name.<br>
<br>
-        const char* rtems_object_get_api_name(<br>
-            int api<br>
-        );<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    If ``api`` is not valid, the string ``"BAD API"`` is returned.<br>
+"BAD API"<br>
+    The API was invalid.<br>
<br>
-    If successful, this service returns a pointer to a string containing the<br>
-    name of the specified ``api``.<br>
+"BAD CLASS"<br>
+    The class of the API was invalid.<br>
<br>
-DESCRIPTION:<br>
-    This service returns the name of the specified ``api``.<br>
+Returns a descriptive name of the class of the API, if the class of the API and<br>
+the API were valid.<br></blockquote><div>"are" valid</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+.. rubric:: NOTES:<br>
<br>
-    The string returned is from constant space.  Do not modify or free it.<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+The string returned is from constant space.  Do not modify or free it.<br>
+<br>
+.. Generated from spec:/rtems/object/if/get-class-information<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: rtems_object_get_class_information()<br>
+<br>
+.. _InterfaceRtemsObjectGetClassInformation:<br>
+<br>
+rtems_object_get_class_information()<br>
+------------------------------------<br>
+<br>
+Gets the object class information of the object class of the object API.<br>
+<br>
+.. rubric:: CALLING SEQUENCE:<br>
+<br>
+.. code-block:: c<br>
<br>
-.. index:: obtain class name<br>
-.. index:: rtems_object_get_api_class_name<br>
+    rtems_status_code rtems_object_get_class_information(<br>
+      int                                 the_api,<br>
+      int                                 the_class,<br>
+      rtems_object_api_class_information *info<br>
+    );<br>
<br>
-.. _rtems_object_get_api_class_name:<br>
+.. rubric:: PARAMETERS:<br>
<br>
-OBJECT_GET_API_CLASS_NAME - Obtain Class Name<br>
----------------------------------------------<br>
+``the_api``<br>
+    This parameter is the object API of the object class.<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+``the_class``<br>
+    This parameter is the object class of the object API to get the class<br>
+    information.<br>
<br>
-        const char *rtems_object_get_api_class_name(<br>
-            int the_api,<br>
-            int the_class<br>
-        );<br>
+``info``<br>
+    This parameter is the pointer to an object class information variable.  The<br>
+    object class information of the class of the API will be stored in this<br>
+    variable, in case of a successful operation.<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    If ``the_api`` is not valid, the string ``"BAD API"`` is returned.<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-    If ``the_class`` is not valid, the string ``"BAD CLASS"`` is returned.<br>
+:c:macro:`RTEMS_SUCCESSFUL`<br>
+    The requested operation was successful.<br>
<br>
-    If successful, this service returns a pointer to a string containing the<br>
-    name of the specified ``the_api`` / ``the_class`` pair.<br>
+:c:macro:`RTEMS_INVALID_ADDRESS`<br>
+    The info parameter was `NULL<br>
+    <<a href="https://en.cppreference.com/w/c/types/NULL" rel="noreferrer" target="_blank">https://en.cppreference.com/w/c/types/NULL</a>>`_.<br>
<br>
-DESCRIPTION:<br>
-    This service returns the name of the object class indicated by the<br>
-    specified ``the_api`` and ``the_class``.<br>
+:c:macro:`RTEMS_INVALID_NUMBER`<br>
+    The class of the API or the API was invalid.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+.. rubric:: NOTES:<br>
<br>
-    The string returned is from constant space.  Do not modify or free it.<br>
+This directive is strictly local and does not impact task scheduling.<br>
+<br>
+.. Generated from spec:/rtems/object/if/get-local-node<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
<br>
-.. index:: obtain class information<br>
-.. index:: rtems_object_get_class_information<br>
+.. index:: rtems_object_get_local_node()<br>
<br>
-.. _rtems_object_get_class_information:<br>
+.. _InterfaceRtemsObjectGetLocalNode:<br>
<br>
-OBJECT_GET_CLASS_INFORMATION - Obtain Class Information<br>
--------------------------------------------------------<br>
+rtems_object_get_local_node()<br>
+-----------------------------<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+Gets the local MPCI node number.<br>
<br>
-        rtems_status_code rtems_object_get_class_information(<br>
-            int                                 the_api,<br>
-            int                                 the_class,<br>
-            rtems_object_api_class_information *info<br>
-        );<br>
+.. rubric:: CALLING SEQUENCE:<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    .. list-table::<br>
-     :class: rtems-table<br>
+.. code-block:: c<br>
<br>
-     * - ``RTEMS_SUCCESSFUL``<br>
-       - information obtained successfully<br>
-     * - ``RTEMS_INVALID_ADDRESS``<br>
-       - ``info`` is NULL<br>
-     * - ``RTEMS_INVALID_NUMBER``<br>
-       - invalid ``api`` or ``the_class``<br>
+    uint16_t rtems_object_get_local_node( void );<br>
<br>
-    If successful, the structure located at ``info`` will be filled in with<br>
-    information about the specified ``api`` / ``the_class`` pairing.<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-DESCRIPTION:<br>
-    This service returns information about the object class indicated by the<br>
-    specified ``api`` and ``the_class``. This structure is defined as follows:<br>
+Returns the local MPCI node number.<br>
<br>
-    .. code-block:: c<br>
+.. rubric:: NOTES:<br>
<br>
-        typedef struct {<br>
-            rtems_id  minimum_id;<br>
-            rtems_id  maximum_id;<br>
-            int       maximum;<br>
-            bool      auto_extend;<br>
-            int       unallocated;<br>
-        } rtems_object_api_class_information;<br>
+This directive is strictly local and does not impact task scheduling.<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+.. Generated from spec:/rtems/object/if/id-initial<br>
<br>
 .. raw:: latex<br>
<br>
-   \clearpage<br>
+    \clearpage<br>
+<br>
+.. index:: RTEMS_OBJECT_ID_INITIAL()<br>
+<br>
+.. _InterfaceRTEMSOBJECTIDINITIAL:<br>
+<br>
+RTEMS_OBJECT_ID_INITIAL()<br>
+-------------------------<br>
+<br>
+Builds the object identifier with the lowest index from the API, class, and<br>
+MPCI node components.<br>
+<br>
+.. rubric:: CALLING SEQUENCE:<br>
+<br>
+.. code-block:: c<br>
+<br>
+    #define RTEMS_OBJECT_ID_INITIAL( _api, _class, _node )<br>
<br>
-.. index:: obtain local node<br>
-.. index:: rtems_object_get_local_node<br>
+.. rubric:: PARAMETERS:<br>
<br>
-.. _rtems_object_get_local_node:<br>
+``_api``<br>
+    This parameter is the API of the object identifier to build.<br>
<br>
-OBJECT_GET_LOCAL_NODE - Obtain Local Node<br>
------------------------------------------<br>
+``_class``<br>
+    This parameter is the class of the object identifier to build.<br>
<br>
-CALLING SEQUENCE:<br>
-    .. code-block:: c<br>
+``_node``<br>
+    This parameter is the MPCI node of the object identifier to build.<br>
<br>
-        uint16_t rtems_object_get_local_node( void );<br>
+.. rubric:: RETURN VALUES:<br>
<br>
-DIRECTIVE STATUS CODES:<br>
-    NONE<br>
+Returns the object identifier with the lowest index built from the API, class,<br>
+and MPCI node components.<br>
<br>
-DESCRIPTION:<br>
-    This service returns the local MPCI node.<br>
+.. rubric:: NOTES:<br>
<br>
-NOTES:<br>
-    This directive is strictly local and does not impact task scheduling.<br>
+This directive is strictly local and does not impact task scheduling.<br>
diff --git a/c-user/object-services/introduction.rst b/c-user/object-services/introduction.rst<br>
index 3c7ff18..6e7f4af 100644<br>
--- a/c-user/object-services/introduction.rst<br>
+++ b/c-user/object-services/introduction.rst<br>
@@ -1,47 +1,100 @@<br>
 .. SPDX-License-Identifier: CC-BY-SA-4.0<br>
<br>
-.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)<br>
+.. Copyright (C) 2020 embedded brains GmbH (<a href="http://www.embedded-brains.de" rel="noreferrer" target="_blank">http://www.embedded-brains.de</a>)<br>
+.. Copyright (C) 1988, 2009 On-Line Applications Research Corporation (OAR)<br>
+<br>
+.. This file is part of the RTEMS quality process and was automatically<br>
+.. generated.  If you find something that needs to be fixed or<br>
+.. worded better please post a report or patch to an RTEMS mailing list<br>
+.. or raise a bug report:<br>
+..<br>
+.. <a href="https://docs.rtems.org/branches/master/user/support/bugs.html" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/user/support/bugs.html</a><br>
+..<br>
+.. For information on updating and regenerating please refer to:<br>
+..<br>
+.. <a href="https://docs.rtems.org/branches/master/eng/req/howto.html" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/eng/req/howto.html</a><br>
+<br>
+.. Generated from spec:/rtems/object/if/group<br>
+<br>
+.. _ObjectServicesIntroduction:<br>
<br>
 Introduction<br>
 ============<br>
<br>
+.. The following list was generated from:<br>
+.. spec:/rtems/object/if/build-id<br>
+.. spec:/rtems/object/if/build-name<br>
+.. spec:/rtems/object/if/get-classic-name<br>
+.. spec:/rtems/object/if/get-name<br>
+.. spec:/rtems/object/if/set-name<br>
+.. spec:/rtems/object/if/id-get-api<br>
+.. spec:/rtems/object/if/id-get-class<br>
+.. spec:/rtems/object/if/id-get-node<br>
+.. spec:/rtems/object/if/id-get-index<br>
+.. spec:/rtems/object/if/id-api-minimum<br>
+.. spec:/rtems/object/if/id-api-maximum<br>
+.. spec:/rtems/object/if/api-minimum-class<br>
+.. spec:/rtems/object/if/api-maximum-class<br>
+.. spec:/rtems/object/if/get-api-name<br>
+.. spec:/rtems/object/if/get-api-class-name<br>
+.. spec:/rtems/object/if/get-class-information<br>
+.. spec:/rtems/object/if/get-local-node<br>
+.. spec:/rtems/object/if/id-initial<br>
+<br>
 RTEMS provides a collection of services to assist in the management and usage<br>
 of the objects created and utilized via other managers.  These services assist<br>
 in the manipulation of RTEMS objects independent of the API used to create<br>
-them.  The object related services provided by RTEMS are:<br>
+them. The directives provided by the Object Services are:<br>
<br>
-- :ref:`rtems_build_id`<br>
+* :ref:`InterfaceRtemsBuildId` - Builds the object identifier from the API,<br>
+  class, MPCI node, and index components.<br>
<br>
-- :ref:`rtems_build_name`<br>
+* :ref:`InterfaceRtemsBuildName` - Builds the object name composed of the four<br>
+  characters.<br>
<br>
-- :ref:`rtems_object_get_classic_name`<br>
+* :ref:`InterfaceRtemsObjectGetClassicName` - Gets the object name associated<br>
+  with the object identifier.<br>
<br>
-- :ref:`rtems_object_get_name`<br>
+* :ref:`InterfaceRtemsObjectGetName` - Gets the object name associated with the<br>
+  object identifier as a string.<br>
<br>
-- :ref:`rtems_object_set_name`<br>
+* :ref:`InterfaceRtemsObjectSetName` - Sets the object name of the object<br>
+  associated with the object identifier.<br>
<br>
-- :ref:`rtems_object_id_get_api`<br>
+* :ref:`InterfaceRtemsObjectIdGetApi` - Gets the API component of the object<br>
+  identifier.<br>
<br>
-- :ref:`rtems_object_id_get_class`<br>
+* :ref:`InterfaceRtemsObjectIdGetClass` - Gets the class component of the<br>
+  object identifier.<br>
<br>
-- :ref:`rtems_object_id_get_node`<br>
+* :ref:`InterfaceRtemsObjectIdGetNode` - Gets the MPCI node component of the<br>
+  object identifier.<br>
<br>
-- :ref:`rtems_object_id_get_index`<br>
+* :ref:`InterfaceRtemsObjectIdGetIndex` - Gets the index component of the<br>
+  object identifier.<br>
<br>
-- :ref:`rtems_build_id`<br>
+* :ref:`InterfaceRtemsObjectIdApiMinimum` - Gets the lowest valid value for the<br>
+  API component of an object identifier.<br>
<br>
-- :ref:`rtems_object_id_api_minimum`<br>
+* :ref:`InterfaceRtemsObjectIdApiMaximum` - Gets the highest valid value for<br>
+  the API component of an object identifier.<br>
<br>
-- :ref:`rtems_object_id_api_maximum`<br>
+* :ref:`InterfaceRtemsObjectApiMinimumClass` - Gets the lowest valid class<br>
+  value of the object API.<br>
<br>
-- :ref:`rtems_object_id_api_minimum_class`<br>
+* :ref:`InterfaceRtemsObjectApiMaximumClass` - Gets the highest valid class<br>
+  value of the object API.<br>
<br>
-- :ref:`rtems_object_id_api_maximum_class`<br>
+* :ref:`InterfaceRtemsObjectGetApiName` - Gets a descriptive name of the object<br>
+  API.<br>
<br>
-- :ref:`rtems_object_get_api_name`<br>
+* :ref:`InterfaceRtemsObjectGetApiClassName` - Gets a descriptive name of the<br>
+  object class of the object API.<br>
<br>
-- :ref:`rtems_object_get_api_class_name`<br>
+* :ref:`InterfaceRtemsObjectGetClassInformation` - Gets the object class<br>
+  information of the object class of the object API.<br>
<br>
-- :ref:`rtems_object_get_class_information`<br>
+* :ref:`InterfaceRtemsObjectGetLocalNode` - Gets the local MPCI node number.<br>
<br>
-- :ref:`rtems_object_get_local_node`<br>
+* :ref:`InterfaceRTEMSOBJECTIDINITIAL` - Builds the object identifier with the<br>
+  lowest index from the API, class, and MPCI node components.<br>
-- <br>
2.26.2<br>
<br>
<br>
<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div></div>