aboutsummaryrefslogtreecommitdiff
path: root/eperd/eperd.h
blob: 2b5df6b65ee2eb889c7c592f13595cc0a7c20577 (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
 * Copyright (c) 2013-2014 RIPE NCC <atlas@ripe.net>
 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
 * eperd.h
 */

typedef struct CronLine CronLine;

struct globals {
	unsigned LogLevel; /* = 8; */
	const char *LogFile;
	const char *CDir; /* = CRONTABS; */
	CronLine *LineBase;
	CronLine *oldLine;
	unsigned instance_id;
	struct event_base *EventBase;
	struct evdns_base *DnsBase;
};
extern struct globals G;
#define LogLevel           (G.LogLevel               )
#define LogFile            (G.LogFile                )
#define CDir               (G.CDir                   )
#define LineBase           (G.LineBase               )
#define FileBase           (G.FileBase               )
#define oldLine            (G.oldLine                )
#define instance_id        (G.instance_id            )
#define EventBase          (G.EventBase              )
#define DnsBase            (G.DnsBase                )

#define TRT_ICMP4_INSTANCE_ID_SHIFT	    12
#define TRT_ICMP4_INSTANCE_ID_MASK	0xf000

#define LVL5  "\x05"
#define LVL7  "\x07"
#define LVL8  "\x08"
#define LVL9  "\x09"
#define WARN9 "\x49"
#define DIE9  "\xc9"
/* level >= 20 is "error" */
#define ERR20 "\x14"

struct testops
{
	void *(*init)(int argc, char *argv[], void (*done)(void *teststate));
	void (*start)(void *teststate);
	int (*delete)(void *teststate);
};

extern struct testops condmv_ops;
extern struct testops httpget_ops;
extern struct testops ntp_ops;
extern struct testops ping_ops;
extern struct testops sslgetcert_ops;
extern struct testops tdig_ops;
extern struct testops traceroute_ops;

void crondlog(const char *ctl, ...);
int get_atlas_fw_version(void);

#ifndef CLOCK_MONOTONIC_RAW
#define CLOCK_MONOTONIC_RAW 4
#endif