/* | |
* Copyright (C) 2005 by Darren Reed. | |
* | |
* See the IPFILTER.LICENCE file for details on licencing. | |
*/ | |
#include "ipf.h" | |
#if !defined(lint) | |
static const char rcsid[] = "@(#)$Id$"; | |
#endif | |
void printproto(pr, p, np) | |
struct protoent *pr; | |
int p; | |
ipnat_t *np; | |
{ | |
if (np != NULL) { | |
if ((np->in_flags & IPN_TCPUDP) == IPN_TCPUDP) | |
printf("tcp/udp"); | |
else if (np->in_flags & IPN_TCP) | |
printf("tcp"); | |
else if (np->in_flags & IPN_UDP) | |
printf("udp"); | |
else if (np->in_flags & IPN_ICMPQUERY) | |
printf("icmp"); | |
#ifdef _AIX51 | |
/* | |
* To make up for "ip = 252" and "hopopt = 0" in /etc/protocols | |
*/ | |
else if (np->in_pr[0] == 0) | |
printf("ip"); | |
#endif | |
else if (pr != NULL) | |
printf("%s", pr->p_name); | |
else | |
printf("%d", np->in_pr[0]); | |
} else { | |
#ifdef _AIX51 | |
if (p == 0) | |
printf("ip"); | |
else | |
#endif | |
if (pr != NULL) | |
printf("%s", pr->p_name); | |
else | |
printf("%d", p); | |
} | |
} |