source: rtems-central/spec/rtems/task/if/ident.yml @ b7282c7

Last change on this file since b7282c7 was b7282c7, checked in by Sebastian Huber <sebastian.huber@…>, on 11/18/21 at 08:46:34

spec: Use RTEMS_WHO_AM_I for rtems_task_ident()

  • Property mode set to 100644
File size: 3.2 KB
Line 
1SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
2brief: |
3  Identifies a task by the object name.
4copyrights:
5- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
6- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
7definition:
8  default:
9    attributes: null
10    body: null
11    params:
12    - ${../../type/if/name:/name} ${.:/params[0]/name}
13    - ${/c/if/uint32_t:/name} ${.:/params[1]/name}
14    - ${../../type/if/id:/name} *${.:/params[2]/name}
15    return: ${../../status/if/code:/name}
16  variants: []
17description: |
18  This directive obtains a task identifier associated with the task name
19  specified in ${.:/params[0]/name}.
20
21  A task may obtain its own identifier by specifying
22  ${../../object/if/who-am-i:/name} for the name.
23
24  The node to search is specified in ${.:/params[1]/name}.  It shall be
25
26  * a valid node number,
27
28  * the constant ${../../object/if/search-all-nodes:/name} to search in all nodes,
29
30  * the constant ${../../object/if/search-local-node:/name} to search in the local
31    node only, or
32
33  * the constant ${../../object/if/search-other-nodes:/name} to search in all nodes
34    except the local node.
35enabled-by: true
36index-entries: []
37interface-type: function
38links:
39- role: interface-placement
40  uid: header
41- role: interface-ingroup
42  uid: group
43- role: constraint
44  uid: /constraint/directive-ctx-any
45- role: constraint
46  uid: /constraint/directive-no-preempt
47name: rtems_task_ident
48notes: |
49  If the task name is not unique, then the task identifier will match the first
50  task with that name in the search order.  However, this task identifier is
51  not guaranteed to correspond to the desired task.
52
53  The objects are searched from lowest to the highest index.  If
54  ${.:/params[1]/name} is ${../../object/if/search-all-nodes:/name}, all nodes
55  are searched with the local node being searched first.  All other nodes are
56  searched from lowest to the highest node number.
57
58  If node is a valid node number which does not represent the local node, then
59  only the tasks exported by the designated node are searched.
60
61  This directive does not generate activity on remote nodes.  It accesses only
62  the local copy of the global object table.
63
64  The task identifier is used with other task related directives to access the
65  task.
66params:
67- description: |
68    is the object name to look up.
69  dir: null
70  name: name
71- description: |
72    is the node or node set to search for a matching object.
73  dir: null
74  name: node
75- description: |
76    is the pointer to an ${../../type/if/id:/name} object.  When the directive
77    call is successful, the object identifier of an object with the specified
78    name will be stored in this object.
79  dir: out
80  name: id
81return:
82  return: null
83  return-values:
84  - description: |
85      The requested operation was successful.
86    value: ${../../status/if/successful:/name}
87  - description: |
88      The ${.:/params[2]/name} parameter was ${/c/if/null:/name}.
89    value: ${../../status/if/invalid-address:/name}
90  - description: |
91      There was no object with the specified name on the specified nodes.
92    value: ${../../status/if/invalid-name:/name}
93  - description: |
94      In multiprocessing configurations, the specified node was invalid.
95    value: ${../../status/if/invalid-node:/name}
96type: interface
Note: See TracBrowser for help on using the repository browser.