diff options
Diffstat (limited to 'include/linux/netlink.h')
-rw-r--r-- | include/linux/netlink.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/include/linux/netlink.h b/include/linux/netlink.h index 5ba398e90304..080f6ba9e73a 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h | |||
@@ -176,12 +176,16 @@ struct netlink_skb_parms | |||
176 | #define NETLINK_CREDS(skb) (&NETLINK_CB((skb)).creds) | 176 | #define NETLINK_CREDS(skb) (&NETLINK_CB((skb)).creds) |
177 | 177 | ||
178 | 178 | ||
179 | extern void netlink_table_grab(void); | ||
180 | extern void netlink_table_ungrab(void); | ||
181 | |||
179 | extern struct sock *netlink_kernel_create(struct net *net, | 182 | extern struct sock *netlink_kernel_create(struct net *net, |
180 | int unit,unsigned int groups, | 183 | int unit,unsigned int groups, |
181 | void (*input)(struct sk_buff *skb), | 184 | void (*input)(struct sk_buff *skb), |
182 | struct mutex *cb_mutex, | 185 | struct mutex *cb_mutex, |
183 | struct module *module); | 186 | struct module *module); |
184 | extern void netlink_kernel_release(struct sock *sk); | 187 | extern void netlink_kernel_release(struct sock *sk); |
188 | extern int __netlink_change_ngroups(struct sock *sk, unsigned int groups); | ||
185 | extern int netlink_change_ngroups(struct sock *sk, unsigned int groups); | 189 | extern int netlink_change_ngroups(struct sock *sk, unsigned int groups); |
186 | extern void netlink_clear_multicast_users(struct sock *sk, unsigned int group); | 190 | extern void netlink_clear_multicast_users(struct sock *sk, unsigned int group); |
187 | extern void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err); | 191 | extern void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err); |
@@ -217,12 +221,13 @@ int netlink_sendskb(struct sock *sk, struct sk_buff *skb); | |||
217 | 221 | ||
218 | struct netlink_callback | 222 | struct netlink_callback |
219 | { | 223 | { |
220 | struct sk_buff *skb; | 224 | struct sk_buff *skb; |
221 | struct nlmsghdr *nlh; | 225 | const struct nlmsghdr *nlh; |
222 | int (*dump)(struct sk_buff * skb, struct netlink_callback *cb); | 226 | int (*dump)(struct sk_buff * skb, |
223 | int (*done)(struct netlink_callback *cb); | 227 | struct netlink_callback *cb); |
224 | int family; | 228 | int (*done)(struct netlink_callback *cb); |
225 | long args[6]; | 229 | int family; |
230 | long args[6]; | ||
226 | }; | 231 | }; |
227 | 232 | ||
228 | struct netlink_notify | 233 | struct netlink_notify |
@@ -258,7 +263,7 @@ __nlmsg_put(struct sk_buff *skb, u32 pid, u32 seq, int type, int len, int flags) | |||
258 | NLMSG_NEW(skb, pid, seq, type, len, 0) | 263 | NLMSG_NEW(skb, pid, seq, type, len, 0) |
259 | 264 | ||
260 | extern int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, | 265 | extern int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, |
261 | struct nlmsghdr *nlh, | 266 | const struct nlmsghdr *nlh, |
262 | int (*dump)(struct sk_buff *skb, struct netlink_callback*), | 267 | int (*dump)(struct sk_buff *skb, struct netlink_callback*), |
263 | int (*done)(struct netlink_callback*)); | 268 | int (*done)(struct netlink_callback*)); |
264 | 269 | ||