STRCHG(1) RISC/os Reference Manual STRCHG(1)
NAME
strchg, strconf - change or query stream configuration
SYNOPSIS
strchg -h module1[,module2 ...]
strchg -p [-a | -u module]
strchg -f file
strconf [-t | -m 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 may alter the configuration of that stream.
With the -h option, strchg 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.
The -p option pops modules off the stream. With the -p
option alone, strchg pops the topmost module from the
stream. With the -p and -a options, all the modules above
the topmost driver are popped. When the -p option is fol-
lowed by -u module, then all modules above but not including
module are popped off the stream. The -a and -u options are
mutually exclusive.
With the -f option, the user can specify a file that con-
tains a list of modules representing the desired configura-
tion 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. 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 confi-
guration.
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 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.
With the -t option, only the topmost module (if one exists)
is printed. The -m option determines 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
Printed 11/19/92 Page 1
STRCHG(1) RISC/os Reference Manual STRCHG(1)
mutually exclusive.
EXAMPLES
The following command pushes the module stty_ld on the
stream associated with the user's standard input:
strchg -h stty_ld
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.
strchg -p < /dev/term/24
If the file fileconf contains the following:
compat
stty_ld
ptem
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 stty_ld
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 has only the
module stty_ld pushed above the ports driver, it would pro-
duce the following output:
stty_ld
ports
The following command asks if stty_ld is on the stream
strconf -m stty_ld
and 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 on the stream, or failure to open
file from the -f option.
Page 2 Printed 11/19/92
STRCHG(1) RISC/os Reference Manual STRCHG(1)
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 condi-
tions, 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 will fail. If the user does
not have read permissions on the stream and is not the
super-user, 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.
Printed 11/19/92 Page 3