NAME
TclStaticPackage - make a statically linked package available via the
llooaadd commandSYNOPSIS
##iinncclluuddee <
TTccllSSttaattiiccPPaacckkaaggee(interp, pkgName, initProc, safeInitProc) AARRGGUUMMEENNTTSS TclInterp *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> appropriate initializa-
tion procedure). NULL means the packagehasn't yet been incor-
porated into any inter-
preter. CONST char *pkgName (in) Name of the package;should be properly cap-
italized (first letterupper-case, all others
lower-case).
TclPackageInitProc *initProc (in) Procedure to invoke toincorporate this pack-
age into a trusted interpreter. TclPackageInitProc *safeInitProc (in) Procedure to call toincorporate this pack-
age into a safe inter-
preter (one that will execute untrusted scripts). NULL means the package can't beused in safe inter-
preters.DESCRIPTION
This procedure may be invoked to announce that a package has been linked statically with a Tcl application and, optionally, that it has already been loaded into an interpreter. Once TTccllSSttaattiiccPPaacckkaaggee has been invoked for a package, it may be loaded into interpreters using the llooaadd command. TTccllSSttaattiiccPPaacckkaaggee is normally invoked only by theTTccllAAppppIInniitt procedure for the application, not by packages for them-
selves (TTccllSSttaattiiccPPaacckkaaggee 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 llooaadd command is used later to load the package into an inter-
preter, one of initProc and safeInitProc will be invoked, depending onwhether the target interpreter is safe or not. initProc and safeInit-
Proc must both match the following prototype: typedef int TclPackageInitProc(TclInterp *interp); The interp argument identifies the interpreter in which the package is to be loaded. The initialization procedure must return TTCCLLOOKK or TTCCLLEERRRROORR 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 procedurewill be returned as the result of the llooaadd command that caused the ini-
tialization procedure to be invoked. KKEEYYWWOORRDDSS initialization procedure, package, static linking Tcl 7.5 TclStaticPackage(3)