if_addr.h
01: #ifndef __LINUX_IF_ADDR_H
02: #define __LINUX_IF_ADDR_H
03:
04: #include <linux/types.h>
05: #include <linux/netlink.h>
06:
07: struct ifaddrmsg {
08: __u8 ifa_family;
09: __u8 ifa_prefixlen;
10: __u8 ifa_flags;
11: __u8 ifa_scope;
12: __u32 ifa_index;
13: };
14:
15:
16:
17:
18:
19:
20:
21:
22: enum {
23: IFA_UNSPEC,
24: IFA_ADDRESS,
25: IFA_LOCAL,
26: IFA_LABEL,
27: IFA_BROADCAST,
28: IFA_ANYCAST,
29: IFA_CACHEINFO,
30: IFA_MULTICAST,
31: __IFA_MAX,
32: };
33:
34: #define IFA_MAX (__IFA_MAX - 1)
35:
36:
37: #define IFA_F_SECONDARY 0x01
38: #define IFA_F_TEMPORARY IFA_F_SECONDARY
39:
40: #define IFA_F_NODAD 0x02
41: #define IFA_F_OPTIMISTIC 0x04
42: #define IFA_F_DADFAILED 0x08
43: #define IFA_F_HOMEADDRESS 0x10
44: #define IFA_F_DEPRECATED 0x20
45: #define IFA_F_TENTATIVE 0x40
46: #define IFA_F_PERMANENT 0x80
47:
48: struct ifa_cacheinfo {
49: __u32 ifa_prefered;
50: __u32 ifa_valid;
51: __u32 cstamp;
52: __u32 tstamp;
53: };
54:
55:
56: #define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
57: #define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
58:
59: #endif
60:
© Andrew Scott 2006 -
2025,
All Rights Reserved