Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dlsym(3C) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dlclose(3C)

dlerror(3C)

dlopen(3C)






       dlsym(3C)                                                  dlsym(3C)


       NAME
             dlsym - get the address of a symbol in shared object

       SYNOPSIS
             #include <dlfcn.h>
             void *dlsym(void *handle, const char *name);

       DESCRIPTION
             dlsym allows a process to obtain the address of a symbol
             defined within a shared object previously opened by dlopen.
             handle is a value returned by a call to dlopen; the
             corresponding shared object must not have been closed using
             dlclose.  name is the symbol's name as a character string.
             dlsym searches for the named symbol in all shared objects
             loaded automatically as a result of loading the object
             referenced by handle [see dlopen(3C)].

          Return Values
             If handle does not refer to a valid object opened by dlopen,
             or if the named symbol cannot be found within any of the
             objects associated with handle, dlsym returns NULL.  More
             detailed diagnostic information is available through dlerror.

       USAGE
          Examples
             The following example shows how one can use dlopen and dlsym
             to access either function or data objects.  For simplicity,
             error checking has been omitted.

                   void *handle;
                   int i, *iptr;
                   int (*fptr)(int);
                   /* open the needed object */
                   handle = dlopen("/usr/mydir/libx.so", RTLD_LAZY);
                   /* find address of function and data objects */
                   fptr = (int (*)(int))dlsym(handle, "some_function");
                   iptr = (int *)dlsym(handle, "int_object");
                   /* invoke function, passing value of integer as a parameter */
                   i = (*fptr)(*iptr);

       REFERENCES
             dlclose(3C), dlerror(3C), dlopen(3C)






                           Copyright 1994 Novell, Inc.               Page 1








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026