Add missing macros which was removed from kernel header.
Subsystems (2)
PATCH 2/7 Add missing macros which was removed from kernel header.
{IFA,IFLA,NDA,NDTA}_{RTA,PAYLOAD} macro is removed from kernel header since linux-2.6.19 because it is not used by kernel code.
Signed-off-by Masahide NAKAMURA <[email protected]>
--- include/libnetlink.h | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-)
include/libnetlink.h +35 -0
@@ -4,6 +4,9 @@ #define __LIBNETLINK_H__ 1#include <asm/types.h> #include <linux/netlink.h> #include <linux/rtnetlink.h> +#include <linux/if_link.h> +#include <linux/if_addr.h> +#include <linux/neighbour.h> struct rtnl_handle {
@@ -53,5 +56,37 @@ extern int rtnl_from_file(FILE *, rtnl_f#define NLMSG_TAIL (nmsg) \ ((struct rtattr *) (((void *) (nmsg)) + NLMSG_ALIGN((nmsg)->nlmsg_len))) +#ifndef IFA_RTA +#define IFA_RTA (r) \ + ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg)))) +#endif +#ifndef IFA_PAYLOAD +#define IFA_PAYLOAD (n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg)) +#endif + +#ifndef IFLA_RTA +#define IFLA_RTA (r) \ + ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg)))) +#endif +#ifndef IFLA_PAYLOAD +#define IFLA_PAYLOAD (n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg)) +#endif + +#ifndef NDA_RTA +#define NDA_RTA (r) \ + ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ndmsg)))) +#endif +#ifndef NDA_PAYLOAD +#define NDA_PAYLOAD (n) NLMSG_PAYLOAD(n,sizeof(struct ndmsg)) +#endif + +#ifndef NDTA_RTA +#define NDTA_RTA (r) \ + ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ndtmsg)))) +#endif +#ifndef NDTA_PAYLOAD +#define NDTA_PAYLOAD (n) NLMSG_PAYLOAD(n,sizeof(struct ndtmsg)) +#endif +#endif /* __LIBNETLINK_H__ */
Signature · 1 line
1.4.2