[NETLINK]: Generic netlink receive queue processor
Introduces netlink_run_queue() to handle the receive queue of a netlink socket in a generic way. Processes as much as there was in the queue upon entry and invokes a callback function for each netlink message found. The callback function may refuse a message by returning a negative error code but setting the error pointer to 0 in which case netlink_run_queue() will return with a qlen != 0. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -183,6 +183,12 @@ struct nla_policy {
|
||||
u16 minlen;
|
||||
};
|
||||
|
||||
extern void netlink_run_queue(struct sock *sk, unsigned int *qlen,
|
||||
int (*cb)(struct sk_buff *,
|
||||
struct nlmsghdr *, int *));
|
||||
extern void netlink_queue_skip(struct nlmsghdr *nlh,
|
||||
struct sk_buff *skb);
|
||||
|
||||
extern int nla_validate(struct nlattr *head, int len, int maxtype,
|
||||
struct nla_policy *policy);
|
||||
extern int nla_parse(struct nlattr *tb[], int maxtype,
|
||||
|
Reference in New Issue
Block a user