summaryrefslogtreecommitdiffstats
path: root/third_party/rust/winapi/src/shared/ifdef.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/winapi/src/shared/ifdef.rs')
-rw-r--r--third_party/rust/winapi/src/shared/ifdef.rs208
1 files changed, 208 insertions, 0 deletions
diff --git a/third_party/rust/winapi/src/shared/ifdef.rs b/third_party/rust/winapi/src/shared/ifdef.rs
new file mode 100644
index 0000000000..fa1e1bcef8
--- /dev/null
+++ b/third_party/rust/winapi/src/shared/ifdef.rs
@@ -0,0 +1,208 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+use shared::basetsd::{UINT16, UINT32, ULONG32, ULONG64};
+use shared::guiddef::GUID;
+use shared::ntdef::{BOOLEAN, UCHAR, ULONG, USHORT, WCHAR};
+pub type NET_IF_COMPARTMENT_ID = UINT32;
+pub type PNET_IF_COMPARTMENT_ID = *mut NET_IF_COMPARTMENT_ID;
+pub const NET_IF_COMPARTMENT_ID_UNSPECIFIED: NET_IF_COMPARTMENT_ID = 0;
+pub const NET_IF_COMPARTMENT_ID_PRIMARY: NET_IF_COMPARTMENT_ID = 1;
+pub type NET_IF_NETWORK_GUID = GUID;
+pub type PNET_IF_NETWORK_GUID = *mut NET_IF_NETWORK_GUID;
+ENUM!{enum NET_IF_OPER_STATUS {
+ NET_IF_OPER_STATUS_UP = 1,
+ NET_IF_OPER_STATUS_DOWN = 2,
+ NET_IF_OPER_STATUS_TESTING = 3,
+ NET_IF_OPER_STATUS_UNKNOWN = 4,
+ NET_IF_OPER_STATUS_DORMANT = 5,
+ NET_IF_OPER_STATUS_NOT_PRESENT = 6,
+ NET_IF_OPER_STATUS_LOWER_LAYER_DOWN = 7,
+}}
+pub type PNET_IF_OPER_STATUS = *mut NET_IF_OPER_STATUS;
+pub type NET_IF_OBJECT_ID = ULONG32;
+pub type PNET_IF_OBJECT_ID = *mut NET_IF_OBJECT_ID;
+ENUM!{enum NET_IF_ADMIN_STATUS {
+ NET_IF_ADMIN_STATUS_UP = 1,
+ NET_IF_ADMIN_STATUS_DOWN = 2,
+ NET_IF_ADMIN_STATUS_TESTING = 3,
+}}
+pub type PNET_IF_ADMIN_STATUS = *mut NET_IF_ADMIN_STATUS;
+pub type NET_IF_COMPARTMENT_SCOPE = UINT32;
+pub type PNET_IF_COMPARTMENT_SCOPE = *mut NET_IF_COMPARTMENT_SCOPE;
+pub const NET_IF_COMPARTMENT_SCOPE_UNSPECIFIED: NET_IF_COMPARTMENT_SCOPE = 0;
+pub const NET_IF_COMPARTMENT_SCOPE_ALL: NET_IF_COMPARTMENT_SCOPE = -1i32 as u32;
+ENUM!{enum NET_IF_RCV_ADDRESS_TYPE {
+ NET_IF_RCV_ADDRESS_TYPE_OTHER = 1,
+ NET_IF_RCV_ADDRESS_TYPE_VOLATILE = 2,
+ NET_IF_RCV_ADDRESS_TYPE_NON_VOLATILE = 3,
+}}
+pub type PNET_IF_RCV_ADDRESS_TYPE = *mut NET_IF_RCV_ADDRESS_TYPE;
+STRUCT!{struct NET_IF_RCV_ADDRESS_LH {
+ ifRcvAddressType: NET_IF_RCV_ADDRESS_TYPE,
+ ifRcvAddressLength: USHORT,
+ ifRcvAddressOffset: USHORT,
+}}
+pub type PNET_IF_RCV_ADDRESS_LH = *mut NET_IF_RCV_ADDRESS_LH;
+STRUCT!{struct NET_IF_ALIAS_LH {
+ ifAliasLength: USHORT,
+ ifAliasOffset: USHORT,
+}}
+pub type PNET_IF_ALIAS_LH = *mut NET_IF_ALIAS_LH;
+// FIXME: Switch to union version in 0.4
+// STRUCT!{struct NET_LUID_LH_Info {
+// bitfield: ULONG64,
+// }}
+// BITFIELD!{NET_LUID_LH_Info bitfield: ULONG64 [
+// Reserved set_Reserved[0..24],
+// NetLuidIndex set_NetLuidIndex[24..48],
+// IfType set_IfType[48..64],
+// ]}
+// UNION!{struct NET_LUID_LH {
+// [u64; 1],
+// Value Value_mut: ULONG64,
+// Info Info_mut: NET_LUID_LH_Info,
+// }}
+STRUCT!{struct NET_LUID_LH {
+ Value: ULONG64,
+}}
+BITFIELD!{NET_LUID_LH Value: ULONG64 [
+ Reserved set_Reserved[0..24],
+ NetLuidIndex set_NetLuidIndex[24..48],
+ IfType set_IfType[48..64],
+]}
+pub type PNET_LUID_LH = *mut NET_LUID_LH;
+pub type NET_IF_RCV_ADDRESS = NET_IF_RCV_ADDRESS_LH;
+pub type PNET_IF_RCV_ADDRESS = *mut NET_IF_RCV_ADDRESS;
+pub type NET_IF_ALIAS = NET_IF_ALIAS_LH;
+pub type PNET_IF_ALIAS = *mut NET_IF_ALIAS;
+pub type NET_LUID = NET_LUID_LH;
+pub type PNET_LUID = *mut NET_LUID;
+pub type IF_LUID = NET_LUID;
+pub type PIF_LUID = *mut NET_LUID;
+pub type NET_IFINDEX = ULONG;
+pub type PNET_IFINDEX = *mut NET_IFINDEX;
+pub type NET_IFTYPE = UINT16;
+pub type PNET_IFTYPE = *mut NET_IFTYPE;
+pub type IF_INDEX = NET_IFINDEX;
+pub type PIF_INDEX = *mut NET_IFINDEX;
+ENUM!{enum NET_IF_CONNECTION_TYPE {
+ NET_IF_CONNECTION_DEDICATED = 1,
+ NET_IF_CONNECTION_PASSIVE = 2,
+ NET_IF_CONNECTION_DEMAND = 3,
+ NET_IF_CONNECTION_MAXIMUM = 4,
+}}
+pub type PNET_IF_CONNECTION_TYPE = *mut NET_IF_CONNECTION_TYPE;
+ENUM!{enum TUNNEL_TYPE {
+ TUNNEL_TYPE_NONE = 0,
+ TUNNEL_TYPE_OTHER = 1,
+ TUNNEL_TYPE_DIRECT = 2,
+ TUNNEL_TYPE_6TO4 = 11,
+ TUNNEL_TYPE_ISATAP = 13,
+ TUNNEL_TYPE_TEREDO = 14,
+ TUNNEL_TYPE_IPHTTPS = 15,
+}}
+pub type PTUNNEL_TYPE = *mut TUNNEL_TYPE;
+ENUM!{enum NET_IF_ACCESS_TYPE {
+ NET_IF_ACCESS_LOOPBACK = 1,
+ NET_IF_ACCESS_BROADCAST = 2,
+ NET_IF_ACCESS_POINT_TO_POINT = 3,
+ NET_IF_ACCESS_POINT_TO_MULTI_POINT = 4,
+ NET_IF_ACCESS_MAXIMUM = 5,
+}}
+pub type PNET_IF_ACCESS_TYPE = *mut NET_IF_ACCESS_TYPE;
+ENUM!{enum NET_IF_DIRECTION_TYPE {
+ NET_IF_DIRECTION_SENDRECEIVE,
+ NET_IF_DIRECTION_SENDONLY,
+ NET_IF_DIRECTION_RECEIVEONLY,
+ NET_IF_DIRECTION_MAXIMUM,
+}}
+pub type PNET_IF_DIRECTION_TYPE = *mut NET_IF_DIRECTION_TYPE;
+ENUM!{enum NET_IF_MEDIA_CONNECT_STATE {
+ MediaConnectStateUnknown,
+ MediaConnectStateConnected,
+ MediaConnectStateDisconnected,
+}}
+pub type PNET_IF_MEDIA_CONNECT_STATE = *mut NET_IF_MEDIA_CONNECT_STATE;
+ENUM!{enum NET_IF_MEDIA_DUPLEX_STATE {
+ MediaDuplexStateUnknown = 0,
+ MediaDuplexStateHalf = 1,
+ MediaDuplexStateFull = 2,
+}}
+pub type PNET_IF_MEDIA_DUPLEX_STATE = *mut NET_IF_MEDIA_DUPLEX_STATE;
+STRUCT!{struct NET_PHYSICAL_LOCATION_LH {
+ BusNumber: ULONG,
+ SlotNumber: ULONG,
+ FunctionNumber: ULONG,
+}}
+pub type PNET_PHYSICAL_LOCATION_LH = *mut NET_PHYSICAL_LOCATION_LH;
+pub const IF_MAX_STRING_SIZE: usize = 256;
+pub const IF_MAX_PHYS_ADDRESS_LENGTH: usize = 32;
+STRUCT!{struct IF_COUNTED_STRING_LH {
+ Length: USHORT,
+ String: [WCHAR; IF_MAX_STRING_SIZE + 1],
+}}
+pub type PIF_COUNTED_STRING_LH = *mut IF_COUNTED_STRING_LH;
+STRUCT!{struct IF_PHYSICAL_ADDRESS_LH {
+ Length: USHORT,
+ Address: [UCHAR; IF_MAX_PHYS_ADDRESS_LENGTH],
+}}
+pub type PIF_PHYSICAL_ADDRESS_LH = *mut IF_PHYSICAL_ADDRESS_LH;
+pub type NET_PHYSICAL_LOCATION = NET_PHYSICAL_LOCATION_LH;
+pub type PNET_PHYSICAL_LOCATION = *mut NET_PHYSICAL_LOCATION;
+pub type IF_COUNTED_STRING = IF_COUNTED_STRING_LH;
+pub type PIF_COUNTED_STRING = *mut IF_COUNTED_STRING;
+pub type IF_PHYSICAL_ADDRESS = IF_PHYSICAL_ADDRESS_LH;
+pub type PIF_PHYSICAL_ADDRESS = *mut IF_PHYSICAL_ADDRESS;
+ENUM!{enum IF_ADMINISTRATIVE_STATE {
+ IF_ADMINISTRATIVE_DISABLED = 0,
+ IF_ADMINISTRATIVE_ENABLED = 1,
+ IF_ADMINISTRATIVE_DEMANDDIAL = 2,
+}}
+pub type PIF_ADMINISTRATIVE_STATE = *mut IF_ADMINISTRATIVE_STATE;
+ENUM!{enum IF_OPER_STATUS {
+ IfOperStatusUp = 1,
+ IfOperStatusDown,
+ IfOperStatusTesting,
+ IfOperStatusUnknown,
+ IfOperStatusDormant,
+ IfOperStatusNotPresent,
+ IfOperStatusLowerLayerDown,
+}}
+STRUCT!{struct NDIS_INTERFACE_INFORMATION {
+ ifOperStatus: NET_IF_OPER_STATUS,
+ ifOperStatusFlags: ULONG,
+ MediaConnectState: NET_IF_MEDIA_CONNECT_STATE,
+ MediaDuplexState: NET_IF_MEDIA_DUPLEX_STATE,
+ ifMtu: ULONG,
+ ifPromiscuousMode: BOOLEAN,
+ ifDeviceWakeUpEnable: BOOLEAN,
+ XmitLinkSpeed: ULONG64,
+ RcvLinkSpeed: ULONG64,
+ ifLastChange: ULONG64,
+ ifCounterDiscontinuityTime: ULONG64,
+ ifInUnknownProtos: ULONG64,
+ ifInDiscards: ULONG64,
+ ifInErrors: ULONG64,
+ ifHCInOctets: ULONG64,
+ ifHCInUcastPkts: ULONG64,
+ ifHCInMulticastPkts: ULONG64,
+ ifHCInBroadcastPkts: ULONG64,
+ ifHCOutOctets: ULONG64,
+ ifHCOutUcastPkts: ULONG64,
+ ifHCOutMulticastPkts: ULONG64,
+ ifHCOutBroadcastPkts: ULONG64,
+ ifOutErrors: ULONG64,
+ ifOutDiscards: ULONG64,
+ ifHCInUcastOctets: ULONG64,
+ ifHCInMulticastOctets: ULONG64,
+ ifHCInBroadcastOctets: ULONG64,
+ ifHCOutUcastOctets: ULONG64,
+ ifHCOutMulticastOctets: ULONG64,
+ ifHCOutBroadcastOctets: ULONG64,
+ CompartmentId: NET_IF_COMPARTMENT_ID,
+ SupportedStatistics: ULONG,
+}}
+pub type PNDIS_INTERFACE_INFORMATION = *mut NDIS_INTERFACE_INFORMATION;