This abstract DataType is the base DataType for all DataTypes representing a bit mask. All OptionSet DataTypes representing bit masks shall inherit from this DataType. Its elements are described in Table 33.
Table 33 – OptionSet Definition
|value||ByteString||Array of bytes representing the bits in the option set. The length of the ByteString depends on the number of bits. The number of bytes may be larger than needed for the valid bits in the case of a spare allocation.|
|validBits||ByteString||Array of bytes with same size as value representing the valid bits in the value parameter.
When the Server returns the value to the Client, the validBits provides information of which bits in the bit mask have a meaning. If a bit is 1 then the corresponding bit in the value is used by the Server. If it is set to a 0 it should be ignored as it has no meaning. When the Client passes the value to the Server, the validBits defines which bits should be written. Only those bits defined in validBits are changed in the bit mask, all others are not written.
The DataType Nodes representing concrete subtypes of the OptionSet shall have an OptionSetValues Property defined in Table 16.