Back to index

glibc  2.9
Classes | Defines
icmp6.h File Reference
#include <inttypes.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>

Go to the source code of this file.

Classes

struct  icmp6_filter
struct  icmp6_hdr
struct  nd_router_solicit
struct  nd_router_advert
struct  nd_neighbor_solicit
struct  nd_neighbor_advert
struct  nd_redirect
struct  nd_opt_hdr
struct  nd_opt_prefix_info
struct  nd_opt_rd_hdr
struct  nd_opt_mtu
struct  mld_hdr
struct  icmp6_router_renum
struct  rr_pco_match
struct  rr_pco_use
struct  rr_result
struct  nd_opt_adv_interval
struct  nd_opt_home_agent_info
union  icmp6_hdr.icmp6_dataun

Defines

#define ICMP6_FILTER   1
#define ICMP6_FILTER_BLOCK   1
#define ICMP6_FILTER_PASS   2
#define ICMP6_FILTER_BLOCKOTHERS   3
#define ICMP6_FILTER_PASSONLY   4
#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
#define ICMP6_PACKET_TOO_BIG   2
#define ICMP6_TIME_EXCEEDED   3
#define ICMP6_PARAM_PROB   4
#define ICMP6_INFOMSG_MASK   0x80 /* all informational messages */
#define ICMP6_ECHO_REQUEST   128
#define ICMP6_ECHO_REPLY   129
#define MLD_LISTENER_QUERY   130
#define MLD_LISTENER_REPORT   131
#define MLD_LISTENER_REDUCTION   132
#define ICMP6_DST_UNREACH_NOROUTE   0 /* no route to destination */
#define ICMP6_DST_UNREACH_ADMIN   1 /* communication with destination */
#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 /* bad port */
#define ICMP6_TIME_EXCEED_TRANSIT   0 /* Hop Limit == 0 in transit */
#define ICMP6_TIME_EXCEED_REASSEMBLY   1 /* Reassembly time out */
#define ICMP6_PARAMPROB_HEADER   0 /* erroneous header field */
#define ICMP6_PARAMPROB_NEXTHEADER   1 /* unrecognized Next Header */
#define ICMP6_PARAMPROB_OPTION   2 /* unrecognized IPv6 option */
#define ICMP6_FILTER_WILLPASS(type, filterp)   ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0)
#define ICMP6_FILTER_WILLBLOCK(type, filterp)   ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0)
#define ICMP6_FILTER_SETPASS(type, filterp)   ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31))))
#define ICMP6_FILTER_SETBLOCK(type, filterp)   ((((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31))))
#define ICMP6_FILTER_SETPASSALL(filterp)   memset (filterp, 0, sizeof (struct icmp6_filter));
#define ICMP6_FILTER_SETBLOCKALL(filterp)   memset (filterp, 0xFF, sizeof (struct icmp6_filter));
#define ND_ROUTER_SOLICIT   133
#define ND_ROUTER_ADVERT   134
#define ND_NEIGHBOR_SOLICIT   135
#define ND_NEIGHBOR_ADVERT   136
#define ND_REDIRECT   137
#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]
#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_FLAG_HOME_AGENT   0x20
#define nd_ra_router_lifetime   nd_ra_hdr.icmp6_data16[1]
#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]
#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
#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]
#define ND_OPT_SOURCE_LINKADDR   1
#define ND_OPT_TARGET_LINKADDR   2
#define ND_OPT_PREFIX_INFORMATION   3
#define ND_OPT_REDIRECTED_HEADER   4
#define ND_OPT_MTU   5
#define ND_OPT_RTR_ADV_INTERVAL   7
#define ND_OPT_HOME_AGENT_INFO   8
#define ND_OPT_PI_FLAG_ONLINK   0x80
#define ND_OPT_PI_FLAG_AUTO   0x40
#define ND_OPT_PI_FLAG_RADDR   0x20
#define mld_type   mld_icmp6_hdr.icmp6_type
#define mld_code   mld_icmp6_hdr.icmp6_code
#define mld_cksum   mld_icmp6_hdr.icmp6_cksum
#define mld_maxdelay   mld_icmp6_hdr.icmp6_data16[0]
#define mld_reserved   mld_icmp6_hdr.icmp6_data16[1]
#define ICMP6_ROUTER_RENUMBERING   138
#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]
#define ICMP6_RR_FLAGS_TEST   0x80
#define ICMP6_RR_FLAGS_REQRESULT   0x40
#define ICMP6_RR_FLAGS_FORCEAPPLY   0x20
#define ICMP6_RR_FLAGS_SPECSITE   0x10
#define ICMP6_RR_FLAGS_PREVDONE   0x08
#define RPM_PCO_ADD   1
#define RPM_PCO_CHANGE   2
#define RPM_PCO_SETGLOBAL   3
#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK   0x20
#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO   0x10
#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME   0x80000000
#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME   0x40000000
#define ICMP6_RR_RESULT_FLAGS_OOB   0x0002
#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN   0x0001

