Ethereal-dev: [Ethereal-dev] (no subject)
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Ed Warnicke <hagbard@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 23 Mar 2001 00:57:33 -0500 (EST)
I've finished excising the packet.c's dependency on
packet-{osi,vines,ipv6}.{c,h}. The attached patch
contains the changes to existing code and the tarball contains
the {osi,vines,ipv6}-utils.{c,h} files that are new.
You should also be able to remove packet-osi.h and packet-vines.h,
but need to leave the packet-ipv6.h around in it's post-patched form
( dissect_ipv6 is still needed in various places).
This should leave only the packet-frame.{c.h} dependency in packet.c
and the proto.c dependency on register.{c,h}. These are not
as mechanical as lifting the other dependencies, and so I will
leave them for a time when I am better rested.
I'd be most appreciative if someone would do a quick glance over
for sanity and then check these changes in.
Ed
? epan/osi-utils.c
? epan/osi-utils.h
? epan/vines-utils.c
? epan/vines-utils.h
? epan/ipv6-utils.h
Index: Makefile.am
===================================================================
RCS file: /cvsroot/ethereal/Makefile.am,v
retrieving revision 1.294
diff -u -r1.294 Makefile.am
--- Makefile.am 2001/03/22 23:54:44 1.294
+++ Makefile.am 2001/03/23 05:31:22
@@ -277,7 +277,6 @@
packet-nlm.h \
packet-ntp.h \
packet-null.h \
- packet-osi.h \
packet-osi-options.h \
packet-portmap.h \
packet-ppp.h \
@@ -307,7 +306,6 @@
packet-tpkt.h \
packet-tr.h \
packet-udp.h \
- packet-vines.h \
packet-vlan.h \
packet-wccp.h \
packet-wap.h \
Index: packet-bgp.c
===================================================================
RCS file: /cvsroot/ethereal/packet-bgp.c,v
retrieving revision 1.33
diff -u -r1.33 packet-bgp.c
--- packet-bgp.c 2001/01/22 03:33:45 1.33
+++ packet-bgp.c 2001/03/23 05:31:23
@@ -64,7 +64,7 @@
#include "packet.h"
#include "packet-bgp.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
static const value_string bgptypevals[] = {
{ BGP_OPEN, "OPEN Message" },
Index: packet-clnp.c
===================================================================
RCS file: /cvsroot/ethereal/packet-clnp.c,v
retrieving revision 1.26
diff -u -r1.26 packet-clnp.c
--- packet-clnp.c 2001/03/15 06:41:12 1.26
+++ packet-clnp.c 2001/03/23 05:31:25
@@ -40,7 +40,7 @@
#include <glib.h>
#include "prefs.h"
#include "packet.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-osi-options.h"
#include "packet-isis.h"
#include "packet-esis.h"
Index: packet-cops.c
===================================================================
RCS file: /cvsroot/ethereal/packet-cops.c,v
retrieving revision 1.11
diff -u -r1.11 packet-cops.c
--- packet-cops.c 2001/01/22 08:03:45 1.11
+++ packet-cops.c 2001/03/23 05:31:25
@@ -36,7 +36,7 @@
#include <string.h>
#include <glib.h>
#include "packet.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#define TCP_PORT_COPS 3288
Index: packet-esis.c
===================================================================
RCS file: /cvsroot/ethereal/packet-esis.c,v
retrieving revision 1.13
diff -u -r1.13 packet-esis.c
--- packet-esis.c 2001/01/22 08:03:45 1.13
+++ packet-esis.c 2001/03/23 05:31:26
@@ -40,7 +40,7 @@
#include <glib.h>
#include "packet.h"
#include "nlpid.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-osi-options.h"
#include "packet-esis.h"
Index: packet-ethertype.c
===================================================================
RCS file: /cvsroot/ethereal/packet-ethertype.c,v
retrieving revision 1.12
diff -u -r1.12 packet-ethertype.c
--- packet-ethertype.c 2001/02/01 07:34:29 1.12
+++ packet-ethertype.c 2001/03/23 05:31:26
@@ -38,7 +38,7 @@
#include "packet-ip.h"
#include "packet-ipx.h"
#include "packet-vlan.h"
-#include "packet-vines.h"
+#include "vines-utils.h"
#include "etypes.h"
static dissector_table_t ethertype_dissector_table;
Index: packet-icmpv6.c
===================================================================
RCS file: /cvsroot/ethereal/packet-icmpv6.c,v
retrieving revision 1.37
diff -u -r1.37 packet-icmpv6.c
--- packet-icmpv6.c 2001/02/28 19:33:49 1.37
+++ packet-icmpv6.c 2001/03/23 05:31:27
@@ -52,6 +52,7 @@
#endif
#include "packet.h"
+#include "ipv6-utils.h"
#include "packet-ipv6.h"
#include "packet-ip.h"
#include "packet-dns.h"
Index: packet-ipv6.c
===================================================================
RCS file: /cvsroot/ethereal/packet-ipv6.c,v
retrieving revision 1.51
diff -u -r1.51 packet-ipv6.c
--- packet-ipv6.c 2001/01/23 02:49:55 1.51
+++ packet-ipv6.c 2001/03/23 05:31:28
@@ -50,6 +50,7 @@
#include "packet.h"
#include "packet-ip.h"
#include "packet-ipsec.h"
+#include "ipv6-utils.h"
#include "packet-ipv6.h"
#include "packet-tcp.h"
#include "packet-udp.h"
Index: packet-ipv6.h
===================================================================
RCS file: /cvsroot/ethereal/packet-ipv6.h,v
retrieving revision 1.18
diff -u -r1.18 packet-ipv6.h
--- packet-ipv6.h 2001/01/23 02:49:55 1.18
+++ packet-ipv6.h 2001/03/23 05:31:28
@@ -30,561 +30,4 @@
void dissect_ipv6(const u_char *, int, frame_data *, proto_tree *);
-struct e_in6_addr {
- union {
- guint32 u6_addr32[4];
- guint16 u6_addr16[8];
- guint8 u6_addr8[16];
- } u6_addr; /* 128 bit IP6 address */
-};
-
-#ifdef s6_addr32
-#undef s6_addr32
-#endif
-
-#ifdef s6_addr16
-#undef s6_addr16
-#endif
-
-#ifdef s6_addr8
-#undef s6_addr8
-#endif
-
-#ifdef s6_addr
-#undef s6_addr
-#endif
-
-#define s6_addr32 u6_addr.u6_addr32
-#define s6_addr16 u6_addr.u6_addr16
-#define s6_addr8 u6_addr.u6_addr8
-#define s6_addr u6_addr.u6_addr8
-
-#define INET6_ADDRSTRLEN 46
-
-/*
- * Definition for internet protocol version 6.
- * RFC 1883
- */
-struct ip6_hdr {
- union {
- struct ip6_hdrctl {
- guint32 ip6_un1_flow; /* 20 bits of flow-ID */
- guint16 ip6_un1_plen; /* payload length */
- guint8 ip6_un1_nxt; /* next header */
- guint8 ip6_un1_hlim; /* hop limit */
- } ip6_un1;
- guint8 ip6_un2_vfc; /* 4 bits version, 4 bits class */
- } ip6_ctlun;
- struct e_in6_addr ip6_src; /* source address */
- struct e_in6_addr ip6_dst; /* destination address */
-};
-
-#define ip6_vfc ip6_ctlun.ip6_un2_vfc
-#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow
-#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen
-#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt
-#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim
-#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim
-
-/* Offsets of fields within an IPv6 header. */
-#define IP6H_CTL 0
-#define IP6H_CTL_FLOW 0
-#define IP6H_CTL_PLEN 4
-#define IP6H_CTL_NXT 6
-#define IP6H_CTL_HLIM 7
-#define IP6H_CTL_VFC 0
-#define IP6H_SRC 8
-#define IP6H_DST 24
-
-#define IPV6_FLOWINFO_MASK 0x0fffffff /* flow info (28 bits) */
-#define IPV6_FLOWLABEL_MASK 0x000fffff /* flow label (20 bits) */
-
-/*
- * Extension Headers
- */
-
-struct ip6_ext {
- u_char ip6e_nxt;
- u_char ip6e_len;
-};
-
-/* Hop-by-Hop options header */
-/* XXX should we pad it to force alignment on an 8-byte boundary? */
-struct ip6_hbh {
- guint8 ip6h_nxt; /* next header */
- guint8 ip6h_len; /* length in units of 8 octets */
- /* followed by options */
-};
-
-/* Destination options header */
-/* XXX should we pad it to force alignment on an 8-byte boundary? */
-struct ip6_dest {
- guint8 ip6d_nxt; /* next header */
- guint8 ip6d_len; /* length in units of 8 octets */
- /* followed by options */
-};
-
-/* Option types and related macros */
-#define IP6OPT_PAD1 0x00 /* 00 0 00000 */
-#define IP6OPT_PADN 0x01 /* 00 0 00001 */
-#define IP6OPT_JUMBO 0xC2 /* 11 0 00010 = 194 */
-#define IP6OPT_JUMBO_LEN 6
-#define IP6OPT_RTALERT 0x05 /* 00 0 00101 */
-#define IP6OPT_RTALERT_LEN 4
-#define IP6OPT_RTALERT_MLD 0 /* Datagram contains MLD message */
-#define IP6OPT_RTALERT_RSVP 1 /* Datagram contains RSVP message */
-#define IP6OPT_MINLEN 2
-
-#define IP6OPT_TYPE(o) ((o) & 0xC0)
-#define IP6OPT_TYPE_SKIP 0x00
-#define IP6OPT_TYPE_DISCARD 0x40
-#define IP6OPT_TYPE_FORCEICMP 0x80
-#define IP6OPT_TYPE_ICMP 0xC0
-
-#define IP6OPT_MUTABLE 0x20
-
-/* BT INSERT BEGIN */
-/* Mobile IP option types and sub-option types*/
-#define IP6OPT_BINDING_UPDATE 0xC6 /* 11 0 00110 */
-#define IP6OPT_BINDING_ACK 0x07 /* 00 0 00111 */
-#define IP6OPT_BINDING_REQUEST 0x08 /* 00 0 01000 */
-#define IP6OPT_HOME_ADDRESS 0xC9 /* 11 0 01001 */
-#define IP6OPT_MIPv6_UNIQUE_ID_SUB 0x02 /* 00 0 00010 */
-#define IP6OPT_MIPv6_ALTERNATIVE_COA_SUB 0x04 /* 00 0 00100 */
-
-/* MIPv6 Lifetime */
-#define MIP_INFINITY 0xffffffff /* Infinity lifetime */
-
-/* Binding Update Flags */
-#define IP6_MIPv6_BU_A_FLAG 0x80 /* 1000 0000 - Acknowledge */
-#define IP6_MIPv6_BU_H_FLAG 0x40 /* 0100 0000 - Home Registration */
-#define IP6_MIPv6_BU_R_FLAG 0x20 /* 0010 0000 - Router */
-#define IP6_MIPv6_BU_D_FLAG 0x10 /* 0001 0000 - Duplicate Address Detection */
-#define IP6_MIPv6_BU_M_FLAG 0x8 /* 0000 1000 - MAP Registration */
-#define IP6_MIPv6_BU_B_FLAG 0x4 /* 0000 0100 - Request for bicasting */
-
-#define IP6_MIPv6_OPTION_TYPE_LENGTH 1
-#define IP6_MIPv6_OPTION_LENGTH_LENGTH 1
-#define IP6_MIPv6_FLAGS_LENGTH 1
-#define IP6_MIPv6_PREFIX_LENGTH_LENGTH 1
-#define IP6_MIPv6_SEQUENCE_NUMBER_LENGTH 2
-#define IP6_MIPv6_LIFE_TIME_LENGTH 4
-#define IP6_MIPv6_REFRESH_LENGTH 4
-#define IP6_MIPv6_STATUS_LENGTH 1
-#define IP6_MIPv6_HOME_ADDRESS_LENGTH 16
-#define IP6_MIPv6_SUB_TYPE_LENGTH 1
-#define IP6_MIPv6_SUB_LENGTH_LENGTH 1
-#define IP6_MIPv6_SUB_UNIQUE_ID_LENGTH 2
-#define IP6_MIPv6_SUB_ALTERNATIVE_COA_LENGTH 16
-
-/* Binding Ackonwledgement Status */
-#define BA_OK 0 /* Binding update accepted */
-#define BA_REAS_UNSPEC 128 /*Reason unspecified */
-#define BA_ADMIN_PROH 130 /* Administratively prohibited */
-#define BA_INSUF_RES 131 /* Insufficient resources */
-#define BA_NO_HR 132 /* Home registration not supported */
-#define BA_NO_SUBNET 133 /* Not home subnet */
-#define BA_ERR_ID_LEN 136 /* Incorrect interface identifier length */
-#define BA_NO_HA 137 /* Not home agent for this mobile node */
-#define BA_DUPL_ADDR 138 /* Duplicate Address Detection failed */
-
-/* Binding Update flag description */
-static const true_false_string ipv6_mipv6_bu_a_flag_value =
-{
- "Binding Acknowledgement requested",
- "Binding Acknowledgement not requested"
-};
-static const true_false_string ipv6_mipv6_bu_h_flag_value =
-{
- "Home Registration",
- "No Home Registration"
-};
-static const true_false_string ipv6_mipv6_bu_r_flag_value =
-{
- "Router",
- "Not a Router"
-};
-static const true_false_string ipv6_mipv6_bu_d_flag_value =
-{
- "Perform Duplicate Address Detection",
- "Do not perform Duplicate Address Detection"
-};
-static const true_false_string ipv6_mipv6_bu_m_flag_value =
-{
- "MAP Registration",
- "No MAP Registration"
-};
-static const true_false_string ipv6_mipv6_bu_b_flag_value =
-{
- "Request for bicasting",
- "Do not request for bicasting"
-};
-/* BT INSERT END */
-
-/* Routing header */
-struct ip6_rthdr {
- guint8 ip6r_nxt; /* next header */
- guint8 ip6r_len; /* length in units of 8 octets */
- guint8 ip6r_type; /* routing type */
- guint8 ip6r_segleft; /* segments left */
- /* followed by routing type specific data */
-};
-
-/* Type 0 Routing header */
-struct ip6_rthdr0 {
- guint8 ip6r0_nxt; /* next header */
- guint8 ip6r0_len; /* length in units of 8 octets */
- guint8 ip6r0_type; /* always zero */
- guint8 ip6r0_segleft; /* segments left */
- guint8 ip6r0_reserved; /* reserved field */
- guint8 ip6r0_slmap[3]; /* strict/loose bit map */
- struct e_in6_addr ip6r0_addr[1]; /* up to 23 addresses */
-};
-
-/* Fragment header */
-struct ip6_frag {
- guint8 ip6f_nxt; /* next header */
- guint8 ip6f_reserved; /* reserved field */
- guint16 ip6f_offlg; /* offset, reserved, and flag */
- guint32 ip6f_ident; /* identification */
-};
-
-#define IP6F_OFF_MASK 0xfff8 /* mask out offset from _offlg */
-#define IP6F_RESERVED_MASK 0x0006 /* reserved bits in ip6f_offlg */
-#define IP6F_MORE_FRAG 0x0001 /* more-fragments flag */
-
-/*
- * Definition for ICMPv6.
- * RFC 1885
- */
-
-#define ICMPV6_PLD_MAXLEN 1232 /* IPV6_MMTU - sizeof(struct ip6_hdr)
- - sizeof(struct icmp6_hdr) */
-
-struct icmp6_hdr {
- guint8 icmp6_type; /* type field */
- guint8 icmp6_code; /* code field */
- guint16 icmp6_cksum; /* checksum field */
- union {
- guint32 icmp6_un_data32[1]; /* type-specific field */
- guint16 icmp6_un_data16[2]; /* type-specific field */
- guint8 icmp6_un_data8[4]; /* type-specific field */
- } icmp6_dataun;
-};
-
-#define icmp6_data32 icmp6_dataun.icmp6_un_data32
-#define icmp6_data16 icmp6_dataun.icmp6_un_data16
-#define icmp6_data8 icmp6_dataun.icmp6_un_data8
-#define icmp6_pptr icmp6_data32[0] /* parameter prob */
-#define icmp6_mtu icmp6_data32[0] /* packet too big */
-#define icmp6_id icmp6_data16[0] /* echo request/reply */
-#define icmp6_seq icmp6_data16[1] /* echo request/reply */
-#define icmp6_maxdelay icmp6_data16[0] /* mcast group membership */
-
-#define ICMP6_DST_UNREACH 1 /* dest unreachable, codes: */
-#define ICMP6_PACKET_TOO_BIG 2 /* packet too big */
-#define ICMP6_TIME_EXCEEDED 3 /* time exceeded, code: */
-#define ICMP6_PARAM_PROB 4 /* ip6 header bad */
-
-#define ICMP6_ECHO_REQUEST 128 /* echo service */
-#define ICMP6_ECHO_REPLY 129 /* echo reply */
-#define ICMP6_MEMBERSHIP_QUERY 130 /* group membership query */
-#define MLD6_LISTENER_QUERY 130 /* multicast listener query */
-#define ICMP6_MEMBERSHIP_REPORT 131 /* group membership report */
-#define MLD6_LISTENER_REPORT 131 /* multicast listener report */
-#define ICMP6_MEMBERSHIP_REDUCTION 132 /* group membership termination */
-#define MLD6_LISTENER_DONE 132 /* multicast listener done */
-
-#define ND_ROUTER_SOLICIT 133 /* router solicitation */
-#define ND_ROUTER_ADVERT 134 /* router advertisment */
-#define ND_NEIGHBOR_SOLICIT 135 /* neighbor solicitation */
-#define ND_NEIGHBOR_ADVERT 136 /* neighbor advertisment */
-#define ND_REDIRECT 137 /* redirect */
-
-#define ICMP6_ROUTER_RENUMBERING 138 /* router renumbering */
-
-#define ICMP6_WRUREQUEST 139 /* who are you request */
-#define ICMP6_WRUREPLY 140 /* who are you reply */
-#define ICMP6_FQDN_QUERY 139 /* FQDN query */
-#define ICMP6_FQDN_REPLY 140 /* FQDN reply */
-#define ICMP6_NI_QUERY 139 /* node information request */
-#define ICMP6_NI_REPLY 140 /* node information reply */
-
-/* The definitions below are experimental. TBA */
-#define MLD6_MTRACE_RESP 141 /* mtrace response(to sender) */
-#define MLD6_MTRACE 142 /* mtrace messages */
-
-#define ICMP6_MAXTYPE 142
-
-#define ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */
-#define ICMP6_DST_UNREACH_ADMIN 1 /* administratively prohibited */
-#define ICMP6_DST_UNREACH_NOTNEIGHBOR 2 /* not a neighbor(obsolete) */
-#define ICMP6_DST_UNREACH_BEYONDSCOPE 2 /* beyond scope of source address */
-#define ICMP6_DST_UNREACH_ADDR 3 /* address unreachable */
-#define ICMP6_DST_UNREACH_NOPORT 4 /* port unreachable */
-
-#define ICMP6_TIME_EXCEED_TRANSIT 0 /* ttl==0 in transit */
-#define ICMP6_TIME_EXCEED_REASSEMBLY 1 /* ttl==0 in reass */
-
-#define ICMP6_PARAMPROB_HEADER 0 /* erroneous header field */
-#define ICMP6_PARAMPROB_NEXTHEADER 1 /* unrecognized next header */
-#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized option */
-
-#define ICMP6_INFOMSG_MASK 0x80 /* all informational messages */
-
-#define ICMP6_NI_SUBJ_IPV6 0 /* Query Subject is an IPv6 address */
-#define ICMP6_NI_SUBJ_FQDN 1 /* Query Subject is a Domain name */
-#define ICMP6_NI_SUBJ_IPV4 2 /* Query Subject is an IPv4 address */
-
-#define ICMP6_NI_SUCCESS 0 /* node information successful reply */
-#define ICMP6_NI_REFUSED 1 /* node information request is refused */
-#define ICMP6_NI_UNKNOWN 2 /* unknown Qtype */
-
-#define ICMP6_ROUTER_RENUMBERING_COMMAND 0 /* rr command */
-#define ICMP6_ROUTER_RENUMBERING_RESULT 1 /* rr result */
-#define ICMP6_ROUTER_RENUMBERING_SEQNUM_RESET 255 /* rr seq num reset */
-
-/*
- * Multicast Listener Discovery
- */
-struct mld6_hdr {
- struct icmp6_hdr mld6_hdr;
- struct e_in6_addr mld6_addr; /* multicast address */
-};
-
-#define mld6_type mld6_hdr.icmp6_type
-#define mld6_code mld6_hdr.icmp6_code
-#define mld6_cksum mld6_hdr.icmp6_cksum
-#define mld6_maxdelay mld6_hdr.icmp6_data16[0]
-#define mld6_reserved mld6_hdr.icmp6_data16[1]
-
-/*
- * Neighbor Discovery
- */
-
-struct nd_router_solicit { /* router solicitation */
- struct icmp6_hdr nd_rs_hdr;
- /* could be followed by options */
-};
-
-#define nd_rs_type nd_rs_hdr.icmp6_type
-#define nd_rs_code nd_rs_hdr.icmp6_code
-#define nd_rs_cksum nd_rs_hdr.icmp6_cksum
-#define nd_rs_reserved nd_rs_hdr.icmp6_data32[0]
-
-struct nd_router_advert { /* router advertisement */
- struct icmp6_hdr nd_ra_hdr;
- guint32 nd_ra_reachable; /* reachable time */
- guint32 nd_ra_retransmit; /* retransmit timer */
- /* could be followed by options */
-};
-
-#define nd_ra_type nd_ra_hdr.icmp6_type
-#define nd_ra_code nd_ra_hdr.icmp6_code
-#define nd_ra_cksum nd_ra_hdr.icmp6_cksum
-#define nd_ra_curhoplimit nd_ra_hdr.icmp6_data8[0]
-#define nd_ra_flags_reserved nd_ra_hdr.icmp6_data8[1]
-#define ND_RA_FLAG_MANAGED 0x80
-#define ND_RA_FLAG_OTHER 0x40
-#define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1]
-
-struct nd_neighbor_solicit { /* neighbor solicitation */
- struct icmp6_hdr nd_ns_hdr;
- struct e_in6_addr nd_ns_target; /*target address */
- /* could be followed by options */
-};
-
-#define nd_ns_type nd_ns_hdr.icmp6_type
-#define nd_ns_code nd_ns_hdr.icmp6_code
-#define nd_ns_cksum nd_ns_hdr.icmp6_cksum
-#define nd_ns_reserved nd_ns_hdr.icmp6_data32[0]
-
-struct nd_neighbor_advert { /* neighbor advertisement */
- struct icmp6_hdr nd_na_hdr;
- struct e_in6_addr nd_na_target; /* target address */
- /* could be followed by options */
-};
-
-#define nd_na_type nd_na_hdr.icmp6_type
-#define nd_na_code nd_na_hdr.icmp6_code
-#define nd_na_cksum nd_na_hdr.icmp6_cksum
-#define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0]
-#define ND_NA_FLAG_ROUTER 0x80000000
-#define ND_NA_FLAG_SOLICITED 0x40000000
-#define ND_NA_FLAG_OVERRIDE 0x20000000
-
-struct nd_redirect { /* redirect */
- struct icmp6_hdr nd_rd_hdr;
- struct e_in6_addr nd_rd_target; /* target address */
- struct e_in6_addr nd_rd_dst; /* destination address */
- /* could be followed by options */
-};
-
-#define nd_rd_type nd_rd_hdr.icmp6_type
-#define nd_rd_code nd_rd_hdr.icmp6_code
-#define nd_rd_cksum nd_rd_hdr.icmp6_cksum
-#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0]
-
-struct nd_opt_hdr { /* Neighbor discovery option header */
- guint8 nd_opt_type;
- guint8 nd_opt_len;
- /* followed by option specific data*/
-};
-
-#define ND_OPT_SOURCE_LINKADDR 1
-#define ND_OPT_TARGET_LINKADDR 2
-#define ND_OPT_PREFIX_INFORMATION 3
-#define ND_OPT_REDIRECTED_HEADER 4
-/* BT INSERT BEGIN */
-#define ND_OPT_ADVERTISEMENT_INTERVAL 7
-#define ND_OPT_HOME_AGENT_INFORMATION 8
-/* BT INSERT END */
-#define ND_OPT_MTU 5
-
-struct nd_opt_prefix_info { /* prefix information */
- guint8 nd_opt_pi_type;
- guint8 nd_opt_pi_len;
- guint8 nd_opt_pi_prefix_len;
- guint8 nd_opt_pi_flags_reserved;
- guint32 nd_opt_pi_valid_time;
- guint32 nd_opt_pi_preferred_time;
- guint32 nd_opt_pi_reserved2;
- struct e_in6_addr nd_opt_pi_prefix;
-};
-
-#define ND_OPT_PI_FLAG_ONLINK 0x80
-#define ND_OPT_PI_FLAG_AUTO 0x40
-
-struct nd_opt_rd_hdr { /* redirected header */
- guint8 nd_opt_rh_type;
- guint8 nd_opt_rh_len;
- guint16 nd_opt_rh_reserved1;
- guint32 nd_opt_rh_reserved2;
- /* followed by IP header and data */
-};
-
-struct nd_opt_mtu { /* MTU option */
- guint8 nd_opt_mtu_type;
- guint8 nd_opt_mtu_len;
- guint16 nd_opt_mtu_reserved;
- guint32 nd_opt_mtu_mtu;
-};
-/* BT INSERT BEGIN */
-struct nd_opt_adv_int { /* Advertisement Interval option */
- guint8 nd_opt_adv_int_type;
- guint8 nd_opt_adv_int_len;
- guint16 nd_opt_adv_int_reserved;
- guint32 nd_opt_adv_int_advint;
-};
-
-struct nd_opt_ha_info { /* Home Agent Information option */
- guint8 nd_opt_ha_info_type;
- guint8 nd_opt_ha_info_len;
- guint16 nd_opt_ha_info_reserved;
- guint16 nd_opt_ha_info_ha_pref;
- guint16 nd_opt_ha_info_ha_life;
-};
-
-/* BT INSERT END */
-/*
- * icmp6 node information
- */
-struct icmp6_nodeinfo {
- struct icmp6_hdr icmp6_ni_hdr;
- guint8 icmp6_ni_nonce[8];
- /* could be followed by reply data */
-};
-
-#define ni_type icmp6_ni_hdr.icmp6_type
-#define ni_code icmp6_ni_hdr.icmp6_code
-#define ni_cksum icmp6_ni_hdr.icmp6_cksum
-#define ni_qtype icmp6_ni_hdr.icmp6_data16[0]
-#define ni_flags icmp6_ni_hdr.icmp6_data16[1]
-
-#define NI_QTYPE_NOOP 0 /* NOOP */
-#define NI_QTYPE_SUPTYPES 1 /* Supported Qtypes */
-#define NI_QTYPE_FQDN 2 /* FQDN (draft 04) */
-#define NI_QTYPE_DNSNAME 2 /* DNS Name */
-#define NI_QTYPE_NODEADDR 3 /* Node Addresses */
-#define NI_QTYPE_IPV4ADDR 4 /* IPv4 Addresses */
-
-#define NI_SUPTYPE_FLAG_COMPRESS 0x1
-#define NI_FQDN_FLAG_VALIDTTL 0x1
-
-#define NI_NODEADDR_FLAG_TRUNCATE 0x1
-#define NI_NODEADDR_FLAG_ALL 0x2
-#define NI_NODEADDR_FLAG_COMPAT 0x4
-#define NI_NODEADDR_FLAG_LINKLOCAL 0x8
-#define NI_NODEADDR_FLAG_SITELOCAL 0x10
-#define NI_NODEADDR_FLAG_GLOBAL 0x20
-#define NI_NODEADDR_FLAG_ANYCAST 0x40 /* just experimental. not in spec */
-
-struct ni_reply_fqdn {
- guint32 ni_fqdn_ttl; /* TTL */
- guint8 ni_fqdn_namelen; /* length in octets of the FQDN */
- guint8 ni_fqdn_name[3]; /* XXX: alignment */
-};
-
-/*
- * Router Renumbering. as router-renum-05.txt
- */
-struct icmp6_router_renum { /* router renumbering header */
- struct icmp6_hdr rr_hdr;
- guint8 rr_segnum;
- guint8 rr_flags;
- guint16 rr_maxdelay;
- guint32 rr_reserved;
-};
-
-#define rr_type rr_hdr.icmp6_type
-#define rr_code rr_hdr.icmp6_code
-#define rr_cksum rr_hdr.icmp6_cksum
-#define rr_seqnum rr_hdr.icmp6_data32[0]
-
-struct rr_pco_match { /* match prefix part */
- guint8 rpm_code;
- guint8 rpm_len;
- guint8 rpm_ordinal;
- guint8 rpm_matchlen;
- guint8 rpm_minlen;
- guint8 rpm_maxlen;
- guint16 rpm_reserved;
- struct e_in6_addr rpm_prefix;
-};
-
-#define RPM_PCO_ADD 1
-#define RPM_PCO_CHANGE 2
-#define RPM_PCO_SETGLOBAL 3
-#define RPM_PCO_MAX 4
-
-struct rr_pco_use { /* use prefix part */
- guint8 rpu_uselen;
- guint8 rpu_keeplen;
- guint8 rpu_ramask;
- guint8 rpu_raflags;
- guint32 rpu_vltime;
- guint32 rpu_pltime;
- guint32 rpu_flags;
- struct e_in6_addr rpu_prefix;
-};
-
-#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x80
-#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO 0x40
-
-/* network endian */
-#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80000000
-#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40000000
-
-struct rr_result { /* router renumbering result message */
- guint16 rrr_flags;
- guint8 rrr_ordinal;
- guint8 rrr_matchedlen;
- guint32 rrr_ifid;
- struct e_in6_addr rrr_prefix;
-};
-
-/* network endian */
-#define ICMP6_RR_RESULT_FLAGS_OOB 0x0002
-#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0001
-
#endif /* __PACKET_IPV6_H_DEFINED__ */
Index: packet-isis-clv.c
===================================================================
RCS file: /cvsroot/ethereal/packet-isis-clv.c,v
retrieving revision 1.8
diff -u -r1.8 packet-isis-clv.c
--- packet-isis-clv.c 2000/08/11 13:35:17 1.8
+++ packet-isis-clv.c 2001/03/23 05:31:28
@@ -43,7 +43,7 @@
#endif
#include "packet.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-isis.h"
#include "packet-isis-clv.h"
Index: packet-isis-hello.c
===================================================================
RCS file: /cvsroot/ethereal/packet-isis-hello.c,v
retrieving revision 1.11
diff -u -r1.11 packet-isis-hello.c
--- packet-isis-hello.c 2001/01/03 06:55:29 1.11
+++ packet-isis-hello.c 2001/03/23 05:31:28
@@ -38,7 +38,7 @@
#include <string.h>
#include <glib.h>
#include "packet.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-isis.h"
#include "packet-isis-clv.h"
#include "packet-isis-hello.h"
Index: packet-isis-lsp.c
===================================================================
RCS file: /cvsroot/ethereal/packet-isis-lsp.c,v
retrieving revision 1.10
diff -u -r1.10 packet-isis-lsp.c
--- packet-isis-lsp.c 2001/01/03 06:55:29 1.10
+++ packet-isis-lsp.c 2001/03/23 05:31:29
@@ -43,7 +43,7 @@
#endif
#include "packet.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-isis.h"
#include "packet-isis-clv.h"
#include "packet-isis-lsp.h"
Index: packet-isis-snp.c
===================================================================
RCS file: /cvsroot/ethereal/packet-isis-snp.c,v
retrieving revision 1.8
diff -u -r1.8 packet-isis-snp.c
--- packet-isis-snp.c 2001/01/03 06:55:29 1.8
+++ packet-isis-snp.c 2001/03/23 05:31:29
@@ -38,7 +38,7 @@
#include <string.h>
#include <glib.h>
#include "packet.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-isis.h"
#include "packet-isis-clv.h"
#include "packet-isis-lsp.h"
Index: packet-isis.c
===================================================================
RCS file: /cvsroot/ethereal/packet-isis.c,v
retrieving revision 1.18
diff -u -r1.18 packet-isis.c
--- packet-isis.c 2001/01/10 09:07:35 1.18
+++ packet-isis.c 2001/03/23 05:31:29
@@ -40,7 +40,7 @@
#include <glib.h>
#include "packet.h"
#include "nlpid.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-isis.h"
#include "packet-isis-lsp.h"
#include "packet-isis-hello.h"
Index: packet-llc.c
===================================================================
RCS file: /cvsroot/ethereal/packet-llc.c,v
retrieving revision 1.83
diff -u -r1.83 packet-llc.c
--- packet-llc.c 2001/03/22 16:24:14 1.83
+++ packet-llc.c 2001/03/23 05:31:30
@@ -42,7 +42,7 @@
#include "packet-ip.h"
#include "packet-ipx.h"
#include "packet-netbios.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "sna-utils.h"
#include "packet-llc.h"
Index: packet-null.c
===================================================================
RCS file: /cvsroot/ethereal/packet-null.c,v
retrieving revision 1.41
diff -u -r1.41 packet-null.c
--- packet-null.c 2001/03/22 16:24:14 1.41
+++ packet-null.c 2001/03/23 05:31:30
@@ -43,9 +43,9 @@
#include "packet-null.h"
#include "atalk-utils.h"
#include "packet-ip.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#include "packet-ipx.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-ppp.h"
#include "etypes.h"
#include "aftypes.h"
Index: packet-osi-options.c
===================================================================
RCS file: /cvsroot/ethereal/packet-osi-options.c,v
retrieving revision 1.6
diff -u -r1.6 packet-osi-options.c
--- packet-osi-options.c 2001/03/09 04:35:22 1.6
+++ packet-osi-options.c 2001/03/23 05:31:30
@@ -43,7 +43,7 @@
#include <glib.h>
#include "packet.h"
#include "nlpid.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-isis.h"
#include "packet-isis-clv.h"
#include "packet-isis-hello.h"
Index: packet-osi.c
===================================================================
RCS file: /cvsroot/ethereal/packet-osi.c,v
retrieving revision 1.39
diff -u -r1.39 packet-osi.c
--- packet-osi.c 2001/01/09 06:31:39 1.39
+++ packet-osi.c 2001/03/23 05:31:31
@@ -43,7 +43,7 @@
#include "llcsaps.h"
#include "aftypes.h"
#include "nlpid.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "packet-isis.h"
#include "packet-esis.h"
Index: packet-pim.c
===================================================================
RCS file: /cvsroot/ethereal/packet-pim.c,v
retrieving revision 1.24
diff -u -r1.24 packet-pim.c
--- packet-pim.c 2001/02/08 08:38:58 1.24
+++ packet-pim.c 2001/03/23 05:31:31
@@ -45,6 +45,7 @@
#include "packet.h"
#include "packet-ip.h"
+#include "ipv6-utils.h"
#include "packet-ipv6.h"
#include "in_cksum.h"
Index: packet-ppp.c
===================================================================
RCS file: /cvsroot/ethereal/packet-ppp.c,v
retrieving revision 1.57
diff -u -r1.57 packet-ppp.c
--- packet-ppp.c 2001/03/22 16:24:14 1.57
+++ packet-ppp.c 2001/03/23 05:31:32
@@ -41,9 +41,9 @@
#include "atalk-utils.h"
#include "packet-chdlc.h"
#include "packet-ip.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#include "packet-ipx.h"
-#include "packet-vines.h"
+#include "vines-utils.h"
#include "nlpid.h"
static int proto_ppp = -1;
Index: packet-ripng.c
===================================================================
RCS file: /cvsroot/ethereal/packet-ripng.c,v
retrieving revision 1.18
diff -u -r1.18 packet-ripng.c
--- packet-ripng.c 2001/01/22 08:03:45 1.18
+++ packet-ripng.c 2001/03/23 05:31:32
@@ -38,7 +38,7 @@
#include <string.h>
#include <glib.h>
#include "packet.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#include "packet-ripng.h"
#ifndef offsetof
Index: packet-ripng.h
===================================================================
RCS file: /cvsroot/ethereal/packet-ripng.h,v
retrieving revision 1.4
diff -u -r1.4 packet-ripng.h
--- packet-ripng.h 2000/08/11 13:34:28 1.4
+++ packet-ripng.h 2001/03/23 05:31:32
@@ -28,6 +28,7 @@
#define __PACKET_RIPNG_H_DEFINED__
#include "globals.h"
+#include "ipv6-utils.h"
#include "packet-ipv6.h"
/*
Index: packet-rsvp.c
===================================================================
RCS file: /cvsroot/ethereal/packet-rsvp.c,v
retrieving revision 1.35
diff -u -r1.35 packet-rsvp.c
--- packet-rsvp.c 2001/02/04 09:37:28 1.35
+++ packet-rsvp.c 2001/03/23 05:31:34
@@ -70,7 +70,7 @@
#include "packet.h"
#include "in_cksum.h"
#include "packet-ip.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#include "ieee-float.h"
static int proto_rsvp = -1;
Index: packet-sap.c
===================================================================
RCS file: /cvsroot/ethereal/packet-sap.c,v
retrieving revision 1.20
diff -u -r1.20 packet-sap.c
--- packet-sap.c 2001/03/13 21:34:23 1.20
+++ packet-sap.c 2001/03/23 05:31:34
@@ -42,7 +42,7 @@
#include <string.h>
#include <glib.h>
#include "packet.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#define UDP_PORT_SAP 9875
Index: packet-srvloc.c
===================================================================
RCS file: /cvsroot/ethereal/packet-srvloc.c,v
retrieving revision 1.22
diff -u -r1.22 packet-srvloc.c
--- packet-srvloc.c 2001/03/09 04:35:22 1.22
+++ packet-srvloc.c 2001/03/23 05:31:35
@@ -53,7 +53,7 @@
#endif
#include "packet.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#include "strutil.h"
static int proto_srvloc = -1;
Index: packet-udp.c
===================================================================
RCS file: /cvsroot/ethereal/packet-udp.c,v
retrieving revision 1.88
diff -u -r1.88 packet-udp.c
--- packet-udp.c 2001/02/28 19:33:49 1.88
+++ packet-udp.c 2001/03/23 05:31:35
@@ -50,7 +50,7 @@
#include "packet-ip.h"
#include "conversation.h"
-#include "packet-vines.h"
+#include "vines-utils.h"
static int proto_udp = -1;
static int hf_udp_srcport = -1;
Index: packet-vines.c
===================================================================
RCS file: /cvsroot/ethereal/packet-vines.c,v
retrieving revision 1.25
diff -u -r1.25 packet-vines.c
--- packet-vines.c 2001/03/13 21:34:24 1.25
+++ packet-vines.c 2001/03/23 05:31:35
@@ -43,7 +43,7 @@
#include "etypes.h"
#include "ppptypes.h"
#include "packet.h"
-#include "packet-vines.h"
+#include "vines-utils.h"
#include "packet-ip.h"
#define UDP_PORT_VINES 573
Index: packet-x25.c
===================================================================
RCS file: /cvsroot/ethereal/packet-x25.c,v
retrieving revision 1.46
diff -u -r1.46 packet-x25.c
--- packet-x25.c 2001/02/12 09:06:17 1.46
+++ packet-x25.c 2001/03/23 05:31:37
@@ -40,7 +40,7 @@
#include "llcsaps.h"
#include "packet.h"
#include "packet-ip.h"
-#include "packet-osi.h"
+#include "osi-utils.h"
#include "nlpid.h"
#define FROM_DCE 0x80
Index: epan/Makefile.am
===================================================================
RCS file: /cvsroot/ethereal/epan/Makefile.am,v
retrieving revision 1.17
diff -u -r1.17 Makefile.am
--- Makefile.am 2001/03/22 16:24:16 1.17
+++ Makefile.am 2001/03/23 05:31:37
@@ -51,6 +51,9 @@
gdebug.h \
ipv4.c \
ipv4.h \
+ ipv6-utils.h \
+ osi-utils.c \
+ osi-utils.h \
packet.c \
packet.h \
pint.h \
@@ -65,7 +68,9 @@
strutil.c \
strutil.h \
tvbuff.c \
- tvbuff.h
+ tvbuff.h \
+ vines-utils.c \
+ vines-utils.h
EXTRA_libethereal_a_SOURCES = \
inet_aton.c \
Index: epan/Makefile.nmake
===================================================================
RCS file: /cvsroot/ethereal/epan/Makefile.nmake,v
retrieving revision 1.8
diff -u -r1.8 Makefile.nmake
--- Makefile.nmake 2001/03/23 02:05:23 1.8
+++ Makefile.nmake 2001/03/23 05:31:37
@@ -28,6 +28,7 @@
inet_pton.obj \
inet_ntop.obj \
ipv4.obj \
+ osi-utils.obj \
packet.obj \
plugins.obj \
proto.obj \
@@ -35,6 +36,7 @@
sna-utils.obj \
strutil.obj \
tvbuff.obj \
+ vines-util.obj
all: ftypes dfilter ethereal.lib
Index: epan/atalk-utils.h
===================================================================
RCS file: /cvsroot/ethereal/epan/atalk-utils.h,v
retrieving revision 1.1
diff -u -r1.1 atalk-utils.h
--- atalk-utils.h 2001/03/22 16:24:16 1.1
+++ atalk-utils.h 2001/03/23 05:31:37
@@ -50,4 +50,4 @@
*/
extern gchar *atalk_addr_to_str(const struct atalk_ddp_addr *addrp);
-#endif
+#endif /* __ATALK_UTILS__ */
Index: epan/packet.c
===================================================================
RCS file: /cvsroot/ethereal/epan/packet.c,v
retrieving revision 1.22
diff -u -r1.22 packet.c
--- packet.c 2001/03/22 16:24:16 1.22
+++ packet.c 2001/03/23 05:31:38
@@ -75,10 +75,10 @@
#include "atalk-utils.h"
#include "packet-frame.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#include "sna-utils.h"
-#include "packet-vines.h"
-#include "packet-osi.h"
+#include "vines-utils.h"
+#include "osi-utils.h"
#include "resolv.h"
#include "tvbuff.h"
Index: epan/proto.c
===================================================================
RCS file: /cvsroot/ethereal/epan/proto.c,v
retrieving revision 1.14
diff -u -r1.14 proto.c
--- proto.c 2001/03/15 22:08:41 1.14
+++ proto.c 2001/03/23 05:31:40
@@ -44,7 +44,6 @@
#include "resolv.h"
#include "register.h"
#include "plugins.h"
-#include "packet-ipv6.h"
#include "proto.h"
#define cVALS(x) (const value_string*)(x)
Index: epan/resolv.c
===================================================================
RCS file: /cvsroot/ethereal/epan/resolv.c,v
retrieving revision 1.5
diff -u -r1.5 resolv.c
--- resolv.c 2001/01/09 09:57:06 1.5
+++ resolv.c 2001/03/23 05:31:40
@@ -78,7 +78,7 @@
#endif
#include "packet.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#include "packet-ipx.h"
#include "resolv.h"
#include "util.h"
Index: epan/sna-utils.c
===================================================================
RCS file: /cvsroot/ethereal/epan/sna-utils.c,v
retrieving revision 1.1
diff -u -r1.1 sna-utils.c
--- sna-utils.c 2001/03/22 16:24:16 1.1
+++ sna-utils.c 2001/03/23 05:31:40
@@ -1,4 +1,4 @@
-/* packet-sna.c
+/* sna-utils.c
* Routines for SNA
* Gilbert Ramirez <gram@xxxxxxxxxx>
*
Index: epan/sna-utils.h
===================================================================
RCS file: /cvsroot/ethereal/epan/sna-utils.h,v
retrieving revision 1.1
diff -u -r1.1 sna-utils.h
--- sna-utils.h 2001/03/22 16:24:16 1.1
+++ sna-utils.h 2001/03/23 05:31:40
@@ -1,5 +1,5 @@
/* packet-sna.h
- * Definitions for SNA dissection.
+ * Definitions for SNA utilities.
*
* $Id: sna-utils.h,v 1.1 2001/03/22 16:24:16 gram Exp $
*
@@ -40,4 +40,4 @@
*/
extern gchar *sna_fid_type_4_addr_to_str(const struct sna_fid_type_4_addr *addrp);
-#endif
+#endif /* __SNA_UTILS_H__ */
Index: gtk/follow_dlg.c
===================================================================
RCS file: /cvsroot/ethereal/gtk/follow_dlg.c,v
retrieving revision 1.11
diff -u -r1.11 follow_dlg.c
--- follow_dlg.c 2000/11/21 23:54:09 1.11
+++ follow_dlg.c 2001/03/23 05:31:41
@@ -65,7 +65,7 @@
#include "gtkglobals.h"
#include "main.h"
#include "simple_dialog.h"
-#include "packet-ipv6.h"
+#include "ipv6-utils.h"
#include "prefs.h"
#include "resolv.h"
#include "util.h"
Attachment:
osi_and_vines_and_ipv6.tar.gz
Description: Binary data
- Follow-Ups:
- Re: [Ethereal-dev] xxx-utils.h files
- From: Guy Harris
- Re: [Ethereal-dev] xxx-utils.h files
- Prev by Date: [Ethereal-dev] 0.8.16 crashing on Win2k
- Next by Date: [Ethereal-dev] Import of netxray-files broken
- Previous by thread: [Ethereal-dev] (no subject)
- Next by thread: Re: [Ethereal-dev] xxx-utils.h files
- Index(es):