aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-09-08 13:39:02 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2011-09-08 13:39:02 +0200
commitce82fe2d549bb573517d55a712ab0b858e58574f (patch)
tree5e4e244be90f903596d98d9e17ebf56b74193f76
parentd57443feac9cce8db709a312b1bcbab78c7c8289 (diff)
downloadpingu-ce82fe2d549bb573517d55a712ab0b858e58574f.tar.bz2
pingu-ce82fe2d549bb573517d55a712ab0b858e58574f.tar.xz
pingu_gateway: implement pingu_gateway_first_default()
Finds first default gateway in list.
-rw-r--r--pingu_gateway.c9
-rw-r--r--pingu_gateway.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/pingu_gateway.c b/pingu_gateway.c
index c56f282..de9b094 100644
--- a/pingu_gateway.c
+++ b/pingu_gateway.c
@@ -117,3 +117,12 @@ int is_default_gw(struct pingu_gateway *route)
return 0;
}
+struct pingu_gateway *pingu_gateway_first_default(struct list_head *gateway_list)
+{
+ struct pingu_gateway *entry;
+ list_for_each_entry(entry, gateway_list, gateway_list_entry) {
+ if (is_default_gw(entry))
+ return entry;
+ }
+ return NULL;
+}
diff --git a/pingu_gateway.h b/pingu_gateway.h
index 9cfea89..b2f424f 100644
--- a/pingu_gateway.h
+++ b/pingu_gateway.h
@@ -24,7 +24,7 @@ void pingu_gateway_add(struct list_head *gateway_list,
void pingu_gateway_del(struct list_head *gateway_list,
struct pingu_gateway *gw);
int is_default_gw(struct pingu_gateway *route);
-
+struct pingu_gateway *pingu_gateway_first_default(struct list_head *gateway_list);
#endif