Class Documentation

struct icmp6_filter

Definition at line 34 of file icmp6.h.

Class Members
uint32_t icmp6_filt
struct icmp6_hdr

Definition at line 39 of file icmp6.h.

Class Members
uint16_t icmp6_cksum
uint8_t icmp6_code
union icmp6_hdr icmp6_dataun
uint8_t icmp6_type
struct nd_router_solicit

Definition at line 112 of file icmp6.h.

struct nd_router_advert

Definition at line 123 of file icmp6.h.

Class Members
uint32_t nd_ra_reachable
uint32_t nd_ra_retransmit
struct nd_neighbor_solicit

Definition at line 141 of file icmp6.h.

struct nd_neighbor_advert

Definition at line 153 of file icmp6.h.

struct nd_redirect

Definition at line 174 of file icmp6.h.

struct nd_opt_hdr

Definition at line 187 of file icmp6.h.

Class Members
uint8_t nd_opt_len
uint8_t nd_opt_type
struct nd_opt_prefix_info

Definition at line 202 of file icmp6.h.

Class Members
uint8_t nd_opt_pi_flags_reserved
uint8_t nd_opt_pi_len
uint32_t nd_opt_pi_preferred_time
uint8_t nd_opt_pi_prefix_len
uint32_t nd_opt_pi_reserved2
uint8_t nd_opt_pi_type
uint32_t nd_opt_pi_valid_time
struct nd_opt_rd_hdr

Definition at line 218 of file icmp6.h.

Class Members
uint8_t nd_opt_rh_len
uint16_t nd_opt_rh_reserved1
uint32_t nd_opt_rh_reserved2
uint8_t nd_opt_rh_type
struct nd_opt_mtu

Definition at line 227 of file icmp6.h.

Class Members
uint8_t nd_opt_mtu_len
uint32_t nd_opt_mtu_mtu
uint16_t nd_opt_mtu_reserved
uint8_t nd_opt_mtu_type
struct mld_hdr

Definition at line 235 of file icmp6.h.

struct icmp6_router_renum

Definition at line 249 of file icmp6.h.

Class Members
uint8_t rr_flags
uint16_t rr_maxdelay
uint32_t rr_reserved
uint8_t rr_segnum
struct rr_pco_match

Definition at line 270 of file icmp6.h.

Class Members
uint8_t rpm_code
uint8_t rpm_len
uint8_t rpm_matchlen
uint8_t rpm_maxlen
uint8_t rpm_minlen
uint8_t rpm_ordinal
uint16_t rpm_reserved
struct rr_pco_use

Definition at line 287 of file icmp6.h.

Class Members
uint32_t rpu_flags
uint8_t rpu_keeplen
uint32_t rpu_pltime
uint8_t rpu_raflags
uint8_t rpu_ramask
uint8_t rpu_uselen
uint32_t rpu_vltime
struct rr_result

Definition at line 310 of file icmp6.h.

Class Members
uint16_t rrr_flags
uint32_t rrr_ifid
uint8_t rrr_matchedlen
uint8_t rrr_ordinal
struct nd_opt_adv_interval

