1145519Sdarrenr/* $FreeBSD$ */ 2145510Sdarrenr 3145510Sdarrenr/* 4255332Scy * Copyright (C) 2012 by Darren Reed. 5145510Sdarrenr * 6145510Sdarrenr * See the IPFILTER.LICENCE file for details on licencing. 7145510Sdarrenr * 8255332Scy * $Id$ 9145510Sdarrenr */ 10145510Sdarrenr#include "ipf.h" 11145510Sdarrenr 12145510Sdarrenr 13145510Sdarrenr#ifdef USE_INET6 14145510Sdarrenr 15145510Sdarrenrvoid optprintv6(sec, optmsk, optbits) 16255332Scy u_short *sec; 17255332Scy u_long optmsk, optbits; 18145510Sdarrenr{ 19145510Sdarrenr u_short secmsk = sec[0], secbits = sec[1]; 20145510Sdarrenr struct ipopt_names *io; 21145510Sdarrenr char *s; 22145510Sdarrenr 23255332Scy s = " v6hdr "; 24145510Sdarrenr for (io = v6ionames; io->on_name; io++) 25145510Sdarrenr if ((io->on_bit & optmsk) && 26145510Sdarrenr ((io->on_bit & optmsk) == (io->on_bit & optbits))) { 27145510Sdarrenr printf("%s%s", s, io->on_name); 28145510Sdarrenr s = ","; 29145510Sdarrenr } 30145510Sdarrenr 31145510Sdarrenr if ((optmsk && (optmsk != optbits)) || 32145510Sdarrenr (secmsk && (secmsk != secbits))) { 33145510Sdarrenr s = " "; 34145510Sdarrenr printf(" not v6hdrs"); 35145510Sdarrenr if (optmsk != optbits) { 36145510Sdarrenr for (io = v6ionames; io->on_name; io++) 37145510Sdarrenr if ((io->on_bit & optmsk) && 38145510Sdarrenr ((io->on_bit & optmsk) != 39145510Sdarrenr (io->on_bit & optbits))) { 40145510Sdarrenr printf("%s%s", s, io->on_name); 41145510Sdarrenr s = ","; 42145510Sdarrenr } 43145510Sdarrenr } 44145510Sdarrenr 45145510Sdarrenr } 46145510Sdarrenr} 47145510Sdarrenr#endif 48