ieee80211(9)

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 al
so provided;
these are safe to call from any driver without prior ini
tialization.
The ieee80211_ifattach() function attaches the network in
terface 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 ini
tialized to
tell ieee80211 about its capabilities. This function per
forms Ethernet
and BPF attachment (by calling ether_ifattach() and
bpfattach2()) on
behalf of the caller. It also implements the ifmedia inter
face.
The ieee80211_ifdetach() function frees any ieee80211 struc
tures associated with the driver, and performs Ethernet and BPF detach
ment on behalf
of the caller.
The ieee80211_mhz2ieee() utility function converts the fre
quency 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 conver
sion 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 ieee80211_ieee2mhz() utility function converts the IEEE
channel number 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 call
ing most
ieee80211 functions. The media_change and media_stat argu
ments specify
helper functions which will be invoked by the ifmedia frame
work 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 period
ic 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 re
quired 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 exam
ple.
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 re
verse of this
conversion, returning the bit rate (in 0.5Mbps units) corre
sponding to an
ifmedia sub-type.

SEE ALSO

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@FreeB
SD.org> and
Darron Broad <darron@kewl.org>.
BSD March 2, 2004
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout