diff options
author | Thomas Graf <tgraf@suug.ch> | 2011-05-03 09:48:14 (GMT) |
---|---|---|
committer | Thomas Graf <tgraf@suug.ch> | 2011-05-03 09:48:14 (GMT) |
commit | d44c31da5f089372f911d498a5051dd7f7c25e3a (patch) | |
tree | 46a3a0d70235d3472231f51e63797ad4419dda21 /include/netlink/route | |
parent | cb6a089d80df51f8bcd1a1cf6637174fdf483954 (diff) | |
download | libnl-d44c31da5f089372f911d498a5051dd7f7c25e3a.zip libnl-d44c31da5f089372f911d498a5051dd7f7c25e3a.tar.gz libnl-d44c31da5f089372f911d498a5051dd7f7c25e3a.tar.bz2 |
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')
-rw-r--r-- | include/netlink/route/addr.h | 8 |
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 *); |