DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

Tcl_StaticPackage(3tcl)




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