1153877Sguido/* 2255332Scy * Copyright (C) 2012 by Darren Reed. 3153877Sguido * 4153877Sguido * See the IPFILTER.LICENCE file for details on licencing. 5153877Sguido */ 6153877Sguido 7153877Sguido#include "ipf.h" 8153877Sguido 9153877Sguido 10153877Sguido#if !defined(lint) 11255332Scystatic const char rcsid[] = "@(#)$Id$"; 12153877Sguido#endif 13153877Sguido 14153877Sguido 15255332Scyvoid 16255332Scyprintproto(pr, p, np) 17255332Scy struct protoent *pr; 18255332Scy int p; 19255332Scy ipnat_t *np; 20153877Sguido{ 21153877Sguido if (np != NULL) { 22153877Sguido if ((np->in_flags & IPN_TCPUDP) == IPN_TCPUDP) 23255332Scy PRINTF("tcp/udp"); 24153877Sguido else if (np->in_flags & IPN_TCP) 25255332Scy PRINTF("tcp"); 26153877Sguido else if (np->in_flags & IPN_UDP) 27255332Scy PRINTF("udp"); 28153877Sguido else if (np->in_flags & IPN_ICMPQUERY) 29255332Scy PRINTF("icmp"); 30255332Scy else if (np->in_pr[0] == 0) 31255332Scy PRINTF("ip"); 32153877Sguido else if (pr != NULL) 33255332Scy PRINTF("%s", pr->p_name); 34153877Sguido else 35255332Scy PRINTF("%d", np->in_pr[0]); 36153877Sguido } else { 37153877Sguido if (pr != NULL) 38255332Scy PRINTF("%s", pr->p_name); 39153877Sguido else 40255332Scy PRINTF("%d", p); 41153877Sguido } 42153877Sguido} 43