diff options
author | Johannes Berg <johannes.berg@intel.com> | 2018-10-02 10:12:31 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2018-10-02 21:25:49 +0200 |
commit | 742732dae9a60818b90592f3d93ca1870d00d67c (patch) | |
tree | bb12ffeec10bd263f0eb293aa589b75e8d6006cb | |
parent | eca1c43ffdfba23d0eeee3b8a64aed63d5702d95 (diff) |
backports: rename magic functions for netlink parsing
Make all the magic variable argument calls inlines and
rename them so we can override them more easily later.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | backport/backport-include/net/netlink.h | 100 |
1 files changed, 65 insertions, 35 deletions
diff --git a/backport/backport-include/net/netlink.h b/backport/backport-include/net/netlink.h index 37c899b0..7775bc82 100644 --- a/backport/backport-include/net/netlink.h +++ b/backport/backport-include/net/netlink.h @@ -7,70 +7,100 @@ #if LINUX_VERSION_IS_LESS(4,12,0) #include <backport/magic.h> -static inline int nla_validate5(const struct nlattr *head, - int len, int maxtype, - const struct nla_policy *policy, - struct netlink_ext_ack *extack) +static inline int _nla_validate5(const struct nlattr *head, + int len, int maxtype, + const struct nla_policy *policy, + struct netlink_ext_ack *extack) { return nla_validate(head, len, maxtype, policy); } -#define nla_validate4 nla_validate +static inline int _nla_validate4(const struct nlattr *head, + int len, int maxtype, + const struct nla_policy *policy) +{ + return nla_validate(head, len, maxtype, policy); +} +#undef nla_validate #define nla_validate(...) \ - macro_dispatcher(nla_validate, __VA_ARGS__)(__VA_ARGS__) + macro_dispatcher(_nla_validate, __VA_ARGS__)(__VA_ARGS__) -static inline int nla_parse6(struct nlattr **tb, int maxtype, - const struct nlattr *head, - int len, const struct nla_policy *policy, - struct netlink_ext_ack *extack) +static inline int _nla_parse6(struct nlattr **tb, int maxtype, + const struct nlattr *head, + int len, const struct nla_policy *policy, + struct netlink_ext_ack *extack) +{ + return nla_parse(tb, maxtype, head, len, policy); +} +static inline int _nla_parse5(struct nlattr **tb, int maxtype, + const struct nlattr *head, + int len, const struct nla_policy *policy) { return nla_parse(tb, maxtype, head, len, policy); } -#define nla_parse5(...) nla_parse(__VA_ARGS__) #define nla_parse(...) \ - macro_dispatcher(nla_parse, __VA_ARGS__)(__VA_ARGS__) + macro_dispatcher(_nla_parse, __VA_ARGS__)(__VA_ARGS__) -static inline int nlmsg_parse6(const struct nlmsghdr *nlh, int hdrlen, - struct nlattr *tb[], int maxtype, - const struct nla_policy *policy, - struct netlink_ext_ack *extack) +static inline int _nlmsg_parse6(const struct nlmsghdr *nlh, int hdrlen, + struct nlattr *tb[], int maxtype, + const struct nla_policy *policy, + struct netlink_ext_ack *extack) +{ + return nlmsg_parse(nlh, hdrlen, tb, maxtype, policy); +} +static inline int _nlmsg_parse5(const struct nlmsghdr *nlh, int hdrlen, + struct nlattr *tb[], int maxtype, + const struct nla_policy *policy) { return nlmsg_parse(nlh, hdrlen, tb, maxtype, policy); } -#define nlmsg_parse5 nlmsg_parse #define nlmsg_parse(...) \ - macro_dispatcher(nlmsg_parse, __VA_ARGS__)(__VA_ARGS__) + macro_dispatcher(_nlmsg_parse, __VA_ARGS__)(__VA_ARGS__) -static inline int nlmsg_validate5(const struct nlmsghdr *nlh, - int hdrlen, int maxtype, - const struct nla_policy *policy, - struct netlink_ext_ack *extack) +static inline int _nlmsg_validate5(const struct nlmsghdr *nlh, + int hdrlen, int maxtype, + const struct nla_policy *policy, + struct netlink_ext_ack *extack) +{ + return nlmsg_validate(nlh, hdrlen, maxtype, policy); +} +static inline int _nlmsg_validate4(const struct nlmsghdr *nlh, + int hdrlen, int maxtype, + const struct nla_policy *policy) { return nlmsg_validate(nlh, hdrlen, maxtype, policy); } -#define nlmsg_validate4 nlmsg_validate #define nlmsg_validate(...) \ - macro_dispatcher(nlmsg_validate, __VA_ARGS__)(__VA_ARGS__) + macro_dispatcher(_nlmsg_validate, __VA_ARGS__)(__VA_ARGS__) -static inline int nla_parse_nested5(struct nlattr *tb[], int maxtype, - const struct nlattr *nla, - const struct nla_policy *policy, - struct netlink_ext_ack *extack) +static inline int _nla_parse_nested5(struct nlattr *tb[], int maxtype, + const struct nlattr *nla, + const struct nla_policy *policy, + struct netlink_ext_ack *extack) +{ + return nla_parse_nested(tb, maxtype, nla, policy); +} +static inline int _nla_parse_nested4(struct nlattr *tb[], int maxtype, + const struct nlattr *nla, + const struct nla_policy *policy) { return nla_parse_nested(tb, maxtype, nla, policy); } -#define nla_parse_nested4 nla_parse_nested #define nla_parse_nested(...) \ - macro_dispatcher(nla_parse_nested, __VA_ARGS__)(__VA_ARGS__) + macro_dispatcher(_nla_parse_nested, __VA_ARGS__)(__VA_ARGS__) -static inline int nla_validate_nested4(const struct nlattr *start, int maxtype, - const struct nla_policy *policy, - struct netlink_ext_ack *extack) +static inline int _nla_validate_nested4(const struct nlattr *start, int maxtype, + const struct nla_policy *policy, + struct netlink_ext_ack *extack) +{ + return nla_validate_nested(start, maxtype, policy); +} +static inline int _nla_validate_nested3(const struct nlattr *start, int maxtype, + const struct nla_policy *policy) { return nla_validate_nested(start, maxtype, policy); } -#define nla_validate_nested3 nla_validate_nested #define nla_validate_nested(...) \ - macro_dispatcher(nla_validate_nested, __VA_ARGS__)(__VA_ARGS__) + macro_dispatcher(_nla_validate_nested, __VA_ARGS__)(__VA_ARGS__) #endif /* LINUX_VERSION_IS_LESS(4,12,0) */ #if LINUX_VERSION_IS_LESS(3,7,0) |