summaryrefslogtreecommitdiffstats
path: root/unix/tclLoadDl.c
diff options
context:
space:
mode:
Diffstat (limited to 'unix/tclLoadDl.c')
-rw-r--r--unix/tclLoadDl.c34
1 files changed, 23 insertions, 11 deletions
diff --git a/unix/tclLoadDl.c b/unix/tclLoadDl.c
index aa5fab7..c7402aa 100644
--- a/unix/tclLoadDl.c
+++ b/unix/tclLoadDl.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclLoadDl.c,v 1.10 2002/07/17 20:02:43 vincentdarley Exp $
+ * RCS: @(#) $Id: tclLoadDl.c,v 1.11 2002/07/18 15:04:53 vincentdarley Exp $
*/
#include "tclInt.h"
@@ -38,17 +38,14 @@
/*
*---------------------------------------------------------------------------
*
- * TclpLoadFile --
+ * TclpDlopen --
*
* Dynamically loads a binary code file into memory and returns
- * the addresses of two procedures within that file, if they
- * are defined.
+ * a handle to the new code.
*
* Results:
* A standard Tcl completion code. If an error occurs, an error
- * message is left in the interp's result. *proc1Ptr and *proc2Ptr
- * are filled in with the addresses of the symbols given by
- * *sym1 and *sym2, or NULL if those symbols can't be found.
+ * message is left in the interp's result.
*
* Side effects:
* New code suddenly appears in memory.
@@ -87,6 +84,21 @@ TclpDlopen(interp, pathPtr, loadHandle, unloadProcPtr)
return TCL_OK;
}
+/*
+ *----------------------------------------------------------------------
+ *
+ * TclpFindSymbol --
+ *
+ * Looks up a symbol, by name, through a handle associated with
+ * a previously loaded piece of code (shared library).
+ *
+ * Results:
+ * Returns a pointer to the function associated with 'symbol' if
+ * it is found. Otherwise returns NULL and may leave an error
+ * message in the interp's result.
+ *
+ *----------------------------------------------------------------------
+ */
Tcl_PackageInitProc*
TclpFindSymbol(interp, loadHandle, symbol)
Tcl_Interp *interp;
@@ -138,15 +150,15 @@ TclpFindSymbol(interp, loadHandle, symbol)
*/
void
-TclpUnloadFile(clientData)
- ClientData clientData; /* ClientData returned by a previous call
- * to TclpLoadFile(). The clientData is
+TclpUnloadFile(loadHandle)
+ TclLoadHandle loadHandle; /* loadHandle returned by a previous call
+ * to TclpDlopen(). The loadHandle is
* a token that represents the loaded
* file. */
{
VOID *handle;
- handle = (VOID *) clientData;
+ handle = (VOID *) loadHandle;
dlclose(handle);
}