\hypertarget{if__ath__misc_8h_source}{}\doxysection{if\+\_\+ath\+\_\+misc.\+h}
\label{if__ath__misc_8h_source}\index{dev/ath/if\_ath\_misc.h@{dev/ath/if\_ath\_misc.h}}
\mbox{\hyperlink{if__ath__misc_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00002}00002 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 2002-\/2009 Sam Leffler, Errno Consulting}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00005}00005 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00010}00010 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00011}00011 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer,}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00012}00012 \textcolor{comment}{ *    without modification.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00013}00013 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce at minimum a disclaimer}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00014}00014 \textcolor{comment}{ *    similar to the "{}NO WARRANTY"{} disclaimer below ("{}Disclaimer"{}) and any}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00015}00015 \textcolor{comment}{ *    redistribution must be conditioned upon including a substantially}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00016}00016 \textcolor{comment}{ *    similar Disclaimer requirement for further binary redistribution.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00017}00017 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00018}00018 \textcolor{comment}{ * NO WARRANTY}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00019}00019 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00020}00020 \textcolor{comment}{ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00021}00021 \textcolor{comment}{ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00022}00022 \textcolor{comment}{ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00023}00023 \textcolor{comment}{ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00024}00024 \textcolor{comment}{ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00025}00025 \textcolor{comment}{ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00026}00026 \textcolor{comment}{ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00027}00027 \textcolor{comment}{ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00028}00028 \textcolor{comment}{ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00029}00029 \textcolor{comment}{ * THE POSSIBILITY OF SUCH DAMAGES.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00030}00030 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00031}00031 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00032}00032 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00033}00033 \textcolor{preprocessor}{\#ifndef \_\_IF\_ATH\_MISC\_H\_\_}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00034}00034 \textcolor{preprocessor}{\#define \_\_IF\_ATH\_MISC\_H\_\_}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00035}00035 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00036}00036 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00037}00037 \textcolor{comment}{ * This is where definitions for "{}public things"{} in if\_ath.c}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00038}00038 \textcolor{comment}{ * will go for the time being.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00039}00039 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00040}00040 \textcolor{comment}{ * Anything in here should eventually be moved out of if\_ath.c}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00041}00041 \textcolor{comment}{ * and into something else.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00042}00042 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00043}00043 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00044}00044 \textcolor{keyword}{extern} \textcolor{keywordtype}{int} \mbox{\hyperlink{if__ath__misc_8h_ae1b18a7f73d9f29967939fb94728a5bf}{ath\_rxbuf}};}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00045}00045 \textcolor{keyword}{extern} \textcolor{keywordtype}{int} \mbox{\hyperlink{if__ath__misc_8h_aa7e603b8e3a19ebd9b660c123787b132}{ath\_txbuf}};}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00046}00046 \textcolor{keyword}{extern} \textcolor{keywordtype}{int} \mbox{\hyperlink{if__ath__misc_8h_a14d79cc4ca68e2dc3e0a0d4f363d5a74}{ath\_txbuf\_mgmt}};}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00047}00047 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00048}00048 \textcolor{keyword}{extern} \textcolor{keywordtype}{int} \mbox{\hyperlink{if__ath__misc_8h_a0116ea80d373cbf355d07063318de7d9}{ath\_tx\_findrix}}(\textcolor{keyword}{const} \textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, uint8\_t rate);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00049}00049 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00050}00050 \textcolor{keyword}{extern} \textcolor{keyword}{struct }\mbox{\hyperlink{structath__buf}{ath\_buf}} * \mbox{\hyperlink{if__ath__misc_8h_a756195c770cb6ca5ffc7738e4bdf9796}{ath\_getbuf}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00051}00051             \mbox{\hyperlink{if__athvar_8h_a766438b07a7144d806177b30b7160b3d}{ath\_buf\_type\_t}} btype);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00052}00052 \textcolor{keyword}{extern} \textcolor{keyword}{struct }\mbox{\hyperlink{structath__buf}{ath\_buf}} * \mbox{\hyperlink{if__ath__misc_8h_aebddd471934c3ddb934ab6e12c7a3088}{\_ath\_getbuf\_locked}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00053}00053             \mbox{\hyperlink{if__athvar_8h_a766438b07a7144d806177b30b7160b3d}{ath\_buf\_type\_t}} btype);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00054}00054 \textcolor{keyword}{extern} \textcolor{keyword}{struct }\mbox{\hyperlink{structath__buf}{ath\_buf}} * \mbox{\hyperlink{if__ath__misc_8h_a3b4893d9f267b191f0be33a936e4c3ac}{ath\_buf\_clone}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00055}00055             \textcolor{keyword}{struct} \mbox{\hyperlink{structath__buf}{ath\_buf}} *bf);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00056}00056 \textcolor{comment}{/* XXX change this to NULL the buffer pointer? */}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00057}00057 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_af4d34884e0bac5121d6ed63f44b4ae08}{ath\_freebuf}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__buf}{ath\_buf}} *bf);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00058}00058 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_afba90260293a2c4214b2b29dd2ee3456}{ath\_returnbuf\_head}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__buf}{ath\_buf}} *bf);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00059}00059 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_ad7c9ddc0f9d2a3f6c1c9e241bd906aa9}{ath\_returnbuf\_tail}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__buf}{ath\_buf}} *bf);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00060}00060 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00061}00061 \textcolor{keyword}{extern} \textcolor{keywordtype}{int} \mbox{\hyperlink{if__ath__misc_8h_a0bbd6d59ddae5acfd660db1e189af15c}{ath\_reset}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *, \mbox{\hyperlink{if__athvar_8h_af5ea08e58de4e5b417370fadd79b17d8}{ATH\_RESET\_TYPE}},}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00062}00062             \mbox{\hyperlink{ah_8h_a5d39e0ba467d3f62f525498655ccb497}{HAL\_RESET\_TYPE}} ah\_reset\_type);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00063}00063 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_ab3511e8cb5c44d3850c535224db538b9}{ath\_tx\_default\_comp}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__buf}{ath\_buf}} *bf,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00064}00064             \textcolor{keywordtype}{int} fail);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00065}00065 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a1b8ffdacf89fcaabe53eb70c1a43ece9}{ath\_tx\_update\_ratectrl}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00066}00066             \textcolor{keyword}{struct} ieee80211\_node *ni, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__rc__series}{ath\_rc\_series}} *rc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00067}00067             \textcolor{keyword}{struct} \mbox{\hyperlink{structath__tx__status}{ath\_tx\_status}} *ts, \textcolor{keywordtype}{int} frmlen, \textcolor{keywordtype}{int} rc\_framelen,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00068}00068             \textcolor{keywordtype}{int} nframes, \textcolor{keywordtype}{int} nbad);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00069}00069 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00070}00070 \textcolor{keyword}{extern}  \textcolor{keywordtype}{int} \mbox{\hyperlink{if__ath__misc_8h_a02bcf21f3bbcfba7dbda0c2ecb26df65}{ath\_hal\_gethangstate}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__hal}{ath\_hal}} *ah, uint32\_t mask,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00071}00071             uint32\_t *hangs);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00072}00072 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00073}00073 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a320cc28c75e91c869f3156868e377b44}{ath\_tx\_freebuf}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__buf}{ath\_buf}} *bf,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00074}00074     \textcolor{keywordtype}{int} status);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00075}00075 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_ab1cbb3f488cf4674adf3d7da5488c328}{ath\_txq\_freeholdingbuf}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00076}00076             \textcolor{keyword}{struct} \mbox{\hyperlink{structath__txq}{ath\_txq}} *txq);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00077}00077 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00078}00078 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_af2a2eb93dde5aa5c0bba2140cce0fad2}{ath\_txqmove}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__txq}{ath\_txq}} *dst, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__txq}{ath\_txq}} *src);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00079}00079 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00080}00080 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a430c2fc6e7167fd6ea56338bb5332925}{ath\_mode\_init}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00081}00081 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00082}00082 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_af21afbd58efa0e99a94b7ecfb22e897f}{ath\_setdefantenna}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, u\_int antenna);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00083}00083 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00084}00084 \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a0e0da9e5ede484f7052f367dead86ee4}{ath\_setslottime}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00085}00085 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00086}00086 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a33cb5412ff01c31c6ffdc609d9e57b5b}{ath\_legacy\_attach\_comp\_func}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00087}00087 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00088}00088 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a2bb2da44689d9a6748df5737318a0bb5}{ath\_tx\_draintxq}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__txq}{ath\_txq}} *txq);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00089}00089 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00090}00090 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_af61b32c3d7d687ce9baca597d1035da0}{ath\_legacy\_tx\_drain}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00091}00091             \mbox{\hyperlink{if__athvar_8h_af5ea08e58de4e5b417370fadd79b17d8}{ATH\_RESET\_TYPE}} reset\_type);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00092}00092 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00093}00093 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_af55207689930e12d820c0c7555299ec0}{ath\_tx\_process\_buf\_completion}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00094}00094             \textcolor{keyword}{struct} \mbox{\hyperlink{structath__txq}{ath\_txq}} *txq, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__tx__status}{ath\_tx\_status}} *ts, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__buf}{ath\_buf}} *bf);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00095}00095 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00096}00096 \textcolor{keyword}{extern}  \textcolor{keywordtype}{int} \mbox{\hyperlink{if__ath__misc_8h_ae4933634cf319bf11703b300f174afe1}{ath\_stoptxdma}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00097}00097 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00098}00098 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_ad4fb4c7c28c665481febda24d3f0f6fb}{ath\_tx\_update\_tim}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00099}00099             \textcolor{keyword}{struct} ieee80211\_node *ni, \textcolor{keywordtype}{int} enable);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00100}00100 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00101}00101 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00102}00102 \textcolor{comment}{ * This is only here so that the RX proc function can call it.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00103}00103 \textcolor{comment}{ * It's very likely that the "{}start TX after RX"{} call should be}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00104}00104 \textcolor{comment}{ * done via something in if\_ath.c, moving "{}rx tasklet"{} into}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00105}00105 \textcolor{comment}{ * if\_ath.c and do the ath\_start() call there.  Once that's done,}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00106}00106 \textcolor{comment}{ * we can kill this.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00107}00107 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00108}\mbox{\hyperlink{if__ath__misc_8h_a6f42458e880f318dddff6cc26ad76bac}{00108}} \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a6f42458e880f318dddff6cc26ad76bac}{ath\_start}}(\textcolor{keyword}{struct} ifnet *ifp);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00109}\mbox{\hyperlink{if__ath__misc_8h_a202bce908c5b588dc527627986a5f62d}{00109}} \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a202bce908c5b588dc527627986a5f62d}{ath\_start\_task}}(\textcolor{keywordtype}{void} *arg, \textcolor{keywordtype}{int} npending);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00110}00110 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00111}\mbox{\hyperlink{if__ath__misc_8h_a6a47de62669bc06c10463ea9ce366184}{00111}} \textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a6a47de62669bc06c10463ea9ce366184}{ath\_tx\_dump}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, \textcolor{keyword}{struct} \mbox{\hyperlink{structath__txq}{ath\_txq}} *txq);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00112}00112 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00113}00113 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00114}00114 \textcolor{comment}{ * Power state tracking.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00115}00115 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00116}00116 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_accb32e1bed305491bcd152e210c247d6}{\_ath\_power\_setpower}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc, \textcolor{keywordtype}{int} power\_state,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00117}00117             \textcolor{keywordtype}{int} selfgen, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *file, \textcolor{keywordtype}{int} line);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00118}00118 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a267c5ef2617c1627c4bcadb348c63cee}{\_ath\_power\_set\_selfgen}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00119}00119             \textcolor{keywordtype}{int} power\_state, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *file, \textcolor{keywordtype}{int} line);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00120}00120 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a016650d42957721068d5301c919c5567}{\_ath\_power\_set\_power\_state}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00121}00121             \textcolor{keywordtype}{int} power\_state, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *file, \textcolor{keywordtype}{int} line);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00122}00122 \textcolor{keyword}{extern}  \textcolor{keywordtype}{void} \mbox{\hyperlink{if__ath__misc_8h_a95e2291f6b90b5dbc6947dd7776d8767}{\_ath\_power\_restore\_power\_state}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc,}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00123}00123             \textcolor{keyword}{const} \textcolor{keywordtype}{char} *file, \textcolor{keywordtype}{int} line);}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00124}00124 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00125}\mbox{\hyperlink{if__ath__misc_8h_a33e2cef585779c855e9915f98d512d45}{00125}} \textcolor{preprocessor}{\#define ath\_power\_setpower(sc, ps, sg) \_ath\_power\_setpower(sc, ps, sg, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00126}00126 \textcolor{preprocessor}{            \_\_FILE\_\_, \_\_LINE\_\_)}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00127}\mbox{\hyperlink{if__ath__misc_8h_abb04cd4ab6b99b2edbb215db615f8e2f}{00127}} \textcolor{preprocessor}{\#define ath\_power\_setselfgen(sc, ps) \_ath\_power\_set\_selfgen(sc, ps, \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00128}00128 \textcolor{preprocessor}{            \_\_FILE\_\_, \_\_LINE\_\_)}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00129}\mbox{\hyperlink{if__ath__misc_8h_a6e2b354d0ea6885769e6717a86fe15fb}{00129}} \textcolor{preprocessor}{\#define ath\_power\_set\_power\_state(sc, ps) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00130}00130 \textcolor{preprocessor}{            \_ath\_power\_set\_power\_state(sc, ps, \_\_FILE\_\_, \_\_LINE\_\_)}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00131}\mbox{\hyperlink{if__ath__misc_8h_a320edecb4a40eeb53eb18a0c47376ba7}{00131}} \textcolor{preprocessor}{\#define ath\_power\_restore\_power\_state(sc) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00132}00132 \textcolor{preprocessor}{            \_ath\_power\_restore\_power\_state(sc, \_\_FILE\_\_, \_\_LINE\_\_)}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00133}00133 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00134}00134 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00135}00135 \textcolor{comment}{ * Kick the frame TX task.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00136}00136 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00137}00137 \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00138}\mbox{\hyperlink{if__ath__misc_8h_aa2e5b23e445759ac073fbbf13b1d8993}{00138}} \mbox{\hyperlink{if__ath__misc_8h_aa2e5b23e445759ac073fbbf13b1d8993}{ath\_tx\_kick}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00139}00139 \{}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00140}00140 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00141}00141         \textcolor{comment}{/* XXX NULL for now */}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00142}00142 \}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00143}00143 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00144}00144 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00145}00145 \textcolor{comment}{ * Kick the software TX queue task.}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00146}00146 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00147}00147 \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00148}\mbox{\hyperlink{if__ath__misc_8h_aabbfbd5800e89b3f998e802e9b5f6523}{00148}} \mbox{\hyperlink{if__ath__misc_8h_aabbfbd5800e89b3f998e802e9b5f6523}{ath\_tx\_swq\_kick}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structath__softc}{ath\_softc}} *sc)}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00149}00149 \{}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00150}00150 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00151}00151         taskqueue\_enqueue(sc-\/>\mbox{\hyperlink{structath__softc_aff1b55008025bd72dbb45896fbc72c64}{sc\_tq}}, \&sc-\/>\mbox{\hyperlink{structath__softc_a888824e1f329bdbe9c289b8fe1396247}{sc\_txqtask}});}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00152}00152 \}}
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00153}00153 }
\DoxyCodeLine{\Hypertarget{if__ath__misc_8h_source_l00154}00154 \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
