Bring in the ndis(4) man page from FreeBSD (with minor modifications).
[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.2 2005/08/05 22:35:10 swildner 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 ,
36 .Nm ieee80211_cfgset ,
37 .Nm ieee80211_ioctl
38 .Nd 802.11 interface ioctl commands
39 .Sh SYNOPSIS
40 .In net80211/ieee80211_var.h
41 .In net80211/ieee80211_proto.h
42 .In net80211/ieee80211_ioctl.h
43 .Ft int
44 .Fn ieee80211_cfgget "struct ifnet *ifp" "u_long cmd" "caddr_t data"
45 .Ft int
46 .Fn ieee80211_cfgset "struct ifnet *ifp" "u_long cmd" "caddr_t data"
47 .Ft int
48 .Fn ieee80211_ioctl "struct ifnet *ifp" "u_long cmd" "caddr_t data"
49 .Sh DESCRIPTION
50 These
51 functions are typically invoked by drivers in response to requests
52 for information or to change settings from the userland.
53 .Pp
54 .\"
55 The
56 .Fn ieee80211_cfgget
57 and
58 .Fn ieee80211_cfgset
59 functions implement a legacy interface for getting and setting 802.11
60 interface attributes respectively.
61 The interface is compatible with the RIDs implemented by the legacy
62 .Xr owi 4
63 driver and used by the
64 .Xr wicontrol 8
65 utility.
66 .Pp
67 .\"
68 The
69 .Fn ieee80211_ioctl
70 function provides a default implementation of the
71 .Dv SIOCS80211
72 and
73 .Dv SIOCG80211
74 ifioctls commands for 802.11 drivers.
75 The call signature is identical to that of the
76 .Va if_ioctl
77 member found in
78 .Vt struct ifnet ,
79 however, many drivers store attributes such as
80 .Dv IEEE80211_IOC_STATIONNAME
81 in the driver's private soft state structure, so driver writers may prefer
82 to use this as the catch-all in a switch statement to avoid code duplication.
83 .\"
84 .Sh SEE ALSO
85 .Xr owi 4 ,
86 .Xr ifconfig 8 ,
87 .Xr wicontrol 8 ,
88 .Xr ieee80211 9 ,
89 .Xr ifnet 9
90 .Sh HISTORY
91 The
92 .Nm ieee80211
93 series of functions first appeared in
94 .Nx 1.5 ,
95 and were later ported to
96 .Fx 4.6 .
97 .Sh AUTHORS
98 .An -nosplit
99 This man page was written by
100 .An Bruce M. Simpson Aq bms@FreeBSD.org
101 and
102 .An Darron Broad Aq darron@kewl.org .