summaryrefslogtreecommitdiff
path: root/spec/spec/interface-enabled-by.yml
diff options
context:
space:
mode:
Diffstat (limited to 'spec/spec/interface-enabled-by.yml')
-rw-r--r--spec/spec/interface-enabled-by.yml45
1 files changed, 45 insertions, 0 deletions
diff --git a/spec/spec/interface-enabled-by.yml b/spec/spec/interface-enabled-by.yml
new file mode 100644
index 00000000..8863269b
--- /dev/null
+++ b/spec/spec/interface-enabled-by.yml
@@ -0,0 +1,45 @@
+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
+spec-description: |
+ A value of this type shall be an expression which defines under which
+ conditions an interface definition is enabled. In generated header files,
+ the expression is evaluated by the C preprocessor.
+spec-example: null
+spec-info:
+ bool:
+ description: |
+ It is converted to 0 or 1. It defines a symbol in the expression.
+ dict:
+ attributes:
+ and:
+ description: |
+ The *and* operator defines a *logical and* of the expressions in the
+ list.
+ spec-type: interface-enabled-by-list
+ not:
+ description: |
+ The *not* operator defines a *logical not* of the expression.
+ spec-type: interface-enabled-by
+ or:
+ description: |
+ The *or* operator defines a *logical or* of the expressions in the
+ list.
+ spec-type: interface-enabled-by-list
+ description: |
+ Each attribute defines an operator.
+ required-attributes: exactly-one
+ list:
+ description: |
+ It defines a *logical or* of the expressions in the list.
+ spec-type: interface-enabled-by
+ str:
+ description: |
+ It defines a symbol in the expression.
+spec-name: Interface Enabled-By Expression
+spec-type: interface-enabled-by
+type: spec