/*****************************************************************************
*
* OBJECTS.C - Object addition and search functions for Nagios
*
* Copyright (c) 1999-2006 Ethan Galstad (nagios@nagios.org)
* Last Modified: 02-24-2006
*
* License:
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*****************************************************************************/
#include "../include/config.h"
#include "../include/common.h"
#include "../include/objects.h"
#ifdef NSCORE
#include "../include/nagios.h"
#endif
#ifdef NSCGI
#include "../include/cgiutils.h"
#endif
/**** IMPLEMENTATION-SPECIFIC HEADER FILES ****/
#ifdef USE_XODTEMPLATE /* template-based routines */
#include "../xdata/xodtemplate.h"
#endif
host *host_list=NULL,*host_list_tail=NULL;
service *service_list=NULL,*service_list_tail=NULL;
contact *contact_list=NULL,*contact_list_tail=NULL;
contactgroup *contactgroup_list=NULL,*contactgroup_list_tail=NULL;
hostgroup *hostgroup_list=NULL,*hostgroup_list_tail=NULL;
servicegroup *servicegroup_list=NULL,*servicegroup_list_tail=NULL;
command *command_list=NULL,*command_list_tail=NULL;
timeperiod *timeperiod_list=NULL,*timeperiod_list_tail=NULL;
serviceescalation *serviceescalation_list=NULL,*serviceescalation_list_tail=NULL;
servicedependency *servicedependency_list=NULL,*servicedependency_list_tail=NULL;
hostdependency *hostdependency_list=NULL,*hostdependency_list_tail=NULL;
hostescalation *hostescalation_list=NULL,*hostescalation_list_tail=NULL;
hostextinfo *hostextinfo_list=NULL,*hostextinfo_list_tail=NULL;
serviceextinfo *serviceextinfo_list=NULL,*serviceextinfo_list_tail=NULL;
host **host_hashlist=NULL;
service **service_hashlist=NULL;
command **command_hashlist=NULL;
timeperiod **timeperiod_hashlist=NULL;
contact **contact_hashlist=NULL;
contactgroup **contactgroup_hashlist=NULL;
hostgroup **hostgroup_hashlist=NULL;
servicegroup **servicegroup_hashlist=NULL;
hostextinfo **hostextinfo_hashlist=NULL;
serviceextinfo **serviceextinfo_hashlist=NULL;
hostdependency **hostdependency_hashlist=NULL;
servicedependency **servicedependency_hashlist=NULL;
hostescalation **hostescalation_hashlist=NULL;
serviceescalation **serviceescalation_hashlist=NULL;
#ifdef NSCORE
int __nagios_object_structure_version=CURRENT_OBJECT_STRUCTURE_VERSION;
#endif
/******************************************************************/
/******* TOP-LEVEL HOST CONFIGURATION DATA INPUT FUNCTION *********/
/******************************************************************/
/* read all host configuration data from external source */
int read_object_config_data(char *main_config_file,int options,int cache){
int result=OK;
#ifdef DEBUG0
printf("read_object_config_data() start\n");
#endif
/********* IMPLEMENTATION-SPECIFIC INPUT FUNCTION ********/
#ifdef USE_XODTEMPLATE
/* read in data from all text host config files (template-based) */
result=xodtemplate_read_config_data(main_config_file,options,cache);
if(result!=OK)
return ERROR;
#endif
=1= |