trusty (3) Tcl_GetOpenFile.3tcl.gz

Provided by: tcl8.4-doc_8.4.20-7_all bug

NAME

       Tcl_GetOpenFile - Get a standard IO File * handle from a channel. (Unix only)

SYNOPSIS

       #include <tcl.h>

       int
       Tcl_GetOpenFile(interp, string, write, checkUsage, filePtr)

ARGUMENTS

       Tcl_Interp   *interp      (in)      Tcl interpreter from which file handle is to be obtained.

       CONST char   *string      (in)      String identifying channel, such as stdin or file4.

       int          write        (in)      Non-zero  means the file will be used for writing, zero means it will
                                           be used for reading.

       int          checkUsage   (in)      If non-zero, then an error will  be  generated  if  the  file  wasn't
                                           opened for the access indicated by write.

       ClientData   *filePtr     (out)     Points  to  word  in which to store pointer to FILE structure for the
                                           file given by string.
_________________________________________________________________

DESCRIPTION

       Tcl_GetOpenFile takes as argument a file identifier of the form returned by the open command and  returns
       at  *filePtr a pointer to the FILE structure for the file.  The write argument indicates whether the FILE
       pointer will be used for reading or writing.  In some cases,  such  as  a  channel  that  connects  to  a
       pipeline   of   subprocesses,  different  FILE  pointers  will  be  returned  for  reading  and  writing.
       Tcl_GetOpenFile normally returns TCL_OK.  If an error occurs in Tcl_GetOpenFile (e.g. string didn't  make
       any  sense  or  checkUsage  was  set  and  the file wasn't opened for the access specified by write) then
       TCL_ERROR is returned and the interpreter's result  will  contain  an  error  message.   In  the  current
       implementation checkUsage is ignored and consistency checks are always performed.                         │

       Note that this interface is only supported on the Unix platform.

KEYWORDS

       channel, file handle, permissions, pipeline, read, write