_________________________________________________________________
NAME
Tcl_LinkVar, Tcl_UnlinkVar - link Tcl variable to C variable
SYNOPSIS
#include <tcl.h>
int
Tcl_LinkVar(interp, varName, addr, type)
Tcl_UnlinkVar(interp, varName)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter that contains varName. Also used by Tcl_LinkVar to return error messages.
The type argument specifies the type of the C variable, and must have one of the following values, optionally OR'ed with TCL_LINK_READ_ONLY:
TCL_LINK_INT
The C variable is of type int. Any value written into the Tcl variable must have a proper integer form acceptable to Tcl_GetInt; attempts to write non-integer values into varName will be rejected with Tcl errors.
TCL_LINK_DOUBLE
The C variable is of type double. Any value written into the Tcl variable must have a proper real form acceptable to Tcl_GetDouble; attempts to write non-real values into varName will be rejected with Tcl errors.
TCL_LINK_BOOLEAN
The C variable is of type int. If its value is zero then it will read from Tcl as ``0''; otherwise it will read from Tcl as ``1''. Whenver varName is modified, the C variable will be set to a 0 or 1 value. Any value written into the Tcl variable must have a proper boolean form acceptable to Tcl_GetBoolean; attempts to write non-boolean values into varName will be rejected with Tcl errors.
TCL_LINK_STRING
The C variable is of type char *. If its value is not null then it must be a pointer to a string allocated with malloc. Whenever the Tcl variable is modified the current C string will be freed and new memory will be allocated to hold a copy of the variable's new value. If the C variable contains a null pointer then the Tcl variable will read as ``NULL''.
If the TCL_LINK_READ_ONLY flag is present in type then the variable will be read-only from Tcl, so that its value can only be changed by modifying the C variable. Attempts to write the variable from Tcl will be rejected with errors.
KEYWORDS
boolean, integer, link, read-only, real, string, variable