"<dlfcn.h>">

NAME

dlfcn.h — dynamic linking

SYNOPSIS

#include <dlfcn.h>

DESCRIPTION

The <dlfcn.h> header shall define the Dl_info_t structure type, which shall include at least the following members:

const char *dli_fname     Pathname of mapped object file.
void       *dli_fbase     Base of mapped address range.
const char *dli_sname     Symbol name or null pointer.
void       *dli_saddr     Symbol address or null pointer.

The <dlfcn.h> header shall define at least the following symbolic constants for use in the construction of a dlopen() mode argument:

RTLD_LAZY
Relocations are performed at an implementation-defined time.
RTLD_NOW
Relocations are performed when the object is loaded.
RTLD_GLOBAL
All symbols are available for relocation processing of other modules.
RTLD_LOCAL
All symbols are not made available for relocation processing by other modules.

The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.

int    dladdr(const void *restrict, Dl_info_t *restrict);
int    dlclose(void *);
char  *dlerror(void);
void  *dlopen(const char *, int);
void  *dlsym(void *restrict, const char *restrict);

The following sections are informative.

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

XSH dladdr , dlclose , dlerror , dlopen , dlsym

CHANGE HISTORY

First released in Issue 5.

Issue 6

The restrict keyword is added to the prototype for dlsym().

Issue 7

The <dlfcn.h> header is moved from the XSI option to the Base.

This reference page is clarified with respect to macros and symbolic constants.

Issue 8

Austin Group Defect 993 is applied, adding dladdr().

End of informative text.