diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-01-04 19:10:06 +0000 |
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-01-04 19:10:06 +0000 |
| commit | 7e967592712b41933c80c93c24a49e8bf7186aa2 (patch) | |
| tree | 4b64920a5961a6ed4c129879e69dad303aa9afae /openwrt/target/linux/package/switch/src/switch-core.h | |
| parent | d52c94217fc46e52fd21da65f90f84da3457f39e (diff) | |
kmod-switch: vlan parser rewrite, some api changes, minor fixes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@2819 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/target/linux/package/switch/src/switch-core.h')
| -rw-r--r-- | openwrt/target/linux/package/switch/src/switch-core.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/openwrt/target/linux/package/switch/src/switch-core.h b/openwrt/target/linux/package/switch/src/switch-core.h index 9927e8519..bdf0ae1f8 100644 --- a/openwrt/target/linux/package/switch/src/switch-core.h +++ b/openwrt/target/linux/package/switch/src/switch-core.h @@ -17,27 +17,33 @@ #define LINUX_2_4 #endif -typedef int (*switch_handler)(char *buf, int nr); +typedef int (*switch_handler)(void *driver, char *buf, int nr); typedef struct { char *name; switch_handler read, write; } switch_config; - typedef struct { struct list_head list; char *name; + char *interface; + int cpuport; int ports; int vlans; switch_config *driver_handlers, *port_handlers, *vlan_handlers; void *data; + void *priv; } switch_driver; +typedef struct { + u32 port, untag, pvid; +} switch_vlan_config; + extern int switch_register_driver(switch_driver *driver); extern void switch_unregister_driver(char *name); -extern int switch_parse_vlan(char *buf); +extern switch_vlan_config *switch_parse_vlan(switch_driver *driver, char *buf); extern int switch_parse_media(char *buf); extern int switch_print_media(char *buf, int media); |
