summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-27 11:40:06 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-28 10:38:23 +0200
commit08c0232545d9c673fab36a37d2cc9fa15fe7f007 (patch)
tree8e96f85be45991e62d5bc8a5810d671c9c2f7447
parentspec: Add interface-target link role (diff)
downloadrtems-central-08c0232545d9c673fab36a37d2cc9fa15fe7f007.tar.bz2
spec: Add interface domain items
-rw-r--r--config.yml8
-rw-r--r--rtemsqual/interface.py4
-rw-r--r--rtemsqual/tests/spec-interface/command-line.yml5
-rw-r--r--rtemsqual/tests/spec-interface/domain-abc.yml (renamed from spec/if/build-options/domain.yml)5
-rw-r--r--rtemsqual/tests/spec-interface/domain-c.yml (renamed from spec/if/compiler/domain.yml)5
-rw-r--r--rtemsqual/tests/spec-interface/domain-command-line.yml9
-rw-r--r--rtemsqual/tests/spec-interface/h.yml27
-rw-r--r--rtemsqual/tests/spec-interface/h2.yml7
-rw-r--r--rtemsqual/tests/spec-interface/h3.yml7
-rw-r--r--rtemsqual/tests/spec-interface/h4.yml7
-rw-r--r--rtemsqual/tests/spec-interface/math.yml7
-rw-r--r--rtemsqual/tests/spec-interface/stdint.yml7
-rw-r--r--rtemsqual/tests/test_interface.py2
-rw-r--r--spec/if/build-options/ada.yml2
-rw-r--r--spec/if/build-options/container.yml9
-rw-r--r--spec/if/build-options/cpuopts.yml5
-rw-r--r--spec/if/build-options/debug.yml2
-rw-r--r--spec/if/build-options/drvmgr.yml2
-rw-r--r--spec/if/build-options/multiprocessing.yml2
-rw-r--r--spec/if/build-options/networking.yml2
-rw-r--r--spec/if/build-options/paravirt.yml2
-rw-r--r--spec/if/build-options/posix.yml2
-rw-r--r--spec/if/build-options/profiling.yml2
-rw-r--r--spec/if/build-options/smp.yml2
-rw-r--r--spec/if/c/stdatomic.yml5
-rw-r--r--spec/if/c/stdbool.yml5
-rw-r--r--spec/if/c/stddef.yml5
-rw-r--r--spec/if/c/stdint.yml5
-rw-r--r--spec/if/c/string.yml5
-rw-r--r--spec/if/c/sys-types.yml5
-rw-r--r--spec/if/c/time.yml5
-rw-r--r--spec/if/compiler/builtin-choose-expr.yml2
-rw-r--r--spec/if/compiler/builtin-expect.yml2
-rw-r--r--spec/if/compiler/builtin-return-address.yml2
-rw-r--r--spec/if/compiler/builtin-types-compatible-p.yml2
-rw-r--r--spec/if/compiler/builtin-unreachable.yml2
-rw-r--r--spec/if/compiler/container.yml9
-rw-r--r--spec/if/compiler/cplusplus.yml2
-rw-r--r--spec/if/compiler/gnuc.yml2
-rw-r--r--spec/if/compiler/stdc-version.yml2
-rw-r--r--spec/if/compiler/typeof.yml2
-rw-r--r--spec/if/compiler/user-label-prefix.yml2
-rw-r--r--spec/if/domains/api.yml10
-rw-r--r--spec/if/domains/build-options.yml10
-rw-r--r--spec/if/domains/c.yml11
-rw-r--r--spec/if/domains/compiler.yml10
-rw-r--r--spec/if/domains/implementation.yml10
-rw-r--r--spec/if/domains/use.yml12
-rw-r--r--spec/if/impl/isr/header.yml5
-rw-r--r--spec/if/impl/memory/header.yml5
-rw-r--r--spec/if/impl/mpci/header.yml5
-rw-r--r--spec/if/impl/object/header.yml5
-rw-r--r--spec/if/impl/smp/header.yml5
-rw-r--r--spec/if/impl/stack/header.yml5
-rw-r--r--spec/if/impl/thread/header.yml5
-rw-r--r--spec/if/impl/userext/header.yml5
-rw-r--r--spec/if/impl/watchdog/header.yml5
-rw-r--r--spec/if/impl/wkspace/header.yml5
-rw-r--r--spec/if/rtems/basedefs/header.yml3
-rw-r--r--spec/if/rtems/config/header-2.yml5
-rw-r--r--spec/if/rtems/config/header.yml3
-rw-r--r--spec/if/rtems/init/header.yml5
-rw-r--r--spec/if/rtems/status/header.yml5
-rw-r--r--spec/if/rtems/types/header.yml5
-rw-r--r--spec/if/use/asm.yml2
-rw-r--r--spec/if/use/container.yml (renamed from spec/if/use/domain.yml)5
-rw-r--r--spec/if/use/false.yml2
-rw-r--r--spec/if/use/true.yml2
-rw-r--r--spec/spec/interface-container.yml11
-rw-r--r--spec/spec/interface-domain.yml33
-rw-r--r--spec/spec/interface-header-file.yml9
71 files changed, 278 insertions, 121 deletions
diff --git a/config.yml b/config.yml
index 49df14cc..5b340e52 100644
--- a/config.yml
+++ b/config.yml
@@ -81,11 +81,11 @@ validation:
base-directory: external/rtems
interface:
item-level-interfaces:
- - /if/build-options/domain
- - /if/compiler/domain
- - /if/use/domain
+ - /if/build-options/container
+ - /if/compiler/container
+ - /if/use/container
domains:
- rtems: external/rtems
+ /if/domains/api: external/rtems
spec-verification:
root-type: /spec/root
spec-documentation:
diff --git a/rtemsqual/interface.py b/rtemsqual/interface.py
index aa9c19ac..c8b93514 100644
--- a/rtemsqual/interface.py
+++ b/rtemsqual/interface.py
@@ -531,7 +531,9 @@ class _HeaderFile:
def _generate_header_file(item: Item, domains: Dict[str, str],
enabled_by_defined: Dict[str, str]) -> None:
- domain_path = domains.get(item["domain"], None)
+ domain = next(item.parents("interface-placement"))
+ assert domain["interface-type"] == "domain"
+ domain_path = domains.get(domain.uid, None)
if domain_path is None:
return
header_file = _HeaderFile(item, enabled_by_defined)
diff --git a/rtemsqual/tests/spec-interface/command-line.yml b/rtemsqual/tests/spec-interface/command-line.yml
index c45ba3dc..fede1644 100644
--- a/rtemsqual/tests/spec-interface/command-line.yml
+++ b/rtemsqual/tests/spec-interface/command-line.yml
@@ -2,7 +2,8 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
-domain: command-line
interface-type: command-line
-links: []
+links:
+- role: interface-placement
+ uid: domain-command-line
type: interface
diff --git a/spec/if/build-options/domain.yml b/rtemsqual/tests/spec-interface/domain-abc.yml
index c72dacb3..e878fb8c 100644
--- a/spec/if/build-options/domain.yml
+++ b/rtemsqual/tests/spec-interface/domain-abc.yml
@@ -1,8 +1,9 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: build-options
+description: ABC
enabled-by: true
-interface-type: container
+interface-type: domain
links: []
+name: ABC
type: interface
diff --git a/spec/if/compiler/domain.yml b/rtemsqual/tests/spec-interface/domain-c.yml
index ec7a6e9f..9eaea624 100644
--- a/spec/if/compiler/domain.yml
+++ b/rtemsqual/tests/spec-interface/domain-c.yml
@@ -1,8 +1,9 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: compiler
+description: C
enabled-by: true
-interface-type: container
+interface-type: domain
links: []
+name: C
type: interface
diff --git a/rtemsqual/tests/spec-interface/domain-command-line.yml b/rtemsqual/tests/spec-interface/domain-command-line.yml
new file mode 100644
index 00000000..ba2a3a42
--- /dev/null
+++ b/rtemsqual/tests/spec-interface/domain-command-line.yml
@@ -0,0 +1,9 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+description: Command Line
+enabled-by: true
+interface-type: domain
+links: []
+name: Command Line
+type: interface
diff --git a/rtemsqual/tests/spec-interface/h.yml b/rtemsqual/tests/spec-interface/h.yml
index d6198d2a..0733837a 100644
--- a/rtemsqual/tests/spec-interface/h.yml
+++ b/rtemsqual/tests/spec-interface/h.yml
@@ -2,26 +2,27 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: []
-domain: abc
-path: h.h
-prefix: include
interface-type: header-file
links:
-- role: interface-include
+- enabled-by: RTEMS_SMP
+ role: interface-include
uid: h2
- enabled-by: RTEMS_SMP
-- role: interface-include
+- enabled-by: []
+ role: interface-include
uid: h4
- enabled-by: []
-- role: interface-include
+- enabled-by: RTEMS_SMP
+ role: interface-include
uid: h4
- enabled-by: RTEMS_SMP
-- role: interface-include
+- enabled-by: ASM
+ role: interface-include
uid: h4
- enabled-by: ASM
-- role: interface-include
+- enabled-by: []
+ role: interface-include
uid: h4
- enabled-by: []
- role: other
uid: h4
+- role: interface-placement
+ uid: domain-abc
+path: h.h
+prefix: include
type: interface
diff --git a/rtemsqual/tests/spec-interface/h2.yml b/rtemsqual/tests/spec-interface/h2.yml
index 4872b4b6..194e182e 100644
--- a/rtemsqual/tests/spec-interface/h2.yml
+++ b/rtemsqual/tests/spec-interface/h2.yml
@@ -3,9 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by:
not: ASM
-domain: abc
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: domain-abc
path: h2.h
prefix: include
-interface-type: header-file
-links: []
type: interface
diff --git a/rtemsqual/tests/spec-interface/h3.yml b/rtemsqual/tests/spec-interface/h3.yml
index f8cdd99a..fc61a1a5 100644
--- a/rtemsqual/tests/spec-interface/h3.yml
+++ b/rtemsqual/tests/spec-interface/h3.yml
@@ -2,9 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
-domain: abc
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: domain-abc
path: h3.h
prefix: include
-interface-type: header-file
-links: []
type: interface
diff --git a/rtemsqual/tests/spec-interface/h4.yml b/rtemsqual/tests/spec-interface/h4.yml
index e6c89d69..6233efe5 100644
--- a/rtemsqual/tests/spec-interface/h4.yml
+++ b/rtemsqual/tests/spec-interface/h4.yml
@@ -2,9 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
-domain: abc
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: domain-abc
path: h4.h
prefix: include
-interface-type: header-file
-links: []
type: interface
diff --git a/rtemsqual/tests/spec-interface/math.yml b/rtemsqual/tests/spec-interface/math.yml
index b99493f1..020449fa 100644
--- a/rtemsqual/tests/spec-interface/math.yml
+++ b/rtemsqual/tests/spec-interface/math.yml
@@ -2,9 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
-domain: c
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: domain-c
path: math.h
prefix: null
-interface-type: header-file
-links: []
type: interface
diff --git a/rtemsqual/tests/spec-interface/stdint.yml b/rtemsqual/tests/spec-interface/stdint.yml
index 961a6232..559202c3 100644
--- a/rtemsqual/tests/spec-interface/stdint.yml
+++ b/rtemsqual/tests/spec-interface/stdint.yml
@@ -2,9 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
-domain: c
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: domain-c
path: stdint.h
prefix: null
-interface-type: header-file
-links: []
type: interface
diff --git a/rtemsqual/tests/test_interface.py b/rtemsqual/tests/test_interface.py
index cfbedbd2..26c0c15b 100644
--- a/rtemsqual/tests/test_interface.py
+++ b/rtemsqual/tests/test_interface.py
@@ -36,7 +36,7 @@ def test_interface(tmpdir):
interface_config = {}
interface_config["item-level-interfaces"] = []
base_directory = os.path.join(tmpdir, "base")
- interface_domains = {"abc": base_directory}
+ interface_domains = {"/domain-abc": base_directory}
interface_config["domains"] = interface_domains
generate(interface_config, EmptyItemCache())
diff --git a/spec/if/build-options/ada.yml b/spec/if/build-options/ada.yml
index 9262e30f..9f5cf9aa 100644
--- a/spec/if/build-options/ada.yml
+++ b/spec/if/build-options/ada.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __RTEMS_ADA__
type: interface
diff --git a/spec/if/build-options/container.yml b/spec/if/build-options/container.yml
new file mode 100644
index 00000000..f0e130ab
--- /dev/null
+++ b/spec/if/build-options/container.yml
@@ -0,0 +1,9 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: container
+links:
+- role: interface-placement
+ uid: /if/domains/build-options
+type: interface
diff --git a/spec/if/build-options/cpuopts.yml b/spec/if/build-options/cpuopts.yml
index 7cc95f30..599881ce 100644
--- a/spec/if/build-options/cpuopts.yml
+++ b/spec/if/build-options/cpuopts.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: build-options
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/build-options
path: rtems/score/cpuopts.h
prefix: ''
type: interface
diff --git a/spec/if/build-options/debug.yml b/spec/if/build-options/debug.yml
index 3d9054ca..7f29fa51 100644
--- a/spec/if/build-options/debug.yml
+++ b/spec/if/build-options/debug.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: RTEMS_DEBUG
type: interface
diff --git a/spec/if/build-options/drvmgr.yml b/spec/if/build-options/drvmgr.yml
index 38ea9a9a..14587452 100644
--- a/spec/if/build-options/drvmgr.yml
+++ b/spec/if/build-options/drvmgr.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: RTEMS_DRVMGR_STARTUP
type: interface
diff --git a/spec/if/build-options/multiprocessing.yml b/spec/if/build-options/multiprocessing.yml
index cbd1c3c8..64774b79 100644
--- a/spec/if/build-options/multiprocessing.yml
+++ b/spec/if/build-options/multiprocessing.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: RTEMS_MULTIPROCESSING
type: interface
diff --git a/spec/if/build-options/networking.yml b/spec/if/build-options/networking.yml
index 25067ed3..25c6bad5 100644
--- a/spec/if/build-options/networking.yml
+++ b/spec/if/build-options/networking.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: RTEMS_NETWORKING
type: interface
diff --git a/spec/if/build-options/paravirt.yml b/spec/if/build-options/paravirt.yml
index 6a66b5c9..fd450a92 100644
--- a/spec/if/build-options/paravirt.yml
+++ b/spec/if/build-options/paravirt.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: RTEMS_PARAVIRT
type: interface
diff --git a/spec/if/build-options/posix.yml b/spec/if/build-options/posix.yml
index fc03bd2c..b2e4d495 100644
--- a/spec/if/build-options/posix.yml
+++ b/spec/if/build-options/posix.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: RTEMS_POSIX_API
type: interface
diff --git a/spec/if/build-options/profiling.yml b/spec/if/build-options/profiling.yml
index 5d984f71..3d10040f 100644
--- a/spec/if/build-options/profiling.yml
+++ b/spec/if/build-options/profiling.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: RTEMS_PROFILING
type: interface
diff --git a/spec/if/build-options/smp.yml b/spec/if/build-options/smp.yml
index 8873c9f6..8ffa436b 100644
--- a/spec/if/build-options/smp.yml
+++ b/spec/if/build-options/smp.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: RTEMS_SMP
type: interface
diff --git a/spec/if/c/stdatomic.yml b/spec/if/c/stdatomic.yml
index 408c9841..51cd368d 100644
--- a/spec/if/c/stdatomic.yml
+++ b/spec/if/c/stdatomic.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: c
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/c
path: stdatomic.h
prefix: ''
type: interface
diff --git a/spec/if/c/stdbool.yml b/spec/if/c/stdbool.yml
index 90b188ab..ec8bae06 100644
--- a/spec/if/c/stdbool.yml
+++ b/spec/if/c/stdbool.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: c
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/c
path: stdbool.h
prefix: ''
type: interface
diff --git a/spec/if/c/stddef.yml b/spec/if/c/stddef.yml
index fd3a0289..9e07ec76 100644
--- a/spec/if/c/stddef.yml
+++ b/spec/if/c/stddef.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: c
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/c
path: stddef.h
prefix: ''
type: interface
diff --git a/spec/if/c/stdint.yml b/spec/if/c/stdint.yml
index 2a299a3d..1cbb808f 100644
--- a/spec/if/c/stdint.yml
+++ b/spec/if/c/stdint.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: c
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/c
path: stdint.h
prefix: ''
type: interface
diff --git a/spec/if/c/string.yml b/spec/if/c/string.yml
index c8ff3315..0dc3dcf7 100644
--- a/spec/if/c/string.yml
+++ b/spec/if/c/string.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: c
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/c
path: string.h
prefix: ''
type: interface
diff --git a/spec/if/c/sys-types.yml b/spec/if/c/sys-types.yml
index d31c2214..012db722 100644
--- a/spec/if/c/sys-types.yml
+++ b/spec/if/c/sys-types.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: c
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/c
path: sys/types.h
prefix: ''
type: interface
diff --git a/spec/if/c/time.yml b/spec/if/c/time.yml
index d003e84d..67389bb1 100644
--- a/spec/if/c/time.yml
+++ b/spec/if/c/time.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: c
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/c
path: time.h
prefix: ''
type: interface
diff --git a/spec/if/compiler/builtin-choose-expr.yml b/spec/if/compiler/builtin-choose-expr.yml
index 0da04de1..04748428 100644
--- a/spec/if/compiler/builtin-choose-expr.yml
+++ b/spec/if/compiler/builtin-choose-expr.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __builtin_choose_expr
type: interface
diff --git a/spec/if/compiler/builtin-expect.yml b/spec/if/compiler/builtin-expect.yml
index 86c5752f..abaabb96 100644
--- a/spec/if/compiler/builtin-expect.yml
+++ b/spec/if/compiler/builtin-expect.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __builtin_expect
type: interface
diff --git a/spec/if/compiler/builtin-return-address.yml b/spec/if/compiler/builtin-return-address.yml
index 21c45a1d..97f050fe 100644
--- a/spec/if/compiler/builtin-return-address.yml
+++ b/spec/if/compiler/builtin-return-address.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __builtin_return_address
type: interface
diff --git a/spec/if/compiler/builtin-types-compatible-p.yml b/spec/if/compiler/builtin-types-compatible-p.yml
index 61f65b42..1a5e8996 100644
--- a/spec/if/compiler/builtin-types-compatible-p.yml
+++ b/spec/if/compiler/builtin-types-compatible-p.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __builtin_types_compatible_p
type: interface
diff --git a/spec/if/compiler/builtin-unreachable.yml b/spec/if/compiler/builtin-unreachable.yml
index 5a1f27fc..d333ec21 100644
--- a/spec/if/compiler/builtin-unreachable.yml
+++ b/spec/if/compiler/builtin-unreachable.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __builtin_unreachable
type: interface
diff --git a/spec/if/compiler/container.yml b/spec/if/compiler/container.yml
new file mode 100644
index 00000000..82155fce
--- /dev/null
+++ b/spec/if/compiler/container.yml
@@ -0,0 +1,9 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: container
+links:
+- role: interface-placement
+ uid: /if/domains/compiler
+type: interface
diff --git a/spec/if/compiler/cplusplus.yml b/spec/if/compiler/cplusplus.yml
index f2380842..589f8399 100644
--- a/spec/if/compiler/cplusplus.yml
+++ b/spec/if/compiler/cplusplus.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __cplusplus
type: interface
diff --git a/spec/if/compiler/gnuc.yml b/spec/if/compiler/gnuc.yml
index 4b99d9de..6a572b6a 100644
--- a/spec/if/compiler/gnuc.yml
+++ b/spec/if/compiler/gnuc.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __GNUC__
type: interface
diff --git a/spec/if/compiler/stdc-version.yml b/spec/if/compiler/stdc-version.yml
index f658cc8a..da1b22a5 100644
--- a/spec/if/compiler/stdc-version.yml
+++ b/spec/if/compiler/stdc-version.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __STDC_VERSION__
type: interface
diff --git a/spec/if/compiler/typeof.yml b/spec/if/compiler/typeof.yml
index 1e57b926..5e8c515e 100644
--- a/spec/if/compiler/typeof.yml
+++ b/spec/if/compiler/typeof.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __typeof__
type: interface
diff --git a/spec/if/compiler/user-label-prefix.yml b/spec/if/compiler/user-label-prefix.yml
index 29487075..ca92dc16 100644
--- a/spec/if/compiler/user-label-prefix.yml
+++ b/spec/if/compiler/user-label-prefix.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: __USER_LABEL_PREFIX__
type: interface
diff --git a/spec/if/domains/api.yml b/spec/if/domains/api.yml
new file mode 100644
index 00000000..d10b7228
--- /dev/null
+++ b/spec/if/domains/api.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+description: |
+ This interface domain contains the API of the system.
+enabled-by: true
+interface-type: domain
+links: []
+name: Application Programming Interface
+type: interface
diff --git a/spec/if/domains/build-options.yml b/spec/if/domains/build-options.yml
new file mode 100644
index 00000000..d03f8e77
--- /dev/null
+++ b/spec/if/domains/build-options.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+description: |
+ This interface domain contains interfaces provided by the build system.
+enabled-by: true
+interface-type: domain
+links: []
+name: Build Options
+type: interface
diff --git a/spec/if/domains/c.yml b/spec/if/domains/c.yml
new file mode 100644
index 00000000..b49867da
--- /dev/null
+++ b/spec/if/domains/c.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+description: |
+ This interface domain contains standard interfaces of the C programming
+ language.
+enabled-by: true
+interface-type: domain
+links: []
+name: C Language
+type: interface
diff --git a/spec/if/domains/compiler.yml b/spec/if/domains/compiler.yml
new file mode 100644
index 00000000..fb6e4835
--- /dev/null
+++ b/spec/if/domains/compiler.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+description: |
+ This interface domain contains interfaces provided by the compiler.
+enabled-by: true
+interface-type: domain
+links: []
+name: Compiler
+type: interface
diff --git a/spec/if/domains/implementation.yml b/spec/if/domains/implementation.yml
new file mode 100644
index 00000000..eebf7f4c
--- /dev/null
+++ b/spec/if/domains/implementation.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+description: |
+ This interface domain contains the implementation of the system.
+enabled-by: true
+interface-type: domain
+links: []
+name: Implementation
+type: interface
diff --git a/spec/if/domains/use.yml b/spec/if/domains/use.yml
new file mode 100644
index 00000000..6659058b
--- /dev/null
+++ b/spec/if/domains/use.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+description: |
+ This interface domain contains interfaces provided during the use of an
+ interface. For example, defines provided by the user for an included header
+ file.
+enabled-by: true
+interface-type: domain
+links: []
+name: Use of Interface
+type: interface
diff --git a/spec/if/impl/isr/header.yml b/spec/if/impl/isr/header.yml
index d3c749df..c2af6a0c 100644
--- a/spec/if/impl/isr/header.yml
+++ b/spec/if/impl/isr/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/isr.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/impl/memory/header.yml b/spec/if/impl/memory/header.yml
index a84a546c..090fd915 100644
--- a/spec/if/impl/memory/header.yml
+++ b/spec/if/impl/memory/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/memory.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/impl/mpci/header.yml b/spec/if/impl/mpci/header.yml
index c96fec45..724493a0 100644
--- a/spec/if/impl/mpci/header.yml
+++ b/spec/if/impl/mpci/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/mpci.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/impl/object/header.yml b/spec/if/impl/object/header.yml
index 7ca6f731..2f5b95e8 100644
--- a/spec/if/impl/object/header.yml
+++ b/spec/if/impl/object/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/object.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/impl/smp/header.yml b/spec/if/impl/smp/header.yml
index 738565eb..a84ccb01 100644
--- a/spec/if/impl/smp/header.yml
+++ b/spec/if/impl/smp/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/smp.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/impl/stack/header.yml b/spec/if/impl/stack/header.yml
index 77de362a..17fa086d 100644
--- a/spec/if/impl/stack/header.yml
+++ b/spec/if/impl/stack/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/stack.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/impl/thread/header.yml b/spec/if/impl/thread/header.yml
index 2e94df49..744b844f 100644
--- a/spec/if/impl/thread/header.yml
+++ b/spec/if/impl/thread/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/threadidledata.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/impl/userext/header.yml b/spec/if/impl/userext/header.yml
index 39c8c3bd..6c046dfc 100644
--- a/spec/if/impl/userext/header.yml
+++ b/spec/if/impl/userext/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/userextdata.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/impl/watchdog/header.yml b/spec/if/impl/watchdog/header.yml
index fc20cc9c..1fe027f9 100644
--- a/spec/if/impl/watchdog/header.yml
+++ b/spec/if/impl/watchdog/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/watchdogticks.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/impl/wkspace/header.yml b/spec/if/impl/wkspace/header.yml
index 86ede892..33655aa4 100644
--- a/spec/if/impl/wkspace/header.yml
+++ b/spec/if/impl/wkspace/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: implementation
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/implementation
path: rtems/score/wkspacedata.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/rtems/basedefs/header.yml b/spec/if/rtems/basedefs/header.yml
index 760ce111..6d5c5d26 100644
--- a/spec/if/rtems/basedefs/header.yml
+++ b/spec/if/rtems/basedefs/header.yml
@@ -1,7 +1,6 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: rtems
enabled-by: true
interface-type: header-file
links:
@@ -20,6 +19,8 @@ links:
not: ASM
role: interface-include
uid: /if/c/stdint
+- role: interface-placement
+ uid: /if/domains/api
path: rtems/score/basedefs.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/rtems/config/header-2.yml b/spec/if/rtems/config/header-2.yml
index 22e77a43..b06134c2 100644
--- a/spec/if/rtems/config/header-2.yml
+++ b/spec/if/rtems/config/header-2.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: rtems
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/api
path: rtems/rtems/config.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/rtems/config/header.yml b/spec/if/rtems/config/header.yml
index 1e1041d6..69259113 100644
--- a/spec/if/rtems/config/header.yml
+++ b/spec/if/rtems/config/header.yml
@@ -1,7 +1,6 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: rtems
enabled-by: true
interface-type: header-file
links:
@@ -11,6 +10,8 @@ links:
- enabled-by: RTEMS_MULTIPROCESSING
role: interface-include
uid: /if/rtems/types/header
+- role: interface-placement
+ uid: /if/domains/api
path: rtems/config.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/rtems/init/header.yml b/spec/if/rtems/init/header.yml
index 6128dace..7ddadca7 100644
--- a/spec/if/rtems/init/header.yml
+++ b/spec/if/rtems/init/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: rtems
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/api
path: rtems/init.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/rtems/status/header.yml b/spec/if/rtems/status/header.yml
index 54ce85e3..63610f04 100644
--- a/spec/if/rtems/status/header.yml
+++ b/spec/if/rtems/status/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: rtems
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/api
path: rtems/rtems/status.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/rtems/types/header.yml b/spec/if/rtems/types/header.yml
index 2aa7e185..476f40f6 100644
--- a/spec/if/rtems/types/header.yml
+++ b/spec/if/rtems/types/header.yml
@@ -1,10 +1,11 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: rtems
enabled-by: true
interface-type: header-file
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/api
path: rtems/rtems/types.h
prefix: cpukit/include
type: interface
diff --git a/spec/if/use/asm.yml b/spec/if/use/asm.yml
index 347a2ab3..a483aed0 100644
--- a/spec/if/use/asm.yml
+++ b/spec/if/use/asm.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: ASM
type: interface
diff --git a/spec/if/use/domain.yml b/spec/if/use/container.yml
index 2ac89c2e..66eded48 100644
--- a/spec/if/use/domain.yml
+++ b/spec/if/use/container.yml
@@ -1,8 +1,9 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-domain: use
enabled-by: true
interface-type: container
-links: []
+links:
+- role: interface-placement
+ uid: /if/domains/use
type: interface
diff --git a/spec/if/use/false.yml b/spec/if/use/false.yml
index 83f37cfa..5d27e1e6 100644
--- a/spec/if/use/false.yml
+++ b/spec/if/use/false.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: 'FALSE'
type: interface
diff --git a/spec/if/use/true.yml b/spec/if/use/true.yml
index 0b016fef..97780774 100644
--- a/spec/if/use/true.yml
+++ b/spec/if/use/true.yml
@@ -5,6 +5,6 @@ enabled-by: true
interface-type: unspecified
links:
- role: interface-placement
- uid: domain
+ uid: container
name: 'TRUE'
type: interface
diff --git a/spec/spec/interface-container.yml b/spec/spec/interface-container.yml
index 9a1ea2b9..8106ea06 100644
--- a/spec/spec/interface-container.yml
+++ b/spec/spec/interface-container.yml
@@ -13,13 +13,12 @@ spec-description: null
spec-example: null
spec-info:
dict:
- attributes:
- domain:
- description: |
- It shall be the interface domain name.
- spec-type: str
+ attributes: {}
description: |
- This set of attributes specifies an interface container.
+ Items of this type specify an interface container. The item shall have
+ exactly one link with the :ref:`SpecTypeInterfacePlacementLinkRole` to an
+ :ref:`SpecTypeInterfaceDomainItemType` item. This link defines the
+ interface domain of the container.
required-attributes: all
spec-name: Interface Container Item Type
spec-type: interface-container
diff --git a/spec/spec/interface-domain.yml b/spec/spec/interface-domain.yml
new file mode 100644
index 00000000..327b05ba
--- /dev/null
+++ b/spec/spec/interface-domain.yml
@@ -0,0 +1,33 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: interface-type
+ spec-value: domain
+ uid: interface
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ description:
+ description: |
+ It shall be the description of the domain
+ spec-type: str
+ name:
+ description: |
+ It shall be the human readable name of the domain.
+ spec-type: str
+ description: |
+ This set of attributes specifies an interface domain. Items of the types
+ :ref:`SpecTypeInterfaceContainerItemType` and
+ :ref:`SpecTypeInterfaceHeaderFileItemType` are placed into domains
+ through links with the :ref:`SpecTypeInterfacePlacementLinkRole`.
+ required-attributes: all
+spec-name: Interface Domain Item Type
+spec-type: interface-domain
+type: spec
diff --git a/spec/spec/interface-header-file.yml b/spec/spec/interface-header-file.yml
index 4accb1c0..105e441d 100644
--- a/spec/spec/interface-header-file.yml
+++ b/spec/spec/interface-header-file.yml
@@ -14,10 +14,6 @@ spec-example: null
spec-info:
dict:
attributes:
- domain:
- description: |
- It shall be the interface domain name.
- spec-type: str
path:
description: |
It shall be the path used to include the header file. For example
@@ -29,7 +25,10 @@ spec-info:
interface domain. For example :file:`cpukit/include`.
spec-type: str
description: |
- This set of attributes specifies a header file.
+ This set of attributes specifies a header file. The item shall have
+ exactly one link with the :ref:`SpecTypeInterfacePlacementLinkRole` to an
+ :ref:`SpecTypeInterfaceDomainItemType` item. This link defines the
+ interface domain of the header file.
required-attributes: all
spec-name: Interface Header File Item Type
spec-type: interface-header-file