Dynamic Object Handling
Collaboration diagram for Dynamic Object Handling:


typedef struct apr_dso_handle_t apr_dso_handle_t
typedef void * apr_dso_handle_sym_t


apr_status_t apr_dso_load (apr_dso_handle_t **res_handle, const char *path, apr_pool_t *ctx)
apr_status_t apr_dso_unload (apr_dso_handle_t *handle)
apr_status_t apr_dso_sym (apr_dso_handle_sym_t *ressym, apr_dso_handle_t *handle, const char *symname)
const char * apr_dso_error (apr_dso_handle_t *dso, char *buf, apr_size_t bufsize)

Detailed Description

Typedef Documentation

◆ apr_dso_handle_sym_t

typedef void* apr_dso_handle_sym_t

Structure for referencing symbols from dynamic objects

◆ apr_dso_handle_t

Structure for referencing dynamic objects

Function Documentation

◆ apr_dso_error()

const char* apr_dso_error ( apr_dso_handle_t dso,
char *  buf,
apr_size_t  bufsize 

Report more information when a DSO function fails.

dsoThe dso handle that has been opened
bufLocation to store the dso error
bufsizeThe size of the provided buffer

◆ apr_dso_load()

apr_status_t apr_dso_load ( apr_dso_handle_t **  res_handle,
const char *  path,
apr_pool_t ctx 

Load a DSO library.

res_handleLocation to store new handle for the DSO.
pathPath to the DSO library
ctxPool to use.
We aught to provide an alternative to RTLD_GLOBAL, which is the only supported method of loading DSOs today.

◆ apr_dso_sym()

apr_status_t apr_dso_sym ( apr_dso_handle_sym_t ressym,
apr_dso_handle_t handle,
const char *  symname 

Load a symbol from a DSO handle.

ressymLocation to store the loaded symbol
handlehandle to load the symbol from.
symnameName of the symbol to load.

◆ apr_dso_unload()

apr_status_t apr_dso_unload ( apr_dso_handle_t handle)

Close a DSO library.

handlehandle to close.