xmllite/tests: Fix a memory leak (Valgrind).
[wine.git] / include / netioapi.h
blob2faa5d66d230bc759cf224af7efac0cff631959d
1 /*
2 * Copyright 2015 Hans Leidekker for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_NETIOAPI_H
20 #define __WINE_NETIOAPI_H
22 #include <ntddndis.h>
24 typedef struct _MIB_IF_ROW2
26 NET_LUID InterfaceLuid;
27 NET_IFINDEX InterfaceIndex;
28 GUID InterfaceGuid;
29 WCHAR Alias[IF_MAX_STRING_SIZE + 1];
30 WCHAR Description[IF_MAX_STRING_SIZE + 1];
31 ULONG PhysicalAddressLength;
32 UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
33 UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
34 ULONG Mtu;
35 IFTYPE Type;
36 TUNNEL_TYPE TunnelType;
37 NDIS_MEDIUM MediaType;
38 NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
39 NET_IF_ACCESS_TYPE AccessType;
40 NET_IF_DIRECTION_TYPE DirectionType;
41 struct
43 BOOLEAN HardwareInterface : 1;
44 BOOLEAN FilterInterface : 1;
45 BOOLEAN ConnectorPresent : 1;
46 BOOLEAN NotAuthenticated : 1;
47 BOOLEAN NotMediaConnected : 1;
48 BOOLEAN Paused : 1;
49 BOOLEAN LowPower : 1;
50 BOOLEAN EndPointInterface : 1;
51 } InterfaceAndOperStatusFlags;
52 IF_OPER_STATUS OperStatus;
53 NET_IF_ADMIN_STATUS AdminStatus;
54 NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
55 NET_IF_NETWORK_GUID NetworkGuid;
56 NET_IF_CONNECTION_TYPE ConnectionType;
57 ULONG64 TransmitLinkSpeed;
58 ULONG64 ReceiveLinkSpeed;
59 ULONG64 InOctets;
60 ULONG64 InUcastPkts;
61 ULONG64 InNUcastPkts;
62 ULONG64 InDiscards;
63 ULONG64 InErrors;
64 ULONG64 InUnknownProtos;
65 ULONG64 InUcastOctets;
66 ULONG64 InMulticastOctets;
67 ULONG64 InBroadcastOctets;
68 ULONG64 OutOctets;
69 ULONG64 OutUcastPkts;
70 ULONG64 OutNUcastPkts;
71 ULONG64 OutDiscards;
72 ULONG64 OutErrors;
73 ULONG64 OutUcastOctets;
74 ULONG64 OutMulticastOctets;
75 ULONG64 OutBroadcastOctets;
76 ULONG64 OutQLen;
77 } MIB_IF_ROW2, *PMIB_IF_ROW2;
79 typedef struct _MIB_IF_TABLE2
81 ULONG NumEntries;
82 MIB_IF_ROW2 Table[1];
83 } MIB_IF_TABLE2, *PMIB_IF_TABLE2;
85 typedef struct _MIB_UNICASTIPADDRESS_ROW
87 SOCKADDR_INET Address;
88 NET_LUID InterfaceLuid;
89 NET_IFINDEX InterfaceIndex;
90 NL_PREFIX_ORIGIN PrefixOrigin;
91 NL_SUFFIX_ORIGIN SuffixOrigin;
92 ULONG ValidLifetime;
93 ULONG PreferredLifetime;
94 UINT8 OnLinkPrefixLength;
95 BOOLEAN SkipAsSource;
96 NL_DAD_STATE DadState;
97 SCOPE_ID ScopeId;
98 LARGE_INTEGER CreationTimeStamp;
99 } MIB_UNICASTIPADDRESS_ROW, *PMIB_UNICASTIPADDRESS_ROW;
101 DWORD WINAPI ConvertInterfaceGuidToLuid(const GUID*,NET_LUID*);
102 DWORD WINAPI ConvertInterfaceIndexToLuid(NET_IFINDEX,NET_LUID*);
103 DWORD WINAPI ConvertInterfaceLuidToGuid(const NET_LUID*,GUID*);
104 DWORD WINAPI ConvertInterfaceLuidToIndex(const NET_LUID*,NET_IFINDEX*);
105 DWORD WINAPI ConvertInterfaceLuidToNameA(const NET_LUID*,char*,SIZE_T);
106 DWORD WINAPI ConvertInterfaceLuidToNameW(const NET_LUID*,WCHAR*,SIZE_T);
107 DWORD WINAPI ConvertInterfaceNameToLuidA(const char*,NET_LUID*);
108 DWORD WINAPI ConvertInterfaceNameToLuidW(const WCHAR*,NET_LUID*);
109 void WINAPI FreeMibTable(void*);
110 DWORD WINAPI GetIfEntry2(MIB_IF_ROW2*);
111 DWORD WINAPI GetIfTable2(MIB_IF_TABLE2**);
112 DWORD WINAPI GetUnicastIpAddressEntry(MIB_UNICASTIPADDRESS_ROW*);
114 #endif /* __WINE_NETIOAPI_H */