aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_host.h
blob: f19c46115b016a0cbdd22f347e5fb7948b05eabf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef PINGU_HOST_H
#define PINGU_HOST_H

#include <ev.h>

#include "pingu_burst.h"

struct pingu_host {
	struct list_head host_list_entry;
	char *host;
	char *source_ip;
	char *label;
	char *interface;
	char *gateway;
	char *up_action;
	char *down_action;
	int status;
	int iface_route_table;
	int max_retries;
	int required_replies;
	ev_tstamp timeout;

	ev_tstamp burst_interval;
	struct ev_timer burst_timeout_watcher;
	struct pingu_burst burst;
	struct pingu_iface *iface;
};

int pingu_host_set_status(struct pingu_host *host, int status);
int pingu_host_init(struct ev_loop *loop, const char *config_file);
int pingu_host_verify_status(struct ev_loop *loop, struct pingu_host *host);

#endif