include/nebmods.h

Go to the documentation of this file.
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

Generated on Wed Mar 30 17:22:22 2011 for icinga-core by  doxygen 1.4.7