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