76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _MONITOR_COMMON_HG
 | 
						|
#define _MONITOR_COMMON_HG
 | 
						|
/*
 | 
						|
 * This file is distributed as part of the MariaDB Corporation MaxScale.  It is free
 | 
						|
 * software: you can redistribute it and/or modify it under the terms of the
 | 
						|
 * GNU General Public License as published by the Free Software Foundation,
 | 
						|
 * version 2.
 | 
						|
 *
 | 
						|
 * 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., 51
 | 
						|
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 | 
						|
 *
 | 
						|
 * Copyright MariaDB Corporation Ab 2013-2015
 | 
						|
 */
 | 
						|
 | 
						|
#include <server.h>
 | 
						|
#include <mysql.h>
 | 
						|
#include <monitor.h>
 | 
						|
#include <log_manager.h>
 | 
						|
#include <externcmd.h>
 | 
						|
/**
 | 
						|
 * @file monitor_common.h - The generic monitor structures all monitors use
 | 
						|
 *
 | 
						|
 * Revision History
 | 
						|
 *
 | 
						|
 * Date      Who             Description
 | 
						|
 * 07/05/15  Markus Makela   Initial Implementation
 | 
						|
 * @endverbatim
 | 
						|
 */
 | 
						|
 | 
						|
#define MON_ARG_MAX 8192
 | 
						|
 | 
						|
/** Monitor events that are caused by servers moving from
 | 
						|
 * one state to another.*/
 | 
						|
typedef enum {
 | 
						|
  UNDEFINED_MONITOR_EVENT,
 | 
						|
  MASTER_DOWN_EVENT,
 | 
						|
  MASTER_UP_EVENT,
 | 
						|
  SLAVE_DOWN_EVENT,
 | 
						|
  SLAVE_UP_EVENT,
 | 
						|
  SERVER_DOWN_EVENT,
 | 
						|
  SERVER_UP_EVENT,
 | 
						|
  SYNCED_DOWN_EVENT,
 | 
						|
  SYNCED_UP_EVENT,
 | 
						|
  DONOR_DOWN_EVENT,
 | 
						|
  DONOR_UP_EVENT,
 | 
						|
  NDB_DOWN_EVENT,
 | 
						|
  NDB_UP_EVENT,
 | 
						|
  LOST_MASTER_EVENT,
 | 
						|
  LOST_SLAVE_EVENT,
 | 
						|
  LOST_SYNCED_EVENT,
 | 
						|
  LOST_DONOR_EVENT,
 | 
						|
  LOST_NDB_EVENT,
 | 
						|
  NEW_MASTER_EVENT,
 | 
						|
  NEW_SLAVE_EVENT,
 | 
						|
  NEW_SYNCED_EVENT,
 | 
						|
  NEW_DONOR_EVENT,
 | 
						|
  NEW_NDB_EVENT,
 | 
						|
  MAX_MONITOR_EVENT
 | 
						|
}monitor_event_t;
 | 
						|
void mon_append_node_names(MONITOR_SERVERS* start,char* str, int len);
 | 
						|
monitor_event_t mon_get_event_type(MONITOR_SERVERS* node);
 | 
						|
char* mon_get_event_name(MONITOR_SERVERS* node);
 | 
						|
void monitor_clear_pending_status(MONITOR_SERVERS *ptr, int bit);
 | 
						|
void monitor_set_pending_status(MONITOR_SERVERS *ptr, int bit);
 | 
						|
bool mon_status_changed(MONITOR_SERVERS* mon_srv);
 | 
						|
bool mon_print_fail_status(MONITOR_SERVERS* mon_srv);
 | 
						|
void monitor_launch_script(MONITOR* mon,MONITOR_SERVERS* ptr, char* script);
 | 
						|
int mon_parse_event_string(bool* events, size_t count,char* string);
 | 
						|
#endif
 |