Tcl_StaticPackage(3)
Tcl_StaticPackage(3) Tcl Library Procedures Tcl_StaticPackage(3)
_________________________________________________________________
NAME
Tcl_StaticPackage - make a statically linked package avail-
able via the 'load' command
SYNOPSIS
#include <tcl.h>
Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc)
ARGUMENTS
Tcl_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
appropriate
initializa-
tion pro-
cedure).
NULL means
the package
has not yet
been incor-
porated into
any inter-
preter.
const char *pkgName (in) Name of the
package;
should be
properly
capitalized
(first
letter
upper-case,
all others
lower-case).
Tcl_PackageInitProc *initProc (in) Procedure to
invoke to
incorporate
this package
into a
trusted
Tcl Last change: 7.5 1
Tcl_StaticPackage(3) Tcl Library Procedures Tcl_StaticPackage(3)
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
cannot be
used in safe
inter-
preters.
_________________________________________________________________
DESCRIPTION
This procedure may be invoked to announce that a package has
been 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 safe
or 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 must
return 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 2
Man(1) output converted with
man2html