optprintv6.c revision 1.2 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