mm: migrate: Account a transhuge page properly when rate limiting
[deliverable/linux.git] / include / linux / netfilter / nfnetlink.h
CommitLineData
f9e815b3
HW
1#ifndef _NFNETLINK_H
2#define _NFNETLINK_H
ac6d439d 3
f9e815b3 4
080774a2 5#include <linux/netlink.h>
f9e815b3 6#include <linux/capability.h>
df6fb868 7#include <net/netlink.h>
94d0ec58 8#include <uapi/linux/netfilter/nfnetlink.h>
f9e815b3 9
d94d9fee 10struct nfnl_callback {
f9e815b3 11 int (*call)(struct sock *nl, struct sk_buff *skb,
39938324
PM
12 const struct nlmsghdr *nlh,
13 const struct nlattr * const cda[]);
6b75e3e8
ED
14 int (*call_rcu)(struct sock *nl, struct sk_buff *skb,
15 const struct nlmsghdr *nlh,
16 const struct nlattr * const cda[]);
e3730578
PM
17 const struct nla_policy *policy; /* netlink attribute policy */
18 const u_int16_t attr_count; /* number of nlattr's */
f9e815b3
HW
19};
20
d94d9fee 21struct nfnetlink_subsystem {
f9e815b3 22 const char *name;
7c8d4cb4
PM
23 __u8 subsys_id; /* nfnetlink subsystem ID */
24 __u8 cb_count; /* number of callbacks */
25 const struct nfnl_callback *cb; /* callback for individual types */
f9e815b3
HW
26};
27
7c8d4cb4
PM
28extern int nfnetlink_subsys_register(const struct nfnetlink_subsystem *n);
29extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n);
f9e815b3 30
cd8c20b6 31extern int nfnetlink_has_listeners(struct net *net, unsigned int group);
95c96174 32extern int nfnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, unsigned int group,
e34d5c1a 33 int echo, gfp_t flags);
37b7ef72 34extern int nfnetlink_set_err(struct net *net, u32 pid, u32 group, int error);
cd8c20b6 35extern int nfnetlink_unicast(struct sk_buff *skb, struct net *net, u_int32_t pid, int flags);
f9e815b3 36
e6a7d3c0
PNA
37extern void nfnl_lock(void);
38extern void nfnl_unlock(void);
39
0ab43f84
HW
40#define MODULE_ALIAS_NFNL_SUBSYS(subsys) \
41 MODULE_ALIAS("nfnetlink-subsys-" __stringify(subsys))
42
f9e815b3 43#endif /* _NFNETLINK_H */
This page took 1.099765 seconds and 5 git commands to generate.