dlfcn.h — dynamic linking
#include <dlfcn.h>
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);
None.
None.
None.
First released in Issue 5.
The restrict keyword is added to the prototype for dlsym().
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.
Austin Group Defect 993 is applied, adding dladdr().
return to top of page