Logo Search packages:      
Sourcecode: ndoutils version File versions  Download package

nebstructs.h

/*****************************************************************************
 *
 * NEBSTRUCTS.H - Event broker includes for Nagios
 *
 * Copyright (c) 2003-2005 Ethan Galstad (nagios@nagios.org)
 * Last Modified: 12-17-2005
 *
 * 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 _NEBSTRUCTS_H
#define _NEBSTRUCTS_H

#include "config.h"
#include "objects.h"
#include "nagios.h"

#ifdef __cplusplus
  extern "C" {
#endif

/****** STRUCTURES *************************/

/* process data structure */
typedef struct nebstruct_process_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;
        }nebstruct_process_data;


/* timed event data structure */
typedef struct nebstruct_timed_event_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             event_type;
      int             recurring;
      time_t          run_time;
      void            *event_data;
        }nebstruct_timed_event_data;


/* log data structure */
typedef struct nebstruct_log_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      time_t          entry_time;
      int             data_type;
      char            *data;
        }nebstruct_log_data;


/* system command structure */
typedef struct nebstruct_system_command_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      struct timeval  start_time;
      struct timeval  end_time;
      int             timeout;
      char            *command_line;
      int             early_timeout;
      double          execution_time;
      int             return_code;
      char            *output;
        }nebstruct_system_command_data;


/* event handler structure */
typedef struct nebstruct_event_handler_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             eventhandler_type;
      char            *host_name;
      char            *service_description;
      int             state_type;
      int             state;
      int             timeout;
      char            *command_name;
      char            *command_args;
      char            *command_line;
      struct timeval  start_time;
      struct timeval  end_time;
      int             early_timeout;
      double          execution_time;
      int             return_code;
      char            *output;
        }nebstruct_event_handler_data;


/* host check structure */
typedef struct nebstruct_host_check_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      char            *host_name;
      int             current_attempt;
      int             check_type;
      int             max_attempts;
      int             state_type;
      int             state;
      int             timeout;
      char            *command_name;
      char            *command_args;
      char            *command_line;
      struct timeval  start_time;
      struct timeval  end_time;
      int             early_timeout;
      double          execution_time;
      double          latency;
      int             return_code;
      char            *output;
      char            *perf_data;
        }nebstruct_host_check_data;


/* service check structure */
typedef struct nebstruct_service_check_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      char            *host_name;
      char            *service_description;
      int             check_type;
      int             current_attempt;
      int             max_attempts;
      int             state_type;
      int             state;
      int             timeout;
      char            *command_name;
      char            *command_args;
      char            *command_line;
      struct timeval  start_time;
      struct timeval  end_time;
      int             early_timeout;
      double          execution_time;
      double          latency;
      int             return_code;
      char            *output;
      char            *perf_data;
        }nebstruct_service_check_data;


/* comment data structure */
typedef struct nebstruct_comment_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             comment_type;
      char            *host_name;
      char            *service_description;
      time_t          entry_time;
      char            *author_name;
      char            *comment_data;
      int             persistent;
      int             source;
      int             entry_type;
      int             expires;
      time_t          expire_time;
      unsigned long   comment_id;
        }nebstruct_comment_data;


/* downtime data structure */
typedef struct nebstruct_downtime_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             downtime_type;
      char            *host_name;
      char            *service_description;
      time_t          entry_time;
      char            *author_name;
      char            *comment_data;
      time_t          start_time;
      time_t          end_time;
      int             fixed;
      unsigned long   duration;
      unsigned long   triggered_by;
      unsigned long   downtime_id;
        }nebstruct_downtime_data;


/* flapping data structure */
typedef struct nebstruct_flapping_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             flapping_type;
      char            *host_name;
      char            *service_description;
      double          percent_change;
      double          high_threshold;
      double          low_threshold;
      unsigned long   comment_id;
        }nebstruct_flapping_data;


