master(4) DG/UX 5.4.2 master(4)
NAME
master - format of a master file
DESCRIPTION
Information about configurable kernel components is contained in a
set of master files that are kept in the master file directory (by
default, /usr/etc/master.d). This information is used by the
config(1M) program to configure a kernel image. There are four types
of configurable kernel components: device drivers, socket protocols,
STREAMS modules, and tunable parameters.
Each layered kernel product available on the system has its own
master file in the master file directory. For example, the TCP/IP
product includes the master file /usr/etc/master.d/tcpip. The base
DG/UX System itself uses /usr/etc/master.d/dgux as its master file.
If you create your own device drivers or other configurable kernel
compenents, you will need to create a new master file to supply
information about the new components. Remember that every file found
in the master file directory is examined when config(1M) is run, so
backup or duplicate copies of master files should not be stored
there, since they will cause errors when components are defined in
more than one place. If you are not adding a new configurable
component, you will probably only use the master files as reference
when setting up your system file (see system(4)).
A master file can contain entries describing device drivers, socket
protocols, STREAMS modules, tunable parameters, and aliases.
Different types of information are grouped into their own sections
with their own entry format. Each section is prefaced by a line
containing a section name, whose first character is the dollar sign
($). A master file may have any number (including zero) of each type
of section, and they may appear in any order. Six different types of
sections are supported:
$device Describes drivers for hardware devices and pseudo-
devices.
$protocol Describes protocols that can be supported by the
socket(2) system call.
$stream Describes STREAMS modules.
$keyword Describes user-tunable system parameters.
$alias Defines aliases for the keywords defined in any of
the above types of sections. These aliases can
them be used in a system file in place of the
master file keywords.
$localalias Defines constants for use only within the master
file.
Each entry in a section consists of a single line broken into a
number of fields separated by blanks and/or tabs. Comments are
Licensed material--property of copyright holder(s) 1
master(4) DG/UX 5.4.2 master(4)
preceded by a pound sign (#) and can begin at any position on a line.
Blank lines and comments are ignored.
Device Entries
Entries in a $device section have three fields:
Field 1: Device name as specified in the system file. The kernel
uses this name as a prefix to names for device driver
routines in conf.c.
Field 2: Restriction flags on this device. Flags are:
o Only one device of this type is allowed.
r This device is required and will be automatically be
configured into any kernels configured against this
master file.
s This device is a DG/UX-style STREAMS device.
S This device is a System V-style STREAMS device.
N This STREAMS device uses the new (System V.4) style
open/close interface.
z This device may be configured either explicitly or
implicitly as part of a nested declaration of
another device. For example, "st(insc(),4)"
declares the device "insc()" implicitly.
n No restrictions.
Field 3: STREAMS Concurrency Set. The concurrency set name
specifies the STREAMS set to which a given STREAMS module
or STREAMS device driver belongs. STREAMS concurrency only
occurs within each set: modules or drivers belonging to
the same set are guaranteed never to run concurrently. A
set may contain drivers, modules, or both. Two exceptional
cases allow for more concurrency: the pseudo-set named
module means that each instance of such a STREAMS device or
module will have its own private set; and the pseudo-set
named stream means that locking is granular to the
individual STREAMS themselves. All other set name values
specify a named set. The concurrency set name has no
meaning for non-STREAMS devices, which by convention are
assigned to the set named default.
Protocol Entries
Entries in a $protocol section have six fields:
Field 1: Name to be used in the system file to reference this
protocol.
Licensed material--property of copyright holder(s) 2
master(4) DG/UX 5.4.2 master(4)
Field 2: The protocol's protocol number as defined in the
/etc/protocols file.
Field 3: The protocol's domain number as defined in the
<sys/socket.h> header file.
Field 4: The protocol's type as defined in the <sys/socket.h> header
file.
Field 5: The infix name. The kernel will use this name to generate
names for the protocol's control routines. You may use any
name you want and then match this name with the names of
your protocol control routines.
Field 6: Restriction flags on this protocol. Flags are:
r This protocol is required and will be automatically
be configured into any kernels configured against
this master file.
d This protocol will be the default protocol used for
socket(2) calls of the listed Domain and Type.
u This protocol is a UNIX domain protocol.
n No restrictions.
STREAMS Module Entries
Entries in a $stream section have four fields:
Field 1: Name of the stream control module as given in the system
file.
Field 2: The infix name. The kernel will use this name to generate
names for the stream's control module routines. You may
use any name you want and then match this name with the
names of your stream control module routines.
Field 3: Restriction flags on this module. Flags are:
N This STREAMS module uses the new (System V.4) style
open/close interface.
n No restrictions.
Field 4: STREAMS Concurrency Set. The concurrency set name
specifies the STREAMS set to which a given STREAMS module
or STREAMS device driver belongs. STREAMS concurrency only
occurs within each set: modules or drivers belonging to
the same set are guaranteed never to run concurrently. A
set may contain drivers, modules, or both. Two exceptional
cases allow for more concurrency: the pseudo-set named
module means that each instance of such a STREAMS device or
Licensed material--property of copyright holder(s) 3
master(4) DG/UX 5.4.2 master(4)
module will have its own private set; and the pseudo-set
named stream means that locking is granular to the
individual STREAMS themselves. All other set name values
specify a named set.
Tunable Parameter Entries
Entries in a $keyword section have four fields, the last of which is
optional:
Field 1: Name of kernel variable to be set.
Field 2: The default value that the variable will have, unless it is
overridden in the system file.
Field 3: The kernel variable's data type. This must not be a type
that requires use of any header file besides
/usr/src/uts/aviion/ext/cgenerics.h.
Field 4: The implied value for a variable that is listed in the
system file without a value. This is useful for things
like function pointers, whose value is represented by a
string that would otherwise be inconvenient to type.
Alias Entries
Entries in an $alias section have two fields:
Field 1: Alias name.
Field 2: Name of master file entry being referenced.
Local Alias Entries
Entries in a $localalias section have two fields:
Field 1: Alias name.
Field 2: The value which this alias name will have. This can be
either a numeric or character string value.
SEE ALSO
system(4).
config(1M), sysdef(1M)
Installing the DG/UX System. Customizing the DG/UX System. Managing
the DG/UX System.
Licensed material--property of copyright holder(s) 4