]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/ipfilter/lib/optprintv6.c
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / ipfilter / lib / optprintv6.c
1 /*      $FreeBSD$       */
2
3 /*
4  * Copyright (C) 2012 by Darren Reed.
5  *
6  * See the IPFILTER.LICENCE file for details on licencing.
7  *
8  * $Id$
9  */
10 #include "ipf.h"
11
12
13 #ifdef  USE_INET6
14
15 void optprintv6(sec, optmsk, optbits)
16         u_short *sec;
17         u_long optmsk, optbits;
18 {
19         u_short secmsk = sec[0], secbits = sec[1];
20         struct ipopt_names *io;
21         char *s;
22
23         s = " v6hdr ";
24         for (io = v6ionames; io->on_name; io++)
25                 if ((io->on_bit & optmsk) &&
26                     ((io->on_bit & optmsk) == (io->on_bit & optbits))) {
27                         printf("%s%s", s, io->on_name);
28                         s = ",";
29                 }
30
31         if ((optmsk && (optmsk != optbits)) ||
32             (secmsk && (secmsk != secbits))) {
33                 s = " ";
34                 printf(" not v6hdrs");
35                 if (optmsk != optbits) {
36                         for (io = v6ionames; io->on_name; io++)
37                                 if ((io->on_bit & optmsk) &&
38                                     ((io->on_bit & optmsk) !=
39                                      (io->on_bit & optbits))) {
40                                         printf("%s%s", s, io->on_name);
41                                         s = ",";
42                                 }
43                 }
44
45         }
46 }
47 #endif