1 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */ 2 /* 3 * 4 * Declares constants and types for the p80211 ioctls 5 * 6 * Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved. 7 * -------------------------------------------------------------------- 8 * 9 * linux-wlan 10 * 11 * -------------------------------------------------------------------- 12 * 13 * Inquiries regarding the linux-wlan Open Source project can be 14 * made directly to: 15 * 16 * AbsoluteValue Systems Inc. 17 * info@linux-wlan.com 18 * http://www.linux-wlan.com 19 * 20 * -------------------------------------------------------------------- 21 * 22 * Portions of the development of this software were funded by 23 * Intersil Corporation as part of PRISM(R) chipset product development. 24 * 25 * -------------------------------------------------------------------- 26 * 27 * While this file is called 'ioctl' is purpose goes a little beyond 28 * that. This file defines the types and contants used to implement 29 * the p80211 request/confirm/indicate interfaces on Linux. The 30 * request/confirm interface is, in fact, normally implemented as an 31 * ioctl. The indicate interface on the other hand, is implemented 32 * using the Linux 'netlink' interface. 33 * 34 * The reason I say that request/confirm is 'normally' implemented 35 * via ioctl is that we're reserving the right to be able to send 36 * request commands via the netlink interface. This will be necessary 37 * if we ever need to send request messages when there aren't any 38 * wlan network devices present (i.e. sending a message that only p80211 39 * cares about. 40 * -------------------------------------------------------------------- 41 */ 42 43 #ifndef _P80211IOCTL_H 44 #define _P80211IOCTL_H 45 46 /* p80211 ioctl "request" codes. See argument 2 of ioctl(2). */ 47 48 #define P80211_IFTEST (SIOCDEVPRIVATE + 0) 49 #define P80211_IFREQ (SIOCDEVPRIVATE + 1) 50 51 /*----------------------------------------------------------------*/ 52 /* Magic number, a quick test to see we're getting the desired struct */ 53 54 #define P80211_IOCTL_MAGIC (0x4a2d464dUL) 55 56 /*----------------------------------------------------------------*/ 57 /* A ptr to the following structure type is passed as the third */ 58 /* argument to the ioctl system call when issuing a request to */ 59 /* the p80211 module. */ 60 61 struct p80211ioctl_req { 62 char name[WLAN_DEVNAMELEN_MAX]; 63 char __user *data; 64 u32 magic; 65 u16 len; 66 u32 result; 67 } __packed; 68 69 #endif /* _P80211IOCTL_H */ 70