1 1.2 darrenr /* $NetBSD: optprintv6.c,v 1.2 2012/07/22 14:27:36 darrenr Exp $ */ 2 1.1 christos 3 1.1 christos /* 4 1.2 darrenr * Copyright (C) 2012 by Darren Reed. 5 1.1 christos * 6 1.1 christos * See the IPFILTER.LICENCE file for details on licencing. 7 1.1 christos * 8 1.2 darrenr * Id: optprintv6.c,v 1.1.1.2 2012/07/22 13:44:39 darrenr Exp $ 9 1.1 christos */ 10 1.1 christos #include "ipf.h" 11 1.1 christos 12 1.1 christos 13 1.1 christos #ifdef USE_INET6 14 1.1 christos 15 1.1 christos void optprintv6(sec, optmsk, optbits) 16 1.1 christos u_short *sec; 17 1.1 christos u_long optmsk, optbits; 18 1.1 christos { 19 1.1 christos u_short secmsk = sec[0], secbits = sec[1]; 20 1.1 christos struct ipopt_names *io; 21 1.1 christos char *s; 22 1.1 christos 23 1.2 darrenr s = " v6hdr "; 24 1.1 christos for (io = v6ionames; io->on_name; io++) 25 1.1 christos if ((io->on_bit & optmsk) && 26 1.1 christos ((io->on_bit & optmsk) == (io->on_bit & optbits))) { 27 1.1 christos printf("%s%s", s, io->on_name); 28 1.1 christos s = ","; 29 1.1 christos } 30 1.1 christos 31 1.1 christos if ((optmsk && (optmsk != optbits)) || 32 1.1 christos (secmsk && (secmsk != secbits))) { 33 1.1 christos s = " "; 34 1.1 christos printf(" not v6hdrs"); 35 1.1 christos if (optmsk != optbits) { 36 1.1 christos for (io = v6ionames; io->on_name; io++) 37 1.1 christos if ((io->on_bit & optmsk) && 38 1.1 christos ((io->on_bit & optmsk) != 39 1.1 christos (io->on_bit & optbits))) { 40 1.1 christos printf("%s%s", s, io->on_name); 41 1.1 christos s = ","; 42 1.1 christos } 43 1.1 christos } 44 1.1 christos 45 1.1 christos } 46 1.1 christos } 47 1.1 christos #endif 48