summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-05-05 14:41:19 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-05-09 14:02:19 +0200
commitb09435ee59638510886ecb2df48c881fb58bd109 (patch)
tree2f5a082a7bbf3e5e310abb493644efbd3bc64bb3
parentspec: Reference types in construct directives (diff)
downloadrtems-central-b09435ee59638510886ecb2df48c881fb58bd109.tar.bz2
interfacedoc: Generate type documentation
-rw-r--r--config.yml6
-rw-r--r--rtemsspec/interface.py4
-rw-r--r--rtemsspec/interfacedoc.py110
-rw-r--r--rtemsspec/sphinxcontent.py60
-rw-r--r--rtemsspec/tests/spec-interface/asm.yml2
-rw-r--r--rtemsspec/tests/spec-interface/c/if/uint32_t.yml2
-rw-r--r--rtemsspec/tests/spec-interface/command-line-other.yml2
-rw-r--r--rtemsspec/tests/spec-interface/command-line.yml2
-rw-r--r--rtemsspec/tests/spec-interface/constraint-a.yml2
-rw-r--r--rtemsspec/tests/spec-interface/constraint/other.yml9
-rw-r--r--rtemsspec/tests/spec-interface/constraint/type-opaque.yml9
-rw-r--r--rtemsspec/tests/spec-interface/define-a.yml2
-rw-r--r--rtemsspec/tests/spec-interface/define-b.yml2
-rw-r--r--rtemsspec/tests/spec-interface/define-c.yml2
-rw-r--r--rtemsspec/tests/spec-interface/define.yml2
-rw-r--r--rtemsspec/tests/spec-interface/domain-abc.yml2
-rw-r--r--rtemsspec/tests/spec-interface/domain-c.yml2
-rw-r--r--rtemsspec/tests/spec-interface/domain-command-line.yml2
-rw-r--r--rtemsspec/tests/spec-interface/enum.yml2
-rw-r--r--rtemsspec/tests/spec-interface/enum2.yml2
-rw-r--r--rtemsspec/tests/spec-interface/enum3.yml2
-rw-r--r--rtemsspec/tests/spec-interface/enum4.yml2
-rw-r--r--rtemsspec/tests/spec-interface/enumerator-0.yml2
-rw-r--r--rtemsspec/tests/spec-interface/enumerator-1.yml2
-rw-r--r--rtemsspec/tests/spec-interface/enumerator-2.yml2
-rw-r--r--rtemsspec/tests/spec-interface/enumerator-a.yml2
-rw-r--r--rtemsspec/tests/spec-interface/enumerator-b.yml2
-rw-r--r--rtemsspec/tests/spec-interface/float_t.yml2
-rw-r--r--rtemsspec/tests/spec-interface/forward-decl.yml2
-rw-r--r--rtemsspec/tests/spec-interface/func.yml2
-rw-r--r--rtemsspec/tests/spec-interface/func2.yml2
-rw-r--r--rtemsspec/tests/spec-interface/func3.yml2
-rw-r--r--rtemsspec/tests/spec-interface/func4.yml2
-rw-r--r--rtemsspec/tests/spec-interface/func5.yml2
-rw-r--r--rtemsspec/tests/spec-interface/func6.yml2
-rw-r--r--rtemsspec/tests/spec-interface/ga.yml2
-rw-r--r--rtemsspec/tests/spec-interface/gb.yml2
-rw-r--r--rtemsspec/tests/spec-interface/gc.yml2
-rw-r--r--rtemsspec/tests/spec-interface/ge.yml2
-rw-r--r--rtemsspec/tests/spec-interface/gf.yml2
-rw-r--r--rtemsspec/tests/spec-interface/h.yml2
-rw-r--r--rtemsspec/tests/spec-interface/h2.yml2
-rw-r--r--rtemsspec/tests/spec-interface/h3.yml2
-rw-r--r--rtemsspec/tests/spec-interface/h4.yml2
-rw-r--r--rtemsspec/tests/spec-interface/irqamp-timestamp.yml2
-rw-r--r--rtemsspec/tests/spec-interface/irqamp.yml2
-rw-r--r--rtemsspec/tests/spec-interface/macro.yml2
-rw-r--r--rtemsspec/tests/spec-interface/macro2.yml2
-rw-r--r--rtemsspec/tests/spec-interface/macro3.yml2
-rw-r--r--rtemsspec/tests/spec-interface/math.yml2
-rw-r--r--rtemsspec/tests/spec-interface/option.yml2
-rw-r--r--rtemsspec/tests/spec-interface/register-block-no-size.yml2
-rw-r--r--rtemsspec/tests/spec-interface/s.yml2
-rw-r--r--rtemsspec/tests/spec-interface/s2.yml30
-rw-r--r--rtemsspec/tests/spec-interface/smp.yml2
-rw-r--r--rtemsspec/tests/spec-interface/stdint.yml2
-rw-r--r--rtemsspec/tests/spec-interface/td.yml2
-rw-r--r--rtemsspec/tests/spec-interface/td3.yml2
-rw-r--r--rtemsspec/tests/spec-interface/u.yml2
-rw-r--r--rtemsspec/tests/spec-interface/uint32_t.yml2
-rw-r--r--rtemsspec/tests/spec-interface/var.yml2
-rw-r--r--rtemsspec/tests/spec-sphinx/s.yml14
-rw-r--r--rtemsspec/tests/test_content_sphinx.py1
-rw-r--r--rtemsspec/tests/test_interface.py30
-rw-r--r--rtemsspec/tests/test_interfacedoc.py224
65 files changed, 517 insertions, 88 deletions
diff --git a/config.yml b/config.yml
index 975f9f6d..82ef9bd4 100644
--- a/config.yml
+++ b/config.yml
@@ -195,6 +195,12 @@ interface-documentation:
- directives-target: modules/rtems-docs/c-user/rate-monotonic/directives.rst
group: /rtems/ratemon/if/group
introduction-target: modules/rtems-docs/c-user/rate-monotonic/introduction.rst
+ types:
+ domains:
+ - /if/domain
+ groups:
+ - /rtems/type/if/group
+ target: modules/rtems-docs/c-user/rtems_data_types.rst
spec-verification:
root-type: /spec/root
spec-documentation:
diff --git a/rtemsspec/interface.py b/rtemsspec/interface.py
index 6a11f1c3..10ecf40a 100644
--- a/rtemsspec/interface.py
+++ b/rtemsspec/interface.py
@@ -267,10 +267,12 @@ def _get_register_name(definition: Dict[str, Any]) -> Tuple[str, str]:
_CONSTRAINT_TARGET = {
- "interface/function": "this directive",
"interface/define": "this constant",
+ "interface/function": "this directive",
"interface/macro": "this directive",
+ "interface/struct": "this structure",
"interface/typedef": "functions of this type",
+ "interface/union": "this union",
"interface/variable": "this object",
}
diff --git a/rtemsspec/interfacedoc.py b/rtemsspec/interfacedoc.py
index 02242227..b9d52845 100644
--- a/rtemsspec/interfacedoc.py
+++ b/rtemsspec/interfacedoc.py
@@ -28,7 +28,7 @@ This module provides functions for the generation of interface documentation.
import functools
import os
-from typing import Any, Dict, List, Tuple
+from typing import Any, Dict, List, Optional, Tuple
from rtemsspec.content import CContent, get_value_compound, \
get_value_forward_declaration, get_value_unspecified_type
@@ -128,6 +128,14 @@ def _add_definition(content: CContent, mapper: ItemMapper, item: Item,
add_definition(content, mapper, item, definition)
+def _add_text(content: SphinxContent, mapper: ItemMapper, item: Item,
+ key: str) -> None:
+ text = item[key]
+ if text:
+ content.add(f".. rubric:: {key.upper()}:")
+ content.wrap(mapper.substitute(text))
+
+
def _document_directive(content: SphinxContent, mapper: ItemMapper,
code_mapper: CodeMapper, item: Item,
enabled: List[str]) -> None:
@@ -147,9 +155,7 @@ def _document_directive(content: SphinxContent, mapper: ItemMapper,
f"``{sanitize_name(param['name'])}``",
mapper.substitute(f"This parameter {description}"),
wrap=True)
- if item["description"]:
- content.add_rubric("DESCRIPTION:")
- content.wrap(mapper.substitute(item["description"]))
+ _add_text(content, mapper, item, "description")
ret = item["return"]
if ret:
content.add_rubric("RETURN VALUES:")
@@ -163,9 +169,7 @@ def _document_directive(content: SphinxContent, mapper: ItemMapper,
retval["description"]),
wrap=True)
content.wrap(mapper.substitute(ret["return"]))
- if item["notes"]:
- content.add_rubric("NOTES:")
- content.wrap(mapper.substitute(item["notes"]))
+ _add_text(content, mapper, item, "notes")
constraints = [
mapper.substitute(parent["text"], parent)
for parent in item.parents("constraint") if parent.is_enabled(enabled)
@@ -227,6 +231,96 @@ def _directive_key(order: List[Item], item: Item) -> Tuple[int, str]:
return (index, item.uid)
+def _add_type_definition(definition: Any, mapper: SphinxInterfaceMapper,
+ content: SphinxContent) -> None:
+ text = definition["brief"].strip()
+ if definition["description"]:
+ text += "\n" + definition["description"].strip()
+ content.add_definition_item(definition["name"],
+ mapper.substitute(text),
+ wrap=True)
+
+
+def _type_compound(item: Item, mapper: SphinxInterfaceMapper,
+ content: SphinxContent) -> None:
+ content.add(".. rubric:: MEMBERS:")
+ for member in item["definition"]:
+ _add_type_definition(member["default"], mapper, content)
+
+
+def _type_enum(item: Item, mapper: SphinxInterfaceMapper,
+ content: SphinxContent) -> None:
+ content.add(".. rubric:: ENUMERATORS:")
+ for enumerator in item.parents("interface-enumerator"):
+ _add_type_definition(enumerator, mapper, content)
+
+
+def _type_nop(_item: Item, _mapper: SphinxInterfaceMapper,
+ _content: SphinxContent) -> None:
+ pass
+
+
+_TYPE_GENERATORS = {
+ "interface/enum": _type_enum,
+ "interface/struct": _type_compound,
+ "interface/typedef": _type_nop,
+ "interface/union": _type_compound
+}
+
+
+def _gather_types(item: Item, types: List[Item]) -> None:
+ for child in item.children("interface-placement"):
+ if child.type in _TYPE_GENERATORS:
+ types.append(child)
+ _gather_types(child, types)
+
+
+def _is_opaque_type(item: Item) -> Optional[Item]:
+ for constraint in item.parents("constraint"):
+ if constraint.uid == "/constraint/type-opaque":
+ return constraint
+ return None
+
+
+def _generate_types(config: dict, group_uids: List[str],
+ item_cache: ItemCache) -> None:
+ types: List[Item] = []
+ for domain in config["domains"]:
+ _gather_types(item_cache[domain], types)
+ content = SphinxContent()
+ content.add_automatically_generated_warning()
+ content.add_index_entries(["RTEMS Data Types", "data types"])
+ content.add_header("RTEMS Data Types", level=1)
+ with content.section("Introduction"):
+ content.wrap("""This chapter contains a complete list of the RTEMS
+primitive data types in alphabetical order. This is intended to be an overview
+and the user is encouraged to look at the appropriate chapters in the manual
+for more information about the usage of the various data types.""")
+
+ with content.section("List of Data Types"):
+ content.wrap(
+ "The following is a complete list of the RTEMS primitive data "
+ "types in alphabetical order:")
+ for item in sorted(types, key=lambda x: x["name"]):
+ content.register_license_and_copyrights_of_item(item)
+ content.add(f".. Generated from spec:{item.uid}")
+ name = item["name"]
+ content.add_index_entries([name] + item["index-entries"])
+ with content.section(name, label=make_label(f"Interface {name}")):
+ mapper = SphinxInterfaceMapper(item, group_uids)
+ content.wrap(mapper.substitute(item["brief"]))
+ constraint = _is_opaque_type(item)
+ if constraint is None:
+ _TYPE_GENERATORS[item.type](item, mapper, content)
+ else:
+ content.add(".. rubric:: MEMBERS:")
+ content.wrap(mapper.substitute(constraint["text"]))
+ _add_text(content, mapper, item, "description")
+ _add_text(content, mapper, item, "notes")
+ content.add_licence_and_copyrights()
+ content.write(config["target"])
+
+
def generate(config: dict, item_cache: ItemCache) -> None:
"""
Generates interface documentation according to the configuration.
@@ -237,6 +331,7 @@ def generate(config: dict, item_cache: ItemCache) -> None:
groups = config["groups"]
enabled = config["enabled"]
group_uids = [doc_config["group"] for doc_config in groups]
+ group_uids.extend(uid for uid in config["types"]["groups"])
for doc_config in groups:
items: List[Item] = []
group = item_cache[doc_config["group"]]
@@ -250,3 +345,4 @@ def generate(config: dict, item_cache: ItemCache) -> None:
group_uids, items)
_generate_directives(doc_config["directives-target"], group,
group_uids, items, enabled)
+ _generate_types(config["types"], group_uids, item_cache)
diff --git a/rtemsspec/sphinxcontent.py b/rtemsspec/sphinxcontent.py
index 18b4ed53..49cdeb85 100644
--- a/rtemsspec/sphinxcontent.py
+++ b/rtemsspec/sphinxcontent.py
@@ -337,20 +337,32 @@ def _get_value_sphinx_type(ctx: ItemGetValueContext) -> Any:
return f":c:type:`{ctx.value[ctx.key]}`"
-def _get_value_sphinx_ref(ctx: ItemGetValueContext, get_value: ItemGetValue,
- postfix: str) -> Any:
+def _compound_kind(ctx: ItemGetValueContext) -> str:
+ type_name = ctx.item.type
+ return f"{type_name[type_name.rfind('-') + 1:]} "
+
+
+def _get_value_sphinx_compound(ctx: ItemGetValueContext) -> Any:
+ return f"``{_compound_kind(ctx)}{ctx.value[ctx.key]}``"
+
+
+def _get_value_sphinx_ref(ctx: ItemGetValueContext,
+ get_value: ItemGetValue,
+ postfix: str = "",
+ prefix: str = "") -> Any:
for ref in ctx.item["references"]:
ref_type = ref["type"]
identifier = ref["identifier"]
+ name_ref = f"`{prefix}{ctx.value[ctx.key]}{postfix} <{identifier}>`"
if ref_type == "document" and ref["name"] == "c-user":
- return f":ref:`{ctx.value[ctx.key]}{postfix} <{identifier}>`"
+ return f":ref:{name_ref}"
if ref_type == "url":
- return f"`{ctx.value[ctx.key]}{postfix} <{identifier}>`_"
+ return f"{name_ref}_"
return get_value(ctx)
def _get_value_sphinx_unspecified_define(ctx: ItemGetValueContext) -> Any:
- return _get_value_sphinx_ref(ctx, _get_value_sphinx_macro, "")
+ return _get_value_sphinx_ref(ctx, _get_value_sphinx_macro)
def _get_value_sphinx_unspecified_function(ctx: ItemGetValueContext) -> Any:
@@ -369,7 +381,13 @@ def _get_value_sphinx_unspecified_group(ctx: ItemGetValueContext) -> Any:
def _get_value_sphinx_unspecified_type(ctx: ItemGetValueContext) -> Any:
- return _get_value_sphinx_ref(ctx, _get_value_sphinx_type, "")
+ return _get_value_sphinx_ref(ctx, _get_value_sphinx_type)
+
+
+def _get_value_sphinx_unspecified_compound(ctx: ItemGetValueContext) -> Any:
+ return _get_value_sphinx_ref(ctx,
+ _get_value_sphinx_compound,
+ prefix=_compound_kind(ctx))
class SphinxMapper(ItemMapper):
@@ -412,11 +430,11 @@ class SphinxMapper(ItemMapper):
self.add_get_value("interface/unspecified-enum:/name",
_get_value_sphinx_unspecified_type)
self.add_get_value("interface/unspecified-struct:/name",
- _get_value_sphinx_unspecified_type)
+ _get_value_sphinx_unspecified_compound)
self.add_get_value("interface/unspecified-typedef:/name",
_get_value_sphinx_unspecified_type)
self.add_get_value("interface/unspecified-union:/name",
- _get_value_sphinx_unspecified_type)
+ _get_value_sphinx_unspecified_compound)
def sanitize_name(name: str) -> str:
@@ -446,6 +464,7 @@ class SphinxInterfaceMapper(SphinxMapper):
_get_appl_config_option)
self.add_get_value("interface/appl-config-option/integer:/name",
_get_appl_config_option)
+ self.add_get_value("interface/enum:/name", self._get_type)
self.add_get_value("interface/function:/name", self._get_function)
self.add_get_value("interface/function:/params/name",
get_value_sphinx_param)
@@ -453,13 +472,32 @@ class SphinxInterfaceMapper(SphinxMapper):
self.add_get_value("interface/macro:/name", self._get_function)
self.add_get_value("interface/macro:/params/name",
get_value_sphinx_param)
+ self.add_get_value("interface/struct:/name", self._get_compound)
+ self.add_get_value("interface/typedef:/name", self._get_type)
+ self.add_get_value("interface/union:/name", self._get_compound)
- def _get_function(self, ctx: ItemGetValueContext) -> Any:
- name = ctx.value[ctx.key]
+ def _get_reference(self, ctx: ItemGetValueContext, name: str,
+ fallback: str) -> str:
for group in ctx.item.parents("interface-ingroup"):
if group.uid in self._group_uids:
return get_reference(make_label(f"Interface {name}"))
- return f":c:func:`{name}`"
+ return fallback
+
+ def _get_compound(self, ctx: ItemGetValueContext) -> Any:
+ if ctx.item["definition-kind"] in ["struct-only", "union-only"]:
+ prefix = f"{ctx.item['interface-type']} "
+ else:
+ prefix = ""
+ name = ctx.value[ctx.key]
+ return self._get_reference(ctx, name, f"``{prefix}{name}``")
+
+ def _get_function(self, ctx: ItemGetValueContext) -> Any:
+ name = ctx.value[ctx.key]
+ return self._get_reference(ctx, name, f":c:func:`{name}`")
+
+ def _get_type(self, ctx: ItemGetValueContext) -> Any:
+ name = ctx.value[ctx.key]
+ return self._get_reference(ctx, name, f":c:type:`{name}`")
def _get_group(self, ctx: ItemGetValueContext) -> Any:
if ctx.item.uid in self._group_uids:
diff --git a/rtemsspec/tests/spec-interface/asm.yml b/rtemsspec/tests/spec-interface/asm.yml
index d608a770..5f7be4fc 100644
--- a/rtemsspec/tests/spec-interface/asm.yml
+++ b/rtemsspec/tests/spec-interface/asm.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
defaults: null
variants: []
diff --git a/rtemsspec/tests/spec-interface/c/if/uint32_t.yml b/rtemsspec/tests/spec-interface/c/if/uint32_t.yml
index ce9cd90d..9032bd15 100644
--- a/rtemsspec/tests/spec-interface/c/if/uint32_t.yml
+++ b/rtemsspec/tests/spec-interface/c/if/uint32_t.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
default: unsigned
variants: []
diff --git a/rtemsspec/tests/spec-interface/command-line-other.yml b/rtemsspec/tests/spec-interface/command-line-other.yml
index 7b317f9f..c74d8e8f 100644
--- a/rtemsspec/tests/spec-interface/command-line-other.yml
+++ b/rtemsspec/tests/spec-interface/command-line-other.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: null
copyrights:
-- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
definition:
defaults: null
variants: []
diff --git a/rtemsspec/tests/spec-interface/command-line.yml b/rtemsspec/tests/spec-interface/command-line.yml
index 4f5144e2..79be22d7 100644
--- a/rtemsspec/tests/spec-interface/command-line.yml
+++ b/rtemsspec/tests/spec-interface/command-line.yml
@@ -1,6 +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)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
index-entries: []
interface-type: group
diff --git a/rtemsspec/tests/spec-interface/constraint-a.yml b/rtemsspec/tests/spec-interface/constraint-a.yml
index 7bde0282..0c679073 100644
--- a/rtemsspec/tests/spec-interface/constraint-a.yml
+++ b/rtemsspec/tests/spec-interface/constraint-a.yml
@@ -1,6 +1,6 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
-- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
enabled-by: true
links: []
rationale: null
diff --git a/rtemsspec/tests/spec-interface/constraint/other.yml b/rtemsspec/tests/spec-interface/constraint/other.yml
new file mode 100644
index 00000000..6067f412
--- /dev/null
+++ b/rtemsspec/tests/spec-interface/constraint/other.yml
@@ -0,0 +1,9 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links: []
+rationale: null
+text: |
+ Some constraint.
+type: constraint
diff --git a/rtemsspec/tests/spec-interface/constraint/type-opaque.yml b/rtemsspec/tests/spec-interface/constraint/type-opaque.yml
new file mode 100644
index 00000000..3cf3535f
--- /dev/null
+++ b/rtemsspec/tests/spec-interface/constraint/type-opaque.yml
@@ -0,0 +1,9 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links: []
+rationale: null
+text: |
+ Members of the type shall not be accessed directly by the application.
+type: constraint
diff --git a/rtemsspec/tests/spec-interface/define-a.yml b/rtemsspec/tests/spec-interface/define-a.yml
index 8f5f7845..4a3874d6 100644
--- a/rtemsspec/tests/spec-interface/define-a.yml
+++ b/rtemsspec/tests/spec-interface/define-a.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
default: ''
variants: []
diff --git a/rtemsspec/tests/spec-interface/define-b.yml b/rtemsspec/tests/spec-interface/define-b.yml
index cb88ef6b..73663599 100644
--- a/rtemsspec/tests/spec-interface/define-b.yml
+++ b/rtemsspec/tests/spec-interface/define-b.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
default: '1'
variants: []
diff --git a/rtemsspec/tests/spec-interface/define-c.yml b/rtemsspec/tests/spec-interface/define-c.yml
index e5422c04..ea9d9714 100644
--- a/rtemsspec/tests/spec-interface/define-c.yml
+++ b/rtemsspec/tests/spec-interface/define-c.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
default: '2'
variants: []
diff --git a/rtemsspec/tests/spec-interface/define.yml b/rtemsspec/tests/spec-interface/define.yml
index 00fec0c0..0c3e6724 100644
--- a/rtemsspec/tests/spec-interface/define.yml
+++ b/rtemsspec/tests/spec-interface/define.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
default: |
\
diff --git a/rtemsspec/tests/spec-interface/domain-abc.yml b/rtemsspec/tests/spec-interface/domain-abc.yml
index 06123875..803a7395 100644
--- a/rtemsspec/tests/spec-interface/domain-abc.yml
+++ b/rtemsspec/tests/spec-interface/domain-abc.yml
@@ -1,6 +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)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
description: ABC
enabled-by: true
index-entries: []
diff --git a/rtemsspec/tests/spec-interface/domain-c.yml b/rtemsspec/tests/spec-interface/domain-c.yml
index 435993aa..1673728a 100644
--- a/rtemsspec/tests/spec-interface/domain-c.yml
+++ b/rtemsspec/tests/spec-interface/domain-c.yml
@@ -1,6 +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)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
description: C
enabled-by: true
index-entries: []
diff --git a/rtemsspec/tests/spec-interface/domain-command-line.yml b/rtemsspec/tests/spec-interface/domain-command-line.yml
index 87b173eb..892e359c 100644
--- a/rtemsspec/tests/spec-interface/domain-command-line.yml
+++ b/rtemsspec/tests/spec-interface/domain-command-line.yml
@@ -1,6 +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)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
description: Command Line
enabled-by: true
index-entries: []
diff --git a/rtemsspec/tests/spec-interface/enum.yml b/rtemsspec/tests/spec-interface/enum.yml
index 6b4de2c3..b55c8608 100644
--- a/rtemsspec/tests/spec-interface/enum.yml
+++ b/rtemsspec/tests/spec-interface/enum.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Enum brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition-kind: typedef-only
description: Enum description.
enabled-by: true
diff --git a/rtemsspec/tests/spec-interface/enum2.yml b/rtemsspec/tests/spec-interface/enum2.yml
index 38796f7c..823ec0e4 100644
--- a/rtemsspec/tests/spec-interface/enum2.yml
+++ b/rtemsspec/tests/spec-interface/enum2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Enum A brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition-kind: enum-only
description: null
enabled-by: true
diff --git a/rtemsspec/tests/spec-interface/enum3.yml b/rtemsspec/tests/spec-interface/enum3.yml
index af17ce3b..b885d269 100644
--- a/rtemsspec/tests/spec-interface/enum3.yml
+++ b/rtemsspec/tests/spec-interface/enum3.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Enum B brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition-kind: typedef-and-enum
description: null
enabled-by: true
diff --git a/rtemsspec/tests/spec-interface/enum4.yml b/rtemsspec/tests/spec-interface/enum4.yml
index 00d07e66..04331533 100644
--- a/rtemsspec/tests/spec-interface/enum4.yml
+++ b/rtemsspec/tests/spec-interface/enum4.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Enum C brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition-kind: typedef-and-enum
description: null
enabled-by: true
diff --git a/rtemsspec/tests/spec-interface/enumerator-0.yml b/rtemsspec/tests/spec-interface/enumerator-0.yml
index b92ac2a0..421440f2 100644
--- a/rtemsspec/tests/spec-interface/enumerator-0.yml
+++ b/rtemsspec/tests/spec-interface/enumerator-0.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Enumerator 0 brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default: null
variants: []
diff --git a/rtemsspec/tests/spec-interface/enumerator-1.yml b/rtemsspec/tests/spec-interface/enumerator-1.yml
index 7548e1eb..e29b9d2d 100644
--- a/rtemsspec/tests/spec-interface/enumerator-1.yml
+++ b/rtemsspec/tests/spec-interface/enumerator-1.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Enumerator 1 brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default: null
variants: []
diff --git a/rtemsspec/tests/spec-interface/enumerator-2.yml b/rtemsspec/tests/spec-interface/enumerator-2.yml
index 5fff89d5..b312867b 100644
--- a/rtemsspec/tests/spec-interface/enumerator-2.yml
+++ b/rtemsspec/tests/spec-interface/enumerator-2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Enumerator 2 brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default: null
variants: []
diff --git a/rtemsspec/tests/spec-interface/enumerator-a.yml b/rtemsspec/tests/spec-interface/enumerator-a.yml
index e7b2a79d..349ed826 100644
--- a/rtemsspec/tests/spec-interface/enumerator-a.yml
+++ b/rtemsspec/tests/spec-interface/enumerator-a.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Enumerator A brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default: '17'
variants: []
diff --git a/rtemsspec/tests/spec-interface/enumerator-b.yml b/rtemsspec/tests/spec-interface/enumerator-b.yml
index be47ee6e..424839fe 100644
--- a/rtemsspec/tests/spec-interface/enumerator-b.yml
+++ b/rtemsspec/tests/spec-interface/enumerator-b.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Enumerator B brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default: ${enumerator-a:/name}
variants: []
diff --git a/rtemsspec/tests/spec-interface/float_t.yml b/rtemsspec/tests/spec-interface/float_t.yml
index 24f009b5..5d395533 100644
--- a/rtemsspec/tests/spec-interface/float_t.yml
+++ b/rtemsspec/tests/spec-interface/float_t.yml
@@ -1,6 +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)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
index-entries: []
interface-type: typedef
diff --git a/rtemsspec/tests/spec-interface/forward-decl.yml b/rtemsspec/tests/spec-interface/forward-decl.yml
index 1bd10c25..e53e37f3 100644
--- a/rtemsspec/tests/spec-interface/forward-decl.yml
+++ b/rtemsspec/tests/spec-interface/forward-decl.yml
@@ -1,6 +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)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
index-entries: []
interface-type: forward-declaration
diff --git a/rtemsspec/tests/spec-interface/func.yml b/rtemsspec/tests/spec-interface/func.yml
index c60a9302..dd80f7f3 100644
--- a/rtemsspec/tests/spec-interface/func.yml
+++ b/rtemsspec/tests/spec-interface/func.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Function brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default:
attributes: null
diff --git a/rtemsspec/tests/spec-interface/func2.yml b/rtemsspec/tests/spec-interface/func2.yml
index f77ec49f..f54fcdfa 100644
--- a/rtemsspec/tests/spec-interface/func2.yml
+++ b/rtemsspec/tests/spec-interface/func2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Very long function brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default:
attributes: __attribute__((__const__))
diff --git a/rtemsspec/tests/spec-interface/func3.yml b/rtemsspec/tests/spec-interface/func3.yml
index 97eeda46..cb21da34 100644
--- a/rtemsspec/tests/spec-interface/func3.yml
+++ b/rtemsspec/tests/spec-interface/func3.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
default: null
variants:
diff --git a/rtemsspec/tests/spec-interface/func4.yml b/rtemsspec/tests/spec-interface/func4.yml
index 3d6cafbf..70b68a7c 100644
--- a/rtemsspec/tests/spec-interface/func4.yml
+++ b/rtemsspec/tests/spec-interface/func4.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Function brief description with very long return type.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default:
attributes: null
diff --git a/rtemsspec/tests/spec-interface/func5.yml b/rtemsspec/tests/spec-interface/func5.yml
index bc8f6efd..bcb8bf00 100644
--- a/rtemsspec/tests/spec-interface/func5.yml
+++ b/rtemsspec/tests/spec-interface/func5.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
default:
attributes: null
diff --git a/rtemsspec/tests/spec-interface/func6.yml b/rtemsspec/tests/spec-interface/func6.yml
index 27c64428..329ec708 100644
--- a/rtemsspec/tests/spec-interface/func6.yml
+++ b/rtemsspec/tests/spec-interface/func6.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
default:
attributes: null
diff --git a/rtemsspec/tests/spec-interface/ga.yml b/rtemsspec/tests/spec-interface/ga.yml
index 0a7784eb..8bf6b17e 100644
--- a/rtemsspec/tests/spec-interface/ga.yml
+++ b/rtemsspec/tests/spec-interface/ga.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Group A brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
description: Group A description.
enabled-by: true
identifier: GroupA
diff --git a/rtemsspec/tests/spec-interface/gb.yml b/rtemsspec/tests/spec-interface/gb.yml
index 38660c2b..3d5499bc 100644
--- a/rtemsspec/tests/spec-interface/gb.yml
+++ b/rtemsspec/tests/spec-interface/gb.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
description: null
enabled-by: true
identifier: GroupB
diff --git a/rtemsspec/tests/spec-interface/gc.yml b/rtemsspec/tests/spec-interface/gc.yml
index 3957a7e6..3176e394 100644
--- a/rtemsspec/tests/spec-interface/gc.yml
+++ b/rtemsspec/tests/spec-interface/gc.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Group C brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
description: Group C description.
enabled-by: true
identifier: GroupC
diff --git a/rtemsspec/tests/spec-interface/ge.yml b/rtemsspec/tests/spec-interface/ge.yml
index 7c944143..b7fea67d 100644
--- a/rtemsspec/tests/spec-interface/ge.yml
+++ b/rtemsspec/tests/spec-interface/ge.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Group E brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
description: Group E description.
enabled-by: true
identifier: GroupE
diff --git a/rtemsspec/tests/spec-interface/gf.yml b/rtemsspec/tests/spec-interface/gf.yml
index 77ea9b5b..ff09beb4 100644
--- a/rtemsspec/tests/spec-interface/gf.yml
+++ b/rtemsspec/tests/spec-interface/gf.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Group F brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
description: Group F description.
enabled-by: true
identifier: GroupF
diff --git a/rtemsspec/tests/spec-interface/h.yml b/rtemsspec/tests/spec-interface/h.yml
index ec273a6b..1b04500e 100644
--- a/rtemsspec/tests/spec-interface/h.yml
+++ b/rtemsspec/tests/spec-interface/h.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: This header file defines X.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by:
- and:
- RTEMS_SMP
diff --git a/rtemsspec/tests/spec-interface/h2.yml b/rtemsspec/tests/spec-interface/h2.yml
index 1310cc06..45cca8c3 100644
--- a/rtemsspec/tests/spec-interface/h2.yml
+++ b/rtemsspec/tests/spec-interface/h2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: This header file defines X.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: RTEMS_SMP
index-entries: []
interface-type: header-file
diff --git a/rtemsspec/tests/spec-interface/h3.yml b/rtemsspec/tests/spec-interface/h3.yml
index 42d388d5..06e75670 100644
--- a/rtemsspec/tests/spec-interface/h3.yml
+++ b/rtemsspec/tests/spec-interface/h3.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: This header file defines X.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
index-entries: []
interface-type: header-file
diff --git a/rtemsspec/tests/spec-interface/h4.yml b/rtemsspec/tests/spec-interface/h4.yml
index 82128ad6..b49c6cd8 100644
--- a/rtemsspec/tests/spec-interface/h4.yml
+++ b/rtemsspec/tests/spec-interface/h4.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: This header file defines X.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
index-entries: []
interface-type: header-file
diff --git a/rtemsspec/tests/spec-interface/irqamp-timestamp.yml b/rtemsspec/tests/spec-interface/irqamp-timestamp.yml
index 05d2ed58..f0b33873 100644
--- a/rtemsspec/tests/spec-interface/irqamp-timestamp.yml
+++ b/rtemsspec/tests/spec-interface/irqamp-timestamp.yml
@@ -3,7 +3,7 @@ brief: |
This structure defines the ${.:/register-block-group} register block memory
map.
copyrights:
-- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
description: null
enabled-by: true
identifier: IrqampTimestamp
diff --git a/rtemsspec/tests/spec-interface/irqamp.yml b/rtemsspec/tests/spec-interface/irqamp.yml
index 2a7a8cfb..c6efd13c 100644
--- a/rtemsspec/tests/spec-interface/irqamp.yml
+++ b/rtemsspec/tests/spec-interface/irqamp.yml
@@ -3,7 +3,7 @@ brief: |
This structure defines the ${.:/register-block-group} register block memory
map.
copyrights:
-- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
description: null
enabled-by: true
identifier: Irqamp
diff --git a/rtemsspec/tests/spec-interface/macro.yml b/rtemsspec/tests/spec-interface/macro.yml
index 449576c2..5b4c38a5 100644
--- a/rtemsspec/tests/spec-interface/macro.yml
+++ b/rtemsspec/tests/spec-interface/macro.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Very long macro brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default:
attributes: null
diff --git a/rtemsspec/tests/spec-interface/macro2.yml b/rtemsspec/tests/spec-interface/macro2.yml
index fdae338f..4d71e3ad 100644
--- a/rtemsspec/tests/spec-interface/macro2.yml
+++ b/rtemsspec/tests/spec-interface/macro2.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Short macro brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default:
attributes: null
diff --git a/rtemsspec/tests/spec-interface/macro3.yml b/rtemsspec/tests/spec-interface/macro3.yml
index be93887a..891071ac 100644
--- a/rtemsspec/tests/spec-interface/macro3.yml
+++ b/rtemsspec/tests/spec-interface/macro3.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Macro without parameters.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default:
attributes: null
diff --git a/rtemsspec/tests/spec-interface/math.yml b/rtemsspec/tests/spec-interface/math.yml
index 3e8f2861..d436aec7 100644
--- a/rtemsspec/tests/spec-interface/math.yml
+++ b/rtemsspec/tests/spec-interface/math.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: This header file defines X.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
index-entries: []
interface-type: header-file
diff --git a/rtemsspec/tests/spec-interface/option.yml b/rtemsspec/tests/spec-interface/option.yml
index 523bde33..da2e03fa 100644
--- a/rtemsspec/tests/spec-interface/option.yml
+++ b/rtemsspec/tests/spec-interface/option.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0
appl-config-option-type: feature
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
default: default a
description: description a
enabled-by: true
diff --git a/rtemsspec/tests/spec-interface/register-block-no-size.yml b/rtemsspec/tests/spec-interface/register-block-no-size.yml
index 3c78e5b7..82bd9357 100644
--- a/rtemsspec/tests/spec-interface/register-block-no-size.yml
+++ b/rtemsspec/tests/spec-interface/register-block-no-size.yml
@@ -2,7 +2,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
Brief.
copyrights:
-- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
description: null
enabled-by: true
identifier: RBNS
diff --git a/rtemsspec/tests/spec-interface/s.yml b/rtemsspec/tests/spec-interface/s.yml
index 3460e29b..35f09a54 100644
--- a/rtemsspec/tests/spec-interface/s.yml
+++ b/rtemsspec/tests/spec-interface/s.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
- default:
brief: Brief union description.
diff --git a/rtemsspec/tests/spec-interface/s2.yml b/rtemsspec/tests/spec-interface/s2.yml
new file mode 100644
index 00000000..c7c857fc
--- /dev/null
+++ b/rtemsspec/tests/spec-interface/s2.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+definition:
+- default:
+ brief: Brief member description.
+ definition: ${/c/if/uint32_t:/name} ${.:name}
+ description: Member description.
+ kind: member
+ name: member
+ variants: []
+definition-kind: typedef-only
+description: |
+ References: ${.:/name}
+enabled-by: true
+index-entries: []
+interface-type: struct
+links:
+- role: interface-placement
+ uid: h
+- role: interface-ingroup
+ uid: ga
+- role: constraint
+ uid: constraint/other
+- role: constraint
+ uid: constraint/type-opaque
+name: Struct2
+notes: Notes.
+type: interface
diff --git a/rtemsspec/tests/spec-interface/smp.yml b/rtemsspec/tests/spec-interface/smp.yml
index c522cb20..976a599b 100644
--- a/rtemsspec/tests/spec-interface/smp.yml
+++ b/rtemsspec/tests/spec-interface/smp.yml
@@ -1,6 +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)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
index-entries: []
interface-type: unspecified-define
diff --git a/rtemsspec/tests/spec-interface/stdint.yml b/rtemsspec/tests/spec-interface/stdint.yml
index 45165d90..2013ef18 100644
--- a/rtemsspec/tests/spec-interface/stdint.yml
+++ b/rtemsspec/tests/spec-interface/stdint.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: This header file defines X.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
index-entries: []
interface-type: header-file
diff --git a/rtemsspec/tests/spec-interface/td.yml b/rtemsspec/tests/spec-interface/td.yml
index e4f5cb29..c1df8dc4 100644
--- a/rtemsspec/tests/spec-interface/td.yml
+++ b/rtemsspec/tests/spec-interface/td.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Typedef Integer brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default: |
${uint32_t:/name} ${.:/name} /* ${other:/comment} */
diff --git a/rtemsspec/tests/spec-interface/td3.yml b/rtemsspec/tests/spec-interface/td3.yml
index b1ef1622..5ef221d2 100644
--- a/rtemsspec/tests/spec-interface/td3.yml
+++ b/rtemsspec/tests/spec-interface/td3.yml
@@ -1,7 +1,7 @@
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) 2020 embedded brains GmbH & Co. KG
definition:
default: null
variants:
diff --git a/rtemsspec/tests/spec-interface/u.yml b/rtemsspec/tests/spec-interface/u.yml
index d6e7d8ce..94da3814 100644
--- a/rtemsspec/tests/spec-interface/u.yml
+++ b/rtemsspec/tests/spec-interface/u.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: null
copyrights:
-- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
definition:
- default:
brief: Brief member 0 description.
diff --git a/rtemsspec/tests/spec-interface/uint32_t.yml b/rtemsspec/tests/spec-interface/uint32_t.yml
index 3fffa0cf..2570f87a 100644
--- a/rtemsspec/tests/spec-interface/uint32_t.yml
+++ b/rtemsspec/tests/spec-interface/uint32_t.yml
@@ -1,6 +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)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
index-entries: []
interface-type: typedef
diff --git a/rtemsspec/tests/spec-interface/var.yml b/rtemsspec/tests/spec-interface/var.yml
index dc4df652..fc2f71bd 100644
--- a/rtemsspec/tests/spec-interface/var.yml
+++ b/rtemsspec/tests/spec-interface/var.yml
@@ -1,7 +1,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: Variable brief description.
copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
definition:
default: |
${forward-decl:/name} *${.:/name}
diff --git a/rtemsspec/tests/spec-sphinx/s.yml b/rtemsspec/tests/spec-sphinx/s.yml
new file mode 100644
index 00000000..d8fcbe9f
--- /dev/null
+++ b/rtemsspec/tests/spec-sphinx/s.yml
@@ -0,0 +1,14 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+definition: []
+definition-kind: struct-only
+description: null
+enabled-by: true
+index-entries: []
+interface-type: struct
+links: []
+name: s
+notes: null
+type: interface
diff --git a/rtemsspec/tests/test_content_sphinx.py b/rtemsspec/tests/test_content_sphinx.py
index 4858f796..ec8bd272 100644
--- a/rtemsspec/tests/test_content_sphinx.py
+++ b/rtemsspec/tests/test_content_sphinx.py
@@ -365,3 +365,4 @@ def test_substitute(tmpdir):
assert mapper.substitute("${y:/name}") == "foobar"
assert mapper.substitute("${a:/name}") == ":c:data:`a`"
assert mapper.substitute("${f:/name}") == ":c:func:`f`"
+ assert mapper.substitute("${s:/name}") == "``struct s``"
diff --git a/rtemsspec/tests/test_interface.py b/rtemsspec/tests/test_interface.py
index f1131784..bee4f00a 100644
--- a/rtemsspec/tests/test_interface.py
+++ b/rtemsspec/tests/test_interface.py
@@ -63,7 +63,7 @@ def test_interface(tmpdir):
*/
/*
- * Copyright (C) 2020, 2022 embedded brains GmbH (http://www.embedded-brains.de)
+ * Copyright (C) 2020, 2023 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -594,6 +594,34 @@ struct Struct {
Enum some_member_4;
};
+/* Generated from spec:/s2 */
+
+/**
+ * @ingroup GroupA
+ *
+ * References: Struct2
+ *
+ * @par Notes
+ * Notes.
+ *
+ * @par Constraints
+ * @parblock
+ * The following constraints apply to this structure:
+ *
+ * * Some constraint.
+ *
+ * * Members of the type shall not be accessed directly by the application.
+ * @endparblock
+ */
+typedef struct {
+ /**
+ * @brief Brief member description.
+ *
+ * Member description.
+ */
+ uint32_t member;
+} Struct2;
+
/* Generated from spec:/td */
/**
diff --git a/rtemsspec/tests/test_interfacedoc.py b/rtemsspec/tests/test_interfacedoc.py
index 7ed88ee6..d2698cb7 100644
--- a/rtemsspec/tests/test_interfacedoc.py
+++ b/rtemsspec/tests/test_interfacedoc.py
@@ -34,6 +34,11 @@ from rtemsspec.tests.util import create_item_cache_config_and_copy_spec
def test_interfacedoc(tmpdir):
+ item_cache_config = create_item_cache_config_and_copy_spec(
+ tmpdir, "spec-interface", with_spec_types=True)
+ item_cache = ItemCache(item_cache_config)
+ augment_glossary_terms(item_cache["/glossary"], [])
+
doc_config = {}
doc_config["group"] = "/gb"
introduction_rst = os.path.join(tmpdir, "introduction.rst")
@@ -48,17 +53,24 @@ def test_interfacedoc(tmpdir):
directives_2_rst = os.path.join(tmpdir, "directives-2.rst")
doc_config_2["directives-target"] = directives_2_rst
- item_cache_config = create_item_cache_config_and_copy_spec(
- tmpdir, "spec-interface", with_spec_types=True)
- config = {"enabled": [], "groups": [doc_config, doc_config_2]}
- item_cache = ItemCache(item_cache_config)
- augment_glossary_terms(item_cache["/glossary"], [])
+ types_rst = os.path.join(tmpdir, "types.rst")
+ types_config = {
+ "domains": ["/domain-abc"],
+ "groups": [],
+ "target": types_rst
+ }
+
+ config = {
+ "enabled": [],
+ "groups": [doc_config, doc_config_2],
+ "types": types_config
+ }
generate(config, item_cache)
with open(introduction_rst, "r") as src:
content = """.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2020 embedded brains GmbH & Co. KG
.. This file is part of the RTEMS quality process and was automatically
.. generated. If you find something that needs to be fixed or
@@ -110,7 +122,7 @@ The directives provided by the Group B are:
with open(directives_rst, "r") as src:
content = """.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2020 embedded brains GmbH & Co. KG
.. This file is part of the RTEMS quality process and was automatically
.. generated. If you find something that needs to be fixed or
@@ -223,7 +235,7 @@ VeryLongFunction description.
``2``
is returned, in case B.
-:c:type:`Enum`
+:ref:`InterfaceEnum`
is returned, in case C.
Sometimes some value. See :ref:`InterfaceFunction`.
@@ -358,7 +370,7 @@ Macro without parameters.
with open(introduction_2_rst, "r") as src:
content = """.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2020 embedded brains GmbH & Co. KG
.. This file is part of the RTEMS quality process and was automatically
.. generated. If you find something that needs to be fixed or
@@ -396,7 +408,7 @@ Group A description. The directives provided by the Group A are:
with open(directives_2_rst, "r") as src:
content = """.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2020 embedded brains GmbH & Co. KG
.. This file is part of the RTEMS quality process and was automatically
.. generated. If you find something that needs to be fixed or
@@ -466,10 +478,11 @@ Function brief description.
.. rubric:: DESCRIPTION:
Function description. References to :term:`xs <x>`,
-:ref:`InterfaceVeryLongFunction`, :c:type:`Integer`, :c:type:`Enum`,
-:c:macro:`DEFINE`, :ref:`InterfaceVERYLONGMACRO`, Variable,
-:c:macro:`ENUMERATOR_0`, ``struct Struct``, :ref:`a`, interface, :ref:`GroupA`,
-and Group F. Second parameter is ``Param1``. Mention :c:type:`US`.
+:ref:`InterfaceVeryLongFunction`, :ref:`InterfaceInteger`,
+:ref:`InterfaceEnum`, :c:macro:`DEFINE`, :ref:`InterfaceVERYLONGMACRO`,
+Variable, :c:macro:`ENUMERATOR_0`, ``struct Struct``, :ref:`a`, interface,
+:ref:`GroupA`, and Group F. Second parameter is ``Param1``. Mention ``struct
+US``.
.. code-block:
@@ -492,3 +505,186 @@ The following constraints apply to this directive:
void VoidFunction( void );
"""
+
+ with open(types_rst, "r") as src:
+ content = """.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2020, 2023 embedded brains GmbH & Co. KG
+
+.. This file is part of the RTEMS quality process and was automatically
+.. generated. If you find something that needs to be fixed or
+.. worded better please post a report or patch to an RTEMS mailing list
+.. or raise a bug report:
+..
+.. https://www.rtems.org/bugs.html
+..
+.. For information on updating and regenerating please refer to the How-To
+.. section in the Software Requirements Engineering chapter of the
+.. RTEMS Software Engineering manual. The manual is provided as a part of
+.. a release. For development sources please refer to the online
+.. documentation at:
+..
+.. https://docs.rtems.org
+
+.. index:: RTEMS Data Types
+.. index:: data types
+
+RTEMS Data Types
+****************
+
+.. _Introduction:
+
+Introduction
+============
+
+This chapter contains a complete list of the RTEMS primitive data types in
+alphabetical order. This is intended to be an overview and the user is
+encouraged to look at the appropriate chapters in the manual for more
+information about the usage of the various data types.
+
+.. _ListOfDataTypes:
+
+List of Data Types
+==================
+
+The following is a complete list of the RTEMS primitive data types in
+alphabetical order:
+
+.. Generated from spec:/enum
+
+.. index:: Enum
+
+.. _InterfaceEnum:
+
+Enum
+----
+
+Enum brief description.
+
+.. rubric:: ENUMERATORS:
+
+ENUMERATOR_0
+ Enumerator 0 brief description.
+
+ENUMERATOR_1
+ Enumerator 1 brief description.
+
+ENUMERATOR_2
+ Enumerator 2 brief description.
+
+.. rubric:: DESCRIPTION:
+
+Enum description.
+
+.. Generated from spec:/enum2
+
+.. index:: EnumA
+
+.. _InterfaceEnumA:
+
+EnumA
+-----
+
+Enum A brief description.
+
+.. rubric:: ENUMERATORS:
+
+ENUMERATOR_A
+ Enumerator A brief description.
+
+.. Generated from spec:/enum3
+
+.. index:: EnumB
+
+.. _InterfaceEnumB:
+
+EnumB
+-----
+
+Enum B brief description.
+
+.. rubric:: ENUMERATORS:
+
+ENUMERATOR_B
+ Enumerator B brief description.
+
+.. Generated from spec:/td
+
+.. index:: Integer
+
+.. _InterfaceInteger:
+
+Integer
+-------
+
+Typedef Integer brief description.
+
+.. rubric:: DESCRIPTION:
+
+Typedef Integer description.
+
+.. Generated from spec:/td3
+
+.. index:: Integer3
+
+.. _InterfaceInteger3:
+
+Integer3
+--------
+
+.. Generated from spec:/s
+
+.. index:: Struct
+
+.. _InterfaceStruct:
+
+Struct
+------
+
+.. rubric:: MEMBERS:
+
+some_union
+ Brief union description. Union description.
+
+some_member_4
+ Brief member 4 description. Member 4 description.
+
+.. Generated from spec:/s2
+
+.. index:: Struct2
+
+.. _InterfaceStruct2:
+
+Struct2
+-------
+
+.. rubric:: MEMBERS:
+
+Members of the type shall not be accessed directly by the application.
+
+.. rubric:: DESCRIPTION:
+
+References: :ref:`InterfaceStruct2`
+
+.. rubric:: NOTES:
+
+Notes.
+
+.. Generated from spec:/u
+
+.. index:: Union
+
+.. _InterfaceUnion:
+
+Union
+-----
+
+.. rubric:: MEMBERS:
+
+m_0
+ Brief member 0 description.
+
+m_1
+ Brief member 1 description.
+"""
+ assert content == src.read()