You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: unified-runtime/scripts/YaML.md
+12-1Lines changed: 12 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ This document describes the YaML format used by the scripts for the API specific
9
9
10
10
## YML Syntax
11
11
* Each document in the yml file represents an entry in the specification.
12
-
* Every document must have a `type` scalar: {`header`, `macro`, `typedef`, `const`, `enum`, `struct`, `handle`, `function`, `class`}
12
+
* Every document must have a `type` scalar: {`header`, `macro`, `typedef`, `const`, `enum`, `struct`, `handle`, `function`, `class`, `manifest`}
13
13
* All scalars must be strings. The document writer is responsible for using explicit string notification where the yml parser may perform implicit conversion.
14
14
* Custom names must be tagged using `$` followed by the tag name. The tag names are defined in the `config.ini` section. There are two tag variations for replacement:
15
15
-`$x` : lower_case
@@ -831,6 +831,17 @@ namespace ur {
831
831
</td></tr>
832
832
</table>
833
833
834
+
#### type: manifest
835
+
* A manifest encodes meta information about an adapter library.
836
+
* These don't cause anything to be added to the spec or headers, they're intended to generate code for the loader.
837
+
* A manifest requires the following scalar fields: {`name`, `backend`}
838
+
- `name`must be a string unique to the adapter.
839
+
- `name`should be identical to how the name appears in the adapter's library name. E.g. `libur_adapter_my_adapter` should have the name string `my_adapter`.
840
+
- `backend`must be an etor of `$x_adapter_backend_t`.
841
+
- `backend`must not be `$X_ADAPTER_BACKEND_UNKNOWN`.
842
+
* a manifest requires the following sequence of scalars: {`device_types`}
843
+
- `device_types`must be an etor of `$x_device_type_t`
844
+
834
845
## Extensions
835
846
* Each extensions must be defined in a unique `.yml` file
836
847
* The extension file must be added to the section being extended; i.e. extensions to core APIs must be added to the `core` folder, etc.
0 commit comments