| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- struct icmp6hdr {
- u_int8_t icmp6_type; /* Type field */
- u_int8_t icmp6_code; /* Code field */
- u_int16_t icmp6_cksum; /* Checksum field */
- union {
- u_int32_t un_data32[1]; /* Type-specific field */
- u_int16_t un_data16[2]; /* Type-specific field */
- u_int8_t un_data8[4]; /* Type-specific field */
- } icmp6_dataun;
- };
- #define icmp6_data32 icmp6_dataun.un_data32
- #define icmp6_data16 icmp6_dataun.un_data16
- #define icmp6_data8 icmp6_dataun.un_data8
- #define icmp6_pptr icmp6_data32[0] /* PARAMPROB */
- #define icmp6_mtu icmp6_data32[0] /* PKT_TOOBIG */
- #define icmp6_id icmp6_data16[0] /* ECHO */
- #define icmp6_seq icmp6_data16[1] /* ECHO */
- #define icmp6_maxdelay icmp6_data16[0] /* MGM_xxx */
- #define ICMPV6_DEST_UNREACH 1
- #define ICMPV6_PKT_TOOBIG 2
- #define ICMPV6_TIME_EXCEED 3
- #define ICMPV6_PARAMPROB 4
- #define ICMPV6_INFOMSG_MASK 0x80 /* all informational messages */
- #define ICMPV6_ECHORQST 128
- #define ICMPV6_ECHORPLY 129
- #define ICMPV6_MGM_QUERY 130
- #define ICMPV6_MGM_REPORT 131
- #define ICMPV6_MGM_REDUCTION 132
- #define ICMPV6_DEST_UNREACH_NOROUTE 0 /* no route to destination */
- #define ICMPV6_DEST_UNREACH_ADMIN 1 /* communication with destination */
- /* administratively prohibited */
- #define ICMPV6_DEST_UNREACH_NOTNEIGHBOR 2 /* not a neighbor */
- #define ICMPV6_DEST_UNREACH_ADDR 3 /* address unreachable */
- #define ICMPV6_DEST_UNREACH_NOPORT 4 /* bad port */
- #define ICMPV6_TIME_EXCEED_HOPS 0 /* Hop Limit == 0 in transit */
- #define ICMPV6_TIME_EXCEED_REASSEMBLY 1 /* Reassembly time out */
- #define ICMPV6_PARAMPROB_HDR 0 /* erroneous header field */
- #define ICMPV6_PARAMPROB_NXT_HDR 1 /* unrecognized Next Header */
- #define ICMPV6_PARAMPROB_OPTS 2 /* unrecognized IPv6 option */
|