optprintv6.c revision 7663b81667fda05833f609eceac713f0a83c2347
7663b81667fda05833f609eceac713f0a83c2347ml/*
7663b81667fda05833f609eceac713f0a83c2347ml * Copyright (C) 1993-2001 by Darren Reed.
7663b81667fda05833f609eceac713f0a83c2347ml *
7663b81667fda05833f609eceac713f0a83c2347ml * See the IPFILTER.LICENCE file for details on licencing.
7663b81667fda05833f609eceac713f0a83c2347ml *
7663b81667fda05833f609eceac713f0a83c2347ml * $Id: optprintv6.c,v 1.2 2003/04/30 00:39:39 darrenr Exp $
7663b81667fda05833f609eceac713f0a83c2347ml */
7663b81667fda05833f609eceac713f0a83c2347ml
7663b81667fda05833f609eceac713f0a83c2347ml
7663b81667fda05833f609eceac713f0a83c2347ml#include "ipf.h"
7663b81667fda05833f609eceac713f0a83c2347ml
7663b81667fda05833f609eceac713f0a83c2347ml
7663b81667fda05833f609eceac713f0a83c2347ml#ifdef USE_INET6
7663b81667fda05833f609eceac713f0a83c2347ml
7663b81667fda05833f609eceac713f0a83c2347mlvoid optprintv6(sec, optmsk, optbits)
7663b81667fda05833f609eceac713f0a83c2347mlu_short *sec;
7663b81667fda05833f609eceac713f0a83c2347mlu_long optmsk, optbits;
7663b81667fda05833f609eceac713f0a83c2347ml{
7663b81667fda05833f609eceac713f0a83c2347ml u_short secmsk = sec[0], secbits = sec[1];
7663b81667fda05833f609eceac713f0a83c2347ml struct ipopt_names *io;
7663b81667fda05833f609eceac713f0a83c2347ml char *s;
7663b81667fda05833f609eceac713f0a83c2347ml
7663b81667fda05833f609eceac713f0a83c2347ml s = " v6hdrs ";
7663b81667fda05833f609eceac713f0a83c2347ml for (io = v6ionames; io->on_name; io++)
7663b81667fda05833f609eceac713f0a83c2347ml if ((io->on_bit & optmsk) &&
7663b81667fda05833f609eceac713f0a83c2347ml ((io->on_bit & optmsk) == (io->on_bit & optbits))) {
7663b81667fda05833f609eceac713f0a83c2347ml printf("%s%s", s, io->on_name);
7663b81667fda05833f609eceac713f0a83c2347ml s = ",";
7663b81667fda05833f609eceac713f0a83c2347ml }
7663b81667fda05833f609eceac713f0a83c2347ml
7663b81667fda05833f609eceac713f0a83c2347ml if ((optmsk && (optmsk != optbits)) ||
7663b81667fda05833f609eceac713f0a83c2347ml (secmsk && (secmsk != secbits))) {
7663b81667fda05833f609eceac713f0a83c2347ml s = " ";
7663b81667fda05833f609eceac713f0a83c2347ml printf(" not v6hdrs");
7663b81667fda05833f609eceac713f0a83c2347ml if (optmsk != optbits) {
7663b81667fda05833f609eceac713f0a83c2347ml for (io = v6ionames; io->on_name; io++)
7663b81667fda05833f609eceac713f0a83c2347ml if ((io->on_bit & optmsk) &&
7663b81667fda05833f609eceac713f0a83c2347ml ((io->on_bit & optmsk) !=
7663b81667fda05833f609eceac713f0a83c2347ml (io->on_bit & optbits))) {
7663b81667fda05833f609eceac713f0a83c2347ml printf("%s%s", s, io->on_name);
7663b81667fda05833f609eceac713f0a83c2347ml s = ",";
7663b81667fda05833f609eceac713f0a83c2347ml }
7663b81667fda05833f609eceac713f0a83c2347ml }
7663b81667fda05833f609eceac713f0a83c2347ml
7663b81667fda05833f609eceac713f0a83c2347ml }
7663b81667fda05833f609eceac713f0a83c2347ml}
7663b81667fda05833f609eceac713f0a83c2347ml#endif