1/*
2 * Copyright (C) 1993-2001 by Darren Reed.
3 *
4 * See the IPFILTER.LICENCE file for details on licencing.
5 *
6 * $Id: loglevel.c,v 1.5 2001/06/09 17:09:24 darrenr Exp $
7 */
8
9#include "ipf.h"
10
11
12int loglevel(cpp, facpri, linenum)
13char **cpp;
14u_int *facpri;
15int linenum;
16{
17	int fac, pri;
18	char *s;
19
20	fac = 0;
21	pri = 0;
22	if (!*++cpp) {
23		fprintf(stderr, "%d: %s\n", linenum,
24			"missing identifier after level");
25		return -1;
26	}
27
28	s = strchr(*cpp, '.');
29	if (s) {
30		*s++ = '\0';
31		fac = fac_findname(*cpp);
32		if (fac == -1) {
33			fprintf(stderr, "%d: %s %s\n", linenum,
34				"Unknown facility", *cpp);
35			return -1;
36		}
37		pri = pri_findname(s);
38		if (pri == -1) {
39			fprintf(stderr, "%d: %s %s\n", linenum,
40				"Unknown priority", s);
41			return -1;
42		}
43	} else {
44		pri = pri_findname(*cpp);
45		if (pri == -1) {
46			fprintf(stderr, "%d: %s %s\n", linenum,
47				"Unknown priority", *cpp);
48			return -1;
49		}
50	}
51	*facpri = fac|pri;
52	return 0;
53}
54