0e5c13ef68633b6ff732d2c0802a247b6edefec4
[reactos.git] / reactos / include / psdk / ntddndis.h
1 #ifndef _NTDDNDIS_
2 #define _NTDDNDIS_
3
4 /* Defines */
5 #define NDIS_802_11_LENGTH_SSID 32
6 #define NDIS_802_11_LENGTH_RATES 8
7
8 #define OID_802_11_BSSID_LIST 0x0D010217
9 #define OID_802_11_BSSID_LIST_SCAN 0x0D01011A
10
11 /* Enumerations */
12 typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE
13 {
14 Ndis802_11IBSS,
15 Ndis802_11Infrastructure,
16 Ndis802_11AutoUnknown,
17 Ndis802_11InfrastructureMax
18 } NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;
19
20 typedef enum _NDIS_802_11_NETWORK_TYPE
21 {
22 Ndis802_11FH,
23 Ndis802_11DS,
24 Ndis802_11OFDM5,
25 Ndis802_11OFDM24,
26 Ndis802_11Automode,
27 Ndis802_11NetworkTypeMax
28 } NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;
29
30 /* Typedefs */
31 typedef struct _NDIS_OBJECT_HEADER
32 {
33 UCHAR Type;
34 UCHAR Revision;
35 USHORT Size;
36 } NDIS_OBJECT_HEADER, *PNDIS_OBJECT_HEADER;
37
38 typedef UCHAR NDIS_802_11_MAC_ADDRESS[6];
39 typedef LONG NDIS_802_11_RSSI;
40 typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES];
41
42 typedef struct _NDIS_802_11_SSID
43 {
44 ULONG SsidLength;
45 UCHAR Ssid[NDIS_802_11_LENGTH_SSID];
46 } NDIS_802_11_SSID, *PNDIS_802_11_SSID;
47
48 typedef struct _NDIS_802_11_CONFIGURATION_FH
49 {
50 ULONG Length;
51 ULONG HopPattern;
52 ULONG HopSet;
53 ULONG DwellTime;
54 } NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
55
56 typedef struct _NDIS_802_11_CONFIGURATION
57 {
58 ULONG Length;
59 ULONG BeaconPeriod;
60 ULONG ATIMWindow;
61 ULONG DSConfig;
62 NDIS_802_11_CONFIGURATION_FH FHConfig;
63 } NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION;
64
65 typedef struct _NDIS_WLAN_BSSID
66 {
67 ULONG Length;
68 NDIS_802_11_MAC_ADDRESS MacAddress;
69 UCHAR Reserved[2];
70 NDIS_802_11_SSID Ssid;
71 ULONG Privacy;
72 NDIS_802_11_RSSI Rssi;
73 NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
74 NDIS_802_11_CONFIGURATION Configuration;
75 NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
76 NDIS_802_11_RATES SupportedRates;
77 } NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
78
79 typedef struct _NDIS_802_11_BSSID_LIST
80 {
81 ULONG NumberOfItems;
82 NDIS_WLAN_BSSID Bssid[1];
83 } NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;
84
85 /* NDIS driver medium (OID_GEN_MEDIA_SUPPORTED / OID_GEN_MEDIA_IN_USE) */
86 typedef enum _NDIS_MEDIUM {
87 NdisMedium802_3,
88 NdisMedium802_5,
89 NdisMediumFddi,
90 NdisMediumWan,
91 NdisMediumLocalTalk,
92 NdisMediumDix,
93 NdisMediumArcnetRaw,
94 NdisMediumArcnet878_2,
95 NdisMediumAtm,
96 NdisMediumWirelessWan,
97 NdisMediumIrda,
98 NdisMediumBpc,
99 NdisMediumCoWan,
100 NdisMedium1394,
101 NdisMediumMax
102 } NDIS_MEDIUM, *PNDIS_MEDIUM;
103
104 typedef enum _NDIS_PHYSICAL_MEDIUM
105 {
106 NdisPhysicalMediumUnspecified,
107 NdisPhysicalMediumWirelessLan,
108 NdisPhysicalMediumCableModem,
109 NdisPhysicalMediumPhoneLine,
110 NdisPhysicalMediumPowerLine,
111 NdisPhysicalMediumDSL,
112 NdisPhysicalMediumFibreChannel,
113 NdisPhysicalMedium1394,
114 NdisPhysicalMediumWirelessWan,
115 NdisPhysicalMediumNative802_11,
116 NdisPhysicalMediumBluetooth,
117 NdisPhysicalMediumInfiniband,
118 NdisPhysicalMediumWiMax,
119 NdisPhysicalMediumUWB,
120 NdisPhysicalMedium802_3,
121 NdisPhysicalMedium802_5,
122 NdisPhysicalMediumIrda,
123 NdisPhysicalMediumWiredWAN,
124 NdisPhysicalMediumWiredCoWan,
125 NdisPhysicalMediumOther,
126 NdisPhysicalMediumMax
127 } NDIS_PHYSICAL_MEDIUM, *PNDIS_PHYSICAL_MEDIUM;
128
129 #endif