ieee80211_rate2media.9freebsd

Langue: en

Version: 306935 (debian - 07/07/09)

Section: 9 (Appels noyau Linux)


BSD mandoc

NAME

ieee80211_ifattach , ieee80211_ifdetach ieee80211_mhz2ieee , ieee80211_chan2ieee , ieee80211_ieee2mhz ieee80211_media_init , ieee80211_media_change , ieee80211_media_status ieee80211_watchdog ieee80211_setmode , ieee80211_chan2mode ieee80211_rate2media , ieee80211_media2rate - core 802.11 network stack functions

SYNOPSIS

In net80211/ieee80211_var.h In net80211/ieee80211_proto.h Ft void Fn ieee80211_ifattach struct ifnet *ifp Ft void Fn ieee80211_ifdetach struct ifnet *ifp Ft u_int Fn ieee80211_mhz2ieee u_int freq u_int flags Ft u_int Fn ieee80211_chan2ieee struct ieee80211com *ic struct ieee80211_channel *c Ft u_int Fn ieee80211_ieee2mhz u_int chan u_int flags Ft void Fo ieee80211_media_init Fa struct ifnet *ifp ifm_change_cb_t media_change Fa ifm_stat_cb_t media_stat Fc Fa int Fn ieee80211_media_change struct ifnet *ifp Fa void Fn ieee80211_media_status struct ifnet *ifp struct ifmediareq *imr Ft void Fn ieee80211_watchdog struct ifnet *ifp Ft int Fn ieee80211_setmode struct ieee80211com *ic enum ieee80211_phymode mode Ft enum ieee80211_phymode Fo ieee80211_chan2mode Fa struct ieee80211com *ic struct ieee80211_channel *chan Fc Ft int Fo ieee80211_rate2media Fa struct ieee80211com *ic int rate enum ieee80211_phymode mode Fc Ft int Fn ieee80211_media2rate int mword

DESCRIPTION

The ieee80211 collection of functions are used to manage wireless network interfaces in the system which use the system's software 802.11 network stack. Most of these functions require that attachment to the stack is performed before calling. Several utility functions are also provided; these are safe to call from any driver without prior initialization.

The Fn ieee80211_ifattach function attaches the network interface Fa ifp to the 802.11 network stack layer. This function must be called before using any of the ieee80211 functions which need to store driver state across invocations; The Vt struct ifnet instance pointed to by Fa ifp MUST be an instance of Vt struct ieee80211com , with various fields initialized to tell ieee80211 about its capabilities. This function performs Ethernet and BPF attachment (by calling Fn ether_ifattach and Fn bpfattach2 ) on behalf of the caller. It also implements the Vt ifmedia interface.

The Fn ieee80211_ifdetach function frees any ieee80211 structures associated with the driver, and performs Ethernet and BPF detachment on behalf of the caller.

The Fn ieee80211_mhz2ieee utility function converts the frequency Fa freq (specified in MHz) to an IEEE 802.11 channel number. The Fa flags argument is a hint which specifies whether the frequency is in the 2GHz ISM band (Vt IEEE80211_CHAN_2GHZ ) or the 5GHz band (Vt IEEE80211_CHAN_5GHZ ) appropriate clipping of the result is then performed.

The Fn ieee80211_chan2ieee function converts the channel specified in Fa *c to an IEEE channel number for the driver Fa ic . If the conversion would be invalid, an error message is printed to the system console. This function REQUIRES that the driver is hooked up to the ieee80211 subsystem.

The Fn ieee80211_ieee2mhz utility function converts the IEEE channel number Ft chan to a frequency (in MHz). The Fa flags argument is a hint which specifies whether the frequency is in the 2GHz ISM band (Vt IEEE80211_CHAN_2GHZ ) or the 5GHz band (Vt IEEE80211_CHAN_5GHZ ) appropriate clipping of the result is then performed.

The Fn ieee80211_media_init function initializes media data structures used by the Vt ifmedia interface, for the driver Fa ifp . It must be called by the driver after calling Fn ieee80211_attach and before calling most ieee80211 functions. The Fa media_change and Fa media_stat arguments specify helper functions which will be invoked by the Vt ifmedia framework when the user changes or queries media options, using a command such as ifconfig(8).

The Fn ieee80211_media_status and Fn ieee80211_media_change functions are device-independent handlers for Vt ifmedia commands and are not intended to be called directly.

The Fn ieee80211_watchdog function is intended to be called from a driver's if_watchdog routine. It is used to perform periodic cleanup of state within the software 802.11 stack, as well as timing out scans.

The Fn ieee80211_setmode function is called from within the 802.11 stack to change the mode of the driver's PHY; it is not intended to be called directly.

The Fn ieee80211_chan2mode function returns the PHY mode required for use with the channel Fa chan on the device Fa ic . This is typically used when selecting a rate set, to be advertised in beacons, for example.

The Fn ieee80211_rate2media function converts the bit rate Fa rate (measured in units of 0.5Mbps) to an Vt ifmedia sub-type, for the device Fa ic running in PHY mode Fa mode . The Fn ieee80211_media2rate performs the reverse of this conversion, returning the bit rate (in 0.5Mbps units) corresponding to an Vt ifmedia sub-type.

SEE ALSO

ieee80211_crypto9, ieee80211_input9, ieee80211_ioctl9, ieee80211_node9, ieee80211_output9, ieee80211_proto9, ieee80211_radiotap9, ifnet(9)

HISTORY

The ieee80211 series of functions first appeared in Nx 1.5 , and were later ported to Fx 4.6 .

AUTHORS

An -nosplit This manual page was written by An Bruce M. Simpson Aq bms@FreeBSD.org and An Darron Broad Aq darron@kewl.org .