[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    Tcl_GetStdChannel(3) manual page Table of Contents

Name

Tcl_GetStdChannel, Tcl_SetStdChannel - procedures for retrieving and replacing the standard channels

Synopsis


#include <tcl.h>

Tcl_Channel
Tcl_GetStdChannel(type)

Tcl_SetStdChannel(channel, type)

Argumentsint   type    (in)
    The identifier for the standard channel to retrieve or modify.  Must be
one of TCL_STDIN, TCL_STDOUT, or TCL_STDERR. Tcl_Channel   channel    (in)
    The channel to use as the new value for the specified standard channel.
 DescriptionTcl defines three special channels that are used by various
I/O related commands if no other channels are specified.  The standard input
channel has a channel name of stdin and is used by read and gets. The standard
output channel is named stdout and is used by puts.  The standard error
channel is named stderr and is used for  reporting errors.  In addition,
the standard channels are inherited by any child processes created using
exec or open in the absence of any other redirections. 
The standard channels
are actually aliases for other normal channels.  The current channel associated
with a standard channel can be retrieved by calling Tcl_GetStdChannel with
one of  TCL_STDIN, TCL_STDOUT, or TCL_STDERR as the type.  The return value
will be a valid channel, or NULL. 
A new channel can be set for the standard
channel specified by type  by calling Tcl_SetStdChannel with a new channel
or NULL in the channel argument.  If the specified channel is closed by
a later call to Tcl_Close, then the corresponding standard channel will
automatically be set to NULL. 
If Tcl_GetStdChannel is called before Tcl_SetStdChannel,
Tcl will construct a new channel to wrap the appropriate platform-specific
standard  file handle.  If Tcl_SetStdChannel is called before Tcl_GetStdChannel,
then the default channel will not be created. 
If one of the standard channels
is set to NULL, either by calling Tcl_SetStdChannel with a NULL channel
argument, or by calling Tcl_Close on the channel, then the next call to
Tcl_CreateChannel will automatically set the standard channel with the
newly created channel.  If more than one standard channel is NULL, then
the standard channels will be assigned starting with standard input, followed
by standard output, with standard error being last. 
See Tcl_StandardChannels
for a general treatise about standard channels and the behaviour of the
Tcl library with regard to them. 
 
See AlsoTcl_Close(3), Tcl_CreateChannel(3),
Tcl_Main(3), tclsh(1)  Keywordsstandard channel, standard input, standard
output, standard error