### I/O control command requirements

A type `X` meets the `IoControlCommand` requirements if it satisfies the requirements listed below.

In the table below, `a` denotes a (possibly const) value of type `X`, and `b` denotes a value of type `X`.

Table 20. IoControlCommand requirements for extensible implementations

expression | type | assertion/note pre/post-conditions
--- | --- | ---
`a.name()` | `int` | Returns a value suitable for passing as the request argument to POSIX `ioctl()` (or equivalent).
`b.data()` | `void*` |