summaryrefslogtreecommitdiff
path: root/include/netlink/route/addr.h
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2011-05-03 11:48:14 +0200
committerThomas Graf <tgraf@suug.ch>2011-05-03 11:48:14 +0200
commitd44c31da5f089372f911d498a5051dd7f7c25e3a (patch)
tree46a3a0d70235d3472231f51e63797ad4419dda21 /include/netlink/route/addr.h
parentcb6a089d80df51f8bcd1a1cf6637174fdf483954 (diff)
downloadlibnl-d44c31da5f089372f911d498a5051dd7f7c25e3a.tar.gz
addr: store link object and provide rtnl_addr_get()
stores rtnl_link object in address if cache is availble. Provide access via rtnl_addr_get_link() and rtnl_addr_set_link(). Add rtnl_addr_get() which searches a address cache for an address matching ifindex and local address.
Diffstat (limited to 'include/netlink/route/addr.h')
-rw-r--r--include/netlink/route/addr.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/netlink/route/addr.h b/include/netlink/route/addr.h
index 1381486..df447f7 100644
--- a/include/netlink/route/addr.h
+++ b/include/netlink/route/addr.h
@@ -6,7 +6,7 @@
* License as published by the Free Software Foundation version 2.1
* of the License.
*
- * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch>
+ * Copyright (c) 2003-2011 Thomas Graf <tgraf@suug.ch>
* Copyright (c) 2003-2006 Baruch Even <baruch@ev-en.org>,
* Mediatrix Telecom, inc. <ericb@mediatrix.com>
*/
@@ -29,6 +29,8 @@ extern struct rtnl_addr *rtnl_addr_alloc(void);
extern void rtnl_addr_put(struct rtnl_addr *);
extern int rtnl_addr_alloc_cache(struct nl_sock *, struct nl_cache **);
+extern struct rtnl_addr *
+ rtnl_addr_get(struct nl_cache *, int, struct nl_addr *);
extern int rtnl_addr_build_add_request(struct rtnl_addr *, int,
struct nl_msg **);
@@ -48,6 +50,10 @@ extern char * rtnl_addr_get_label(struct rtnl_addr *);
extern void rtnl_addr_set_ifindex(struct rtnl_addr *, int);
extern int rtnl_addr_get_ifindex(struct rtnl_addr *);
+extern void rtnl_addr_set_link(struct rtnl_addr *, struct rtnl_link *);
+extern struct rtnl_link *
+ rtnl_addr_get_link(struct rtnl_addr *);
+
extern void rtnl_addr_set_family(struct rtnl_addr *, int);
extern int rtnl_addr_get_family(struct rtnl_addr *);