^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef _NET_RAWV6_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define _NET_RAWV6_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <net/protocol.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) extern struct raw_hashinfo raw_v6_hashinfo;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) struct sock *__raw_v6_lookup(struct net *net, struct sock *sk,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) unsigned short num, const struct in6_addr *loc_addr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) const struct in6_addr *rmt_addr, int dif, int sdif);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) int raw_abort(struct sock *sk, int err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) void raw6_icmp_error(struct sk_buff *, int nexthdr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) u8 type, u8 code, int inner_offset, __be32);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) bool raw6_local_deliver(struct sk_buff *, int);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) int rawv6_rcv(struct sock *sk, struct sk_buff *skb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) int rawv6_mh_filter_register(int (*filter)(struct sock *sock,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) struct sk_buff *skb));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) int rawv6_mh_filter_unregister(int (*filter)(struct sock *sock,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) struct sk_buff *skb));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #endif