From Ronald Henderson, when closing IO-Stat window, also close any open Filter...
[obnox/wireshark/wip.git] / packet-ipv6.h
index 10cfefd9653bb97afdeae60caa7e6d2868cc4524..813b45d1d3550cd3bf7777f25647e16fbeb46331 100644 (file)
@@ -1,7 +1,7 @@
 /* packet-ipv6.h
- * Definitions for IPv6 packet disassembly 
+ * Definitions for IPv6 packet disassembly
  *
- * $Id: packet-ipv6.h,v 1.23 2001/06/26 17:31:36 itojun Exp $
+ * $Id: packet-ipv6.h,v 1.29 2002/10/22 22:04:21 jmayer Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
@@ -9,17 +9,19 @@
  * Copyright 1998 Gerald Combs
  *
  * MobileIPv6 support added by Tomislav Borosa <tomislav.borosa@siemens.hr>
- * 
+ *
+ * HMIPv6 support added by Martti Kuparinen <martti.kuparinen@iki.fi>
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
@@ -28,7 +30,7 @@
 #ifndef __PACKET_IPV6_H_DEFINED__
 #define __PACKET_IPV6_H_DEFINED__
 
-#include "ipv6-utils.h"
+#include <epan/ipv6-utils.h>
 
 #define INET6_ADDRSTRLEN       46
 
@@ -75,8 +77,8 @@ struct ip6_hdr {
  */
 
 struct ip6_ext {
-       u_char  ip6e_nxt;
-       u_char  ip6e_len;
+       guchar  ip6e_nxt;
+       guchar  ip6e_len;
 };
 
 /* Hop-by-Hop options header */
@@ -390,8 +392,13 @@ struct nd_opt_hdr {                /* Neighbor discovery option header */
 #define ND_OPT_MTU                     5
 #define ND_OPT_ADVINTERVAL             7
 #define ND_OPT_HOMEAGENT_INFO          8
+#define ND_OPT_SOURCE_ADDRLIST         9
+#define ND_OPT_TARGET_ADDRLIST         10
+
 /* draft-ietf-ipngwg-router-preference, not officially assigned yet */
-#define ND_OPT_ROUTE_INFO              9
+#define ND_OPT_ROUTE_INFO              200
+/* draft-ietf-mobileip-hmipv6, not officially assigned yet */
+#define ND_OPT_MAP                     201
 
 struct nd_opt_prefix_info {    /* prefix information */
        guint8  nd_opt_pi_type;
@@ -448,6 +455,22 @@ struct nd_opt_route_info { /* route info */
        /* prefix follows */
 };
 
+struct nd_opt_map_info {       /* HMIPv6 MAP option */
+       guint8                  nd_opt_map_type;
+       guint8                  nd_opt_map_len;
+       guint8                  nd_opt_map_dist_and_pref;
+       guint8                  nd_opt_map_flags;
+       guint32                 nd_opt_map_lifetime;
+       struct e_in6_addr       nd_opt_map_address;
+};
+
+#define ND_OPT_MAP_FLAG_R      0x80
+#define ND_OPT_MAP_FLAG_M      0x40
+#define ND_OPT_MAP_FLAG_I      0x20
+#define ND_OPT_MAP_FLAG_T      0x10
+#define ND_OPT_MAP_FLAG_P      0x08
+#define ND_OPT_MAP_FLAG_V      0x04
+
 /*
  * icmp6 node information
  */
@@ -549,4 +572,7 @@ struct rr_result {          /* router renumbering result message */
 #define ICMP6_RR_RESULT_FLAGS_OOB              0x0002
 #define ICMP6_RR_RESULT_FLAGS_FORBIDDEN                0x0001
 
+void capture_ipv6(const guchar *, int, int, packet_counts *);
+
+
 #endif /* __PACKET_IPV6_H_DEFINED__ */