aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_iface.h
diff options
context:
space:
mode:
Diffstat (limited to 'pingu_iface.h')
-rw-r--r--pingu_iface.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/pingu_iface.h b/pingu_iface.h
index 68d4b32..8107601 100644
--- a/pingu_iface.h
+++ b/pingu_iface.h
@@ -7,6 +7,8 @@
#include "sockaddr_util.h"
#include "list.h"
+#define PINGU_ROUTE_TABLE_AUTO -1
+
struct pingu_gateway {
union sockaddr_any gw_addr;
union sockaddr_any dest;
@@ -37,13 +39,14 @@ struct pingu_iface {
struct pingu_iface *pingu_iface_get_by_name(const char *name);
struct pingu_iface *pingu_iface_get_by_index(int index);
-struct pingu_iface *pingu_iface_new(const char *name);
+struct pingu_iface *pingu_iface_get_by_name_or_new(const char *name);
int pingu_iface_bind_socket(struct pingu_iface *iface, int log_error);
int pingu_iface_usable(struct pingu_iface *iface);
-int pingu_iface_init(struct ev_loop *loop, struct list_head *host_list);
+int pingu_iface_init(struct ev_loop *loop);
void pingu_iface_set_addr(struct pingu_iface *iface, int family,
void *data, int len);
+int pingu_iface_set_route_table(struct pingu_iface *iface, int table);
void pingu_iface_gw_action(struct pingu_iface *iface,
struct pingu_gateway *gw, int action);