]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sbin/ipf/libipf/printproto.c
ipfilter userland: Remove trailing whitespace
[FreeBSD/FreeBSD.git] / sbin / ipf / libipf / printproto.c
1 /*
2  * Copyright (C) 2012 by Darren Reed.
3  *
4  * See the IPFILTER.LICENCE file for details on licencing.
5  */
6
7 #include "ipf.h"
8
9
10 #if !defined(lint)
11 static const char rcsid[] = "@(#)$Id$";
12 #endif
13
14
15 void
16 printproto(struct protoent *pr, int p, ipnat_t *np)
17 {
18         if (np != NULL) {
19                 if ((np->in_flags & IPN_TCPUDP) == IPN_TCPUDP)
20                         PRINTF("tcp/udp");
21                 else if (np->in_flags & IPN_TCP)
22                         PRINTF("tcp");
23                 else if (np->in_flags & IPN_UDP)
24                         PRINTF("udp");
25                 else if (np->in_flags & IPN_ICMPQUERY)
26                         PRINTF("icmp");
27                 else if (np->in_pr[0] == 0)
28                         PRINTF("ip");
29                 else if (pr != NULL)
30                         PRINTF("%s", pr->p_name);
31                 else
32                         PRINTF("%d", np->in_pr[0]);
33         } else {
34                 if (pr != NULL)
35                         PRINTF("%s", pr->p_name);
36                 else
37                         PRINTF("%d", p);
38         }
39 }