diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-10-08 11:24:12 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-10-08 11:24:12 +0000 |
commit | 48db59fab785ce881e154d83115de86d284fce5d (patch) | |
tree | 8741bab5dbcca43c884cdf0788b6c0049e0c25d1 /package/libs/libnl-tiny/src/include/linux/if_addr.h | |
parent | 997ace7e5e78d580d802f3f30ddc00f9b30e0bcc (diff) | |
download | mtk-20170518-48db59fab785ce881e154d83115de86d284fce5d.zip mtk-20170518-48db59fab785ce881e154d83115de86d284fce5d.tar.gz mtk-20170518-48db59fab785ce881e154d83115de86d284fce5d.tar.bz2 |
move library packages to package/libs/
SVN-Revision: 33657
Diffstat (limited to 'package/libs/libnl-tiny/src/include/linux/if_addr.h')
-rw-r--r-- | package/libs/libnl-tiny/src/include/linux/if_addr.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/package/libs/libnl-tiny/src/include/linux/if_addr.h b/package/libs/libnl-tiny/src/include/linux/if_addr.h new file mode 100644 index 0000000..43f3bed --- /dev/null +++ b/package/libs/libnl-tiny/src/include/linux/if_addr.h @@ -0,0 +1,62 @@ +#ifndef __LINUX_IF_ADDR_H +#define __LINUX_IF_ADDR_H + +#include <linux/netlink.h> + +struct ifaddrmsg +{ + __u8 ifa_family; + __u8 ifa_prefixlen; /* The prefix length */ + __u8 ifa_flags; /* Flags */ + __u8 ifa_scope; /* Address scope */ + __u32 ifa_index; /* Link index */ +}; + +/* + * Important comment: + * IFA_ADDRESS is prefix address, rather than local interface address. + * It makes no difference for normally configured broadcast interfaces, + * but for point-to-point IFA_ADDRESS is DESTINATION address, + * local address is supplied in IFA_LOCAL attribute. + */ +enum +{ + IFA_UNSPEC, + IFA_ADDRESS, + IFA_LOCAL, + IFA_LABEL, + IFA_BROADCAST, + IFA_ANYCAST, + IFA_CACHEINFO, + IFA_MULTICAST, + __IFA_MAX, +}; + +#define IFA_MAX (__IFA_MAX - 1) + +/* ifa_flags */ +#define IFA_F_SECONDARY 0x01 +#define IFA_F_TEMPORARY IFA_F_SECONDARY + +#define IFA_F_NODAD 0x02 +#define IFA_F_OPTIMISTIC 0x04 +#define IFA_F_HOMEADDRESS 0x10 +#define IFA_F_DEPRECATED 0x20 +#define IFA_F_TENTATIVE 0x40 +#define IFA_F_PERMANENT 0x80 + +struct ifa_cacheinfo +{ + __u32 ifa_prefered; + __u32 ifa_valid; + __u32 cstamp; /* created timestamp, hundredths of seconds */ + __u32 tstamp; /* updated timestamp, hundredths of seconds */ +}; + +/* backwards compatibility for userspace */ +#ifndef __KERNEL__ +#define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg)))) +#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg)) +#endif + +#endif |