Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

module.h

Go to the documentation of this file.
00001 #ifndef OA_MODULE_H
00002 #define OA_MODULE_H
00003 
00015 /* Temporarily use global pools */
00016 #include <openathena.h>
00017 #include <apr_dso.h>
00018 
00022 #define OA_MOD_VERSION "SVN"
00023 
00027 struct oa_mod_info {
00028         char *id;               
00029         char *name;             
00030         char *version;          
00031         char *author;           
00032         char *description;      
00033         char *oa_version;       
00034         apr_status_t (*load)(); 
00035         void (*unload)();       
00036 };
00037 
00045 #define OA_MOD_REGISTER(module, info)                   \
00046         struct oa_mod_info *oa_mod_init_##module() {    \
00047                 return &(info);                         \
00048         }
00049 
00053 typedef struct oa_mod oa_mod;
00054 
00058 void oa_mod_init();
00059 
00066 apr_status_t oa_mod_load(const char *mod_id, const char *filename);
00067 
00073 void oa_mod_unload(const char *mod_id, oa_mod *module);
00074 
00078 void oa_mod_unload_all();
00079 
00082 #endif // OA_MODULE_H
00083 

Generated on Fri Apr 28 10:20:04 2006 for OpenAthena by  doxygen 1.4.4