Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(485)

Side by Side Diff: fusl/src/network/netlink.h

Issue 1573973002: Add a "fork" of musl as //fusl. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fusl/src/network/lookup_serv.c ('k') | fusl/src/network/netlink.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #include <stdint.h>
2
3 /* linux/netlink.h */
4
5 #define NETLINK_ROUTE 0
6
7 struct nlmsghdr {
8 uint32_t nlmsg_len;
9 uint16_t nlmsg_type;
10 uint16_t nlmsg_flags;
11 uint32_t nlmsg_seq;
12 uint32_t nlmsg_pid;
13 };
14
15 #define NLM_F_REQUEST 1
16 #define NLM_F_MULTI 2
17 #define NLM_F_ACK 4
18
19 #define NLM_F_ROOT 0x100
20 #define NLM_F_MATCH 0x200
21 #define NLM_F_ATOMIC 0x400
22 #define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH)
23
24 #define NLMSG_NOOP 0x1
25 #define NLMSG_ERROR 0x2
26 #define NLMSG_DONE 0x3
27 #define NLMSG_OVERRUN 0x4
28
29 /* linux/rtnetlink.h */
30
31 #define RTM_NEWLINK 16
32 #define RTM_GETLINK 18
33 #define RTM_NEWADDR 20
34 #define RTM_GETADDR 22
35
36 struct rtattr {
37 unsigned short rta_len;
38 unsigned short rta_type;
39 };
40
41 struct rtgenmsg {
42 unsigned char rtgen_family;
43 };
44
45 struct ifinfomsg {
46 unsigned char ifi_family;
47 unsigned char __ifi_pad;
48 unsigned short ifi_type;
49 int ifi_index;
50 unsigned ifi_flags;
51 unsigned ifi_change;
52 };
53
54 /* linux/if_link.h */
55
56 #define IFLA_ADDRESS 1
57 #define IFLA_BROADCAST 2
58 #define IFLA_IFNAME 3
59 #define IFLA_STATS 7
60
61 /* linux/if_addr.h */
62
63 struct ifaddrmsg {
64 uint8_t ifa_family;
65 uint8_t ifa_prefixlen;
66 uint8_t ifa_flags;
67 uint8_t ifa_scope;
68 uint32_t ifa_index;
69 };
70
71 #define IFA_ADDRESS 1
72 #define IFA_LOCAL 2
73 #define IFA_LABEL 3
74 #define IFA_BROADCAST 4
75
76 /* musl */
77
78 #define NETLINK_ALIGN(len) (((len)+3) & ~3)
79 #define NLMSG_DATA(nlh) ((void*)((char*)(nlh)+sizeof(struct nlmsghdr)))
80 #define NLMSG_DATALEN(nlh) ((nlh)->nlmsg_len-sizeof(struct nlmsghdr))
81 #define NLMSG_DATAEND(nlh) ((char*)(nlh)+(nlh)->nlmsg_len)
82 #define NLMSG_NEXT(nlh) (struct nlmsghdr*)((char*)(nlh)+NETLINK_ALIGN((n lh)->nlmsg_len))
83 #define NLMSG_OK(nlh,end) ((char*)(end)-(char*)(nlh) >= sizeof(struct nlms ghdr))
84
85 #define RTA_DATA(rta) ((void*)((char*)(rta)+sizeof(struct rtattr)))
86 #define RTA_DATALEN(rta) ((rta)->rta_len-sizeof(struct rtattr))
87 #define RTA_DATAEND(rta) ((char*)(rta)+(rta)->rta_len)
88 #define RTA_NEXT(rta) (struct rtattr*)((char*)(rta)+NETLINK_ALIGN((rta )->rta_len))
89 #define RTA_OK(nlh,end) ((char*)(end)-(char*)(rta) >= sizeof(struct rtat tr))
90
91 #define NLMSG_RTA(nlh,len) ((void*)((char*)(nlh)+sizeof(struct nlmsghdr)+NE TLINK_ALIGN(len)))
92 #define NLMSG_RTAOK(rta,nlh) RTA_OK(rta,NLMSG_DATAEND(nlh))
93
94 int __rtnetlink_enumerate(int link_af, int addr_af, int (*cb)(void *ctx, struct nlmsghdr *h), void *ctx);
OLDNEW
« no previous file with comments | « fusl/src/network/lookup_serv.c ('k') | fusl/src/network/netlink.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698