ttysrch(4M) DG/UX 5.4.2 ttysrch(4M)
NAME
ttysrch - directory search list for ttyname
DESCRIPTION
ttysrch is an optional file that is used by the ttyname library
routine. This file contains the names of directories in /dev that
contain terminal and terminal-related device files. The purpose of
this file is to improve the performance of ttyname by indicating
which subdirectories in /dev contain terminal-related device files
and should be searched first. These subdirectory names must appear
on separate lines and must begin with /dev. Those path names that do
not begin with /dev will be ignored and a warning will be sent to the
console. Blank lines (lines containing only white space) and lines
beginning with the comment character "#" will be ignored. For each
file listed (except for the special entry /dev), ttyname will
recursively search through subdirectories looking for a match. If
/dev appears in the ttysrch file, the /dev directory itself will be
searched but there will not be a recursive search through its
subdirectories.
When ttyname searches through the device files, it tries to find a
file whose major/minor device number, file system identifier, and
inode number match that of the file descriptor it was given as an
argument. If a match is not found, it will settle for a match of
just major/minor device and file system identifier, if one can be
found. However, if the file descriptor is associated with a cloned
device (see clone(7)), this algorithm does not work efficiently
because the inode number of the device file associated with a
clonable device will never match the inode number of the file
descriptor that was returned by the open of that clonable device. To
help with these situations, entries can be put into the /etc/ttysrch
file to improve performance when cloned devices are used as terminals
on a system (e.g. for remote login). However, this is only useful if
the minor devices related to a cloned device are put into a
subdirectory. (It is important to note that device files need not
exist for cloned devices and if that is the case, ttyname will
eventually fail.) For example, if /dev/starlan is a cloned device,
there could be a subdirectory /dev/slan that contains files 0, 1, 2,
etc. that correspond to the minor devices of the starlan driver. An
optional second field is used in the /etc/ttysrch file to indicate
the matching criteria. This field is separated by white space (any
combination of blanks or tabs). The letter M means major/minor
device number, F means file system identifier, and I means inode
number. If this field is not specified for an entry, the default is
MFI which means try to match on all three. For cloned devices the
field should be MF, which indicates that it is not necessary to match
on the inode number.
Without the /etc/ttysrch file, ttyname will search the top level of
the /dev directory, and will then recursively search /dev/pts,
/dev/sxt, and /dev/xt. If a system has terminal devices installed in
directories other than these, it may help performance if the ttysrch
file is created and contains that list of directories.
Licensed material--property of copyright holder(s) 1
ttysrch(4M) DG/UX 5.4.2 ttysrch(4M)
EXAMPLE
A sample /etc/ttysrch file follows:
/dev/pts MFI
/dev/xt MFI
/dev/slan MF
This file tells ttyname that it should first search through those
directories listed and that when searching through the /dev/slan
directory, if a file is encountered whose major/minor devices and
file system identifier match that of the file descriptor argument to
ttyname, this device name should be considered a match.
FILES
/etc/ttysrch
NOTES
The ttysrch file is only available through the ttyname implementation
in ELF environments on DG/UX.
SEE ALSO
ttyname(3C), clone(7)
Licensed material--property of copyright holder(s) 2