Each device has a name of the form
is a single Unicode character,
which represents the root of the name space served (generated) by the driver.
(There can be a further
that selects a particular hierarchy within the device, but that is not relevant here.)
These names allow the devices' name spaces to be added to a process's name space
A given character can represent only one driver in a running system,
but the same character might be used by several drivers in the source tree
if they are never configured into the same system (eg, different platforms or
gives the local system's assignment (see
A list of the set of characters used across all drivers on all platforms
can be found in the several
In the distribution, the
files list characters that are reserved for use by locally-written drivers.
They are updated by hand at a given installation.
files by contrast are generated automatically by
from the source for all platforms and
In the distribution, they might include names for drivers that exist but are not
Except for a few fundamental drivers, the character assignment is
arbitrary, can vary between installations, and is notionally subject to change
(although that rarely happens).
allows referring to drivers using a longer name that is even less likely to change.