printproto.c revision 153877
1153877Sguido/* 2153877Sguido * Copyright (C) 1993-2005 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) 11153877Sguidostatic const char rcsid[] = "@(#)$Id: printproto.c,v 1.1.2.1 2005/06/12 07:21:53 darrenr Exp $"; 12153877Sguido#endif 13153877Sguido 14153877Sguido 15153877Sguidovoid printproto(pr, p, np) 16153877Sguidostruct protoent *pr; 17153877Sguidoint p; 18153877Sguidoipnat_t *np; 19153877Sguido{ 20153877Sguido if (np != NULL) { 21153877Sguido if ((np->in_flags & IPN_TCPUDP) == IPN_TCPUDP) 22153877Sguido printf("tcp/udp"); 23153877Sguido else if (np->in_flags & IPN_TCP) 24153877Sguido printf("tcp"); 25153877Sguido else if (np->in_flags & IPN_UDP) 26153877Sguido printf("udp"); 27153877Sguido else if (np->in_flags & IPN_ICMPQUERY) 28153877Sguido printf("icmp"); 29153877Sguido#ifdef _AIX51 30153877Sguido /* 31153877Sguido * To make up for "ip = 252" and "hopopt = 0" in /etc/protocols 32153877Sguido */ 33153877Sguido else if (np->in_p == 0) 34153877Sguido printf("ip"); 35153877Sguido#endif 36153877Sguido else if (pr != NULL) 37153877Sguido printf("%s", pr->p_name); 38153877Sguido else 39153877Sguido printf("%d", np->in_p); 40153877Sguido } else { 41153877Sguido#ifdef _AIX51 42153877Sguido if (p == 0) 43153877Sguido printf("ip"); 44153877Sguido else 45153877Sguido#endif 46153877Sguido if (pr != NULL) 47153877Sguido printf("%s", pr->p_name); 48153877Sguido else 49153877Sguido printf("%d", p); 50153877Sguido } 51153877Sguido} 52