STRCHG(1) User Commands STRCHG(1)
NAME
strchg, strconf - change or query stream configuration
SYNOPSIS
strchg -h module1 [,
module2...]
strchg -p [
-a |
-u module]
strchg -f filename strconf [
-m |
-t module]
DESCRIPTION
These commands are used to 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. The
strconf command
queries the configuration of the stream. Only the super-user or owner of
a STREAMS device can alter the configuration of that 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
The following options apply to
strchg and,
-h, -f, and
-p are mutually
exclusive.
-a Pop all the modules above the topmost driver off the stream. This
option requires the
-p option.
-f filename Specify a
filename that contains a list of modules representing the
desired configuration of the stream. 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.
strchg determines the current configuration of the stream and
pop and push the necessary modules in order to end up with the
desired configuration.
-h module1 [,
module2...]
Mnemonic for pus
h, pushes modules onto a stream. It takes as
arguments the names of one or more pushable streams modules. These
modules are pushed in order; that is,
module1 is pushed first,
module2 is pushed second, etc.
-p Mnemonic for po
p, pops modules off the stream. With the
-p option
alone,
strchg pops the topmost module from the stream.
-u module All modules above, but not including
module are popped off the
stream. This option requires the
-p option.
The following options apply to
strconf and,
-m and
-t are mutually
exclusive.
-m module 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.
-t module Print only the topmost module (if one exists). The
-t and
-m options are mutually exclusive.
EXAMPLES
Example 1: Using the strchg Command
The following command pushes the module
ldterm on the stream associated
with the user's standard input:
example% strchg -h ldterm
The following command pops the topmost module from the stream associated
with
/dev/term/24. The user must be the owner of this device or the super
user.
example% strchg -p < /dev/term/24
If the file
fileconf contains the following:
ttcompat
ldterm
ptem
then the command
example% strchg -f fileconf
configures the user's standard input stream so that the module
ptem is
pushed over the driver, followed by
ldterm and
ttcompat closest to the
stream head.
The
strconf command with no arguments lists the modules and topmost
driver on the stream; for a stream that has only the module
ldterm pushed
above the
zs driver, it would produce the following output:
ldterm
zs
The following command asks if
ldterm is on the stream:
example% strconf -m ldterm
and produces the following output while returning an exit status of 0:
yes
SEE ALSO
streamio(4I),
attributes(7)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 on the stream,
or failure to open
filename from 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 on the stream.
NOTES
If the user is neither the owner of the stream nor the super-user, the
strchg command fails. If the user does not have read permissions on the
stream and is not the super user, the
strconf command fails.
If modules are pushed in the wrong order, one could end up with a stream
that does not function as expected. For ttys, if the line discipline
module is not pushed in the correct place, one could have a terminal that
does not respond to any commands.
March 24, 2005
STRCHG(1)