NetBSD/dist/ipf/lib/optprintv6.c
2007-04-14 20:17:19 +00:00

48 lines
1002 B
C

/* $NetBSD: optprintv6.c,v 1.1.1.2 2007/04/14 20:17:31 martin Exp $ */
/*
* Copyright (C) 2003 by Darren Reed.
*
* See the IPFILTER.LICENCE file for details on licencing.
*
* Id: optprintv6.c,v 1.2.4.1 2006/06/16 17:21:08 darrenr Exp
*/
#include "ipf.h"
#ifdef USE_INET6
void optprintv6(sec, optmsk, optbits)
u_short *sec;
u_long optmsk, optbits;
{
u_short secmsk = sec[0], secbits = sec[1];
struct ipopt_names *io;
char *s;
s = " v6hdrs ";
for (io = v6ionames; io->on_name; io++)
if ((io->on_bit & optmsk) &&
((io->on_bit & optmsk) == (io->on_bit & optbits))) {
printf("%s%s", s, io->on_name);
s = ",";
}
if ((optmsk && (optmsk != optbits)) ||
(secmsk && (secmsk != secbits))) {
s = " ";
printf(" not v6hdrs");
if (optmsk != optbits) {
for (io = v6ionames; io->on_name; io++)
if ((io->on_bit & optmsk) &&
((io->on_bit & optmsk) !=
(io->on_bit & optbits))) {
printf("%s%s", s, io->on_name);
s = ",";
}
}
}
}
#endif