Definition at line 328 of file icmp6.h.

Class Members
uint32_t nd_opt_adv_interval_ival
uint8_t nd_opt_adv_interval_len
uint16_t nd_opt_adv_interval_reserved
uint8_t nd_opt_adv_interval_type
struct nd_opt_home_agent_info

Definition at line 337 of file icmp6.h.

Class Members
uint8_t nd_opt_home_agent_info_len
uint16_t nd_opt_home_agent_info_lifetime
int16_t nd_opt_home_agent_info_preference
uint16_t nd_opt_home_agent_info_reserved
uint8_t nd_opt_home_agent_info_type
union icmp6_hdr.icmp6_dataun

Definition at line 44 of file icmp6.h.

Class Members
uint16_t icmp6_un_data16
uint32_t icmp6_un_data32
uint8_t icmp6_un_data8

Define Documentation

#define icmp6_data16   icmp6_dataun.icmp6_un_data16

Definition at line 53 of file icmp6.h.

#define icmp6_data32   icmp6_dataun.icmp6_un_data32

Definition at line 52 of file icmp6.h.

#define icmp6_data8   icmp6_dataun.icmp6_un_data8

Definition at line 54 of file icmp6.h.

#define ICMP6_DST_UNREACH   1

Definition at line 61 of file icmp6.h.

#define ICMP6_DST_UNREACH_ADDR   3 /* address unreachable */

Definition at line 78 of file icmp6.h.

#define ICMP6_DST_UNREACH_ADMIN   1 /* communication with destination */

Definition at line 75 of file icmp6.h.

#define ICMP6_DST_UNREACH_BEYONDSCOPE   2 /* beyond scope of source address */

Definition at line 77 of file icmp6.h.

#define ICMP6_DST_UNREACH_NOPORT   4 /* bad port */

Definition at line 79 of file icmp6.h.

#define ICMP6_DST_UNREACH_NOROUTE   0 /* no route to destination */

Definition at line 74 of file icmp6.h.

#define ICMP6_ECHO_REPLY   129

Definition at line 69 of file icmp6.h.

#define ICMP6_ECHO_REQUEST   128

Definition at line 68 of file icmp6.h.

#define ICMP6_FILTER   1

Definition at line 27 of file icmp6.h.

#define ICMP6_FILTER_BLOCK   1

Definition at line 29 of file icmp6.h.

#define ICMP6_FILTER_BLOCKOTHERS   3

Definition at line 31 of file icmp6.h.

#define ICMP6_FILTER_PASS   2

Definition at line 30 of file icmp6.h.

#define ICMP6_FILTER_PASSONLY   4

Definition at line 32 of file icmp6.h.

#define ICMP6_FILTER_SETBLOCK (   type,
  filterp 
)    ((((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31))))

Definition at line 97 of file icmp6.h.

#define ICMP6_FILTER_SETBLOCKALL (   filterp)    memset (filterp, 0xFF, sizeof (struct icmp6_filter));

Definition at line 103 of file icmp6.h.

#define ICMP6_FILTER_SETPASS (   type,
  filterp 
)    ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31))))

Definition at line 94 of file icmp6.h.

#define ICMP6_FILTER_SETPASSALL (   filterp)    memset (filterp, 0, sizeof (struct icmp6_filter));

Definition at line 100 of file icmp6.h.

#define ICMP6_FILTER_WILLBLOCK (   type,
  filterp 
)    ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0)

Definition at line 91 of file icmp6.h.

#define ICMP6_FILTER_WILLPASS (   type,
  filterp 
)    ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0)

Definition at line 88 of file icmp6.h.

#define icmp6_id   icmp6_data16[0] /* echo request/reply */

Definition at line 57 of file icmp6.h.

#define ICMP6_INFOMSG_MASK   0x80 /* all informational messages */

Definition at line 66 of file icmp6.h.

#define icmp6_maxdelay   icmp6_data16[0] /* mcast group membership */

Definition at line 59 of file icmp6.h.

#define icmp6_mtu   icmp6_data32[0] /* packet too big */

