diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-04-30 13:57:29 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2009-04-30 13:57:29 +0000 |
commit | 938553bd69d1484b9d25495da4e7c2f09927638c (patch) | |
tree | caace55defd2b5d38382a27ea1ae384c1f8ecc80 /package/libnl-tiny/src/include/linux/if_addr.h | |
parent | 4e12c9d210531b67d6428cb15e763f49decd8199 (diff) | |
download | upstream-938553bd69d1484b9d25495da4e7c2f09927638c.tar.gz upstream-938553bd69d1484b9d25495da4e7c2f09927638c.tar.bz2 upstream-938553bd69d1484b9d25495da4e7c2f09927638c.zip |
add libnl-tiny as a small replacement for libnl with only genl support included
SVN-Revision: 15507
Diffstat (limited to 'package/libnl-tiny/src/include/linux/if_addr.h')
-rw-r--r-- | package/libnl-tiny/src/include/linux/if_addr.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/package/libnl-tiny/src/include/linux/if_addr.h b/package/libnl-tiny/src/include/linux/if_addr.h new file mode 100644 index 0000000000..43f3bedaaf --- /dev/null +++ b/package/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 |