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 push, 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 pop, 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)

tribblix@gmail.com :: GitHub :: Privacy