Definition at line 56 of file icmp6.h.

#define ICMP6_PACKET_TOO_BIG   2

Definition at line 62 of file icmp6.h.

#define ICMP6_PARAM_PROB   4

Definition at line 64 of file icmp6.h.

#define ICMP6_PARAMPROB_HEADER   0 /* erroneous header field */

Definition at line 84 of file icmp6.h.

#define ICMP6_PARAMPROB_NEXTHEADER   1 /* unrecognized Next Header */

Definition at line 85 of file icmp6.h.

#define ICMP6_PARAMPROB_OPTION   2 /* unrecognized IPv6 option */

Definition at line 86 of file icmp6.h.

#define icmp6_pptr   icmp6_data32[0] /* parameter prob */

Definition at line 55 of file icmp6.h.

#define ICMP6_ROUTER_RENUMBERING   138

Definition at line 247 of file icmp6.h.

#define ICMP6_RR_FLAGS_FORCEAPPLY   0x20

Definition at line 266 of file icmp6.h.

#define ICMP6_RR_FLAGS_PREVDONE   0x08

Definition at line 268 of file icmp6.h.

#define ICMP6_RR_FLAGS_REQRESULT   0x40

Definition at line 265 of file icmp6.h.

#define ICMP6_RR_FLAGS_SPECSITE   0x10

Definition at line 267 of file icmp6.h.

#define ICMP6_RR_FLAGS_TEST   0x80

Definition at line 264 of file icmp6.h.

#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME   0x40000000

Definition at line 304 of file icmp6.h.

#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME   0x80000000

Definition at line 303 of file icmp6.h.

#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO   0x10

Definition at line 300 of file icmp6.h.

#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK   0x20

Definition at line 299 of file icmp6.h.

#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN   0x0001

Definition at line 321 of file icmp6.h.

#define ICMP6_RR_RESULT_FLAGS_OOB   0x0002

Definition at line 320 of file icmp6.h.

#define icmp6_seq   icmp6_data16[1] /* echo request/reply */

Definition at line 58 of file icmp6.h.

#define ICMP6_TIME_EXCEED_REASSEMBLY   1 /* Reassembly time out */

Definition at line 82 of file icmp6.h.

#define ICMP6_TIME_EXCEED_TRANSIT   0 /* Hop Limit == 0 in transit */

Definition at line 81 of file icmp6.h.

#define ICMP6_TIME_EXCEEDED   3

Definition at line 63 of file icmp6.h.

#define mld_cksum   mld_icmp6_hdr.icmp6_cksum

Definition at line 243 of file icmp6.h.

#define mld_code   mld_icmp6_hdr.icmp6_code

Definition at line 242 of file icmp6.h.

#define MLD_LISTENER_QUERY   130

Definition at line 70 of file icmp6.h.

#define MLD_LISTENER_REDUCTION   132

Definition at line 72 of file icmp6.h.

#define MLD_LISTENER_REPORT   131

Definition at line 71 of file icmp6.h.

Definition at line 244 of file icmp6.h.

Definition at line 245 of file icmp6.h.

#define mld_type   mld_icmp6_hdr.icmp6_type

Definition at line 241 of file icmp6.h.

#define nd_na_cksum   nd_na_hdr.icmp6_cksum

Definition at line 162 of file icmp6.h.

#define nd_na_code   nd_na_hdr.icmp6_code

Definition at line 161 of file icmp6.h.

#define ND_NA_FLAG_OVERRIDE   0x20000000

Definition at line 167 of file icmp6.h.

#define ND_NA_FLAG_ROUTER   0x80000000

Definition at line 165 of file icmp6.h.

#define ND_NA_FLAG_SOLICITED   0x40000000

Definition at line 166 of file icmp6.h.

Definition at line 163 of file icmp6.h.

#define nd_na_type   nd_na_hdr.icmp6_type

Definition at line 160 of file icmp6.h.

#define ND_NEIGHBOR_ADVERT   136

Definition at line 109 of file icmp6.h.

#define ND_NEIGHBOR_SOLICIT   135

