<dec f='src/src/sys/net80211/ieee80211_proto.h' l='226' type='int ieee80211_compute_duration(const struct ieee80211_frame_min * , const struct ieee80211_key * , int , __uint32_t , int , int , struct ieee80211_duration * , struct ieee80211_duration * , int * , int )'/>
<use f='src/src/sys/dev/ic/atw.c' l='3537' u='c' c='atw_start'/>
<use f='src/src/sys/dev/ic/rtw.c' l='3375' u='c' c='rtw_start'/>
<def f='src/src/sys/net80211/ieee80211_output.c' l='796' ll='869' type='int ieee80211_compute_duration(const struct ieee80211_frame_min * wh, const struct ieee80211_key * wk, int len, __uint32_t icflags, int fraglen, int rate, struct ieee80211_duration * d0, struct ieee80211_duration * dn, int * npktp, int debug)'/>
<doc f='src/src/sys/net80211/ieee80211_output.c' l='769'>/*
 * Arguments in:
 *
 * wh:      802.11 header
 *
 * paylen:  payload length (no FCS, no WEP header)
 *
 * rate:    MSDU speed, units 500kb/s
 *
 * fraglen: fragment length, set to maximum (or higher) for no
 *          fragmentation
 *
 * flags:   IEEE80211_F_PRIVACY (hardware adds WEP),
 *          IEEE80211_F_SHPREAMBLE (use short preamble),
 *          IEEE80211_F_SHSLOT (use short slot length)
 *
 * Arguments out:
 *
 * d0: 802.11 Duration fields (RTS/Data), PLCP Length, Service fields
 *     of first/only fragment
 *
 * dn: 802.11 Duration fields (RTS/Data), PLCP Length, Service fields
 *     of last fragment
 *
 * ieee80211_compute_duration assumes crypto-encapsulation, if any,
 * has already taken place.
 */</doc>
