1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef __LINUX_IF_ADDR_H 8*8d67ca89SAndroid Build Coastguard Worker #define __LINUX_IF_ADDR_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/netlink.h> 11*8d67ca89SAndroid Build Coastguard Worker struct ifaddrmsg { 12*8d67ca89SAndroid Build Coastguard Worker __u8 ifa_family; 13*8d67ca89SAndroid Build Coastguard Worker __u8 ifa_prefixlen; 14*8d67ca89SAndroid Build Coastguard Worker __u8 ifa_flags; 15*8d67ca89SAndroid Build Coastguard Worker __u8 ifa_scope; 16*8d67ca89SAndroid Build Coastguard Worker __u32 ifa_index; 17*8d67ca89SAndroid Build Coastguard Worker }; 18*8d67ca89SAndroid Build Coastguard Worker enum { 19*8d67ca89SAndroid Build Coastguard Worker IFA_UNSPEC, 20*8d67ca89SAndroid Build Coastguard Worker IFA_ADDRESS, 21*8d67ca89SAndroid Build Coastguard Worker IFA_LOCAL, 22*8d67ca89SAndroid Build Coastguard Worker IFA_LABEL, 23*8d67ca89SAndroid Build Coastguard Worker IFA_BROADCAST, 24*8d67ca89SAndroid Build Coastguard Worker IFA_ANYCAST, 25*8d67ca89SAndroid Build Coastguard Worker IFA_CACHEINFO, 26*8d67ca89SAndroid Build Coastguard Worker IFA_MULTICAST, 27*8d67ca89SAndroid Build Coastguard Worker IFA_FLAGS, 28*8d67ca89SAndroid Build Coastguard Worker IFA_RT_PRIORITY, 29*8d67ca89SAndroid Build Coastguard Worker IFA_TARGET_NETNSID, 30*8d67ca89SAndroid Build Coastguard Worker IFA_PROTO, 31*8d67ca89SAndroid Build Coastguard Worker __IFA_MAX, 32*8d67ca89SAndroid Build Coastguard Worker }; 33*8d67ca89SAndroid Build Coastguard Worker #define IFA_MAX (__IFA_MAX - 1) 34*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_SECONDARY 0x01 35*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_TEMPORARY IFA_F_SECONDARY 36*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_NODAD 0x02 37*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_OPTIMISTIC 0x04 38*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_DADFAILED 0x08 39*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_HOMEADDRESS 0x10 40*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_DEPRECATED 0x20 41*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_TENTATIVE 0x40 42*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_PERMANENT 0x80 43*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_MANAGETEMPADDR 0x100 44*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_NOPREFIXROUTE 0x200 45*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_MCAUTOJOIN 0x400 46*8d67ca89SAndroid Build Coastguard Worker #define IFA_F_STABLE_PRIVACY 0x800 47*8d67ca89SAndroid Build Coastguard Worker struct ifa_cacheinfo { 48*8d67ca89SAndroid Build Coastguard Worker __u32 ifa_prefered; 49*8d67ca89SAndroid Build Coastguard Worker __u32 ifa_valid; 50*8d67ca89SAndroid Build Coastguard Worker __u32 cstamp; 51*8d67ca89SAndroid Build Coastguard Worker __u32 tstamp; 52*8d67ca89SAndroid Build Coastguard Worker }; 53*8d67ca89SAndroid Build Coastguard Worker #define IFA_RTA(r) ((struct rtattr *) (((char *) (r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg)))) 54*8d67ca89SAndroid Build Coastguard Worker #define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifaddrmsg)) 55*8d67ca89SAndroid Build Coastguard Worker #define IFAPROT_UNSPEC 0 56*8d67ca89SAndroid Build Coastguard Worker #define IFAPROT_KERNEL_LO 1 57*8d67ca89SAndroid Build Coastguard Worker #define IFAPROT_KERNEL_RA 2 58*8d67ca89SAndroid Build Coastguard Worker #define IFAPROT_KERNEL_LL 3 59*8d67ca89SAndroid Build Coastguard Worker #endif 60