aboutsummaryrefslogtreecommitdiff
path: root/protomap.c
blob: f9c3fa78520facc02fbb92984b05ba777f75d8f5 (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
63
64
65
66
67
68
69
70
71
72
/* SPDX-License-Identifier: ISC */
#include "syslogd.h"

#include <string.h>

static const char *levels[] = {
	"emergency",
	"alert",
	"critical",
	"error",
	"warning",
	"notice",
	"info",
	"debug",
};

static const char *facilities[] = {
	"kernel",
	"user",
	"mail",
	"daemon",
	"auth",
	"syslog",
	"lpr",
	"news",
	"uucp",
	"clock",
	"authpriv",
	"ftp",
	"ntp",
	"audit",
	"alert",
	"cron",
	"local0",
	"local1",
	"local2",
	"local3",
	"local4",
	"local5",
	"local6",
	"local7",
};

const char *level_id_to_string(int level)
{
	return (level < 0 || level > 7) ? NULL : levels[level];
}

const char *facility_id_to_string(int id)
{
	return (id < 0 || id > 23) ? NULL : facilities[id];
}

int level_id_from_string(const char *level)
{
	size_t i;
	for (i = 0; i < sizeof(levels) / sizeof(levels[0]); ++i) {
		if (strcmp(level, levels[i]) == 0)
			return i;
	}
	return -1;
}

int facility_id_from_string(const char *fac)
{
	size_t i;
	for (i = 0; i < sizeof(facilities) / sizeof(facilities[0]); ++i) {
		if (strcmp(fac, facilities[i]) == 0)
			return i;
	}
	return -1;
}