1 /* p80211ioctl.h 2 * 3 * Declares constants and types for the p80211 ioctls 4 * 5 * Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved. 6 * -------------------------------------------------------------------- 7 * 8 * linux-wlan 9 * 10 * The contents of this file are subject to the Mozilla Public 11 * License Version 1.1 (the "License"); you may not use this file 12 * except in compliance with the License. You may obtain a copy of 13 * the License at http://www.mozilla.org/MPL/ 14 * 15 * Software distributed under the License is distributed on an "AS 16 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 17 * implied. See the License for the specific language governing 18 * rights and limitations under the License. 19 * 20 * Alternatively, the contents of this file may be used under the 21 * terms of the GNU Public License version 2 (the "GPL"), in which 22 * case the provisions of the GPL are applicable instead of the 23 * above. If you wish to allow the use of your version of this file 24 * only under the terms of the GPL and not to allow others to use 25 * your version of this file under the MPL, indicate your decision 26 * by deleting the provisions above and replace them with the notice 27 * and other provisions required by the GPL. If you do not delete 28 * the provisions above, a recipient may use your version of this 29 * file under either the MPL or the GPL. 30 * 31 * -------------------------------------------------------------------- 32 * 33 * Inquiries regarding the linux-wlan Open Source project can be 34 * made directly to: 35 * 36 * AbsoluteValue Systems Inc. 37 * info@linux-wlan.com 38 * http://www.linux-wlan.com 39 * 40 * -------------------------------------------------------------------- 41 * 42 * Portions of the development of this software were funded by 43 * Intersil Corporation as part of PRISM(R) chipset product development. 44 * 45 * -------------------------------------------------------------------- 46 * 47 * While this file is called 'ioctl' is purpose goes a little beyond 48 * that. This file defines the types and contants used to implement 49 * the p80211 request/confirm/indicate interfaces on Linux. The 50 * request/confirm interface is, in fact, normally implemented as an 51 * ioctl. The indicate interface on the other hand, is implemented 52 * using the Linux 'netlink' interface. 53 * 54 * The reason I say that request/confirm is 'normally' implemented 55 * via ioctl is that we're reserving the right to be able to send 56 * request commands via the netlink interface. This will be necessary 57 * if we ever need to send request messages when there aren't any 58 * wlan network devices present (i.e. sending a message that only p80211 59 * cares about. 60 * -------------------------------------------------------------------- 61 */ 62 63 #ifndef _P80211IOCTL_H 64 #define _P80211IOCTL_H 65 66 /* p80211 ioctl "request" codes. See argument 2 of ioctl(2). */ 67 68 #define P80211_IFTEST (SIOCDEVPRIVATE + 0) 69 #define P80211_IFREQ (SIOCDEVPRIVATE + 1) 70 71 /*----------------------------------------------------------------*/ 72 /* Magic number, a quick test to see we're getting the desired struct */ 73 74 #define P80211_IOCTL_MAGIC (0x4a2d464dUL) 75 76 /*----------------------------------------------------------------*/ 77 /* A ptr to the following structure type is passed as the third */ 78 /* argument to the ioctl system call when issuing a request to */ 79 /* the p80211 module. */ 80 81 struct p80211ioctl_req { 82 char name[WLAN_DEVNAMELEN_MAX]; 83 caddr_t data; 84 u32 magic; 85 u16 len; 86 u32 result; 87 } __packed; 88 89 #endif /* _P80211IOCTL_H */ 90