xref: /dflybsd-src/share/man/man9/ieee80211_output.9 (revision 44cb301e8903dd832ef88b01db3694023ab5e3a7)
1ff66a890SHiten Pandya.\"
2ff66a890SHiten Pandya.\" Copyright (c) 2004 Bruce M. Simpson <bms@spc.org>
3ff66a890SHiten Pandya.\" Copyright (c) 2004 Darron Broad <darron@kewl.org>
4ff66a890SHiten Pandya.\" All rights reserved.
5ff66a890SHiten Pandya.\"
6ff66a890SHiten Pandya.\" Redistribution and use in source and binary forms, with or without
7ff66a890SHiten Pandya.\" modification, are permitted provided that the following conditions
8ff66a890SHiten Pandya.\" are met:
9ff66a890SHiten Pandya.\" 1. Redistributions of source code must retain the above copyright
10ff66a890SHiten Pandya.\"    notice, this list of conditions and the following disclaimer.
11ff66a890SHiten Pandya.\" 2. Redistributions in binary form must reproduce the above copyright
12ff66a890SHiten Pandya.\"    notice, this list of conditions and the following disclaimer in the
13ff66a890SHiten Pandya.\"    documentation and/or other materials provided with the distribution.
14ff66a890SHiten Pandya.\"
15ff66a890SHiten Pandya.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16ff66a890SHiten Pandya.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17ff66a890SHiten Pandya.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18ff66a890SHiten Pandya.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19ff66a890SHiten Pandya.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20ff66a890SHiten Pandya.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21ff66a890SHiten Pandya.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22ff66a890SHiten Pandya.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23ff66a890SHiten Pandya.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24ff66a890SHiten Pandya.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25ff66a890SHiten Pandya.\" SUCH DAMAGE.
26ff66a890SHiten Pandya.\"
27ff66a890SHiten Pandya.\" $FreeBSD$
28*44cb301eSSascha Wildner.\" $DragonFly: src/share/man/man9/ieee80211_output.9,v 1.3 2006/05/26 19:39:40 swildner Exp $
29ff66a890SHiten Pandya.\" $Id: ieee80211_output.9,v 1.2 2004/07/07 12:59:39 ru Exp $
30ff66a890SHiten Pandya.\"
31ff66a890SHiten Pandya.Dd March 2, 2004
32ff66a890SHiten Pandya.Dt IEEE80211_OUTPUT 9
33ff66a890SHiten Pandya.Os
34ff66a890SHiten Pandya.Sh NAME
35d0de9052SSascha Wildner.Nm ieee80211_encap ,
36d0de9052SSascha Wildner.Nm ieee80211_add_rates ,
37d0de9052SSascha Wildner.Nm ieee80211_add_xrates ,
38d0de9052SSascha Wildner.Nm ieee80211_send_mgmt
39ff66a890SHiten Pandya.Nd software 802.11 stack output functions
40ff66a890SHiten Pandya.Sh SYNOPSIS
41*44cb301eSSascha Wildner.In netproto/802_11/ieee80211_var.h
42*44cb301eSSascha Wildner.In netproto/802_11/ieee80211_proto.h
43ff66a890SHiten Pandya.Ft struct mbuf *
44ff66a890SHiten Pandya.Fo ieee80211_encap
45ff66a890SHiten Pandya.Fa "struct ifnet *ifp" "struct mbuf *m" "struct ieee80211_node **pni"
46ff66a890SHiten Pandya.Fc
47ff66a890SHiten Pandya.Ft u_int8_t *
48ff66a890SHiten Pandya.Fn ieee80211_add_rates "u_int8_t *frm" "const struct ieee80211_rateset *rs"
49ff66a890SHiten Pandya.Ft u_int8_t *
50ff66a890SHiten Pandya.Fn ieee80211_add_xrates "u_int8_t *frm" "const struct ieee80211_rateset *rs"
51ff66a890SHiten Pandya.Ft int
52ff66a890SHiten Pandya.Fo ieee80211_send_mgmt
53ff66a890SHiten Pandya.Fa "struct ieee80211com *ic" "struct ieee80211_node *ni" "int type" "int arg"
54ff66a890SHiten Pandya.Fc
55ff66a890SHiten Pandya.Sh DESCRIPTION
56ff66a890SHiten PandyaThese functions handle the encapsulation and transmission of 802.11 frames
57ff66a890SHiten Pandyawithin the software 802.11 stack.
58ff66a890SHiten Pandya.Pp
59ff66a890SHiten PandyaThe
60ff66a890SHiten Pandya.Fn ieee80211_encap
61ff66a890SHiten Pandyafunction encapsulates an outbound data frame contained within the
62ff66a890SHiten Pandyambuf chain
63ff66a890SHiten Pandya.Fa m
64ff66a890SHiten Pandyafrom the interface
65ff66a890SHiten Pandya.Fa ifp .
66ff66a890SHiten PandyaThe argument
67ff66a890SHiten Pandya.Fa *pni
68ff66a890SHiten Pandyais a reference to the destination node.
69ff66a890SHiten Pandya.Pp
70ff66a890SHiten PandyaIf the function is successful, the mbuf chain is updated with the
71ff66a890SHiten Pandya802.11 frame header prepended, and a pointer to the head of the chain
72ff66a890SHiten Pandyais returned.
73ff66a890SHiten PandyaIf an error occurs,
74ff66a890SHiten Pandya.Dv NULL
75ff66a890SHiten Pandyawill be returned, and
76ff66a890SHiten Pandya.Fa *pni
77ff66a890SHiten Pandyais also set to
78ff66a890SHiten Pandya.Dv NULL .
79ff66a890SHiten PandyaThe caller is responsible for freeing the node reference if
80ff66a890SHiten Pandya.Fa *pni
81ff66a890SHiten Pandyais
82ff66a890SHiten Pandya.Pf non- Dv NULL
83ff66a890SHiten Pandyaon return.
84ff66a890SHiten PandyaThe convention is that
85ff66a890SHiten Pandya.Va ic_bss
86ff66a890SHiten Pandyais not reference counted; the caller is responsible for maintaining this
87ff66a890SHiten Pandyareference count.
88ff66a890SHiten Pandya.Pp
89ff66a890SHiten Pandya.\"
90ff66a890SHiten PandyaThe
91ff66a890SHiten Pandya.Fn ieee80211_add_rates
92ff66a890SHiten Pandyautility function is used to add the rate set element
93ff66a890SHiten Pandya.Fa *rs
94ff66a890SHiten Pandyato the frame
95ff66a890SHiten Pandya.Fa frm .
96ff66a890SHiten PandyaA pointer to the location in the buffer after the addition of the rate set
97ff66a890SHiten Pandyais returned.
98ff66a890SHiten PandyaIt is typically used when constructing management frames from within the
99ff66a890SHiten Pandyasoftware 802.11 stack.
100ff66a890SHiten Pandya.Pp
101ff66a890SHiten Pandya.\"
102ff66a890SHiten PandyaThe
103ff66a890SHiten Pandya.Fn ieee80211_add_xrates
104ff66a890SHiten Pandyautility function is used to add the extended rate set element
105ff66a890SHiten Pandya.Fa *rs
106ff66a890SHiten Pandyato the frame
107ff66a890SHiten Pandya.Fa frm .
108ff66a890SHiten PandyaA pointer to the location in the buffer after the addition of the rate set
109ff66a890SHiten Pandyais returned.
110ff66a890SHiten PandyaIt is typically used when constructing management frames from within the
111ff66a890SHiten Pandyasoftware 802.11 stack in 802.11g mode.
112ff66a890SHiten Pandya.Pp
113ff66a890SHiten Pandya.\"
114ff66a890SHiten PandyaThe
115ff66a890SHiten Pandya.Fn ieee80211_send_mgmt
116ff66a890SHiten Pandyafunction transmits a management frame on the interface
117ff66a890SHiten Pandya.Fa ic
118ff66a890SHiten Pandyato the destination node
119ff66a890SHiten Pandya.Fa ni
120ff66a890SHiten Pandyaof type
121ff66a890SHiten Pandya.Fa type .
122ff66a890SHiten Pandya.Pp
123ff66a890SHiten PandyaThe argument
124ff66a890SHiten Pandya.Fa arg
125ff66a890SHiten Pandyaspecifies either a sequence number for authentication operations,
126ff66a890SHiten Pandyaa status code for [re]association operations,
127ff66a890SHiten Pandyaor a reason for deauthentication and deassociation operations.
128ff66a890SHiten Pandya.Pp
129ff66a890SHiten PandyaNodes other than
130ff66a890SHiten Pandya.Va ic_bss
131ff66a890SHiten Pandyahave their reference count incremented to reflect their use for an
132ff66a890SHiten Pandyaindeterminate amount of time.
133ff66a890SHiten PandyaThis reference is freed when the function returns.
134ff66a890SHiten Pandya.Pp
135ff66a890SHiten PandyaThe function returns 0 if successful; if temporary buffer space is not
136ff66a890SHiten Pandyaavailable, the function returns
137ff66a890SHiten Pandya.Er ENOMEM .
138ff66a890SHiten Pandya.\"
139ff66a890SHiten Pandya.Sh SEE ALSO
140ff66a890SHiten Pandya.Xr ieee80211 9 ,
141ff66a890SHiten Pandya.Xr ifnet 9
142ff66a890SHiten Pandya.Sh HISTORY
143ff66a890SHiten PandyaThe
144ff66a890SHiten Pandya.Nm ieee80211
145ff66a890SHiten Pandyaseries of functions first appeared in
146ff66a890SHiten Pandya.Nx 1.5 ,
147ff66a890SHiten Pandyaand were later ported to
148ff66a890SHiten Pandya.Fx 4.6 .
149ff66a890SHiten Pandya.Sh AUTHORS
150ff66a890SHiten Pandya.An -nosplit
151ff66a890SHiten PandyaThis man page was written by
152ff66a890SHiten Pandya.An Bruce M. Simpson Aq bms@FreeBSD.org
153ff66a890SHiten Pandyaand
154ff66a890SHiten Pandya.An Darron Broad Aq darron@kewl.org .
155