]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/ipfilter/lib/loglevel.c
Import IP Filter 4.1.10
[FreeBSD/FreeBSD.git] / contrib / ipfilter / lib / loglevel.c
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
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 }