1 | SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause |
---|
2 | brief: | |
---|
3 | Identifies a task by the object name. |
---|
4 | copyrights: |
---|
5 | - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) |
---|
6 | - Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) |
---|
7 | definition: |
---|
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: [] |
---|
17 | description: | |
---|
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 ${self-define:/name} for |
---|
22 | 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. |
---|
35 | enabled-by: true |
---|
36 | index-entries: [] |
---|
37 | interface-type: function |
---|
38 | links: |
---|
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 |
---|
47 | name: rtems_task_ident |
---|
48 | notes: | |
---|
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. |
---|
66 | params: |
---|
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 |
---|
81 | return: |
---|
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} |
---|
96 | type: interface |
---|