1
2
3
4
5
6
7#ifndef _RTW_IOCTL_H_
8#define _RTW_IOCTL_H_
9
10#include <osdep_service.h>
11#include <drv_types.h>
12
13
14#ifndef OID_802_11_CAPABILITY
15 #define OID_802_11_CAPABILITY 0x0d010122
16#endif
17
18#ifndef OID_802_11_PMKID
19 #define OID_802_11_PMKID 0x0d010123
20#endif
21
22
23
24#define OID_NDIS_SEG1 0x00010100
25#define OID_NDIS_SEG2 0x00010200
26#define OID_NDIS_SEG3 0x00020100
27#define OID_NDIS_SEG4 0x01010100
28#define OID_NDIS_SEG5 0x01020100
29#define OID_NDIS_SEG6 0x01020200
30#define OID_NDIS_SEG7 0xFD010100
31#define OID_NDIS_SEG8 0x0D010100
32#define OID_NDIS_SEG9 0x0D010200
33#define OID_NDIS_SEG10 0x0D020200
34
35#define SZ_OID_NDIS_SEG1 23
36#define SZ_OID_NDIS_SEG2 3
37#define SZ_OID_NDIS_SEG3 6
38#define SZ_OID_NDIS_SEG4 6
39#define SZ_OID_NDIS_SEG5 4
40#define SZ_OID_NDIS_SEG6 8
41#define SZ_OID_NDIS_SEG7 7
42#define SZ_OID_NDIS_SEG8 36
43#define SZ_OID_NDIS_SEG9 24
44#define SZ_OID_NDIS_SEG10 19
45
46
47#define OID_MP_SEG1 0xFF871100
48#define OID_MP_SEG2 0xFF818000
49
50#define OID_MP_SEG3 0xFF818700
51#define OID_MP_SEG4 0xFF011100
52
53enum oid_type {
54 QUERY_OID,
55 SET_OID
56};
57
58struct oid_par_priv {
59 void *adapter_context;
60 NDIS_OID oid;
61 void *information_buf;
62 u32 information_buf_len;
63 u32 *bytes_rw;
64 u32 *bytes_needed;
65 enum oid_type type_of_oid;
66 u32 dbg;
67};
68
69#if defined(_RTW_MP_IOCTL_C_)
70static int oid_null_function(struct oid_par_priv *poid_par_priv)
71{
72 return NDIS_STATUS_SUCCESS;
73}
74#endif
75
76extern struct iw_handler_def rtw_handlers_def;
77
78int drv_query_info(struct net_device *miniportadaptercontext, NDIS_OID oid,
79 void *informationbuffer, u32 informationbufferlength,
80 u32 *byteswritten, u32 *bytesneeded);
81
82int drv_set_info(struct net_device *MiniportAdapterContext,
83 NDIS_OID oid, void *informationbuffer,
84 u32 informationbufferlength, u32 *bytesread,
85 u32 *bytesneeded);
86
87#endif
88