Release 1.2-rc6.
[wine/gsoc-2012-control.git] / include / ntddndis.h
blob44566e861e9ae9b2dfef0f4faf066eb9ac176e84
1 /*
2 * Copyright 2009 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef _NTDDNDIS_
20 #define _NTDDNDIS_
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
26 /* #include <ifdef.h>*/
27 /* #include <devpkey.h> */
28 /* #include <pciprop.h> */
30 #define _NDIS_CONTROL_CODE(request, method) \
31 CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, request, method, FILE_ANY_ACCESS)
33 #define IOCTL_NDIS_QUERY_GLOBAL_STATS _NDIS_CONTROL_CODE(0, METHOD_OUT_DIRECT)
34 #define IOCTL_NDIS_QUERY_ALL_STATS _NDIS_CONTROL_CODE(1, METHOD_OUT_DIRECT)
35 #define IOCTL_NDIS_DO_PNP_OPERATION _NDIS_CONTROL_CODE(2, METHOD_BUFFERED)
36 #define IOCTL_NDIS_QUERY_SELECTED_STATS _NDIS_CONTROL_CODE(3, METHOD_OUT_DIRECT)
37 #define IOCTL_NDIS_ENUMERATE_INTERFACES _NDIS_CONTROL_CODE(4, METHOD_BUFFERED)
38 #define IOCTL_NDIS_ADD_TDI_DEVICE _NDIS_CONTROL_CODE(5, METHOD_BUFFERED)
39 #define IOCTL_NDIS_GET_LOG_DATA _NDIS_CONTROL_CODE(7, METHOD_OUT_DIRECT)
40 #define IOCTL_NDIS_GET_VERSION _NDIS_CONTROL_CODE(8, METHOD_BUFFERED)
42 #define IOCTL_NDIS_RESERVED1 _NDIS_CONTROL_CODE(0x09, METHOD_BUFFERED)
43 #define IOCTL_NDIS_RESERVED2 _NDIS_CONTROL_CODE(0x0a, METHOD_BUFFERED)
44 #define IOCTL_NDIS_RESERVED3 _NDIS_CONTROL_CODE(0x0b, METHOD_BUFFERED)
45 #define IOCTL_NDIS_RESERVED4 _NDIS_CONTROL_CODE(0x0c, METHOD_BUFFERED)
46 #define IOCTL_NDIS_RESERVED5 CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, 0x0d, METHOD_BUFFERED, FILE_ANY_ACCESS)
47 #define IOCTL_NDIS_RESERVED6 CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, 0x0e, METHOD_BUFFERED, FILE_WRITE_ACCESS)
48 #define IOCTL_NDIS_RESERVED7 _NDIS_CONTROL_CODE(0x0f, METHOD_OUT_DIRECT)
49 #define IOCTL_NDIS_RESERVED8 _NDIS_CONTROL_CODE(0x10, METHOD_BUFFERED)
50 #define IOCTL_NDIS_RESERVED9 _NDIS_CONTROL_CODE(0x11, METHOD_BUFFERED)
51 #define IOCTL_NDIS_RESERVED10 _NDIS_CONTROL_CODE(0x12, METHOD_BUFFERED)
52 #define IOCTL_NDIS_RESERVED11 _NDIS_CONTROL_CODE(0x13, METHOD_BUFFERED)
53 #define IOCTL_NDIS_RESERVED12 _NDIS_CONTROL_CODE(0x14, METHOD_BUFFERED)
54 #define IOCTL_NDIS_RESERVED13 _NDIS_CONTROL_CODE(0x15, METHOD_BUFFERED)
57 #define OID_802_11_BSSID 0x0d010101
58 #define OID_802_11_SSID 0x0d010102
59 #define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0d010203
60 #define OID_802_11_NETWORK_TYPE_IN_USE 0x0d010204
61 #define OID_802_11_TX_POWER_LEVEL 0x0d010205
62 #define OID_802_11_RSSI 0x0d010206
63 #define OID_802_11_RSSI_TRIGGER 0x0d010207
64 #define OID_802_11_INFRASTRUCTURE_MODE 0x0d010108
65 #define OID_802_11_FRAGMENTATION_THRESHOLD 0x0d010209
66 #define OID_802_11_RTS_THRESHOLD 0x0d01020a
67 #define OID_802_11_NUMBER_OF_ANTENNAS 0x0d01020b
68 #define OID_802_11_RX_ANTENNA_SELECTED 0x0d01020c
69 #define OID_802_11_TX_ANTENNA_SELECTED 0x0d01020d
70 #define OID_802_11_SUPPORTED_RATES 0x0d01020e
71 #define OID_802_11_DESIRED_RATES 0x0d010210
72 #define OID_802_11_CONFIGURATION 0x0d010211
73 #define OID_802_11_STATISTICS 0x0d020212
74 #define OID_802_11_ADD_WEP 0x0d010113
75 #define OID_802_11_REMOVE_WEP 0x0d010114
76 #define OID_802_11_DISASSOCIATE 0x0d010115
77 #define OID_802_11_POWER_MODE 0x0d010216
78 #define OID_802_11_BSSID_LIST 0x0d010217
79 #define OID_802_11_AUTHENTICATION_MODE 0x0d010118
80 #define OID_802_11_PRIVACY_FILTER 0x0d010119
81 #define OID_802_11_BSSID_LIST_SCAN 0x0d01011a
82 #define OID_802_11_WEP_STATUS 0x0d01011b
83 #define OID_802_11_ENCRYPTION_STATUS OID_802_11_WEP_STATUS
84 #define OID_802_11_RELOAD_DEFAULTS 0x0d01011c
85 #define OID_802_11_ADD_KEY 0x0d01011d
86 #define OID_802_11_REMOVE_KEY 0x0d01011e
87 #define OID_802_11_ASSOCIATION_INFORMATION 0x0d01011f
88 #define OID_802_11_TEST 0x0d010120
89 #define OID_802_11_MEDIA_STREAM_MODE 0x0d010121
90 #define OID_802_11_CAPABILITY 0x0d010122
91 #define OID_802_11_PMKID 0x0d010123
92 #define OID_802_11_NON_BCAST_SSID_LIST 0x0d010124
93 #define OID_802_11_RADIO_STATUS 0x0d010125
95 #define NDIS_802_11_LENGTH_SSID 32
96 #define NDIS_802_11_LENGTH_RATES 8
97 #define NDIS_802_11_LENGTH_RATES_EX 16
99 typedef LONG NDIS_802_11_RSSI;
101 typedef struct _NDIS_802_11_CONFIGURATION_FH {
102 ULONG Length;
103 ULONG HopPattern;
104 ULONG HopSet;
105 ULONG DwellTime;
106 } NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
108 typedef struct _NDIS_802_11_CONFIGURATION {
109 ULONG Length;
110 ULONG BeaconPeriod;
111 ULONG ATIMWindow;
112 ULONG DSConfig;
113 NDIS_802_11_CONFIGURATION_FH FHConfig;
114 } NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION;
116 typedef UCHAR NDIS_802_11_MAC_ADDRESS[6];
118 typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE {
119 Ndis802_11IBSS,
120 Ndis802_11Infrastructure,
121 Ndis802_11AutoUnknown,
122 Ndis802_11InfrastructureMax
123 } NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;
125 typedef enum _NDIS_802_11_NETWORK_TYPE {
126 Ndis802_11FH,
127 Ndis802_11DS,
128 Ndis802_11OFDM5,
129 Ndis802_11OFDM24,
130 Ndis802_11Automode,
131 Ndis802_11NetworkTypeMax
132 } NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;
134 typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES];
135 typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX];
137 typedef struct _NDIS_802_11_SSID {
138 ULONG SsidLength;
139 UCHAR Ssid[NDIS_802_11_LENGTH_SSID];
140 } NDIS_802_11_SSID, *PNDIS_802_11_SSID;
142 typedef struct _NDIS_WLAN_BSSID {
143 ULONG Length;
144 NDIS_802_11_MAC_ADDRESS MacAddress;
145 UCHAR Reserved[2];
146 NDIS_802_11_SSID Ssid;
147 ULONG Privacy;
148 NDIS_802_11_RSSI Rssi;
149 NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
150 NDIS_802_11_CONFIGURATION Configuration;
151 NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
152 NDIS_802_11_RATES SupportedRates;
153 } NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
155 typedef struct _NDIS_802_11_BSSID_LIST {
156 ULONG NumberOfItems;
157 NDIS_WLAN_BSSID Bssid[1];
158 } NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;
160 #ifndef _NDIS_
161 typedef int NDIS_STATUS, *PNDIS_STATUS;
162 #endif
164 #ifdef __cplusplus
166 #endif
168 #endif /* _NTDDNDIS_ */