[rtems-central commit] spec: Clarify object services
Sebastian Huber
sebh at rtems.org
Wed Feb 3 05:28:01 UTC 2021
Module: rtems-central
Branch: master
Commit: e3fd0909f4c11b09194680757af3efded436ea21
Changeset: http://git.rtems.org/rtems-central/commit/?id=e3fd0909f4c11b09194680757af3efded436ea21
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Tue Feb 2 13:05:24 2021 +0100
spec: Clarify object services
---
spec/rtems/object/if/api-maximum-class.yml | 7 ++++--
spec/rtems/object/if/api-minimum-class.yml | 7 ++++--
spec/rtems/object/if/build-id-macro.yml | 35 ++++++++++++++++++++++++++
spec/rtems/object/if/build-id.yml | 30 ++++++++++++++--------
spec/rtems/object/if/build-name-macro.yml | 35 ++++++++++++++++++++++++++
spec/rtems/object/if/build-name.yml | 28 ++++++++++++++-------
spec/rtems/object/if/get-api-class-name.yml | 6 +++--
spec/rtems/object/if/get-api-name.yml | 6 +++--
spec/rtems/object/if/get-class-information.yml | 7 ++++--
spec/rtems/object/if/get-classic-name.yml | 7 ++++--
spec/rtems/object/if/get-local-node.yml | 7 ++++--
spec/rtems/object/if/get-name.yml | 8 +++---
spec/rtems/object/if/group.yml | 16 ++++++++++++
spec/rtems/object/if/id-api-maximum-macro.yml | 22 ++++++++++++++++
spec/rtems/object/if/id-api-maximum.yml | 17 ++++++++-----
spec/rtems/object/if/id-api-minimum-macro.yml | 22 ++++++++++++++++
spec/rtems/object/if/id-api-minimum.yml | 17 ++++++++-----
spec/rtems/object/if/id-get-api-macro.yml | 25 ++++++++++++++++++
spec/rtems/object/if/id-get-api.yml | 19 ++++++++------
spec/rtems/object/if/id-get-class-macro.yml | 25 ++++++++++++++++++
spec/rtems/object/if/id-get-class.yml | 19 ++++++++------
spec/rtems/object/if/id-get-index-macro.yml | 25 ++++++++++++++++++
spec/rtems/object/if/id-get-index.yml | 19 ++++++++------
spec/rtems/object/if/id-get-node-macro.yml | 25 ++++++++++++++++++
spec/rtems/object/if/id-get-node.yml | 19 ++++++++------
spec/rtems/object/if/id-initial.yml | 7 ++++--
spec/rtems/object/if/set-name.yml | 9 ++++---
27 files changed, 388 insertions(+), 81 deletions(-)
diff --git a/spec/rtems/object/if/api-maximum-class.yml b/spec/rtems/object/if/api-maximum-class.yml
index ca8069f..43f952b 100644
--- a/spec/rtems/object/if/api-maximum-class.yml
+++ b/spec/rtems/object/if/api-maximum-class.yml
@@ -21,9 +21,12 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-any
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_api_maximum_class
-notes: |
- This directive is strictly local and does not impact task scheduling.
+notes: null
params:
- description: |
is the object API to get the highest valid class value.
diff --git a/spec/rtems/object/if/api-minimum-class.yml b/spec/rtems/object/if/api-minimum-class.yml
index 1877cda..d1a9455 100644
--- a/spec/rtems/object/if/api-minimum-class.yml
+++ b/spec/rtems/object/if/api-minimum-class.yml
@@ -21,9 +21,12 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-any
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_api_minimum_class
-notes: |
- This directive is strictly local and does not impact task scheduling.
+notes: null
params:
- description: |
is the object API to get the lowest valid class value.
diff --git a/spec/rtems/object/if/build-id-macro.yml b/spec/rtems/object/if/build-id-macro.yml
new file mode 100644
index 0000000..ff999ce
--- /dev/null
+++ b/spec/rtems/object/if/build-id-macro.yml
@@ -0,0 +1,35 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ${/score/object/if/build-id:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name}, ${.:/params[3]/name} )
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+name: rtems_build_id
+notes: null
+params:
+- description: null
+ dir: null
+ name: _api
+- description: null
+ dir: null
+ name: _class
+- description: null
+ dir: null
+ name: _node
+- description: null
+ dir: null
+ name: _index
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/object/if/build-id.yml b/spec/rtems/object/if/build-id.yml
index 0b65c5a..86af70c 100644
--- a/spec/rtems/object/if/build-id.yml
+++ b/spec/rtems/object/if/build-id.yml
@@ -3,41 +3,51 @@ brief: |
Builds the object identifier from the API, class, MPCI node, and index
components.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
- default: |
- ${/score/object/if/build-id:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name}, ${.:/params[3]/name} )
+ default:
+ attributes: null
+ body: null
+ params:
+ - ${/c/if/uint32_t:/name} ${.:/params[0]/name}
+ - ${/c/if/uint32_t:/name} ${.:/params[1]/name}
+ - ${/c/if/uint32_t:/name} ${.:/params[2]/name}
+ - ${/c/if/uint32_t:/name} ${.:/params[3]/name}
+ return: ${../../type/if/id:/name}
variants: []
description: null
enabled-by: true
index-entries: []
-interface-type: macro
+interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-const
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_build_id
-notes: |
- This directive is strictly local and does not impact task scheduling.
+notes: null
params:
- description: |
is the API of the object identifier to build.
dir: null
- name: _api
+ name: api
- description: |
is the class of the object identifier to build.
dir: null
- name: _class
+ name: the_class
- description: |
is the MPCI node of the object identifier to build.
dir: null
- name: _node
+ name: node
- description: |
is the index of the object identifier to build.
dir: null
- name: _index
+ name: index
return:
return: |
Returns the object identifier built from the API, class, MPCI node, and
diff --git a/spec/rtems/object/if/build-name-macro.yml b/spec/rtems/object/if/build-name-macro.yml
new file mode 100644
index 0000000..ec8dd16
--- /dev/null
+++ b/spec/rtems/object/if/build-name-macro.yml
@@ -0,0 +1,35 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ${/score/object/if/build-name:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name}, ${.:/params[3]/name} )
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+name: rtems_build_name
+notes: null
+params:
+- description: null
+ dir: null
+ name: _c1
+- description: null
+ dir: null
+ name: _c2
+- description: null
+ dir: null
+ name: _c3
+- description: null
+ dir: null
+ name: _c4
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/object/if/build-name.yml b/spec/rtems/object/if/build-name.yml
index 920b2d1..8565527 100644
--- a/spec/rtems/object/if/build-name.yml
+++ b/spec/rtems/object/if/build-name.yml
@@ -5,8 +5,15 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
- default: |
- ${/score/object/if/build-name:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name}, ${.:/params[3]/name} )
+ default:
+ attributes: null
+ body: null
+ params:
+ - char ${.:/params[0]/name}
+ - char ${.:/params[1]/name}
+ - char ${.:/params[2]/name}
+ - char ${.:/params[3]/name}
+ return: ${../../type/if/name:/name}
variants: []
description: |
This directive takes the four characters provided as arguments and composes a
@@ -14,32 +21,35 @@ description: |
8-bits and ${.:/params[3]/name} in the least significant 8-bits.
enabled-by: true
index-entries: []
-interface-type: macro
+interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-const
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_build_name
-notes: |
- This directive is strictly local and does not impact task scheduling.
+notes: null
params:
- description: |
is the first character of the name.
dir: null
- name: _c1
+ name: c1
- description: |
is the second character of the name.
dir: null
- name: _c2
+ name: c2
- description: |
is the third character of the name.
dir: null
- name: _c3
+ name: c3
- description: |
is the fourth character of the name.
dir: null
- name: _c4
+ name: c4
return:
return: |
Returns the object name composed of the four characters.
diff --git a/spec/rtems/object/if/get-api-class-name.yml b/spec/rtems/object/if/get-api-class-name.yml
index 25dfdda..ed46319 100644
--- a/spec/rtems/object/if/get-api-class-name.yml
+++ b/spec/rtems/object/if/get-api-class-name.yml
@@ -22,10 +22,12 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-any
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_get_api_class_name
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.
params:
- description: |
diff --git a/spec/rtems/object/if/get-api-name.yml b/spec/rtems/object/if/get-api-name.yml
index 88c0cf8..080fe03 100644
--- a/spec/rtems/object/if/get-api-name.yml
+++ b/spec/rtems/object/if/get-api-name.yml
@@ -21,10 +21,12 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-any
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_get_api_name
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.
params:
- description: |
diff --git a/spec/rtems/object/if/get-class-information.yml b/spec/rtems/object/if/get-class-information.yml
index 8467e96..2530d12 100644
--- a/spec/rtems/object/if/get-class-information.yml
+++ b/spec/rtems/object/if/get-class-information.yml
@@ -23,9 +23,12 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-any
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_get_class_information
-notes: |
- This directive is strictly local and does not impact task scheduling.
+notes: null
params:
- description: |
is the object API of the object class.
diff --git a/spec/rtems/object/if/get-classic-name.yml b/spec/rtems/object/if/get-classic-name.yml
index 67fef06..7dfcdf7 100644
--- a/spec/rtems/object/if/get-classic-name.yml
+++ b/spec/rtems/object/if/get-classic-name.yml
@@ -22,9 +22,12 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-any
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_get_classic_name
-notes: |
- This directive is strictly local and does not impact task scheduling.
+notes: null
params:
- description: |
is the object identifier to get the name.
diff --git a/spec/rtems/object/if/get-local-node.yml b/spec/rtems/object/if/get-local-node.yml
index b738c7e..ac57453 100644
--- a/spec/rtems/object/if/get-local-node.yml
+++ b/spec/rtems/object/if/get-local-node.yml
@@ -21,9 +21,12 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-any
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_get_local_node
-notes: |
- This directive is strictly local and does not impact task scheduling.
+notes: null
params: []
return:
return: |
diff --git a/spec/rtems/object/if/get-name.yml b/spec/rtems/object/if/get-name.yml
index 6d3c9ca..8be9dd5 100644
--- a/spec/rtems/object/if/get-name.yml
+++ b/spec/rtems/object/if/get-name.yml
@@ -29,10 +29,12 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-any
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_get_name
-notes: |
- This directive may cause the calling task to be preempted due to an obtain
- and release of the object allocator mutex.
+notes: null
params:
- description: |
is the object identifier to get the name.
diff --git a/spec/rtems/object/if/group.yml b/spec/rtems/object/if/group.yml
index 7ee11c0..80d9c80 100644
--- a/spec/rtems/object/if/group.yml
+++ b/spec/rtems/object/if/group.yml
@@ -20,8 +20,12 @@ links:
- role: placement-order
uid: build-id
- role: placement-order
+ uid: build-id-macro
+- role: placement-order
uid: build-name
- role: placement-order
+ uid: build-name-macro
+- role: placement-order
uid: get-classic-name
- role: placement-order
uid: get-name
@@ -30,16 +34,28 @@ links:
- role: placement-order
uid: id-get-api
- role: placement-order
+ uid: id-get-api-macro
+- role: placement-order
uid: id-get-class
- role: placement-order
+ uid: id-get-class-macro
+- role: placement-order
uid: id-get-node
- role: placement-order
+ uid: id-get-node-macro
+- role: placement-order
uid: id-get-index
- role: placement-order
+ uid: id-get-index-macro
+- role: placement-order
uid: id-api-minimum
- role: placement-order
+ uid: id-api-minimum-macro
+- role: placement-order
uid: id-api-maximum
- role: placement-order
+ uid: id-api-maximum-macro
+- role: placement-order
uid: api-minimum-class
- role: placement-order
uid: api-maximum-class
diff --git a/spec/rtems/object/if/id-api-maximum-macro.yml b/spec/rtems/object/if/id-api-maximum-macro.yml
new file mode 100644
index 0000000..173d68b
--- /dev/null
+++ b/spec/rtems/object/if/id-api-maximum-macro.yml
@@ -0,0 +1,22 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/object/if/apis-last:/name}
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+name: rtems_object_id_api_maximum
+notes: null
+params: []
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/object/if/id-api-maximum.yml b/spec/rtems/object/if/id-api-maximum.yml
index f09c0bf..6c2dd42 100644
--- a/spec/rtems/object/if/id-api-maximum.yml
+++ b/spec/rtems/object/if/id-api-maximum.yml
@@ -5,22 +5,27 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
- default: ${/score/object/if/apis-last:/name}
+ default:
+ attributes: null
+ body: null
+ params: []
+ return: int
variants: []
description: null
enabled-by: true
index-entries: []
-interface-type: macro
+interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-const
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_id_api_maximum
-notes: |
- This directive is strictly local and does not impact task scheduling.
-
- A body is also provided.
+notes: null
params: []
return:
return: |
diff --git a/spec/rtems/object/if/id-api-minimum-macro.yml b/spec/rtems/object/if/id-api-minimum-macro.yml
new file mode 100644
index 0000000..2f7cc68
--- /dev/null
+++ b/spec/rtems/object/if/id-api-minimum-macro.yml
@@ -0,0 +1,22 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/object/if/internal-api:/name}
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+name: rtems_object_id_api_minimum
+notes: null
+params: []
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/object/if/id-api-minimum.yml b/spec/rtems/object/if/id-api-minimum.yml
index 7d98946..948e3d1 100644
--- a/spec/rtems/object/if/id-api-minimum.yml
+++ b/spec/rtems/object/if/id-api-minimum.yml
@@ -5,22 +5,27 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
- default: ${/score/object/if/internal-api:/name}
+ default:
+ attributes: null
+ body: null
+ params: []
+ return: int
variants: []
description: null
enabled-by: true
index-entries: []
-interface-type: macro
+interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-const
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_id_api_minimum
-notes: |
- This directive is strictly local and does not impact task scheduling.
-
- A body is also provided.
+notes: null
params: []
return:
return: |
diff --git a/spec/rtems/object/if/id-get-api-macro.yml b/spec/rtems/object/if/id-get-api-macro.yml
new file mode 100644
index 0000000..dea6713
--- /dev/null
+++ b/spec/rtems/object/if/id-get-api-macro.yml
@@ -0,0 +1,25 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/object/if/get-api:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+name: rtems_object_id_get_api
+notes: null
+params:
+- description: null
+ dir: null
+ name: _id
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/object/if/id-get-api.yml b/spec/rtems/object/if/id-get-api.yml
index 4068cd7..0f0097f 100644
--- a/spec/rtems/object/if/id-get-api.yml
+++ b/spec/rtems/object/if/id-get-api.yml
@@ -5,30 +5,35 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
- default: ${/score/object/if/get-api:/name}( ${.:/params[0]/name} )
+ default:
+ attributes: null
+ body: null
+ params:
+ - ${../../type/if/id:/name} ${.:/params[0]/name}
+ return: int
variants: []
description: null
enabled-by: true
index-entries: []
-interface-type: macro
+interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-const
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_id_get_api
notes: |
- This directive is strictly local and does not impact task scheduling.
-
This directive does not validate the object identifier provided in
${.:/params[0]/name}.
-
- A body is also provided.
params:
- description: |
is the object identifier with the API component to get.
dir: null
- name: _id
+ name: id
return:
return: |
Returns the API component of the object identifier.
diff --git a/spec/rtems/object/if/id-get-class-macro.yml b/spec/rtems/object/if/id-get-class-macro.yml
new file mode 100644
index 0000000..9547b9b
--- /dev/null
+++ b/spec/rtems/object/if/id-get-class-macro.yml
@@ -0,0 +1,25 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/object/if/get-class:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+name: rtems_object_id_get_class
+notes: null
+params:
+- description: null
+ dir: null
+ name: _id
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/object/if/id-get-class.yml b/spec/rtems/object/if/id-get-class.yml
index 172b1d1..c6e440e 100644
--- a/spec/rtems/object/if/id-get-class.yml
+++ b/spec/rtems/object/if/id-get-class.yml
@@ -5,30 +5,35 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
- default: ${/score/object/if/get-class:/name}( ${.:/params[0]/name} )
+ default:
+ attributes: null
+ body: null
+ params:
+ - ${../../type/if/id:/name} ${.:/params[0]/name}
+ return: int
variants: []
description: null
enabled-by: true
index-entries: []
-interface-type: macro
+interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-const
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_id_get_class
notes: |
- This directive is strictly local and does not impact task scheduling.
-
This directive does not validate the object identifier provided in
${.:/params[0]/name}.
-
- A body is also provided.
params:
- description: |
is the object identifier with the class component to get.
dir: null
- name: _id
+ name: id
return:
return: |
Returns the class component of the object identifier.
diff --git a/spec/rtems/object/if/id-get-index-macro.yml b/spec/rtems/object/if/id-get-index-macro.yml
new file mode 100644
index 0000000..3b5b80d
--- /dev/null
+++ b/spec/rtems/object/if/id-get-index-macro.yml
@@ -0,0 +1,25 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/object/if/get-index:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+name: rtems_object_id_get_index
+notes: null
+params:
+- description: null
+ dir: null
+ name: _id
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/object/if/id-get-index.yml b/spec/rtems/object/if/id-get-index.yml
index 7b85033..218e487 100644
--- a/spec/rtems/object/if/id-get-index.yml
+++ b/spec/rtems/object/if/id-get-index.yml
@@ -5,30 +5,35 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
- default: ${/score/object/if/get-index:/name}( ${.:/params[0]/name} )
+ default:
+ attributes: null
+ body: null
+ params:
+ - ${../../type/if/id:/name} ${.:/params[0]/name}
+ return: int
variants: []
description: null
enabled-by: true
index-entries: []
-interface-type: macro
+interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-const
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_id_get_index
notes: |
- This directive is strictly local and does not impact task scheduling.
-
This directive does not validate the object identifier provided in
${.:/params[0]/name}.
-
- A body is also provided.
params:
- description: |
is the object identifier with the index component to get.
dir: null
- name: _id
+ name: id
return:
return: |
Returns the index component of the object identifier.
diff --git a/spec/rtems/object/if/id-get-node-macro.yml b/spec/rtems/object/if/id-get-node-macro.yml
new file mode 100644
index 0000000..fead805
--- /dev/null
+++ b/spec/rtems/object/if/id-get-node-macro.yml
@@ -0,0 +1,25 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/object/if/get-node:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+name: rtems_object_id_get_node
+notes: null
+params:
+- description: null
+ dir: null
+ name: _id
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/object/if/id-get-node.yml b/spec/rtems/object/if/id-get-node.yml
index 98f752e..664a8ed 100644
--- a/spec/rtems/object/if/id-get-node.yml
+++ b/spec/rtems/object/if/id-get-node.yml
@@ -5,30 +5,35 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
- default: ${/score/object/if/get-node:/name}( ${.:/params[0]/name} )
+ default:
+ attributes: null
+ body: null
+ params:
+ - ${../../type/if/id:/name} ${.:/params[0]/name}
+ return: int
variants: []
description: null
enabled-by: true
index-entries: []
-interface-type: macro
+interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-const
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: rtems_object_id_get_node
notes: |
- This directive is strictly local and does not impact task scheduling.
-
This directive does not validate the object identifier provided in
${.:/params[0]/name}.
-
- A body is also provided.
params:
- description: |
is the object identifier with the MPCI node component to get.
dir: null
- name: _id
+ name: id
return:
return: |
Returns the MPCI node component of the object identifier.
diff --git a/spec/rtems/object/if/id-initial.yml b/spec/rtems/object/if/id-initial.yml
index 33185b1..f57e472 100644
--- a/spec/rtems/object/if/id-initial.yml
+++ b/spec/rtems/object/if/id-initial.yml
@@ -18,9 +18,12 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-any
+- role: constraint
+ uid: /constraint/directive-no-preempt
name: RTEMS_OBJECT_ID_INITIAL
-notes: |
- This directive is strictly local and does not impact task scheduling.
+notes: null
params:
- description: |
is the API of the object identifier to build.
diff --git a/spec/rtems/object/if/set-name.yml b/spec/rtems/object/if/set-name.yml
index 6802d38..35f6fe5 100644
--- a/spec/rtems/object/if/set-name.yml
+++ b/spec/rtems/object/if/set-name.yml
@@ -23,11 +23,14 @@ links:
uid: header
- role: interface-ingroup
uid: group
+- role: constraint
+ uid: /constraint/directive-ctx-devinit
+- role: constraint
+ uid: /constraint/directive-ctx-task
+- role: constraint
+ uid: /constraint/object-allocator
name: rtems_object_set_name
notes: |
- This directive may cause the calling task to be preempted due to an obtain
- and release of the object allocator mutex.
-
This directive can be used to set the name of objects which do not have a
naming scheme per their API.
More information about the vc
mailing list