| /* |
| * Copyright 2015 Hans Leidekker for CodeWeavers |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| #ifndef __WINE_NETIOAPI_H |
| #define __WINE_NETIOAPI_H |
| |
| #include <ntddndis.h> |
| |
| typedef struct _MIB_IF_ROW2 |
| { |
| NET_LUID InterfaceLuid; |
| NET_IFINDEX InterfaceIndex; |
| GUID InterfaceGuid; |
| WCHAR Alias[IF_MAX_STRING_SIZE + 1]; |
| WCHAR Description[IF_MAX_STRING_SIZE + 1]; |
| ULONG PhysicalAddressLength; |
| UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]; |
| UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]; |
| ULONG Mtu; |
| IFTYPE Type; |
| TUNNEL_TYPE TunnelType; |
| NDIS_MEDIUM MediaType; |
| NDIS_PHYSICAL_MEDIUM PhysicalMediumType; |
| NET_IF_ACCESS_TYPE AccessType; |
| NET_IF_DIRECTION_TYPE DirectionType; |
| struct |
| { |
| BOOLEAN HardwareInterface : 1; |
| BOOLEAN FilterInterface : 1; |
| BOOLEAN ConnectorPresent : 1; |
| BOOLEAN NotAuthenticated : 1; |
| BOOLEAN NotMediaConnected : 1; |
| BOOLEAN Paused : 1; |
| BOOLEAN LowPower : 1; |
| BOOLEAN EndPointInterface : 1; |
| } InterfaceAndOperStatusFlags; |
| IF_OPER_STATUS OperStatus; |
| NET_IF_ADMIN_STATUS AdminStatus; |
| NET_IF_MEDIA_CONNECT_STATE MediaConnectState; |
| NET_IF_NETWORK_GUID NetworkGuid; |
| NET_IF_CONNECTION_TYPE ConnectionType; |
| ULONG64 TransmitLinkSpeed; |
| ULONG64 ReceiveLinkSpeed; |
| ULONG64 InOctets; |
| ULONG64 InUcastPkts; |
| ULONG64 InNUcastPkts; |
| ULONG64 InDiscards; |
| ULONG64 InErrors; |
| ULONG64 InUnknownProtos; |
| ULONG64 InUcastOctets; |
| ULONG64 InMulticastOctets; |
| ULONG64 InBroadcastOctets; |
| ULONG64 OutOctets; |
| ULONG64 OutUcastPkts; |
| ULONG64 OutNUcastPkts; |
| ULONG64 OutDiscards; |
| ULONG64 OutErrors; |
| ULONG64 OutUcastOctets; |
| ULONG64 OutMulticastOctets; |
| ULONG64 OutBroadcastOctets; |
| ULONG64 OutQLen; |
| } MIB_IF_ROW2, *PMIB_IF_ROW2; |
| |
| typedef struct _MIB_IF_TABLE2 |
| { |
| ULONG NumEntries; |
| MIB_IF_ROW2 Table[1]; |
| } MIB_IF_TABLE2, *PMIB_IF_TABLE2; |
| |
| DWORD WINAPI ConvertInterfaceGuidToLuid(const GUID*,NET_LUID*); |
| DWORD WINAPI ConvertInterfaceIndexToLuid(NET_IFINDEX,NET_LUID*); |
| DWORD WINAPI ConvertInterfaceLuidToGuid(const NET_LUID*,GUID*); |
| DWORD WINAPI ConvertInterfaceLuidToIndex(const NET_LUID*,NET_IFINDEX*); |
| DWORD WINAPI ConvertInterfaceLuidToNameA(const NET_LUID*,char*,SIZE_T); |
| DWORD WINAPI ConvertInterfaceLuidToNameW(const NET_LUID*,WCHAR*,SIZE_T); |
| DWORD WINAPI ConvertInterfaceNameToLuidA(const char*,NET_LUID*); |
| DWORD WINAPI ConvertInterfaceNameToLuidW(const WCHAR*,NET_LUID*); |
| void WINAPI FreeMibTable(void*); |
| DWORD WINAPI GetIfEntry2(MIB_IF_ROW2*); |
| |
| #endif /* __WINE_NETIOAPI_H */ |