summaryrefslogtreecommitdiffstats
path: root/lib/optprintv6.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/optprintv6.c')
-rw-r--r--lib/optprintv6.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/optprintv6.c b/lib/optprintv6.c
new file mode 100644
index 0000000..5172b5c
--- /dev/null
+++ b/lib/optprintv6.c
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2003 by Darren Reed.
+ *
+ * See the IPFILTER.LICENCE file for details on licencing.
+ *
+ * $Id: optprintv6.c,v 1.2.4.1 2006/06/16 17:21:08 darrenr Exp $
+ */
+#include "ipf.h"
+
+
+#ifdef USE_INET6
+
+void optprintv6(sec, optmsk, optbits)
+u_short *sec;
+u_long optmsk, optbits;
+{
+ u_short secmsk = sec[0], secbits = sec[1];
+ struct ipopt_names *io;
+ char *s;
+
+ s = " v6hdrs ";
+ for (io = v6ionames; io->on_name; io++)
+ if ((io->on_bit & optmsk) &&
+ ((io->on_bit & optmsk) == (io->on_bit & optbits))) {
+ printf("%s%s", s, io->on_name);
+ s = ",";
+ }
+
+ if ((optmsk && (optmsk != optbits)) ||
+ (secmsk && (secmsk != secbits))) {
+ s = " ";
+ printf(" not v6hdrs");
+ if (optmsk != optbits) {
+ for (io = v6ionames; io->on_name; io++)
+ if ((io->on_bit & optmsk) &&
+ ((io->on_bit & optmsk) !=
+ (io->on_bit & optbits))) {
+ printf("%s%s", s, io->on_name);
+ s = ",";
+ }
+ }
+
+ }
+}
+#endif
OpenPOWER on IntegriCloud