From 25461290ea1c0d339bcc89df4440cfdfb8897a07 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 24 Jun 2020 16:20:32 +0200 Subject: spec: Document name to id directives --- spec/if/rtems/sem/ident.yml | 64 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 56 insertions(+), 8 deletions(-) (limited to 'spec/if/rtems/sem') diff --git a/spec/if/rtems/sem/ident.yml b/spec/if/rtems/sem/ident.yml index 5c17a399..30f5c37d 100644 --- a/spec/if/rtems/sem/ident.yml +++ b/spec/if/rtems/sem/ident.yml @@ -1,5 +1,6 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' +brief: | + Identifies a semaphore object by the specified object name. copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) - Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) @@ -12,7 +13,21 @@ definition: - ${../types/id:/name} *${.:/params[2]/name} return: ${../status/code:/name} variants: [] -description: null +description: | + This directive obtains the semaphore identifier associated with the semaphore + name specified in ``${.:/params[0]/name}``. + + The node to search is specified in ``${.:/params[1]/name}``. It shall be + + * a valid node number, + + * the constant ${../object/search-all-nodes:/name} to search in all nodes, + + * the constant ${../object/search-local-node:/name} to search in the local + node only, or + + * the constant ${../object/search-other-nodes:/name} to search in all nodes + except the local node. enabled-by: true interface-type: function links: @@ -21,18 +36,51 @@ links: - role: interface-ingroup uid: /groups/api/classic/sem name: rtems_semaphore_ident -notes: null +notes: | + If the semaphore name is not unique, then the semaphore identifier will match + the first semaphore with that name in the search order. However, this + semaphore identifier is not guaranteed to correspond to the desired + semaphore. The semaphore identifier is used with other semaphore related + directives to access the semaphore. + + If node is ${../object/search-all-nodes:/name}, all nodes are searched with + the local node being searched first. All other nodes are searched with the + lowest numbered node searched first. + + If node is a valid node number which does not represent the local node, then + only the semaphores exported by the designated node are searched. + + This directive does not generate activity on remote nodes. It accesses only + the local copy of the global object table. params: -- description: '%' +- description: is the object name to look up. dir: null name: name -- description: '%' +- description: is the node or node set to search for a matching object. dir: null name: node -- description: '%' - dir: null +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out name: id return: return: null - return-values: [] + return-values: + - description: | + The requested operation was successful. + value: ${../status/successful:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/if/c/null:/name}. + value: ${../status/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../status/invalid-name:/name} + - description: | + There was no object with the specified name on the specified nodes. + value: ${../status/invalid-name:/name} + - description: | + In multiprocessing configurations, the specified node was invalid. + value: ${../status/invalid-node:/name} type: interface -- cgit v1.2.3