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
loglevel(cpp,facpri,linenum)12 int loglevel(cpp, facpri, linenum)
13 char **cpp;
14 u_int *facpri;
15 int 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