home *** CD-ROM | disk | FTP | other *** search
- '\"
- '\" Copyright (c) 1993 The Regents of the University of California.
- '\" All rights reserved.
- '\"
- '\" Permission is hereby granted, without written agreement and without
- '\" license or royalty fees, to use, copy, modify, and distribute this
- '\" documentation for any purpose, provided that the above copyright
- '\" notice and the following two paragraphs appear in all copies.
- '\"
- '\" IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
- '\" FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- '\" ARISING OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
- '\" CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- '\"
- '\" THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- '\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- '\" AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- '\" ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
- '\" PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- '\"
- '\" $Header: /user6/ouster/tcl/man/RCS/LinkVar.3,v 1.4 93/07/28 15:18:56 ouster Exp $ SPRITE (Berkeley)
- '\"
- '\"----------------------------------------------------------------------------
- '\" @(#) LinkVar.3 26.1 93/10/22 SCOINC
- '\"
- '\" Copyright (C) The Santa Cruz Operation, 1992-1993.
- '\" This Module contains Proprietary Information of
- '\" The Santa Cruz Operation, and should be treated as Confidential.
- '\"----------------------------------------------------------------------------
- .so ../man.macros
- .HS Tcl_LinkVar tclc 7.0
- .BS
- .SH NAME
- .na
- Tcl_LinkVar, Tcl_UnlinkVar \- link Tcl variable to C variable
- .ad
- .SH SYNOPSIS
- .nf
- \fB#include <tcl.h>\fR
- .sp
- int
- \fBTcl_LinkVar\fR(\fIinterp, varName, addr, type\fR)
- .sp
- \fBTcl_UnlinkVar\fR(\fIinterp, varName\fR)
- .SH ARGUMENTS
- .AS Tcl_Interp writable
- .AP Tcl_Interp *interp in
- Interpreter that contains \fIvarName\fR.
- Also used by \fBTcl_LinkVar\fR to return error messages.
- .AP char *varName in
- Name of global variable.
- .AP char *addr in
- Address of C variable that is to be linked to \fIvarName\fR.
- .AP int type in
- .na
- Type of C variable. Must be one of TCL_LINK_INT, TCL_LINK_DOUBLE,
- TCL_LINK_BOOLEAN, or TCL_LINK_STRING, optionally OR'ed with
- TCL_LINK_READ_ONLY to make Tcl variable read-only.
- .ad
- .BE
-
- .SH DESCRIPTION
- .PP
- \fBTcl_LinkVar\fR uses variable traces to keep the Tcl variable
- named by \fIvarName\fR in sync with the C variable at the address
- given by \fIaddr\fR.
- Whenever the Tcl variable is read the value of the C variable will
- be returned, and whenever the Tcl variable is written the C
- variable will be updated to have the same value.
- \fBTcl_LinkVar\fR normally returns TCL_OK; if an error occurs
- while setting up the link (e.g. because \fIvarName\fR is the
- name of array) then TCL_ERROR is returned and \fIinterp->result\fR
- contains an error message.
- .PP
- The \fItype\fR argument specifies the type of the C variable,
- and must have one of the following values, optionally OR'ed with
- TCL_LINK_READ_ONLY:
- .TP
- \fBTCL_LINK_INT\fR
- The C variable is of type \fBint\fR.
- Any value written into the Tcl variable must have a proper integer
- form acceptable to \fBTcl_GetInt\fR; attempts to write
- non-integer values into \fIvarName\fR will be rejected with
- Tcl errors.
- .TP
- \fBTCL_LINK_DOUBLE\fR
- The C variable is of type \fBdouble\fR.
- Any value written into the Tcl variable must have a proper real
- form acceptable to \fBTcl_GetDouble\fR; attempts to write
- non-real values into \fIvarName\fR will be rejected with
- Tcl errors.
- .TP
- \fBTCL_LINK_BOOLEAN\fR
- The C variable is of type \fBint\fR.
- If its value is zero then it will read from Tcl as ``0'';
- otherwise it will read from Tcl as ``1''.
- Whenver \fIvarName\fR 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 \fBTcl_GetBoolean\fR; attempts to write
- non-boolean values into \fIvarName\fR will be rejected with
- Tcl errors.
- .TP
- \fBTCL_LINK_STRING\fR
- The C variable is of type \fBchar *\fR.
- If its value is not null then it must be a pointer to a string
- allocated with \fBmalloc\fR.
- 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''.
- .PP
- If the TCL_LINK_READ_ONLY flag is present in \fItype\fR 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.
-
- .SH KEYWORDS
- boolean, integer, link, read-only, real, string, variable
-