strchg(1) DG/UX R4.11MU05 strchg(1)
NAME
strchg, strconf - change or query stream configuration
SYNOPSIS
strchg -h module[,module ...]
strchg -p [ -a | -u module ]
strchg -f file
strconf [ -t | -m module ]
where:
module The name of a STREAMS module
DESCRIPTION
These commands alter or query the configuration of the stream
associated with the user's standard input. The strchg command pushes
modules on and/or pops modules off the stream. Only a user with
appropriate privilege or owner of a STREAMS device may alter the
configuration of that stream.
For systems supporting the DG/UX Capability Option, appropriate
privilege is defined as having one or more specific capabilities
enabled in the effective capability set of the user. See
capdefaults(5) for the default capabilities for this command.
On systems without the DG/UX Capability Option, appropriate privilege
means that your process has an effective UID of root. See the
appropriateprivilege(5) man page for more information.
The strconf command queries the configuration of the stream. Invoked
without any arguments, strconf prints a list of all the modules in
the stream as well as the topmost driver. The list is printed with
one name per line where the first name printed is the topmost module
on the stream (if one exists) and the last item printed is the name
of the driver.
Options for strchg
-h Push modules onto a stream. With this option strchg takes as
arguments the names of one or more pushable streams modules.
These modules are pushed in order; that is, the leftmost
module in the command line is pushed first.
-p Pop modules off the stream. With no other options, strchg
pops the topmost module from the stream. The -a and -u
options modify this behavior.
-f file
Modify the set of modules on the stream. The file argument
specifies a text file that contains a list of modules
representing the desired configuration. Each module name must
appear on a separate line where the first name represents the
topmost module and the last name represents the module that
should be closest to the driver. The strchg command will
determine the current configuration of the stream and pop and
push the necessary modules in order to end up with the desired
configuration.
-a With the -p option, pop all the modules above the topmost
driver.
-u module
With the -p option, pop all modules above but not including
module off the stream.
The -h, -f and -p options are mutually exclusive. The -a and -u
options are also mutually exclusive.
Options for strconf
-t Print only the topmost module (if one exists).
-m Determine if the named module is present on a stream. If it
is, strconf prints the message yes and returns zero. If not,
strconf prints the message no and returns a non-zero value.
The -t and -m options are mutually exclusive.
EXAMPLES
strchg -h ldterm
Push the module ldterm on the stream associated with the user's
standard input.
strchg -p < /dev/tty24
Pop the topmost module from the stream associated with /dev/tty24.
The user must be the owner of this device or have appropriate
privilege.
strchg -f fileconf
If the file fileconf contains the following:
compat
ldterm
ptem
then this example will configure the user's standard input stream so
that the module ptem is pushed over the driver, followed by ldterm,
with compat closest to the stream head.
strconf
List the modules and topmost driver on the stream. For a stream that
has only the module ldterm pushed above the syac driver, this example
would produce the following output:
ldterm
syac
strconf -m ldterm
Ask if ldterm is on the stream. If so, this example produces the
following output while returning an exit status of 0:
yes
DIAGNOSTICS
strchg returns zero on success. It prints an error message and
returns non-zero status for various error conditions, including usage
error, bad module name, too many modules to push, failure of an
ioctl(2) system call on the stream, or failure to open the file
argument of the -f option.
strconf returns zero on success (for the -m or -t option, "success"
means the named or topmost module is present). It returns a non-zero
status if invoked with the -m or -t option and the module is not
present. It prints an error message and returns non-zero status for
various error conditions, including usage error or failure of an
ioctl(2) system call on the stream.
SEE ALSO
autopush(1M), appropriateprivilege(5), streamio(7).
capdefaults(5).
NOTES
If the user is neither the owner of the stream nor has appropriate
privilege, the strchg command will fail. If the user does not have
read permissions on the stream and does not have appropriate
privilege, the strconf command will fail.
If modules are pushed in the wrong order, one could end up with a
stream that does not function as expected. For TTY's, if the line
discipline module (ldterm) is not pushed in the correct place, one
could have a terminal that does not respond to any commands.
Licensed material--property of copyright holder(s)