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