MASTER 10.6
NAME
master, master.local - list of device specifiers
SYNOPSIS
/emu/port/master DESCRIPTION
Each device has a name of the form
# x where
x is a single Unicode character,
which represents the root of the name space served (generated) by the driver.
(There can be a further
specifier 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
(see
sys-intro (2)), using
bind (1) commands,
sys-bind (2) operations and
namespace (6) files.
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
mutually-exclusive configurations).
The file
#c/drivers gives the local system's assignment (see
cons (3)). A list of the set of characters used across all drivers on all platforms
can be found in the several
master files.
In the distribution, the
master.local files list characters that are reserved for use by locally-written drivers.
They are updated by hand at a given installation.
The
master files by contrast are generated automatically by
emu/port/mkfile and
os/port/mkfile from the source for all platforms and
master.local . In the distribution, they might include names for drivers that exist but are not
distributed.
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). The indir (3) allows referring to drivers using a longer name that is even less likely to change.
SEE ALSO
bind (1), sys-intro (2), indir (3), namespace (6), dev (10.2)