Tcl_PkgRequire, Tcl_PkgRequireEx, Tcl_PkgPresent, Tcl_PkgPresentEx, Tcl_PkgProvide, Tcl_PkgProvideEx - package version control
Tcl_PkgRequire(interp, name, version, exact)
Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr)
Tcl_PkgPresent(interp, name, version, exact)
Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr)
Tcl_PkgProvide(interp, name, version)
Tcl_PkgProvideEx(interp, name, version, clientData)
These procedures provide C-level interfaces to Tcl's package and
version management facilities.
- Tcl_Interp *interp (in)
Interpreter where package is needed or available.
- char *name (in)
Name of package.
- char *version (in)
A version string consisting of one or more decimal numbers
separated by dots.
- int exact (in)
Non-zero means that only the particular version specified by
version is acceptable.
Zero means that newer versions than version are also
acceptable as long as they have the same major version number
- ClientData clientData (in)
Arbitrary value to be associated with the package.
- ClientData *clientDataPtr (out)
Pointer to place to store the value associated with the matching
package. It is only changed if the pointer is not NULL and the
function completed successfully.
Tcl_PkgRequire is equivalent to the package require
command, Tcl_PkgPresent is equivalent to the package present
command, and Tcl_PkgProvide is equivalent to the
package provide command.
See the documentation for the Tcl commands for details on what these
If Tcl_PkgPresent or Tcl_PkgRequire complete successfully
they return a pointer to the version string for the version of the package
that is provided in the interpreter (which may be different than
version); if an error occurs they return NULL and leave an error
message in the interpreter's result.
Tcl_PkgProvide returns TCL_OK if it completes successfully;
if an error occurs it returns TCL_ERROR and leaves an error message
in the interpreter's result.
Tcl_PkgProvideEx, Tcl_PkgPresentEx and Tcl_PkgRequireEx
allow the setting and retrieving of the client data associated with
the package. In all other respects they are equivalent to the matching
package, present, provide, require, version
Copyright © 1996 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.