98 lines
3.3 KiB
Groff
98 lines
3.3 KiB
Groff
'\"
|
|
'\" Copyright (c) 1996 Sun Microsystems, Inc.
|
|
'\"
|
|
'\" See the file "license.terms" for information on usage and redistribution
|
|
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
'\"
|
|
.TH Tcl_PkgRequire 3 7.5 Tcl "Tcl Library Procedures"
|
|
.so man.macros
|
|
.BS
|
|
.SH NAME
|
|
Tcl_PkgRequire, Tcl_PkgRequireEx, Tcl_PkgRequireProc, Tcl_PkgPresent, Tcl_PkgPresentEx, Tcl_PkgProvide, Tcl_PkgProvideEx \- package version control
|
|
.SH SYNOPSIS
|
|
.nf
|
|
\fB#include <tcl.h>\fR
|
|
.sp
|
|
const char *
|
|
\fBTcl_PkgRequire\fR(\fIinterp, name, version, exact\fR)
|
|
.sp
|
|
const char *
|
|
\fBTcl_PkgRequireEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR)
|
|
.sp
|
|
int
|
|
\fBTcl_PkgRequireProc\fR(\fIinterp, name, objc, objv, clientDataPtr\fR)
|
|
.sp
|
|
const char *
|
|
\fBTcl_PkgPresent\fR(\fIinterp, name, version, exact\fR)
|
|
.sp
|
|
const char *
|
|
\fBTcl_PkgPresentEx\fR(\fIinterp, name, version, exact, clientDataPtr\fR)
|
|
.sp
|
|
int
|
|
\fBTcl_PkgProvide\fR(\fIinterp, name, version\fR)
|
|
.sp
|
|
int
|
|
\fBTcl_PkgProvideEx\fR(\fIinterp, name, version, clientData\fR)
|
|
.SH ARGUMENTS
|
|
.AS void *clientDataPtr out
|
|
.AP Tcl_Interp *interp in
|
|
Interpreter where package is needed or available.
|
|
.AP "const char" *name in
|
|
Name of package.
|
|
.AP "const char" *version in
|
|
A version string consisting of one or more decimal numbers
|
|
separated by dots.
|
|
.AP int exact in
|
|
Non-zero means that only the particular version specified by
|
|
\fIversion\fR is acceptable.
|
|
Zero means that newer versions than \fIversion\fR are also
|
|
acceptable as long as they have the same major version number
|
|
as \fIversion\fR.
|
|
.AP "const void" *clientData in
|
|
Arbitrary value to be associated with the package.
|
|
.AP void *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. The storage can be any pointer
|
|
type with the same size as a void pointer.
|
|
.AP int objc in
|
|
Number of requirements.
|
|
.AP Tcl_Obj* objv[] in
|
|
Array of requirements.
|
|
.BE
|
|
.SH DESCRIPTION
|
|
.PP
|
|
These procedures provide C-level interfaces to Tcl's package and
|
|
version management facilities.
|
|
.PP
|
|
\fBTcl_PkgRequire\fR is equivalent to the \fBpackage require\fR
|
|
command, \fBTcl_PkgPresent\fR is equivalent to the \fBpackage present\fR
|
|
command, and \fBTcl_PkgProvide\fR is equivalent to the
|
|
\fBpackage provide\fR command.
|
|
.PP
|
|
See the documentation for the Tcl commands for details on what these
|
|
procedures do.
|
|
.PP
|
|
If \fBTcl_PkgPresent\fR or \fBTcl_PkgRequire\fR 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
|
|
\fIversion\fR); if an error occurs they return NULL and leave an error
|
|
message in the interpreter's result.
|
|
.PP
|
|
\fBTcl_PkgProvide\fR returns \fBTCL_OK\fR if it completes successfully;
|
|
if an error occurs it returns \fBTCL_ERROR\fR and leaves an error message
|
|
in the interpreter's result.
|
|
.PP
|
|
\fBTcl_PkgProvideEx\fR, \fBTcl_PkgPresentEx\fR and \fBTcl_PkgRequireEx\fR
|
|
allow the setting and retrieving of the client data associated with
|
|
the package. In all other respects they are equivalent to the matching
|
|
functions.
|
|
.PP
|
|
\fBTcl_PkgRequireProc\fR is the form of \fBpackage require\fR handling
|
|
multiple requirements. The other forms are present for backward
|
|
compatibility and translate their invocations to this form.
|
|
.SH KEYWORDS
|
|
package, present, provide, require, version
|
|
.SH "SEE ALSO"
|
|
package(n), Tcl_StaticPackage(3)
|