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 | |