#include <tcl.h>
Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc)
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. Tcl_StaticPackage is typically invoked by the Tcl_AppInit procedure for the application. Once Tcl_StaticPackage has been invoked for a package, it may be loaded into interpreters using the load command.
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 following 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 interp->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.