Dynamic Object Handling
Overview
// typedefs typedef struct apr_dso_handle_t apr_dso_handle_t; typedef void* apr_dso_handle_sym_t; // global functions 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 Documentation
Typedefs
typedef struct apr_dso_handle_t apr_dso_handle_t
Structure for referencing dynamic objects
typedef void* apr_dso_handle_sym_t
Structure for referencing symbols from dynamic objects
Global Functions
apr_status_t apr_dso_load( apr_dso_handle_t** res_handle, const char* path, apr_pool_t* ctx )
Load a DSO library. Bug We aught to provide an alternative to RTLD_GLOBAL, which is the only supported method of loading DSOs today.
Parameters:
res_handle  | 
Location to store new handle for the DSO.  | 
path  | 
Path to the DSO library  | 
ctx  | 
Pool to use.  | 
apr_status_t apr_dso_unload(apr_dso_handle_t* handle)
Close a DSO library.
Parameters:
handle  | 
handle to close.  | 
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.
Parameters:
ressym  | 
Location to store the loaded symbol  | 
handle  | 
handle to load the symbol from.  | 
symname  | 
Name of the symbol to load.  | 
const char* apr_dso_error( apr_dso_handle_t* dso, char* buf, apr_size_t bufsize )
Report more information when a DSO function fails.
Parameters:
dso  | 
The dso handle that has been opened  | 
buf  | 
Location to store the dso error  | 
bufsize  | 
The size of the provided buffer  |