Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dlsym(3X) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dlclose(3X)

dlerror(3X)

dlopen(3X)

dlsym(3X)                                                         dlsym(3X)

NAME
     dlsym - calculate address of a symbol in a shared object

SYNOPSIS
     cc [flag ...] file ... -ldl [library ...]

     #include <dlfcn.h>

     void *dlsym(void *handle, 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() will search for the named symbol in all
     shared objects loaded automatically as a result of loading the object
     referenced by handle [see dlopen(3X)].

EXAMPLE
     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", RTLDLAZY);

          /* find address of function and data objects */
          fptr = (int (*)(int))dlsym(handle, "somefunction");

          iptr = (int *)dlsym(handle, "intobject");

          /* invoke function, passing value of integer as a parameter */

          i = (*fptr)(*iptr);

RESULT
     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() will return NULL. More detailed diagnostic infor-
     mation will be available through dlerror().

SEE ALSO
     dlclose(3X), dlerror(3X), dlopen(3X).







Page 1                       Reliant UNIX 5.44                Printed 11/98

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