Tcl_SetStdChannel(3) - phpMan

Command: man perldoc info search(apropos)  


Tcl_GetStdChannel(3)                  Tcl Library Procedures                 Tcl_GetStdChannel(3)



_________________________________________________________________________________________________

NAME
       Tcl_GetStdChannel,  Tcl_SetStdChannel  - procedures for retrieving and replacing the stan-
       dard channels

SYNOPSIS
       #include <tcl.h>

       Tcl_Channel
       Tcl_GetStdChannel(type)

       Tcl_SetStdChannel(channel, type)


ARGUMENTS
       int 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.
_________________________________________________________________


DESCRIPTION
       Tcl  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_SetStd-
       Channel 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 automat-
       ically be set to NULL.

       If a non-NULL value for channel is passed  to  Tcl_SetStdChannel,  then  that  same  value
       should be passed to Tcl_RegisterChannel, like so:
              Tcl_RegisterChannel(NULL, channel);
       This is a workaround for a misfeature in Tcl_SetStdChannel that it fails to do some refer-
       ence counting housekeeping.  This misfeature cannot be corrected without contradicting the
       assumptions of some existing code that calls Tcl_SetStdChannel.

       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 chan-
       nel.  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 ALSO
       Tcl_Close(3), Tcl_CreateChannel(3), Tcl_Main(3), tclsh(1)


KEYWORDS
       standard channel, standard input, standard output, standard error



Tcl                                            7.5                           Tcl_GetStdChannel(3)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-04-19 00:07 @18.119.139.59 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!