diff options
author | Johannes Berg <johannes.berg@intel.com> | 2020-10-03 11:44:43 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-10-04 00:18:29 +0300 |
commit | 04a351a62bd4be1dbcc88fae69b990362d88ffe5 (patch) | |
tree | c195449e729188a3f50df194b5842720d467654d /include/net | |
parent | 899b07c5787fbc6d2be51d0ea31721c8c2165458 (diff) | |
download | linux-04a351a62bd4be1dbcc88fae69b990362d88ffe5.tar.xz |
netlink: rework policy dump to support multiple policies
Rework the policy dump code a bit to support adding multiple
policies to a single dump, in order to e.g. support per-op
policies in generic netlink.
v2:
- move kernel-doc to implementation [Jakub]
- squash the first patch to not flip-flop on the prototype
[Jakub]
- merge netlink_policy_dump_get_policy_idx() with the old
get_policy_idx() we already had
- rebase without Jakub's patch to have per-op dump
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/netlink.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/net/netlink.h b/include/net/netlink.h index 00258590f2cb..5a5ff97cc596 100644 --- a/include/net/netlink.h +++ b/include/net/netlink.h @@ -1937,9 +1937,12 @@ void nla_get_range_signed(const struct nla_policy *pt, struct netlink_policy_dump_state; -int netlink_policy_dump_start(const struct nla_policy *policy, - unsigned int maxtype, - struct netlink_policy_dump_state **state); +int netlink_policy_dump_add_policy(struct netlink_policy_dump_state **pstate, + const struct nla_policy *policy, + unsigned int maxtype); +int netlink_policy_dump_get_policy_idx(struct netlink_policy_dump_state *state, + const struct nla_policy *policy, + unsigned int maxtype); bool netlink_policy_dump_loop(struct netlink_policy_dump_state *state); int netlink_policy_dump_write(struct sk_buff *skb, struct netlink_policy_dump_state *state); |