xref: /illumos-gate/usr/src/cmd/ipf/lib/printproto.c (revision f3ac6781)
1*f3ac6781SToomas Soome /*
2*f3ac6781SToomas Soome  * Copyright (C) 1993-2005 by Darren Reed.
3*f3ac6781SToomas Soome  *
4*f3ac6781SToomas Soome  * See the IPFILTER.LICENCE file for details on licencing.
5*f3ac6781SToomas Soome  */
6*f3ac6781SToomas Soome 
7*f3ac6781SToomas Soome #include "ipf.h"
8*f3ac6781SToomas Soome 
9*f3ac6781SToomas Soome 
10*f3ac6781SToomas Soome #if !defined(lint)
11*f3ac6781SToomas Soome static const char rcsid[] = "@(#)$Id: printproto.c,v 1.1.2.1 2005/06/12 07:21:53 darrenr Exp $";
12*f3ac6781SToomas Soome #endif
13*f3ac6781SToomas Soome 
14*f3ac6781SToomas Soome 
printproto(pr,p,np)15*f3ac6781SToomas Soome void printproto(pr, p, np)
16*f3ac6781SToomas Soome struct protoent *pr;
17*f3ac6781SToomas Soome int p;
18*f3ac6781SToomas Soome ipnat_t *np;
19*f3ac6781SToomas Soome {
20*f3ac6781SToomas Soome 	if (np != NULL) {
21*f3ac6781SToomas Soome 		if ((np->in_flags & IPN_TCPUDP) == IPN_TCPUDP)
22*f3ac6781SToomas Soome 			printf("tcp/udp");
23*f3ac6781SToomas Soome 		else if (np->in_flags & IPN_TCP)
24*f3ac6781SToomas Soome 			printf("tcp");
25*f3ac6781SToomas Soome 		else if (np->in_flags & IPN_UDP)
26*f3ac6781SToomas Soome 			printf("udp");
27*f3ac6781SToomas Soome 		else if (np->in_flags & IPN_ICMPQUERY)
28*f3ac6781SToomas Soome 			printf("icmp");
29*f3ac6781SToomas Soome #ifdef _AIX51
30*f3ac6781SToomas Soome 		/*
31*f3ac6781SToomas Soome 		 * To make up for "ip = 252" and "hopopt = 0" in /etc/protocols
32*f3ac6781SToomas Soome 		 */
33*f3ac6781SToomas Soome 		else if (np->in_p == 0)
34*f3ac6781SToomas Soome 			printf("ip");
35*f3ac6781SToomas Soome #endif
36*f3ac6781SToomas Soome 		else if (pr != NULL)
37*f3ac6781SToomas Soome 			printf("%s", pr->p_name);
38*f3ac6781SToomas Soome 		else
39*f3ac6781SToomas Soome 			printf("%d", np->in_p);
40*f3ac6781SToomas Soome 	} else {
41*f3ac6781SToomas Soome #ifdef _AIX51
42*f3ac6781SToomas Soome 		if (p == 0)
43*f3ac6781SToomas Soome 			printf("ip");
44*f3ac6781SToomas Soome 		else
45*f3ac6781SToomas Soome #endif
46*f3ac6781SToomas Soome 		if (pr != NULL)
47*f3ac6781SToomas Soome 			printf("%s", pr->p_name);
48*f3ac6781SToomas Soome 		else
49*f3ac6781SToomas Soome 			printf("%d", p);
50*f3ac6781SToomas Soome 	}
51*f3ac6781SToomas Soome }
52