tcl_getopenfile(3)
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 read
ing. - int checkUsage (in) If non-zero, then an
- error will be gener
ated 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 mes
sage. 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