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):