diff options
author | Glenn L McGrath <bug1@ihug.co.nz> | 2002-11-10 01:33:55 +0000 |
---|---|---|
committer | Glenn L McGrath <bug1@ihug.co.nz> | 2002-11-10 01:33:55 +0000 |
commit | 9a2d27249cc2235f7e001a9ea8d4605406bc5f38 (patch) | |
tree | b7b2917c3cf46ac3fa25df5f9a27a9a9fbfb0398 /networking/libiproute/libnetlink.h | |
parent | 021fa7db9139bff3b4bf404dfd7d2b1541ed71f8 (diff) | |
download | busybox-w32-9a2d27249cc2235f7e001a9ea8d4605406bc5f38.tar.gz busybox-w32-9a2d27249cc2235f7e001a9ea8d4605406bc5f38.tar.bz2 busybox-w32-9a2d27249cc2235f7e001a9ea8d4605406bc5f38.zip |
IP applet by Bastian Blank <waldi@debian.org>
Diffstat (limited to 'networking/libiproute/libnetlink.h')
-rw-r--r-- | networking/libiproute/libnetlink.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/networking/libiproute/libnetlink.h b/networking/libiproute/libnetlink.h new file mode 100644 index 000000000..45d3ad2bc --- /dev/null +++ b/networking/libiproute/libnetlink.h | |||
@@ -0,0 +1,46 @@ | |||
1 | #ifndef __LIBNETLINK_H__ | ||
2 | #define __LIBNETLINK_H__ 1 | ||
3 | |||
4 | #include <asm/types.h> | ||
5 | #include <linux/netlink.h> | ||
6 | #include <linux/rtnetlink.h> | ||
7 | |||
8 | struct rtnl_handle | ||
9 | { | ||
10 | int fd; | ||
11 | struct sockaddr_nl local; | ||
12 | struct sockaddr_nl peer; | ||
13 | __u32 seq; | ||
14 | __u32 dump; | ||
15 | }; | ||
16 | |||
17 | extern int rtnl_open(struct rtnl_handle *rth, unsigned subscriptions); | ||
18 | extern void rtnl_close(struct rtnl_handle *rth); | ||
19 | extern int rtnl_wilddump_request(struct rtnl_handle *rth, int fam, int type); | ||
20 | extern int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len); | ||
21 | extern int rtnl_dump_filter(struct rtnl_handle *rth, | ||
22 | int (*filter)(struct sockaddr_nl *, struct nlmsghdr *n, void *), | ||
23 | void *arg1, | ||
24 | int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *), | ||
25 | void *arg2); | ||
26 | extern int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer, | ||
27 | unsigned groups, struct nlmsghdr *answer, | ||
28 | int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *), | ||
29 | void *jarg); | ||
30 | extern int rtnl_send(struct rtnl_handle *rth, char *buf, int); | ||
31 | |||
32 | |||
33 | extern int addattr32(struct nlmsghdr *n, int maxlen, int type, __u32 data); | ||
34 | extern int addattr_l(struct nlmsghdr *n, int maxlen, int type, void *data, int alen); | ||
35 | extern int rta_addattr32(struct rtattr *rta, int maxlen, int type, __u32 data); | ||
36 | extern int rta_addattr_l(struct rtattr *rta, int maxlen, int type, void *data, int alen); | ||
37 | |||
38 | extern int parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len); | ||
39 | |||
40 | extern int rtnl_listen(struct rtnl_handle *, int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *), | ||
41 | void *jarg); | ||
42 | extern int rtnl_from_file(FILE *, int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *), | ||
43 | void *jarg); | ||
44 | |||
45 | #endif /* __LIBNETLINK_H__ */ | ||
46 | |||