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 |