Main Page | Modules | Data Structures | File List | Data Fields

/extra/work/state-dev/src/stated/smd_modules.h

00001 /* ----------------------------------------------------------------------------
00002  * $Id: smd_modules.h,v 1.4 2003/07/21 23:52:58 jlewalle Exp $
00003  *
00004  * --------------------------------------------------------------------------*/
00005 #if !defined(_INCLUDED_SMD_MODULES_H_HEADER__)
00006 #define _INCLUDED_SMD_MODULES_H_HEADER__
00007 
00018 typedef struct smd_module_system_t smd_module_system_t;
00019 
00025 typedef sul_error_t *(*smd_module_create_fn_t)(smd_module_system_t *modsys,
00026                                                sul_cfg_block_t *cfg,
00027                                                apr_pool_t *pool);
00028 
00033 typedef sul_error_t *(*smd_module_destroy_fn_t)(apr_pool_t *pool);
00034 
00041 typedef struct smd_module_t
00042 {
00044   const char *name;
00046   smd_module_create_fn_t create_fn;
00048   smd_module_destroy_fn_t destroy_fn;
00050   apr_pool_t *pool;
00051 #if defined(APR_HAS_DSO)
00052 
00053   apr_dso_handle_t *handle;
00054 #endif
00055 } smd_module_t;
00056 
00071 sul_error_t *smd_modules_create(smd_module_system_t **self, 
00072                                 sul_cfg_block_t *config, sos_fs_t *fs, 
00073                                 apr_pool_t *pool);
00074 
00075 
00085 sul_error_t *smd_modules_load(smd_module_system_t *modsys, smd_module_t *module,
00086                               apr_pool_t *pool);
00087 
00095 sul_error_t *smd_modules_destroy(smd_module_system_t *modsys);
00096 
00103 sul_cfg_block_t *smd_modules_config(smd_module_system_t *modsys);
00104 
00113 sul_error_t *moddynamic_module_load(smd_module_system_t *modsys,
00114                                     const char *name, apr_pool_t *pool);
00115 
00116 char *smd_modules_cfg_path(const char *key, apr_pool_t *pool);
00117 
00120 #endif

Generated on Wed Apr 28 09:38:33 2004 for State by doxygen 1.3.5