ieee80211_ioctl.h revision 116742
1/*-
2 * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/net80211/ieee80211_ioctl.h 116742 2003-06-23 16:55:01Z sam $
27 */
28#ifndef _NET80211_IEEE80211_IOCTL_H_
29#define _NET80211_IEEE80211_IOCTL_H_
30
31/*
32 * IEEE 802.11 ioctls.
33 */
34
35#ifdef __FreeBSD__
36/*
37 * FreeBSD-style ioctls.
38 */
39/* the first member must be matched with struct ifreq */
40struct ieee80211req {
41	char		i_name[IFNAMSIZ];	/* if_name, e.g. "wi0" */
42	u_int16_t	i_type;			/* req type */
43	int16_t		i_val;			/* Index or simple value */
44	int16_t		i_len;			/* Index or simple value */
45	void		*i_data;		/* Extra data */
46};
47#define	SIOCS80211		 _IOW('i', 234, struct ieee80211req)
48#define	SIOCG80211		_IOWR('i', 235, struct ieee80211req)
49
50#define IEEE80211_IOC_SSID		1
51#define IEEE80211_IOC_NUMSSIDS		2
52#define IEEE80211_IOC_WEP		3
53#define 	IEEE80211_WEP_NOSUP	-1
54#define 	IEEE80211_WEP_OFF	0
55#define 	IEEE80211_WEP_ON	1
56#define 	IEEE80211_WEP_MIXED	2
57#define IEEE80211_IOC_WEPKEY		4
58#define IEEE80211_IOC_NUMWEPKEYS	5
59#define IEEE80211_IOC_WEPTXKEY		6
60#define IEEE80211_IOC_AUTHMODE		7
61#define IEEE80211_IOC_STATIONNAME	8
62#define IEEE80211_IOC_CHANNEL		9
63#define IEEE80211_IOC_POWERSAVE		10
64#define 	IEEE80211_POWERSAVE_NOSUP	-1
65#define 	IEEE80211_POWERSAVE_OFF		0
66#define 	IEEE80211_POWERSAVE_CAM		1
67#define 	IEEE80211_POWERSAVE_PSP		2
68#define 	IEEE80211_POWERSAVE_PSP_CAM	3
69#define 	IEEE80211_POWERSAVE_ON		IEEE80211_POWERSAVE_CAM
70#define IEEE80211_IOC_POWERSAVESLEEP	11
71#define	IEEE80211_IOCT_RTSTHRESHOLD	12
72
73#ifndef IEEE80211_CHAN_ANY
74#define	IEEE80211_CHAN_ANY	0xffff		/* token for ``any channel'' */
75#endif
76#endif /* __FreeBSD__ */
77
78#endif /* _NET80211_IEEE80211_IOCTL_H_ */
79