Tcl_UpdateLinkedVar(3) - phpMan

Command: man perldoc info search(apropos)  


Tcl_LinkVar(3)                        Tcl Library Procedures                       Tcl_LinkVar(3)



_________________________________________________________________________________________________

NAME
       Tcl_LinkVar, Tcl_UnlinkVar, Tcl_UpdateLinkedVar - link Tcl variable to C variable

SYNOPSIS
       #include <tcl.h>

       int
       Tcl_LinkVar(interp, varName, addr, type)

       Tcl_UnlinkVar(interp, varName)

       Tcl_UpdateLinkedVar(interp, varName)

ARGUMENTS
       Tcl_Interp *interp (in)           Interpreter   that   contains  varName.   Also  used  by
                                         Tcl_LinkVar to return error messages.

       const char *varName (in)          Name of global variable.

       char *addr (in)                   Address of C variable that is to be linked to varName.

       int type (in)                     Type of  C  variable.   Must  be  one  of  TCL_LINK_INT, |
                                         TCL_LINK_UINT,       TCL_LINK_CHAR,      TCL_LINK_UCHAR, |
                                         TCL_LINK_SHORT,     TCL_LINK_USHORT,      TCL_LINK_LONG, |
                                         TCL_LINK_ULONG,  TCL_LINK_WIDE_INT,  TCL_LINK_WIDE_UINT, |
                                         TCL_LINK_FLOAT,  TCL_LINK_DOUBLE,  TCL_LINK_BOOLEAN,  or
                                         TCL_LINK_STRING,       optionally       OR'ed       with
                                         TCL_LINK_READ_ONLY to make Tcl variable read-only.
_________________________________________________________________


DESCRIPTION
       Tcl_LinkVar uses variable traces to keep the Tcl variable named by varName  in  sync  with
       the  C variable at the address given by addr.  Whenever the Tcl variable is read the value
       of the C variable will be returned, and whenever the Tcl variable is written the  C  vari-
       able  will be updated to have the same value.  Tcl_LinkVar normally returns TCL_OK;  if an
       error occurs while setting up the link (e.g. because varName is the name  of  array)  then
       TCL_ERROR is returned and the interpreter's result contains an error message.

       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_GetIntFromObj;  attempts to write non-integer
              values into varName will be rejected with Tcl errors.                               |

       TCL_LINK_UINT                                                                              |
              The C variable is of type unsigned int.  Any value written into  the  Tcl  variable |
              must have a proper unsigned integer form acceptable to Tcl_GetWideIntFromObj and in |
              the platform's defined range for the unsigned int type; attempts to write non-inte- |
              ger  values  (or  values  outside the range) into varName will be rejected with Tcl |
              errors.                                                                             |

       TCL_LINK_CHAR                                                                              |
              The C variable is of type char.  Any value written into the Tcl variable must  have |
              a  proper  integer  form acceptable to Tcl_GetIntFromObj and be in the range of the |
              char datatype; attempts to write non-integer or out-of-range  values  into  varName |
              will be rejected with Tcl errors.                                                   |

       TCL_LINK_UCHAR                                                                             |
              The  C  variable is of type unsigned char.  Any value written into the Tcl variable |
              must have a proper unsigned integer form acceptable to Tcl_GetIntFromObj and in the |
              platform's  defined range for the unsigned char type; attempts to write non-integer |
              values (or values outside the range) into varName will be rejected with Tcl errors. |

       TCL_LINK_SHORT                                                                             |
              The C variable is of type short.  Any value written into the Tcl variable must have |
              a  proper  integer  form acceptable to Tcl_GetIntFromObj and be in the range of the |
              short datatype; attempts to write non-integer or out-of-range values  into  varName |
              will be rejected with Tcl errors.                                                   |

       TCL_LINK_USHORT                                                                            |
              The  C variable is of type unsigned short.  Any value written into the Tcl variable |
              must have a proper unsigned integer form acceptable to Tcl_GetIntFromObj and in the |
              platform's defined range for the unsigned short type; attempts to write non-integer |
              values (or values outside the range) into varName will be rejected with Tcl errors. |

       TCL_LINK_LONG                                                                              |
              The C variable is of type long.  Any value written into the Tcl variable must  have |
              a proper integer form acceptable to Tcl_GetLongFromObj; attempts to write non-inte- |
              ger or out-of-range values into varName will be rejected with Tcl errors.           |

       TCL_LINK_ULONG                                                                             |
              The C variable is of type unsigned long.  Any value written into the  Tcl  variable |
              must have a proper unsigned integer form acceptable to Tcl_GetWideIntFromObj and in |
              the platform's defined range for the unsigned long type;  attempts  to  write  non- |
              integer values (or values outside the range) 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_GetDoubleFromObj;  attempts to write non-
              real values into varName will be rejected with Tcl errors.                          |

       TCL_LINK_FLOAT                                                                             |
              The C variable is of type float.  Any value written into the Tcl variable must have |
              a  proper real form acceptable to Tcl_GetDoubleFromObj and must be within the range |
              acceptable for a float; attempts to write non-real values (or  values  outside  the |
              range) into varName will be rejected with Tcl errors.

       TCL_LINK_WIDE_INT
              The  C  variable  is of type Tcl_WideInt (which is an integer type at least 64-bits
              wide on all platforms that can support it.)  Any value written into the  Tcl  vari-
              able must have a proper integer form acceptable to Tcl_GetWideIntFromObj;  attempts
              to write non-integer values into varName will be rejected with Tcl errors.          |

       TCL_LINK_WIDE_UINT                                                                         |
              The C variable is of type Tcl_WideUInt (which is an unsigned integer type at  least |
              64-bits wide on all platforms that can support it.)  Any value written into the Tcl |
              variable must have a proper unsigned integer form acceptable to  Tcl_GetWideIntFro- |
              mObj  (it will be cast to unsigned); attempts to write non-integer values into var- |
              Name 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".  Whenever 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_GetBooleanFromObj;  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 Tcl_Alloc or ckalloc.  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.

       Tcl_UnlinkVar removes the link previously set up for the variable given  by  varName.   If
       there does not exist a link for varName then the procedure has no effect.

       Tcl_UpdateLinkedVar may be invoked after the C variable has changed to force the Tcl vari-
       able to be updated immediately.  In many cases this procedure is  not  needed,  since  any
       attempt to read the Tcl variable will return the latest value of the C variable.  However,
       if a trace has been set on the Tcl variable (such as a Tk widget that  wishes  to  display
       the  value  of  the variable), the trace will not trigger when the C variable has changed.
       Tcl_UpdateLinkedVar ensures that any traces on the Tcl variable are invoked.


KEYWORDS
       boolean, integer, link, read-only, real, string, traces, variable



Tcl                                            7.5                                 Tcl_LinkVar(3)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-04-18 23:25 @18.118.0.240 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!