ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

This manual page is associated with the Mac OS X developer tools. The software or headers described may not be present on your Mac OS X installation until you install the developer tools package. This package is available on your Mac OS X installation DVD, and the latest versions can be downloaded from developer.apple.com.

For more information about the manual page format, see the manual page for manpages(5).



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>

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

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

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

       CONST 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.

       CONST char   *name           (in)      Name of package.

       CONST 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 as version.

       ClientData   clientData      (in)      Arbitrary value to be associated with the package.

       ClientData   *clientDataPtr  (out)     Pointer to place to store the value associated with the match-ing matching
                                              ing package. It is only changed if the pointer is not NULL and
                                              the function completed successfully.
____________________________________________________________________________________________________________


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

       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 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  ver-sion); version);
       sion); 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
       functions.


KEYWORDS
       package, present, provide, require, version



Tcl                                                  7.5                                   Tcl_PkgRequire(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.