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