Go to the documentation of this file.
35#ifndef _NETINET_PIM_H_
36#define _NETINET_PIM_H_
51# error BYTE_ORDER is not defined!
53#if (BYTE_ORDER != BIG_ENDIAN) && (BYTE_ORDER != LITTLE_ENDIAN)
54# error BYTE_ORDER must be defined to either BIG_ENDIAN or LITTLE_ENDIAN
65#if BYTE_ORDER == BIG_ENDIAN
69#if BYTE_ORDER == LITTLE_ENDIAN
78#define pim_ver pim_vers
79#define pim_rsv pim_reserved
82#define PIM_MAKE_VT(v, t) (0xff & (((v) << 4) | (0x0f & (t))))
83#define PIM_VT_V(x) (((x) >> 4) & 0x0f)
84#define PIM_VT_T(x) ((x) & 0x0f)
89#define PIM_REG_MINLEN (PIM_MINLEN+20)
90#define PIM6_REG_MINLEN (PIM_MINLEN+40)
96#define PIM_REGISTER 0x1
97#define PIM_REGISTER_STOP 0x2
98#define PIM_JOIN_PRUNE 0x3
99#define PIM_BOOTSTRAP 0x4
100#define PIM_ASSERT 0x5
102#define PIM_GRAFT_ACK 0x7
103#define PIM_CAND_RP_ADV 0x8
104#define PIM_ALL_DF_ELECTION 0xa
109#define PIM_BORDER_REGISTER 0x80000000U
110#define PIM_NULL_REGISTER 0x40000000U
115#define INADDR_ALLPIM_ROUTERS_GROUP (uint32_t)0xe000000dU
116#define IN6ADDR_LINKLOCAL_ALLPIM_ROUTERS "ff02::d"
117#define IN6ADDR_LINKLOCAL_ALLPIM_ROUTERS_INIT \
118 {{{ 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d }}}