1218159Sadrian/* 2218159Sadrian * Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd. 3218159Sadrian * All rights reserved. 4218159Sadrian * 5218159Sadrian * Redistribution and use in source and binary forms, with or without 6218159Sadrian * modification, are permitted provided that the following conditions 7218159Sadrian * are met: 8218159Sadrian * 1. Redistributions of source code must retain the above copyright 9218159Sadrian * notice, this list of conditions and the following disclaimer, 10218159Sadrian * without modification. 11218159Sadrian * 2. Redistributions in binary form must reproduce at minimum a disclaimer 12218159Sadrian * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any 13218159Sadrian * redistribution must be conditioned upon including a substantially 14218159Sadrian * similar Disclaimer requirement for further binary redistribution. 15218159Sadrian * 16218159Sadrian * NO WARRANTY 17218159Sadrian * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18218159Sadrian * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19218159Sadrian * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY 20218159Sadrian * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 21218159Sadrian * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, 22218159Sadrian * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23218159Sadrian * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24218159Sadrian * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25218159Sadrian * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26218159Sadrian * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27218159Sadrian * THE POSSIBILITY OF SUCH DAMAGES. 28218159Sadrian * 29218159Sadrian * $FreeBSD: releng/11.0/sys/dev/ath/if_ath_tx_ht.h 250665 2013-05-15 18:33:05Z adrian $ 30218159Sadrian */ 31218159Sadrian#ifndef __IF_ATH_TX_HT_H__ 32218159Sadrian#define __IF_ATH_TX_HT_H__ 33218159Sadrian 34227364Sadrianenum { 35227364Sadrian MCS_HT20, 36227364Sadrian MCS_HT20_SGI, 37227364Sadrian MCS_HT40, 38227364Sadrian MCS_HT40_SGI, 39227364Sadrian}; 40227364Sadrian 41227364Sadriantypedef enum { 42227364Sadrian ATH_AGGR_DONE, 43227364Sadrian ATH_AGGR_BAW_CLOSED, 44227364Sadrian ATH_AGGR_LIMITED, 45227364Sadrian ATH_AGGR_SHORTPKT, 46227364Sadrian ATH_AGGR_8K_LIMITED, 47227364Sadrian ATH_AGGR_ERROR, 48227364Sadrian ATH_AGGR_NONAGGR, 49250665Sadrian ATH_AGGR_LEAK_CLOSED, 50227364Sadrian} ATH_AGGR_STATUS; 51227364Sadrian 52227364Sadrianextern int ath_max_4ms_framelen[4][32]; 53227364Sadrian 54227364Sadrianextern void ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf); 55227364Sadrian 56218159Sadrianextern void ath_buf_set_rate(struct ath_softc *sc, 57227364Sadrian struct ieee80211_node *ni, struct ath_buf *bf); 58218159Sadrian 59227364Sadrianextern ATH_AGGR_STATUS 60227364Sadrian ath_tx_form_aggr(struct ath_softc *sc, struct ath_node *an, 61227364Sadrian struct ath_tid *tid, ath_bufhead *bf_q); 62227364Sadrian 63218159Sadrian#endif 64