Support getting route information for a specific destination

using SIOCGETRT. Patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20494 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2007-04-01 12:06:16 +00:00
parent 694e5de9b0
commit 2d55afcdf7
5 changed files with 130 additions and 8 deletions
+9 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2006, Haiku, Inc. All Rights Reserved.
* Copyright 2006-2007, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
@@ -23,11 +23,13 @@ struct net_route_private : net_route, public DoublyLinkedListLinkImpl<net_route_
};
typedef DoublyLinkedList<net_route_private> RouteList;
typedef DoublyLinkedList<net_route_info, DoublyLinkedListCLink<net_route_info> > RouteInfoList;
typedef DoublyLinkedList<net_route_info,
DoublyLinkedListCLink<net_route_info> > RouteInfoList;
uint32 route_table_size(struct net_domain_private *domain);
status_t list_routes(struct net_domain_private *domain, void *buffer, size_t size);
status_t list_routes(struct net_domain_private *domain, void *buffer,
size_t size);
status_t control_routes(struct net_interface *interface,
int32 option, void *argument, size_t length);
@@ -35,7 +37,10 @@ status_t add_route(struct net_domain *domain,
const struct net_route *route);
status_t remove_route(struct net_domain *domain,
const struct net_route *route);
struct net_route *get_route(struct net_domain *domain, const struct sockaddr *address);
status_t get_route_information(struct net_domain *domain, void *buffer,
size_t length);
struct net_route *get_route(struct net_domain *domain,
const struct sockaddr *address);
void put_route(struct net_domain *domain, struct net_route *route);
status_t register_route_info(struct net_domain *domain,