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