+/*
+ * netifd - network interface daemon
+ * Copyright (C) 2012 Felix Fietkau <nbd@openwrt.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
#ifndef __NETIFD_INTERFACE_H
#define __NETIFD_INTERFACE_H
enum interface_event {
IFEV_DOWN,
IFEV_UP,
+ IFEV_FREE,
+ IFEV_RELOAD,
};
enum interface_state {
struct interface_user {
struct list_head list;
struct interface *iface;
- void (*cb)(struct interface_user *dep, enum interface_event ev);
+ void (*cb)(struct interface_user *dep, struct interface *iface, enum interface_event ev);
};
struct interface_ip_settings {
struct interface_ip_settings proto_ip;
struct interface_ip_settings config_ip;
+ struct vlist_tree host_routes;
int metric;
void interface_update_start(struct interface *iface);
void interface_update_complete(struct interface *iface);
-void interface_queue_event(struct interface *iface, enum interface_event ev);
-void interface_dequeue_event(struct interface *iface);
-
void interface_start_pending(void);
#endif