Seth Woolley's Man Viewer

Tcl_StaticPackage(3) - Tcl_StaticPackage - make a statically linked package available via the load command - man 3 Tcl_StaticPackage

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

Tcl_StaticPackage(3)        Tcl Library Procedures        Tcl_StaticPackage(3)


       Tcl_StaticPackage  - make a statically linked package available via the
       load(7,n) command

       #include <tcl.h>

       Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc)

       Tcl_Interp            *interp         (in(1,8))      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    package
                                                       hasn't  yet been incor-
                                                       porated into any inter-

       CONST char            *pkgName        (in(1,8))      Name  of  the  package;
                                                       should be properly cap-
                                                       italized  (first letter
                                                       upper-case, all  others

       Tcl_PackageInitProc   *initProc       (in(1,8))      Procedure  to invoke to
                                                       incorporate this  pack-
                                                       age   into   a  trusted

       Tcl_PackageInitProc   *safeInitProc   (in(1,8))      Procedure  to  call  to
                                                       incorporate  this pack-
                                                       age into a safe  inter-
                                                       preter  (one  that will
                                                       execute       untrusted
                                                       scripts).    NULL means
                                                       the  package  can't  be
                                                       used   in(1,8)  safe  inter-

       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  Tcl_StaticPackage  has
       been  invoked  for  a package, it may be loaded into interpreters using
       the load(7,n) command.  Tcl_StaticPackage is normally invoked  only  by  the
       Tcl_AppInit  procedure  for  the application, not by packages for them-
       selves (Tcl_StaticPackage should only be invoked for statically  loaded
       packages,  and  code  in(1,8)  the  package  itself  should not need to know
       whether the package is dynamically or statically loaded).

       When the load(7,n) command is used later to load(7,n) the package into an  inter-
       preter,  one of initProc and safeInitProc will be invoked, depending on
       whether the target interpreter is safe or not.  initProc and  safeInit-
       Proc must both match the following prototype:
              typedef int Tcl_PackageInitProc(Tcl_Interp *interp);
       The  interp argument identifies the interpreter in(1,8) 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(1,8) the
       event of an error(8,n) it should set(7,n,1 builtins) the interpreter's result to point to an
       error(8,n)  message.   The result or error(8,n) from the initialization procedure
       will be returned as the result of the load(7,n) command that caused the ini-
       tialization procedure to be invoked.

       initialization procedure, package, static linking

Tcl                                   7.5                 Tcl_StaticPackage(3)

References for this manual (incoming links)