aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_iface.c
diff options
context:
space:
mode:
Diffstat (limited to 'pingu_iface.c')
-rw-r--r--pingu_iface.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/pingu_iface.c b/pingu_iface.c
index 820546d..f92bc5d 100644
--- a/pingu_iface.c
+++ b/pingu_iface.c
@@ -243,6 +243,21 @@ int pingu_iface_set_route_table(struct pingu_iface *iface, int table)
return table;
}
+void pingu_iface_dump_status(int fd, char *filter)
+{
+ struct pingu_iface *iface;
+ char buf[512];
+ list_for_each_entry(iface, &iface_list, iface_list_entry) {
+ if (filter != NULL && strcmp(filter, iface->label) != 0)
+ continue;
+ snprintf(buf, sizeof(buf), "%s: %i\n",
+ iface->label != NULL ? iface->label : iface->name,
+ pingu_iface_gw_is_online(iface));
+ write(fd, buf, strlen(buf));
+ }
+ write(fd, "\n", 1);
+}
+
int pingu_iface_init(struct ev_loop *loop)
{
struct pingu_iface *iface;