diff options
author | sam <sam@FreeBSD.org> | 2009-03-24 20:39:08 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-03-24 20:39:08 +0000 |
commit | 88b91b235f5ae6e04f407012ae5eb0da3d64facc (patch) | |
tree | 082efe3e253ba758a9687229364efee996a6bfae /sys/net80211/ieee80211_superg.h | |
parent | ff1a464cfe436346fa187a3148a6067339e4cd2b (diff) | |
download | FreeBSD-src-88b91b235f5ae6e04f407012ae5eb0da3d64facc.zip FreeBSD-src-88b91b235f5ae6e04f407012ae5eb0da3d64facc.tar.gz |
split Atheros SuperG support out into it's own file that's included only
with a new IEEE80211_SUPPORT_SUPERG option
Diffstat (limited to 'sys/net80211/ieee80211_superg.h')
-rw-r--r-- | sys/net80211/ieee80211_superg.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_superg.h b/sys/net80211/ieee80211_superg.h new file mode 100644 index 0000000..86d39da --- /dev/null +++ b/sys/net80211/ieee80211_superg.h @@ -0,0 +1,56 @@ +/*- + * Copyright (c) 2009 Sam Leffler, Errno Consulting + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ +#ifndef _NET80211_IEEE80211_SUPERG_H_ +#define _NET80211_IEEE80211_SUPERG_H_ + +/* + * Atheros' 802.11 SuperG protocol support. + */ + +void ieee80211_superg_attach(struct ieee80211com *); +void ieee80211_superg_detach(struct ieee80211com *); +void ieee80211_superg_vattach(struct ieee80211vap *); +void ieee80211_superg_vdetach(struct ieee80211vap *); + +uint8_t *ieee80211_add_ath(uint8_t *frm, uint8_t caps, uint16_t defkeyix); +void ieee80211_parse_ath(struct ieee80211_node *, uint8_t *); +int ieee80211_parse_athparams(struct ieee80211_node *, uint8_t *, + const struct ieee80211_frame *); + +struct mbuf *ieee80211_ff_encap(struct ieee80211vap *, struct mbuf *, + int, struct ieee80211_key *); + +struct mbuf *ieee80211_ff_decap(struct ieee80211_node *, struct mbuf *); + +static __inline struct mbuf * +ieee80211_decap_fastframe(struct ieee80211vap *vap, struct ieee80211_node *ni, + struct mbuf *m) +{ + return IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_FF) ? + ieee80211_ff_decap(ni, m) : m; +} +#endif /* _NET80211_IEEE80211_SUPERG_H_ */ |