1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 use ctypes::c_int;
7 use shared::ifdef::IF_MAX_STRING_SIZE;
8 use shared::minwindef::{UCHAR, USHORT};
9 //290
10 STRUCT!{struct NDIS_OBJECT_HEADER {
11     Type: UCHAR,
12     Revision: UCHAR,
13     Size: USHORT,
14 }}
15 pub type PNDIS_OBJECT_HEADER = *mut NDIS_OBJECT_HEADER;
16 //2274
17 ENUM!{enum NDIS_MEDIUM {
18     NdisMedium802_3 = 0,
19     NdisMedium802_5 = 1,
20     NdisMediumFddi = 2,
21     NdisMediumWan = 3,
22     NdisMediumLocalTalk = 4,
23     NdisMediumDix = 5,
24     NdisMediumArcnetRaw = 6,
25     NdisMediumArcnet878_2 = 7,
26     NdisMediumAtm = 8,
27     NdisMediumWirelessWan = 9,
28     NdisMediumIrda = 10,
29     NdisMediumBpc = 11,
30     NdisMediumCoWan = 12,
31     NdisMedium1394 = 13,
32     NdisMediumInfiniBand = 14,
33     NdisMediumTunnel = 15,
34     NdisMediumNative802_11 = 16,
35     NdisMediumLoopback = 17,
36     NdisMediumWiMAX = 18,
37     NdisMediumIP = 19,
38     NdisMediumMax = 20,
39 }}
40 pub type PNDIS_MEDIUM = *mut NDIS_MEDIUM;
41 ENUM!{enum NDIS_PHYSICAL_MEDIUM {
42     NdisPhysicalMediumUnspecified = 0,
43     NdisPhysicalMediumWirelessLan = 1,
44     NdisPhysicalMediumCableModem = 2,
45     NdisPhysicalMediumPhoneLine = 3,
46     NdisPhysicalMediumPowerLine = 4,
47     NdisPhysicalMediumDSL = 5,
48     NdisPhysicalMediumFibreChannel = 6,
49     NdisPhysicalMedium1394 = 7,
50     NdisPhysicalMediumWirelessWan = 8,
51     NdisPhysicalMediumNative802_11 = 9,
52     NdisPhysicalMediumBluetooth = 10,
53     NdisPhysicalMediumInfiniband = 11,
54     NdisPhysicalMediumWiMax = 12,
55     NdisPhysicalMediumUWB = 13,
56     NdisPhysicalMedium802_3 = 14,
57     NdisPhysicalMedium802_5 = 15,
58     NdisPhysicalMediumIrda = 16,
59     NdisPhysicalMediumWiredWAN = 17,
60     NdisPhysicalMediumWiredCoWan = 18,
61     NdisPhysicalMediumOther = 19,
62     NdisPhysicalMediumMax = 20,
63 }}
64 pub type PNDIS_PHYSICAL_MEDIUM = *mut NDIS_PHYSICAL_MEDIUM;
65 //2691
66 pub type NDIS_STATUS = c_int;
67 pub type PNDIS_STATUS = *mut c_int;
68 //2736
69 pub const NDIS_PACKET_TYPE_DIRECTED: u32 = 0x00000001;
70 pub const NDIS_PACKET_TYPE_MULTICAST: u32 = 0x00000002;
71 pub const NDIS_PACKET_TYPE_ALL_MULTICAST: u32 = 0x00000004;
72 pub const NDIS_PACKET_TYPE_BROADCAST: u32 = 0x00000008;
73 pub const NDIS_PACKET_TYPE_PROMISCUOUS: u32 = 0x00000020;
74 //2835
75 pub const NDIS_IF_MAX_STRING_SIZE: usize = IF_MAX_STRING_SIZE;
76