Definition at line 108 of file icmp6.h.

#define nd_ns_cksum   nd_ns_hdr.icmp6_cksum

Definition at line 150 of file icmp6.h.

#define nd_ns_code   nd_ns_hdr.icmp6_code

Definition at line 149 of file icmp6.h.

Definition at line 151 of file icmp6.h.

#define nd_ns_type   nd_ns_hdr.icmp6_type

Definition at line 148 of file icmp6.h.

#define ND_OPT_HOME_AGENT_INFO   8

Definition at line 200 of file icmp6.h.

#define ND_OPT_MTU   5

Definition at line 198 of file icmp6.h.

#define ND_OPT_PI_FLAG_AUTO   0x40

Definition at line 215 of file icmp6.h.

#define ND_OPT_PI_FLAG_ONLINK   0x80

Definition at line 214 of file icmp6.h.

#define ND_OPT_PI_FLAG_RADDR   0x20

Definition at line 216 of file icmp6.h.

#define ND_OPT_PREFIX_INFORMATION   3

Definition at line 196 of file icmp6.h.

#define ND_OPT_REDIRECTED_HEADER   4

Definition at line 197 of file icmp6.h.

#define ND_OPT_RTR_ADV_INTERVAL   7

Definition at line 199 of file icmp6.h.

#define ND_OPT_SOURCE_LINKADDR   1

Definition at line 194 of file icmp6.h.

#define ND_OPT_TARGET_LINKADDR   2

Definition at line 195 of file icmp6.h.

#define nd_ra_cksum   nd_ra_hdr.icmp6_cksum

Definition at line 133 of file icmp6.h.

#define nd_ra_code   nd_ra_hdr.icmp6_code

Definition at line 132 of file icmp6.h.

Definition at line 134 of file icmp6.h.

#define ND_RA_FLAG_HOME_AGENT   0x20

Definition at line 138 of file icmp6.h.

#define ND_RA_FLAG_MANAGED   0x80

Definition at line 136 of file icmp6.h.

#define ND_RA_FLAG_OTHER   0x40

Definition at line 137 of file icmp6.h.

Definition at line 135 of file icmp6.h.

Definition at line 139 of file icmp6.h.

#define nd_ra_type   nd_ra_hdr.icmp6_type

Definition at line 131 of file icmp6.h.

#define nd_rd_cksum   nd_rd_hdr.icmp6_cksum

Definition at line 184 of file icmp6.h.

#define nd_rd_code   nd_rd_hdr.icmp6_code

Definition at line 183 of file icmp6.h.

Definition at line 185 of file icmp6.h.

#define nd_rd_type   nd_rd_hdr.icmp6_type

Definition at line 182 of file icmp6.h.

#define ND_REDIRECT   137

Definition at line 110 of file icmp6.h.

#define ND_ROUTER_ADVERT   134

Definition at line 107 of file icmp6.h.

#define ND_ROUTER_SOLICIT   133

Definition at line 106 of file icmp6.h.

#define nd_rs_cksum   nd_rs_hdr.icmp6_cksum

Definition at line 120 of file icmp6.h.

#define nd_rs_code   nd_rs_hdr.icmp6_code

Definition at line 119 of file icmp6.h.

Definition at line 121 of file icmp6.h.

#define nd_rs_type   nd_rs_hdr.icmp6_type

Definition at line 118 of file icmp6.h.

#define RPM_PCO_ADD   1

Definition at line 283 of file icmp6.h.

#define RPM_PCO_CHANGE   2

Definition at line 284 of file icmp6.h.

#define RPM_PCO_SETGLOBAL   3

Definition at line 285 of file icmp6.h.

#define rr_cksum   rr_hdr.icmp6_cksum

Definition at line 260 of file icmp6.h.

#define rr_code   rr_hdr.icmp6_code

Definition at line 259 of file icmp6.h.

#define rr_seqnum   rr_hdr.icmp6_data32[0]

Definition at line 261 of file icmp6.h.

#define rr_type   rr_hdr.icmp6_type

Definition at line 258 of file icmp6.h.