00001 /***************************************************************************** 00002 * 00003 * NEBMODS.H - Include file for event broker modules 00004 * 00005 * Copyright (c) 1999-2009 Ethan Galstad (egalstad@nagios.org) 00006 * Copyright (c) 2009-2011 Icinga Development Team (http://www.icinga.org) 00007 * 00008 * License: 00009 * 00010 * This program is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License version 2 as 00012 * published by the Free Software Foundation. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; if not, write to the Free Software 00021 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00022 * 00023 *****************************************************************************/ 00024 00025 #ifndef _NEBMODS_H 00026 #define _NEBMODS_H 00027 00028 #include "config.h" 00029 #include "nebcallbacks.h" 00030 #include "nebmodules.h" 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif 00035 00036 00037 /***** MODULE STRUCTURES *****/ 00038 00039 /* NEB module callback list struct */ 00040 typedef struct nebcallback_struct{ 00041 void *callback_func; 00042 void *module_handle; 00043 int priority; 00044 struct nebcallback_struct *next; 00045 }nebcallback; 00046 00047 00048 00049 /***** MODULE FUNCTIONS *****/ 00050 00051 int neb_init_modules(void); 00052 int neb_deinit_modules(void); 00053 int neb_load_all_modules(void); 00054 int neb_load_module(nebmodule *); 00055 int neb_free_module_list(void); 00056 int neb_unload_all_modules(int,int); 00057 int neb_unload_module(nebmodule *,int,int); 00058 int neb_add_module(char *,char *,int); 00059 00060 00061 /***** CALLBACK FUNCTIONS *****/ 00062 int neb_init_callback_list(void); 00063 int neb_free_callback_list(void); 00064 int neb_make_callbacks(int,void *); 00065 00066 #ifdef __cplusplus 00067 } 00068 #endif 00069 00070 #endif