Tcl Library Procedures Tcl_StaticPackage(3TCL)
_________________________________________________________________
NAME
Tcl_StaticPackage - make a statically linked package avail-
able via the load commandSYNOPSIS
#include
Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc)
ARGUMENTSTcl_Interp *interp (in) If not NULL,
points to an interpreter into which the package has already been loaded (i.e., the caller has already invoked the appropriateinitializa-
tion pro-
cedure). NULL means the package hasn't yetbeen incor-
porated intoany inter-
preter. CONST char *pkgName (in) Name of the package; should be properly capitalized (first letterupper-case,
all otherslower-case).
Tcl_PackageInitProc *initProc (in) Procedure to
invoke to incorporate this package into a trusted Tcl Last change: 7.5 1Tcl Library Procedures Tcl_StaticPackage(3TCL)
interpreter.Tcl_PackageInitProc *safeInitProc (in) Procedure to
call to incorporate this package into a safe interpreter (one that will execute untrusted scripts). NULL means the package can't be used in safeinter-
preters._________________________________________________________________
DESCRIPTION
This procedure may be invoked to announce that a package hasbeen linked statically with a Tcl application and, option-
ally, that it has already been loaded into an interpreter.Once Tcl_StaticPackage has been invoked for a package, it
may be loaded into interpreters using the load command.Tcl_StaticPackage is normally invoked only by the
Tcl_AppInit procedure for the application, not by packages
for themselves (Tcl_StaticPackage should only be invoked for
statically loaded packages, and code in the package itself should not need to know whether the package is dynamically or statically loaded). When the load command is used later to load the package into an interpreter, one of initProc and safeInitProc will be invoked, depending on whether the target interpreter is safeor not. initProc and safeInitProc must both match the fol-
lowing prototype:typedef int Tcl_PackageInitProc(Tcl_Interp *interp);
The interp argument identifies the interpreter in which the package is to be loaded. The initialization procedure mustreturn TCL_OK or TCL_ERROR to indicate whether or not it
completed successfully; in the event of an error it should set the interpreter's result to point to an error message. The result or error from the initialization procedure will be returned as the result of the load command that caused the initialization procedure to be invoked. KEYWORDS initialization procedure, package, static linking Tcl Last change: 7.5 2Tcl Library Procedures Tcl_StaticPackage(3TCL)
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:_______________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE|
|____________________|__________________|_
| Availability | runtime/tcl-8 |
|____________________|__________________|_
| Interface Stability| Uncommitted ||____________________|_________________|
NOTES Source for Tcl is available on http://opensolaris.org. Tcl Last change: 7.5 3