Provided by: tcl8.6-doc_8.6.1-4ubuntu1_all bug

NAME

       Tcl_GetOpenFile  -  Return a FILE* for a channel registered in the given interpreter (Unix
       only)

SYNOPSIS

       #include <tcl.h>

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

ARGUMENTS

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

       const char *chanID (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 was not 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 chanID.
_________________________________________________________________

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. chanID did not make any sense or
       checkUsage was set and the file was not 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