aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/iphlpapi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/iphlpapi.rs')
-rw-r--r--vendor/winapi/src/um/iphlpapi.rs521
1 files changed, 0 insertions, 521 deletions
diff --git a/vendor/winapi/src/um/iphlpapi.rs b/vendor/winapi/src/um/iphlpapi.rs
deleted file mode 100644
index 926545b..0000000
--- a/vendor/winapi/src/um/iphlpapi.rs
+++ /dev/null
@@ -1,521 +0,0 @@
-// 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.
-// #include <iprtrmib.h>
-// #include <ipexport.h>
-// #include <iptypes.h>
-// #include <tcpestats.h>
-use shared::basetsd::{PULONG64, ULONG64};
-use shared::ifdef::NET_LUID;
-use shared::ifmib::{PMIB_IFROW, PMIB_IFTABLE};
-use shared::ipmib::{
- PMIB_ICMP, PMIB_ICMP_EX, PMIB_IPADDRTABLE, PMIB_IPFORWARDROW, PMIB_IPFORWARDTABLE,
- PMIB_IPNETROW, PMIB_IPNETTABLE, PMIB_IPSTATS
-};
-use shared::iprtrmib::{TCPIP_OWNER_MODULE_INFO_CLASS, TCP_TABLE_CLASS, UDP_TABLE_CLASS};
-use shared::minwindef::{BOOL, BYTE, DWORD, LPDWORD, PDWORD, PUCHAR, PULONG, UINT};
-use shared::ntdef::{
- BOOLEAN, HANDLE, LPWSTR, PHANDLE, PVOID, PWSTR, ULONG, ULONGLONG, USHORT, WCHAR,
-};
-use shared::tcpestats::TCP_ESTATS_TYPE;
-use shared::tcpmib::{
- PMIB_TCP6ROW, PMIB_TCP6ROW_OWNER_MODULE, PMIB_TCP6TABLE, PMIB_TCP6TABLE2, PMIB_TCPROW,
- PMIB_TCPROW_OWNER_MODULE, PMIB_TCPSTATS, PMIB_TCPSTATS2, PMIB_TCPTABLE, PMIB_TCPTABLE2
-};
-use shared::udpmib::{
- PMIB_UDP6ROW_OWNER_MODULE, PMIB_UDP6TABLE, PMIB_UDPROW_OWNER_MODULE, PMIB_UDPSTATS,
- PMIB_UDPSTATS2, PMIB_UDPTABLE
-};
-use shared::ws2def::{PSOCKADDR, SOCKADDR, SOCKADDR_IN};
-use shared::ws2ipdef::SOCKADDR_IN6;
-use um::ipexport::{
- IPAddr, IPMask, IP_STATUS, PIP_ADAPTER_INDEX_MAP, PIP_ADAPTER_ORDER_MAP, PIP_INTERFACE_INFO,
- PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,
-};
-use um::iptypes::{
- PFIXED_INFO, PIP_ADAPTER_ADDRESSES, PIP_ADAPTER_INFO, PIP_INTERFACE_NAME_INFO,
- PIP_PER_ADAPTER_INFO,
-};
-use um::minwinbase::{LPOVERLAPPED,OVERLAPPED};
-extern "system" {
- pub fn GetNumberOfInterfaces(
- pdwNumIf: PDWORD
- ) -> DWORD;
- pub fn GetIfEntry(
- pIfRow: PMIB_IFROW,
- ) -> DWORD;
- pub fn GetIfTable(
- pIfTable: PMIB_IFTABLE,
- pdwSize: PULONG,
- bOrder: BOOL,
- ) -> DWORD;
- pub fn GetIpAddrTable(
- pIpAddrTable: PMIB_IPADDRTABLE,
- pdwSize: PULONG,
- bOrder: BOOL,
- ) -> DWORD;
- pub fn GetIpNetTable(
- IpNetTable: PMIB_IPNETTABLE,
- SizePointer: PULONG,
- Order: BOOL,
- ) -> ULONG;
- pub fn GetIpForwardTable(
- pIpForwardTable: PMIB_IPFORWARDTABLE,
- pdwSize: PULONG,
- bOrder: BOOL,
- ) -> DWORD;
- pub fn GetTcpTable(
- TcpTable: PMIB_TCPTABLE,
- SizePointer: PULONG,
- Order: BOOL,
- ) -> ULONG;
- // https://msdn.microsoft.com/en-us/library/windows/desktop/aa365928(v=vs.85).aspx
- pub fn GetExtendedTcpTable(
- pTcpTable: PVOID,
- pdwSize: PDWORD,
- bOrder: BOOL,
- ulAf: ULONG,
- TableClass: TCP_TABLE_CLASS,
- Reserved: ULONG,
- ) -> DWORD;
- pub fn GetOwnerModuleFromTcpEntry(
- pTcpEntry: PMIB_TCPROW_OWNER_MODULE,
- Class: TCPIP_OWNER_MODULE_INFO_CLASS,
- pBuffer: PVOID,
- pdwSize: PDWORD,
- ) -> DWORD;
- pub fn GetUdpTable(
- UdpTable: PMIB_UDPTABLE,
- SizePointer: PULONG,
- Order: BOOL,
- ) -> ULONG;
- pub fn GetExtendedUdpTable(
- pUdpTable: PVOID,
- pdwSize: PDWORD,
- bOrder: BOOL,
- ulAf: ULONG,
- TableClass: UDP_TABLE_CLASS,
- Reserved: ULONG,
- ) -> DWORD;
- pub fn GetOwnerModuleFromUdpEntry(
- pUdpEntry: PMIB_UDPROW_OWNER_MODULE,
- Class: TCPIP_OWNER_MODULE_INFO_CLASS,
- pBuffer: PVOID,
- pdwSize: PDWORD,
- ) -> DWORD;
- pub fn GetTcpTable2(
- TcpTable: PMIB_TCPTABLE2,
- SizePointer: PULONG,
- Order: BOOL,
- ) -> ULONG;
- // Deprecated APIs, Added for documentation.
- // pub fn AllocateAndGetTcpExTableFromStack() -> DWORD;
- // pub fn AllocateAndGetUdpExTableFromStack() -> DWORD;
- pub fn GetTcp6Table(
- TcpTable: PMIB_TCP6TABLE,
- SizePointer: PULONG,
- Order: BOOL,
- ) -> ULONG;
- pub fn GetTcp6Table2(
- TcpTable: PMIB_TCP6TABLE2,
- SizePointer: PULONG,
- Order: BOOL,
- ) -> ULONG;
- pub fn GetPerTcpConnectionEStats(
- Row: PMIB_TCPROW,
- EstatsType: TCP_ESTATS_TYPE,
- Rw: PUCHAR,
- RwVersion: ULONG,
- RwSize: ULONG,
- Ros: PUCHAR,
- RosVersion: ULONG,
- RosSize: ULONG,
- Rod: PUCHAR,
- RodVersion: ULONG,
- RodSize: ULONG,
- ) -> ULONG;
- pub fn SetPerTcpConnectionEStats(
- Row: PMIB_TCPROW,
- EstatsType: TCP_ESTATS_TYPE,
- Rw: PUCHAR,
- RwVersion: ULONG,
- RwSize: ULONG,
- Offset: ULONG,
- ) -> ULONG;
- pub fn GetPerTcp6ConnectionEStats(
- Row: PMIB_TCP6ROW,
- EstatsType: TCP_ESTATS_TYPE,
- Rw: PUCHAR,
- RwVersion: ULONG,
- RwSize: ULONG,
- Ros: PUCHAR,
- RosVersion: ULONG,
- RosSize: ULONG,
- Rod: PUCHAR,
- RodVersion: ULONG,
- RodSize: ULONG,
- ) -> ULONG;
- pub fn SetPerTcp6ConnectionEStats(
- Row: PMIB_TCP6ROW,
- EstatsType: TCP_ESTATS_TYPE,
- Rw: PUCHAR,
- RwVersion: ULONG,
- RwSize: ULONG,
- Offset: ULONG,
- ) -> ULONG;
- pub fn GetOwnerModuleFromTcp6Entry(
- pTcpEntry: PMIB_TCP6ROW_OWNER_MODULE,
- Class: TCPIP_OWNER_MODULE_INFO_CLASS,
- pBuffer: PVOID,
- pdwSize: PDWORD,
- ) -> DWORD;
- pub fn GetUdp6Table(
- Udp6Table: PMIB_UDP6TABLE,
- SizePointer: PULONG,
- Order: BOOL,
- ) -> ULONG;
- pub fn GetOwnerModuleFromUdp6Entry(
- pUdpEntry: PMIB_UDP6ROW_OWNER_MODULE,
- Class: TCPIP_OWNER_MODULE_INFO_CLASS,
- pBuffer: PVOID,
- pdwSize: PDWORD,
- ) -> DWORD;
- pub fn GetOwnerModuleFromPidAndInfo(
- ulPid: ULONG,
- pInfo: *mut ULONGLONG,
- Class: TCPIP_OWNER_MODULE_INFO_CLASS,
- pBuffer: PVOID,
- pdwSize: PDWORD,
- ) -> DWORD;
- pub fn GetIpStatistics(
- Statistics: PMIB_IPSTATS,
- ) -> ULONG;
- pub fn GetIcmpStatistics(
- Statistics: PMIB_ICMP,
- ) -> ULONG;
- pub fn GetTcpStatistics(
- Statistics: PMIB_TCPSTATS,
- ) -> ULONG;
- pub fn GetUdpStatistics(
- Stats: PMIB_UDPSTATS,
- ) -> ULONG;
- pub fn SetIpStatisticsEx(
- Statistics: PMIB_IPSTATS,
- Family: ULONG,
- ) -> ULONG;
- pub fn GetIpStatisticsEx(
- Statistics: PMIB_IPSTATS,
- Family: ULONG,
- ) -> ULONG;
- pub fn GetIcmpStatisticsEx(
- Statistics: PMIB_ICMP_EX,
- Family: ULONG,
- ) -> ULONG;
- pub fn GetTcpStatisticsEx(
- Statistics: PMIB_TCPSTATS,
- Family: ULONG,
- ) -> ULONG;
- pub fn GetUdpStatisticsEx(
- Statistics: PMIB_UDPSTATS,
- Family: ULONG,
- ) -> ULONG;
- pub fn GetTcpStatisticsEx2(
- Statistics: PMIB_TCPSTATS2,
- Family: ULONG,
- ) -> ULONG;
- pub fn GetUdpStatisticsEx2(
- Statistics: PMIB_UDPSTATS2,
- Family: ULONG,
- ) -> ULONG;
- pub fn SetIfEntry(
- pIfRow: PMIB_IFROW,
- ) -> DWORD;
- pub fn CreateIpForwardEntry(
- pRoute: PMIB_IPFORWARDROW,
- ) -> DWORD;
- pub fn SetIpForwardEntry(
- pRoute: PMIB_IPFORWARDROW,
- ) -> DWORD;
- pub fn DeleteIpForwardEntry(
- pRoute: PMIB_IPFORWARDROW,
- ) -> DWORD;
- pub fn SetIpStatistics(
- pIpStats: PMIB_IPSTATS,
- ) -> DWORD;
- pub fn SetIpTTL(
- nTTL: UINT,
- ) -> DWORD;
- pub fn CreateIpNetEntry(
- pArpEntry: PMIB_IPNETROW,
- ) -> DWORD;
- pub fn SetIpNetEntry(
- pArpEntry: PMIB_IPNETROW,
- ) -> DWORD;
- pub fn DeleteIpNetEntry(
- pArpEntry: PMIB_IPNETROW,
- ) -> DWORD;
- pub fn FlushIpNetTable(
- dwIfIndex: DWORD,
- ) -> DWORD;
- pub fn CreateProxyArpEntry(
- dwAddress: DWORD,
- dwMask: DWORD,
- dwIfIndex: DWORD,
- ) -> DWORD;
- pub fn DeleteProxyArpEntry(
- dwAddress: DWORD,
- dwMask: DWORD,
- dwIfIndex: DWORD,
- ) -> DWORD;
- pub fn SetTcpEntry(
- pTcpRow: PMIB_TCPROW,
- ) -> DWORD;
- pub fn GetInterfaceInfo(
- pIfTable: PIP_INTERFACE_INFO,
- dwOutBufLen: PULONG,
- ) -> DWORD;
- pub fn GetUniDirectionalAdapterInfo(
- pIPIfInfo: PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,
- dwOutBufLen: PULONG,
- ) -> DWORD;
- pub fn NhpAllocateAndGetInterfaceInfoFromStack(
- ppTable: *mut PIP_INTERFACE_NAME_INFO,
- pdwCount: PDWORD,
- bOrder: BOOL,
- hHeap: HANDLE,
- dwFlags: DWORD,
- ) -> DWORD;
- pub fn GetBestInterface(
- dwDestAddr: IPAddr,
- pdwBestIfIndex: PDWORD,
- ) -> DWORD;
- pub fn GetBestInterfaceEx(
- pDestAddr: PSOCKADDR,
- pdwBestIfIndex: PDWORD,
- ) -> DWORD;
- pub fn GetBestRoute(
- dwDestAddr: DWORD,
- dwSourceAddr: DWORD,
- pBestRoute: PMIB_IPFORWARDROW,
- ) -> DWORD;
- pub fn NotifyAddrChange(
- Handle: PHANDLE,
- overlapped: LPOVERLAPPED,
- ) -> DWORD;
- pub fn NotifyRouteChange(
- Handle: PHANDLE,
- overlapped: LPOVERLAPPED,
- ) -> DWORD;
- pub fn CancelIPChangeNotify(
- notifyOverlapped: LPOVERLAPPED
- ) -> BOOL;
- pub fn GetAdapterIndex(
- AdapterName: LPWSTR,
- IfIndex: PULONG,
- ) -> DWORD;
- pub fn AddIPAddress(
- Address: IPAddr,
- IpMask: IPMask,
- IfIndex: DWORD,
- NTEContext: PULONG,
- NTEInstance: PULONG,
- ) -> DWORD;
- pub fn DeleteIPAddress(
- NTEContext: ULONG,
- ) -> DWORD;
- pub fn GetNetworkParams(
- pFixedInfo: PFIXED_INFO,
- pOutBufLen: PULONG,
- ) -> DWORD;
- pub fn GetAdaptersInfo(
- AdapterInfo: PIP_ADAPTER_INFO,
- SizePointer: PULONG,
- ) -> ULONG;
- pub fn GetAdapterOrderMap() -> PIP_ADAPTER_ORDER_MAP;
- pub fn GetAdaptersAddresses(
- Family: ULONG,
- Flags: ULONG,
- Reserved: PVOID,
- AdapterAddresses: PIP_ADAPTER_ADDRESSES,
- SizePointer: PULONG,
- ) -> ULONG;
- pub fn GetPerAdapterInfo(
- IfIndex: ULONG,
- pPerAdapterInfo: PIP_PER_ADAPTER_INFO,
- pOutBufLen: PULONG,
- ) -> DWORD;
-}
-STRUCT!{struct INTERFACE_TIMESTAMP_CAPABILITY_FLAGS {
- PtpV2OverUdpIPv4EventMsgReceiveHw: BOOLEAN,
- PtpV2OverUdpIPv4AllMsgReceiveHw: BOOLEAN,
- PtpV2OverUdpIPv4EventMsgTransmitHw: BOOLEAN,
- PtpV2OverUdpIPv4AllMsgTransmitHw: BOOLEAN,
- PtpV2OverUdpIPv6EventMsgReceiveHw: BOOLEAN,
- PtpV2OverUdpIPv6AllMsgReceiveHw: BOOLEAN,
- PtpV2OverUdpIPv6EventMsgTransmitHw: BOOLEAN,
- PtpV2OverUdpIPv6AllMsgTransmitHw: BOOLEAN,
- AllReceiveHw: BOOLEAN,
- AllTransmitHw: BOOLEAN,
- TaggedTransmitHw: BOOLEAN,
- AllReceiveSw: BOOLEAN,
- AllTransmitSw: BOOLEAN,
- TaggedTransmitSw: BOOLEAN,
-}}
-pub type PINTERFACE_TIMESTAMP_CAPABILITY_FLAGS = *mut INTERFACE_TIMESTAMP_CAPABILITY_FLAGS;
-STRUCT!{struct INTERFACE_TIMESTAMP_CAPABILITIES {
- Version: ULONG,
- HardwareClockFrequencyHz: ULONG64,
- CrossTimestamp: BOOLEAN,
- Reserved1: ULONG64,
- Reserved2: ULONG64,
- TimestampFlags: INTERFACE_TIMESTAMP_CAPABILITY_FLAGS,
-}}
-pub type PINTERFACE_TIMESTAMP_CAPABILITIES = *mut INTERFACE_TIMESTAMP_CAPABILITIES;
-STRUCT!{struct INTERFACE_HARDWARE_CROSSTIMESTAMP {
- Version: ULONG,
- Flags: ULONG,
- SystemTimestamp1: ULONG64,
- HardwareClockTimestamp: ULONG64,
- SystemTimestamp2: ULONG64,
-}}
-pub type PINTERFACE_HARDWARE_CROSSTIMESTAMP = *mut INTERFACE_HARDWARE_CROSSTIMESTAMP;
-DECLARE_HANDLE!{HIFTIMESTAMPCHANGE, HIFTIMESTAMPCHANGE__}
-extern "system" {
- pub fn GetInterfaceCurrentTimestampCapabilities(
- InterfaceLuid: *const NET_LUID,
- TimestampCapabilite: PINTERFACE_TIMESTAMP_CAPABILITIES,
- ) -> DWORD;
- pub fn GetInterfaceHardwareTimestampCapabilities(
- InterfaceLuid: *const NET_LUID,
- TimestampCapabilite: PINTERFACE_TIMESTAMP_CAPABILITIES,
- ) -> DWORD;
- pub fn CaptureInterfaceHardwareCrossTimestamp(
- InterfaceLuid: *const NET_LUID,
- CrossTimestamp: PINTERFACE_HARDWARE_CROSSTIMESTAMP,
- ) -> DWORD;
-}
-FN!{stdcall INTERFACE_TIMESTAMP_CONFIG_CHANGE_CALLBACK(
- CallerContext: PVOID,
-) -> ()}
-pub type PINTERFACE_TIMESTAMP_CONFIG_CHANGE_CALLBACK = *mut
- INTERFACE_TIMESTAMP_CONFIG_CHANGE_CALLBACK;
-extern "system" {
- pub fn NotifyIfTimestampConfigChange(
- CallerContext: PVOID,
- Callback: PINTERFACE_TIMESTAMP_CONFIG_CHANGE_CALLBACK,
- NotificationHandle: *mut HIFTIMESTAMPCHANGE,
- ) -> DWORD;
- pub fn CancelIfTimestampConfigChange(
- NotificationHandle: HIFTIMESTAMPCHANGE,
- );
- pub fn IpReleaseAddress(
- AdapterInfo: PIP_ADAPTER_INDEX_MAP,
- ) -> DWORD;
- pub fn IpRenewAddress(
- AdapterInfo: PIP_ADAPTER_INDEX_MAP,
- ) -> DWORD;
- pub fn SendARP(
- DestIP: IPAddr,
- SrcIP: IPAddr,
- pMacAddr: PVOID,
- PhyAddrLen: PULONG,
- ) -> DWORD;
- pub fn GetRTTAndHopCount(
- DestIpAddress: IPAddr,
- HopCount: PULONG,
- MaxHops: ULONG,
- RTT: PULONG,
- ) -> BOOL;
- pub fn GetFriendlyIfIndex(
- IfIndex: DWORD,
- ) -> DWORD;
- pub fn EnableRouter(
- pHandle: *mut HANDLE,
- pOverlapped: *mut OVERLAPPED,
- ) -> DWORD;
- pub fn UnenableRouter(
- pOverlapped: *mut OVERLAPPED,
- lpdwEnableCount: LPDWORD,
- ) -> DWORD;
- pub fn DisableMediaSense(
- pHandle: *mut HANDLE,
- pOverLapped: *mut OVERLAPPED,
- ) -> DWORD;
- pub fn RestoreMediaSense(
- pOverlapped: *mut OVERLAPPED,
- lpdwEnableCount: LPDWORD,
- ) -> DWORD;
- pub fn GetIpErrorString(
- ErrorCode: IP_STATUS,
- Buffer: PWSTR,
- Size: PDWORD,
- ) -> DWORD;
- pub fn ResolveNeighbor(
- NetworkAddress: *mut SOCKADDR,
- PhysicalAddress: PVOID,
- PhysicalAddressLength: PULONG,
- ) -> ULONG;
- pub fn CreatePersistentTcpPortReservation(
- StartPort: USHORT,
- NumberOfPorts: USHORT,
- Token: PULONG64,
- ) -> ULONG;
- pub fn CreatePersistentUdpPortReservation(
- StartPort: USHORT,
- NumberOfPorts: USHORT,
- Token: PULONG64,
- ) -> ULONG;
- pub fn DeletePersistentTcpPortReservation(
- StartPort: USHORT,
- NumberOfPorts: USHORT,
- ) -> ULONG;
- pub fn DeletePersistentUdpPortReservation(
- StartPort: USHORT,
- NumberOfPorts: USHORT,
- ) -> ULONG;
- pub fn LookupPersistentTcpPortReservation(
- StartPort: USHORT,
- NumberOfPorts: USHORT,
- Token: PULONG64,
- ) -> ULONG;
- pub fn LookupPersistentUdpPortReservation(
- StartPort: USHORT,
- NumberOfPorts: USHORT,
- Token: PULONG64,
- ) -> ULONG;
-}
-ENUM!{enum NET_ADDRESS_FORMAT {
- NET_ADDRESS_FORMAT_UNSPECIFIED = 0,
- NET_ADDRESS_DNS_NAME = 1,
- NET_ADDRESS_IPV4 = 2,
- NET_ADDRESS_IPV6 = 3,
-}}
-pub const DNS_MAX_NAME_BUFFER_LENGTH: usize = 256;
-STRUCT!{struct NET_ADDRESS_INFO_u_s {
- Address: [WCHAR; DNS_MAX_NAME_BUFFER_LENGTH],
- Port: [WCHAR; 6],
-}}
-UNION!{union NET_ADDRESS_INFO_u {
- [u32; 131],
- NamedAddress NamedAddress_mut: NET_ADDRESS_INFO_u_s,
- Ipv4Address Ipv4Address_mut: SOCKADDR_IN,
- Ipv6Address Ipv6Address_mut: SOCKADDR_IN6,
- IpAddress IpAddress_mut: SOCKADDR,
-}}
-STRUCT!{struct NET_ADDRESS_INFO {
- Format: NET_ADDRESS_FORMAT,
- u: NET_ADDRESS_INFO_u,
-}}
-pub type PNET_ADDRESS_INFO = *mut NET_ADDRESS_INFO;
-extern "system" {
- // #if defined (_WS2DEF_) && defined (_WS2IPDEF_) && defined(_WINDNS_INCLUDED_)
- pub fn ParseNetworkString(
- NetworkString: *const *mut WCHAR,
- Types: DWORD,
- AddressInfo: PNET_ADDRESS_INFO,
- PortNumber: *mut USHORT,
- PrefixLength: *mut BYTE,
- ) -> DWORD;
-}