ELF loader support for auxvec base platform string
[deliverable/linux.git] / include / linux / pim.h
1 #ifndef __LINUX_PIM_H
2 #define __LINUX_PIM_H
3
4 #include <asm/byteorder.h>
5
6 #ifndef __KERNEL__
7 struct pim {
8 #if defined(__LITTLE_ENDIAN_BITFIELD)
9 __u8 pim_type:4, /* PIM message type */
10 pim_ver:4; /* PIM version */
11 #elif defined(__BIG_ENDIAN_BITFIELD)
12 __u8 pim_ver:4; /* PIM version */
13 pim_type:4; /* PIM message type */
14 #endif
15 __u8 pim_rsv; /* Reserved */
16 __be16 pim_cksum; /* Checksum */
17 };
18
19 #define PIM_MINLEN 8
20 #endif
21
22 /* Message types - V1 */
23 #define PIM_V1_VERSION __constant_htonl(0x10000000)
24 #define PIM_V1_REGISTER 1
25
26 /* Message types - V2 */
27 #define PIM_VERSION 2
28 #define PIM_REGISTER 1
29
30 #if defined(__KERNEL__)
31 #define PIM_NULL_REGISTER __constant_htonl(0x40000000)
32
33 /* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */
34 struct pimreghdr
35 {
36 __u8 type;
37 __u8 reserved;
38 __be16 csum;
39 __be32 flags;
40 };
41
42 struct sk_buff;
43 extern int pim_rcv_v1(struct sk_buff *);
44 #endif
45 #endif
This page took 0.102331 seconds and 5 git commands to generate.