Commit | Line | Data |
---|---|---|
00b3ed16 GKH |
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 | ||
00b3ed16 GKH |
63 | #ifndef _P80211IOCTL_H |
64 | #define _P80211IOCTL_H | |
65 | ||
00b3ed16 GKH |
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 | ||
00b3ed16 GKH |
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 | ||
77ebd047 MM |
81 | typedef struct p80211ioctl_req { |
82 | char name[WLAN_DEVNAMELEN_MAX]; | |
00b3ed16 | 83 | caddr_t data; |
77ebd047 MM |
84 | u32 magic; |
85 | u16 len; | |
86 | u32 result; | |
87 | } __attribute__ ((packed)) p80211ioctl_req_t; | |
00b3ed16 | 88 | |
00b3ed16 | 89 | #endif /* _P80211IOCTL_H */ |