FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

ieee80211_ifattach, ieee80211_ifdetach, ieee80211_mhz2ieee,

 

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

      #include <net80211/ieee80211_var.h>
      #include <net80211/ieee80211_proto.h>
 
      void
      ieee80211_ifattach(struct ifnet *ifp);
 
      void
      ieee80211_ifdetach(struct ifnet *ifp);
 
      u_int
      ieee80211_mhz2ieee(u_int freq, u_int flags);
 
      u_int
      ieee80211_chan2ieee(struct ieee80211com *ic,
              struct ieee80211_channel *c);
 
      u_int
      ieee80211_ieee2mhz(u_int chan, u_int flags);
 
      void
      ieee80211_media_init(struct ifnet *ifp, ifm_change_cb_t media_change,
              ifm_stat_cb_t media_stat);
      int
 
      ieee80211_media_change(struct ifnet *ifp);
      void
 
      ieee80211_media_status(struct ifnet *ifp, struct ifmediareq *imr);
 
      void
      ieee80211_watchdog(struct ifnet *ifp);
 
      int
      ieee80211_setmode(struct ieee80211com *ic, enum ieee80211_phymode mode);
 
      enum ieee80211_phymode
      ieee80211_chan2mode(struct ieee80211com *ic,
              struct ieee80211_channel *chan);
 
      int
      ieee80211_rate2media(struct ieee80211com *ic, int rate,
              enum ieee80211_phymode mode);
 
      int
      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 ieee80211_ifattach() function attaches the network interface 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 struct ifnet instance pointed to by ifp MUST be
      an instance of struct ieee80211com, with various fields initialized to
      tell ieee80211 about its capabilities.  This function performs Ethernet
      and BPF attachment (by calling ether_ifattach() and bpfattach2()) on
      behalf of the caller.  It also implements the ifmedia interface.
 
      The ieee80211_ifdetach() function frees any ieee80211 structures associ‐
      ated with the driver, and performs Ethernet and BPF detachment on behalf
      of the caller.
 
      The ieee80211_mhz2ieee() utility function converts the frequency freq
      (specified in MHz) to an IEEE 802.11 channel number.  The flags argument
      is a hint which specifies whether the frequency is in the 2GHz ISM band
      (IEEE80211_CHAN_2GHZ) or the 5GHz band (IEEE80211_CHAN_5GHZ); appropriate
      clipping of the result is then performed.
 
      The ieee80211_chan2ieee() function converts the channel specified in *c
      to an IEEE channel number for the driver ic.  If the conversion would be
      invalid, an error message is printed to the system console.  This func‐
      tion REQUIRES that the driver is hooked up to the ieee80211 subsystem.
 
      The ieee80211_ieee2mhz() utility function converts the IEEE channel num‐
      ber chan to a frequency (in MHz).  The flags argument is a hint which
      specifies whether the frequency is in the 2GHz ISM band
      (IEEE80211_CHAN_2GHZ) or the 5GHz band (IEEE80211_CHAN_5GHZ); appropriate
      clipping of the result is then performed.
 
      The ieee80211_media_init() function initializes media data structures
      used by the ifmedia interface, for the driver ifp.  It must be called by
      the driver after calling ieee80211_attach() and before calling most
      ieee80211 functions.  The media_change and media_stat arguments specify
      helper functions which will be invoked by the ifmedia framework when the
      user changes or queries media options, using a command such as
      ifconfig(8).
 
      The ieee80211_media_status() and ieee80211_media_change() functions are
      device-independent handlers for ifmedia commands and are not intended to
      be called directly.
 
      The 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 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 ieee80211_chan2mode() function returns the PHY mode required for use
      with the channel chan on the device ic.  This is typically used when
      selecting a rate set, to be advertised in beacons, for example.
 
      The ieee80211_rate2media() function converts the bit rate rate (measured
      in units of 0.5Mbps) to an ifmedia sub-type, for the device ic running in
      PHY mode mode.  The ieee80211_media2rate() performs the reverse of this
      conversion, returning the bit rate (in 0.5Mbps units) corresponding to an
      ifmedia sub-type.
      ieee80211_crypto(9), ieee80211_input(9), ieee80211_ioctl(9),
      ieee80211_node(9), ieee80211_output(9), ieee80211_proto(9),
      ieee80211_radiotap(9), ifnet(9)
 

HISTORY

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

AUTHORS

      This manual page was written by Bruce M. Simpson 〈bms@FreeBSD.org〉 and
      Darron Broad 〈darron@kewl.org〉.
 

Sections

Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.