/*****************************************************************************
*
* XODTEMPLATE.H - Template-based object configuration data header file
*
* Copyright (c) 2001-2004 Ethan Galstad (nagios@nagios.org)
* Last Modified: 10-24-2004
*
* 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.
*
*****************************************************************************/
#ifndef _XODTEMPLATE_H
#define _XODTEMPLATE_H
/*********** GENERAL DEFINITIONS ************/
#define MAX_XODTEMPLATE_INPUT_BUFFER 65535
#define MAX_XODTEMPLATE_CONTACT_ADDRESSES 6
#define XODTEMPLATE_NONE 0
#define XODTEMPLATE_TIMEPERIOD 1
#define XODTEMPLATE_COMMAND 2
#define XODTEMPLATE_CONTACT 3
#define XODTEMPLATE_CONTACTGROUP 4
#define XODTEMPLATE_HOST 5
#define XODTEMPLATE_HOSTGROUP 6
#define XODTEMPLATE_SERVICE 7
#define XODTEMPLATE_SERVICEDEPENDENCY 8
#define XODTEMPLATE_HOSTGROUPESCALATION 9 /* no longer implemented */
#define XODTEMPLATE_SERVICEESCALATION 10
#define XODTEMPLATE_HOSTESCALATION 11
#define XODTEMPLATE_HOSTDEPENDENCY 12
#define XODTEMPLATE_HOSTEXTINFO 13
#define XODTEMPLATE_SERVICEEXTINFO 14
#define XODTEMPLATE_SERVICEGROUP 15
/********** STRUCTURE DEFINITIONS **********/
/* TIMEPERIOD TEMPLATE STRUCTURE */
typedef struct xodtemplate_timeperiod_struct{
char *template;
char *name;
int _config_file;
int _start_line;
char *timeperiod_name;
char *alias;
char *timeranges[7];
int has_been_resolved;
int register_object;
struct xodtemplate_timeperiod_struct *next;
}xodtemplate_timeperiod;
/* COMMAND TEMPLATE STRUCTURE */
typedef struct xodtemplate_command_struct{
char *template;
char *name;
int _config_file;
int _start_line;
char *command_name;
char *command_line;
int has_been_resolved;
int register_object;
struct xodtemplate_command_struct *next;
}xodtemplate_command;
/* CONTACT TEMPLATE STRUCTURE */
typedef struct xodtemplate_contact_struct{
char *template;
char *name;
int _config_file;
int _start_line;
char *contact_name;
char *alias;
char *contactgroups;
=1= |