strchg, strconf - change or query stream configuration
strchg -h module1[, module2]...
strchg -p [ -a|-u module]
strchg -f file
strconf -m module
The strchg and strconf commands are used to change 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 superuser or owner of a STREAMS device may alter the
configuration of that stream.
The strchg command uses the following options:
-h module1[,module2] ...
strchg pushes modules onto a stream. The modules
are pushable STREAMS modules as defined by
module1, module2, and so on. The modules are
pushed in order. That is, module1 is pushed
first, module2 is pushed second, etc.
-p With the -p option alone, strchg pops the topmost
module from the stream.
-a With the -p and -a options, all the modules above
the topmost driver are popped.
-u module With the -p and -u module options, all modules
above but not including module are popped off the
The -a and -u options are mutually exclusive.
-f file The user can specify a file 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
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
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
The -h, -f, and -p options are mutually exclusive.
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 in 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.
The strconf command uses the following options:
-t Only the topmost module (if one exists) is printed.
-m module strconf checks if the named module is present on the
stream. If so, 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.
If the user is neither the owner of the stream nor the superuser, the
strchg command will fail. If the user does not have read permissions
on the stream and is not the superuser, 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 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.
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 file 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.
The following command pushes the module ldterm on the stream
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000
associated with the user's standard input:
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 be superuser.
strchg -p <<<< /dev/term/24
If the file, fileconf, contains the following:
then the command
strchg -f fileconf
will configure the user's standard input stream so that the module
ptem is pushed over the driver, followed by ldterm and compat closest
to the stream head.
The strconf command with no arguments lists the modules and topmost
driver on the stream. For a stream that only has the module ldterm
pushed above the ports driver, it would produce the following output:
The following command asks if ldterm is on the stream:
strconf -m ldterm
and produces the following output while returning an exit status of 0:
/usr/lib/nls/msg/C/strchg.cat NLS catalogs
/usr/lib/nls/msg/C/strconf.cat NLS catalogs
Hewlett-Packard Company - 3 - HP-UX Release 11i: November 2000