Add the ieee80211(9) API manual pages.
[dragonfly.git] / share / man / man9 / ieee80211_ioctl.9
1 .\"
2 .\" Copyright (c) 2004 Bruce M. Simpson <bms@spc.org>
3 .\" Copyright (c) 2004 Darron Broad <darron@kewl.org>
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\"
15 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 .\" SUCH DAMAGE.
26 .\"
27 .\" $FreeBSD$
28 .\" $DragonFly: src/share/man/man9/ieee80211_ioctl.9,v 1.1 2004/07/27 14:50:56 hmp Exp $
29 .\" $Id: ieee80211_ioctl.9,v 1.2 2004/07/07 12:59:39 ru Exp $
30 .\"
31 .Dd March 2, 2004
32 .Dt IEEE80211_IOCTL 9
33 .Os
34 .Sh NAME
35 .Nm ieee80211_cfgget , ieee80211_cfgset , ieee80211_ioctl
36 .Nd 802.11 interface ioctl commands
37 .Sh SYNOPSIS
38 .In net80211/ieee80211_var.h
39 .In net80211/ieee80211_proto.h
40 .In net80211/ieee80211_ioctl.h
41 .Ft int
42 .Fn ieee80211_cfgget "struct ifnet *ifp" "u_long cmd" "caddr_t data"
43 .Ft int
44 .Fn ieee80211_cfgset "struct ifnet *ifp" "u_long cmd" "caddr_t data"
45 .Ft int
46 .Fn ieee80211_ioctl "struct ifnet *ifp" "u_long cmd" "caddr_t data"
47 .Sh DESCRIPTION
48 These
49 functions are typically invoked by drivers in response to requests
50 for information or to change settings from the userland.
51 .Pp
52 .\"
53 The
54 .Fn ieee80211_cfgget
55 and
56 .Fn ieee80211_cfgset
57 functions implement a legacy interface for getting and setting 802.11
58 interface attributes respectively.
59 The interface is compatible with the RIDs implemented by the legacy
60 .Xr owi 4
61 driver and used by the
62 .Xr wicontrol 8
63 utility.
64 .Pp
65 .\"
66 The
67 .Fn ieee80211_ioctl
68 function provides a default implementation of the
69 .Dv SIOCS80211
70 and
71 .Dv SIOCG80211
72 ifioctls commands for 802.11 drivers.
73 The call signature is identical to that of the
74 .Va if_ioctl
75 member found in
76 .Vt struct ifnet ,
77 however, many drivers store attributes such as
78 .Dv IEEE80211_IOC_STATIONNAME
79 in the driver's private soft state structure, so driver writers may prefer
80 to use this as the catch-all in a switch statement to avoid code duplication.
81 .\"
82 .Sh SEE ALSO
83 .Xr owi 4 ,
84 .Xr ifconfig 8 ,
85 .Xr wicontrol 8 ,
86 .Xr ieee80211 9 ,
87 .Xr ifnet 9
88 .Sh HISTORY
89 The
90 .Nm ieee80211
91 series of functions first appeared in
92 .Nx 1.5 ,
93 and were later ported to
94 .Fx 4.6 .
95 .Sh AUTHORS
96 .An -nosplit
97 This man page was written by
98 .An Bruce M. Simpson Aq bms@FreeBSD.org
99 and
100 .An Darron Broad Aq darron@kewl.org .