icmpv6.h 816 字节
Newer Older
L
Linus Torvalds 已提交
1 2 3
#ifndef _LINUX_ICMPV6_H
#define _LINUX_ICMPV6_H

4
#include <linux/skbuff.h>
5
#include <uapi/linux/icmpv6.h>
6 7 8

static inline struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb)
{
9
	return (struct icmp6hdr *)skb_transport_header(skb);
10
}
L
Linus Torvalds 已提交
11 12 13 14

#include <linux/netdevice.h>

extern void				icmpv6_send(struct sk_buff *skb,
15
						    u8 type, u8 code,
16
						    __u32 info);
L
Linus Torvalds 已提交
17

18
extern int				icmpv6_init(void);
19
extern int				icmpv6_err_convert(u8 type, u8 code,
L
Linus Torvalds 已提交
20 21 22
							   int *err);
extern void				icmpv6_cleanup(void);
extern void				icmpv6_param_prob(struct sk_buff *skb,
23
							  u8 code, int pos);
24

25
struct flowi6;
26
struct in6_addr;
27
extern void				icmpv6_flow_init(struct sock *sk,
28
							 struct flowi6 *fl6,
29 30 31 32
							 u8 type,
							 const struct in6_addr *saddr,
							 const struct in6_addr *daddr,
							 int oif);
L
Linus Torvalds 已提交
33
#endif