ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



Tcl_StaticPackage(3)                       Tcl Library Procedures                       Tcl_StaticPackage(3)



____________________________________________________________________________________________________________

NAME
       Tcl_StaticPackage - make a statically linked package available 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 initialization proce-dure). procedure).
                                                       dure).  NULL means the package hasn't yet been incor-porated incorporated
                                                       porated into any interpreter.

       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 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 can't be used in
                                                       safe interpreters.
____________________________________________________________________________________________________________


DESCRIPTION
       This procedure may be invoked to announce that a package has been linked statically with a Tcl appli-cation application
       cation  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 command.  Tcl_Stat-icPackage Tcl_StaticPackage
       icPackage  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 following prototype:
              typedef int Tcl_PackageInitProc(Tcl_Interp *interp);
       The interp argument identifies the interpreter in which the package is to be loaded.  The initializa-tion initialization
       tion  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                                                  7.5                                Tcl_StaticPackage(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.