ABCDEFGHIJKLMNOPQRSTUVWXYZ

PkgRequire

Tcl_PkgRequire(3)           Tcl Library Procedures           Tcl_PkgRequire(3)



______________________________________________________________________________

NAME
       Tcl_PkgRequire,   Tcl_PkgRequireEx,  Tcl_PkgPresent,  Tcl_PkgPresentEx,
       Tcl_PkgProvide, Tcl_PkgProvideEx - package version control

SYNOPSIS
       #include <tcl.h>

       char *
       Tcl_PkgRequire(interp, name, version, exact)

       char *
       Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr)

       char *
       Tcl_PkgPresent(interp, name, version, exact)

       char *
       Tcl_PkgPresentEx(interp, name, version, exact, clientDataPtr)

       int
       Tcl_PkgProvide(interp, name, version)

       int
       Tcl_PkgProvideEx(interp, name, version, clientData)

ARGUMENTS
       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 accept-
                                                able as long as they have  the
                                                same  major  version number as
                                                version.

       ClientData     clientData      (in)      Arbitrary value to be  associ-
                                                ated 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  com-
                                                pleted successfully.
_________________________________________________________________


DESCRIPTION
       These procedures provide C-level interfaces to Tcl's package  and  ver-
       sion management facilities.

       Tcl_PkgRequire  is equivalent to the package require command, Tcl_PkgP-
       resent 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
       procedures do.

       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 inter-
       preter's result.

       Tcl_PkgProvideEx, Tcl_PkgPresentEx and Tcl_PkgRequireEx allow the  set-
       ting  and retrieving of the client data associated with the package. In
       all other respects they are equivalent to the matching functions.


KEYWORDS
       package, present, provide, require, version



Tcl                                   7.5                    Tcl_PkgRequire(3)