OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [if_addr.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
#ifndef __LINUX_IF_ADDR_H
2
#define __LINUX_IF_ADDR_H
3
 
4
#include <linux/types.h>
5
#include <linux/netlink.h>
6
 
7
struct ifaddrmsg {
8
        __u8            ifa_family;
9
        __u8            ifa_prefixlen;  /* The prefix length            */
10
        __u8            ifa_flags;      /* Flags                        */
11
        __u8            ifa_scope;      /* Address scope                */
12
        __u32           ifa_index;      /* Link index                   */
13
};
14
 
15
/*
16
 * Important comment:
17
 * IFA_ADDRESS is prefix address, rather than local interface address.
18
 * It makes no difference for normally configured broadcast interfaces,
19
 * but for point-to-point IFA_ADDRESS is DESTINATION address,
20
 * local address is supplied in IFA_LOCAL attribute.
21
 *
22
 * IFA_FLAGS is a u32 attribute that extends the u8 field ifa_flags.
23
 * If present, the value from struct ifaddrmsg will be ignored.
24
 */
25
enum {
26
        IFA_UNSPEC,
27
        IFA_ADDRESS,
28
        IFA_LOCAL,
29
        IFA_LABEL,
30
        IFA_BROADCAST,
31
        IFA_ANYCAST,
32
        IFA_CACHEINFO,
33
        IFA_MULTICAST,
34
        IFA_FLAGS,
35
        __IFA_MAX,
36
};
37
 
38
#define IFA_MAX (__IFA_MAX - 1)
39
 
40
/* ifa_flags */
41
#define IFA_F_SECONDARY         0x01
42
#define IFA_F_TEMPORARY         IFA_F_SECONDARY
43
 
44
#define IFA_F_NODAD             0x02
45
#define IFA_F_OPTIMISTIC        0x04
46
#define IFA_F_DADFAILED         0x08
47
#define IFA_F_HOMEADDRESS       0x10
48
#define IFA_F_DEPRECATED        0x20
49
#define IFA_F_TENTATIVE         0x40
50
#define IFA_F_PERMANENT         0x80
51
#define IFA_F_MANAGETEMPADDR    0x100
52
#define IFA_F_NOPREFIXROUTE     0x200
53
 
54
struct ifa_cacheinfo {
55
        __u32   ifa_prefered;
56
        __u32   ifa_valid;
57
        __u32   cstamp; /* created timestamp, hundredths of seconds */
58
        __u32   tstamp; /* updated timestamp, hundredths of seconds */
59
};
60
 
61
/* backwards compatibility for userspace */
62
#define IFA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
63
#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
64
 
65
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.