diff options
author | Reyk Floeter <reyk@cvs.openbsd.org> | 2005-11-20 12:02:05 +0000 |
---|---|---|
committer | Reyk Floeter <reyk@cvs.openbsd.org> | 2005-11-20 12:02:05 +0000 |
commit | b05043e12f26aea5fa605717b96f4ea768117995 (patch) | |
tree | 7703d31a9eb631ef49865c68a758bc2cca3ee219 /usr.sbin/hostapd/hostapd.h | |
parent | 62e602307426f4c305a35efbfc3241794b36ffd6 (diff) |
add support for multiple hostap (wireless) interfaces.
for example, if you run one hostapd with two ath(4) devices. you have
to specify "set hostap interface { ath0, ath1 }" in hostapd.conf(5).
man page bits by jmc@, tested by others
Diffstat (limited to 'usr.sbin/hostapd/hostapd.h')
-rw-r--r-- | usr.sbin/hostapd/hostapd.h | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/usr.sbin/hostapd/hostapd.h b/usr.sbin/hostapd/hostapd.h index 7a92cebd8e5..57a2ac800f0 100644 --- a/usr.sbin/hostapd/hostapd.h +++ b/usr.sbin/hostapd/hostapd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: hostapd.h,v 1.8 2005/10/07 22:32:52 reyk Exp $ */ +/* $OpenBSD: hostapd.h,v 1.9 2005/11/20 12:02:04 reyk Exp $ */ /* * Copyright (c) 2004, 2005 Reyk Floeter <reyk@vantronix.net> @@ -225,14 +225,19 @@ struct hostapd_frame { TAILQ_ENTRY(hostapd_frame) f_entries; }; +struct hostapd_apme { + int a_raw; + u_int a_rawlen; + struct event a_ev; + char a_iface[IFNAMSIZ]; + u_int8_t a_bssid[IEEE80211_ADDR_LEN]; + void *a_cfg; + + TAILQ_ENTRY(hostapd_apme) a_entries; +}; + struct hostapd_config { - int c_apme; - int c_apme_raw; - u_int c_apme_rawlen; - struct event c_apme_ev; - char c_apme_iface[IFNAMSIZ]; - int c_apme_n; - u_int8_t c_apme_bssid[IEEE80211_ADDR_LEN]; + int c_apme_ctl; u_int c_apme_dlt; u_int16_t c_iapp; @@ -265,6 +270,7 @@ struct hostapd_config { struct hostapd_counter c_stats; + TAILQ_HEAD(, hostapd_apme) c_apmes; TAILQ_HEAD(, hostapd_table) c_tables; TAILQ_HEAD(, hostapd_frame) c_frames; }; @@ -316,35 +322,39 @@ int hostapd_parse_symset(char *); void hostapd_priv_init(struct hostapd_config *); int hostapd_priv_llc_xid(struct hostapd_config *, struct hostapd_node *); -void hostapd_priv_apme_bssid(struct hostapd_config *); -int hostapd_priv_apme_getnode(struct hostapd_config *, +void hostapd_priv_apme_bssid(struct hostapd_apme *); +int hostapd_priv_apme_getnode(struct hostapd_apme *, struct hostapd_node *); -int hostapd_priv_apme_setnode(struct hostapd_config *, +int hostapd_priv_apme_setnode(struct hostapd_apme *, struct hostapd_node *node, int); -void hostapd_apme_init(struct hostapd_config *); +void hostapd_apme_init(struct hostapd_apme *); +int hostapd_apme_add(struct hostapd_config *, const char *); +void hostapd_apme_term(struct hostapd_apme *); +struct hostapd_apme *hostapd_apme_lookup(struct hostapd_config *, + const char *); void hostapd_apme_input(int, short, void *); -int hostapd_apme_output(struct hostapd_config *, +int hostapd_apme_output(struct hostapd_apme *, struct hostapd_ieee80211_frame *); -int hostapd_apme_addnode(struct hostapd_config *, +int hostapd_apme_addnode(struct hostapd_apme *, struct hostapd_node *node); -int hostapd_apme_delnode(struct hostapd_config *, +int hostapd_apme_delnode(struct hostapd_apme *, struct hostapd_node *node); -int hostapd_apme_offset(struct hostapd_config *, u_int8_t *, +int hostapd_apme_offset(struct hostapd_apme *, u_int8_t *, const u_int); void hostapd_iapp_init(struct hostapd_config *); void hostapd_iapp_term(struct hostapd_config *); -int hostapd_iapp_add_notify(struct hostapd_config *, +int hostapd_iapp_add_notify(struct hostapd_apme *, struct hostapd_node *); -int hostapd_iapp_radiotap(struct hostapd_config *, +int hostapd_iapp_radiotap(struct hostapd_apme *, u_int8_t *, const u_int); void hostapd_iapp_input(int, short, void *); void hostapd_llc_init(struct hostapd_config *); int hostapd_llc_send_xid(struct hostapd_config *, struct hostapd_node *); -int hostapd_handle_input(struct hostapd_config *, u_int8_t *, u_int); +int hostapd_handle_input(struct hostapd_apme *, u_int8_t *, u_int); void hostapd_print_ieee80211(u_int, u_int, u_int8_t *, u_int); |