/* program status structure */
typedef struct nebstruct_program_status_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      time_t          program_start;
      int             pid;
      int             daemon_mode;
      time_t          last_command_check;
      time_t          last_log_rotation;
      int             notifications_enabled;
      int             active_service_checks_enabled;
      int             passive_service_checks_enabled;
      int             active_host_checks_enabled;
      int             passive_host_checks_enabled;
      int             event_handlers_enabled;
      int             flap_detection_enabled;
      int             failure_prediction_enabled;
      int             process_performance_data;
      int             obsess_over_hosts;
      int             obsess_over_services;
      unsigned long   modified_host_attributes;
      unsigned long   modified_service_attributes;
      char            *global_host_event_handler;
      char            *global_service_event_handler;
        }nebstruct_program_status_data;


/* host status structure */
typedef struct nebstruct_host_status_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      void            *object_ptr;
        }nebstruct_host_status_data;


/* service status structure */
typedef struct nebstruct_service_status_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      void            *object_ptr;
        }nebstruct_service_status_data;


/* notification data structure */
typedef struct nebstruct_notification_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             notification_type;
      struct timeval  start_time;
      struct timeval  end_time;
      char            *host_name;
      char            *service_description;
      int             reason_type;
      int             state;
      char            *output;
      char            *ack_author;
      char            *ack_data;
      int             escalated;
      int             contacts_notified;
        }nebstruct_notification_data;


/* contact notification data structure */
typedef struct nebstruct_contact_notification_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             notification_type;
      struct timeval  start_time;
      struct timeval  end_time;
      char            *host_name;
      char            *service_description;
      char            *contact_name;
      int             reason_type;
      int             state;
      char            *output;
      char            *ack_author;
      char            *ack_data;
      int             escalated;
        }nebstruct_contact_notification_data;


/* contact notification method data structure */
typedef struct nebstruct_contact_notification_method_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             notification_type;
      struct timeval  start_time;
      struct timeval  end_time;
      char            *host_name;
      char            *service_description;
      char            *contact_name;
      char            *command_name;
      char            *command_args;
      int             reason_type;
      int             state;
      char            *output;
      char            *ack_author;
      char            *ack_data;
      int             escalated;
        }nebstruct_contact_notification_method_data;


/* adaptive program data structure */
typedef struct nebstruct_adaptive_program_data_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             command_type;
      unsigned long   modified_host_attribute;
      unsigned long   modified_host_attributes;
      unsigned long   modified_service_attribute;
      unsigned long   modified_service_attributes;
      char            *global_host_event_handler;
      char            *global_service_event_handler;
        }nebstruct_adaptive_program_data;


/* adaptive host data structure */
typedef struct nebstruct_adaptive_host_data_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             command_type;
      unsigned long   modified_attribute;
      unsigned long   modified_attributes;
      void            *object_ptr;
        }nebstruct_adaptive_host_data;


/* adaptive service data structure */
typedef struct nebstruct_adaptive_service_data_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             command_type;
      unsigned long   modified_attribute;
      unsigned long   modified_attributes;
      void            *object_ptr;
        }nebstruct_adaptive_service_data;


/* external command data structure */
typedef struct nebstruct_external_command_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             command_type;
      time_t          entry_time;
      char            *command_string;
      char            *command_args;
        }nebstruct_external_command_data;


/* aggregated status data structure */
typedef struct nebstruct_aggregated_status_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

        }nebstruct_aggregated_status_data;


/* retention data structure */
typedef struct nebstruct_retention_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

        }nebstruct_retention_data;


/* acknowledgement structure */
typedef struct nebstruct_acknowledgement_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             acknowledgement_type;
      char            *host_name;
      char            *service_description;
      int             state;
      char            *author_name;
      char            *comment_data;
      int             is_sticky;
      int             persistent_comment;
      int             notify_contacts;
        }nebstruct_acknowledgement_data;


/* state change structure */
typedef struct nebstruct_statechange_struct{
      int             type;
      int             flags;
      int             attr;
      struct timeval  timestamp;

      int             statechange_type;
      char            *host_name;
      char            *service_description;
      int             state;
      int             state_type;
      int             current_attempt;
      int             max_attempts;
      char            *output;
        }nebstruct_statechange_data;

#ifdef __cplusplus
  }
#endif

#endif

Generated by  Doxygen 1.6.0   Back to index