This document is a specification of requirements on the Fuchsia Interface Definition Language (FIDL) bindings.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC2119.
Items described in this section MUST be met for bindings to be considered conformant.
TODO
Items described in this section SHOULD be met for bindings to be considered conformant.
TODO
Items described in this section MAY be met for bindings to be considered conformant.
It is RECOMMENDED to support the following operators over generated values:
&
|
^
~
To provide bitwise operations which always result in valid bits values, implementations of bitwise not should further mask the resulting value with the mask of all values. In pseudo code:
~value1 means mask & ~bits_of(value1)
This mask value is provided in the JSON IR for convenience.
Bindings SHOULD NOT support other operators since they could result in invalid bits value (or risk a non-obvious translation of their meaning), e.g.:
<<
or >>
>>>