StaticPkg.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1995-1996 Sun Microsystems, Inc.
  3. '"
  4. '" See the file "license.terms" for information on usage and redistribution
  5. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  6. '" 
  7. '" RCS: @(#) $Id: StaticPkg.3,v 1.4 2002/01/09 19:09:28 kennykb Exp $
  8. '" 
  9. .so man.macros
  10. .TH Tcl_StaticPackage 3 7.5 Tcl "Tcl Library Procedures"
  11. .BS
  12. .SH NAME
  13. Tcl_StaticPackage - make a statically linked package available via the fBloadfR command
  14. .SH SYNOPSIS
  15. .nf
  16. fB#include <tcl.h>fR
  17. .sp
  18. fBTcl_StaticPackagefR(fIinterp, pkgName, initProc, safeInitProcfR)
  19. .SH ARGUMENTS
  20. .AS Tcl_PackageInitProc *safeInitProc
  21. .AP Tcl_Interp *interp in
  22. If not NULL, points to an interpreter into which the package has
  23. already been loaded (i.e., the caller has already invoked the
  24. appropriate initialization procedure).  NULL means the package
  25. hasn't yet been incorporated into any interpreter.
  26. .AP "CONST char" *pkgName in
  27. Name of the package;  should be properly capitalized (first letter
  28. upper-case, all others lower-case).
  29. .AP Tcl_PackageInitProc *initProc in
  30. Procedure to invoke to incorporate this package into a trusted
  31. interpreter.
  32. .AP Tcl_PackageInitProc *safeInitProc in
  33. Procedure to call to incorporate this package into a safe interpreter
  34. (one that will execute untrusted scripts).   NULL means the package
  35. can't be used in safe interpreters.
  36. .BE
  37. .SH DESCRIPTION
  38. .PP
  39. This procedure may be invoked to announce that a package has been
  40. linked statically with a Tcl application and, optionally, that it
  41. has already been loaded into an interpreter.
  42. Once fBTcl_StaticPackagefR has been invoked for a package, it
  43. may be loaded into interpreters using the fBloadfR command.
  44. fBTcl_StaticPackagefR is normally invoked only by the fBTcl_AppInitfR
  45. procedure for the application, not by packages for themselves
  46. (fBTcl_StaticPackagefR should only be invoked for statically
  47. loaded packages, and code in the package itself should not need
  48. to know whether the package is dynamically or statically loaded).
  49. .PP
  50. When the fBloadfR command is used later to load the package into
  51. an interpreter, one of fIinitProcfR and fIsafeInitProcfR will
  52. be invoked, depending on whether the target interpreter is safe
  53. or not.
  54. fIinitProcfR and fIsafeInitProcfR must both match the
  55. following prototype:
  56. .CS
  57. typedef int Tcl_PackageInitProc(Tcl_Interp *fIinterpfR);
  58. .CE
  59. The fIinterpfR argument identifies the interpreter in which the package
  60. is to be loaded.  The initialization procedure must return fBTCL_OKfR or
  61. fBTCL_ERRORfR to indicate whether or not it completed successfully; in
  62. the event of an error it should set the interpreter's result to point to an
  63. error message.  The result or error from the initialization procedure will
  64. be returned as the result of the fBloadfR command that caused the
  65. initialization procedure to be invoked.
  66. .SH KEYWORDS
  67. initialization procedure, package, static linking