mirror of
https://github.com/reactos/reactos.git
synced 2024-12-31 19:42:51 +00:00
[PSDK] Attempt to improve the whole iphlpapi related headers situation. CORE-7685 CORE-10536
svn path=/trunk/; revision=70220
This commit is contained in:
parent
5d02fb80e2
commit
0d30715ea3
10 changed files with 1160 additions and 571 deletions
|
@ -674,7 +674,7 @@ static void mib2IpStatsInit(void)
|
|||
}
|
||||
|
||||
static struct structToAsnValue mib2IpMap[] = {
|
||||
{ FIELD_OFFSET(MIB_IPSTATS, dwForwarding), copyInt }, /* 1 */
|
||||
{ FIELD_OFFSET(MIB_IPSTATS, u.dwForwarding), copyInt }, /* 1 */
|
||||
{ FIELD_OFFSET(MIB_IPSTATS, dwDefaultTTL), copyInt }, /* 2 */
|
||||
{ FIELD_OFFSET(MIB_IPSTATS, dwInReceives), copyInt }, /* 3 */
|
||||
{ FIELD_OFFSET(MIB_IPSTATS, dwInHdrErrors), copyInt }, /* 4 */
|
||||
|
@ -831,8 +831,8 @@ static struct structToAsnValue mib2IpRouteMap[] = {
|
|||
{ FIELD_OFFSET(MIB_IPFORWARDROW, dwForwardMetric3), copyInt },
|
||||
{ FIELD_OFFSET(MIB_IPFORWARDROW, dwForwardMetric4), copyInt },
|
||||
{ FIELD_OFFSET(MIB_IPFORWARDROW, dwForwardNextHop), copyIpAddr },
|
||||
{ FIELD_OFFSET(MIB_IPFORWARDROW, dwForwardType), copyInt },
|
||||
{ FIELD_OFFSET(MIB_IPFORWARDROW, dwForwardProto), copyInt },
|
||||
{ FIELD_OFFSET(MIB_IPFORWARDROW, u1.dwForwardType), copyInt },
|
||||
{ FIELD_OFFSET(MIB_IPFORWARDROW, u2.dwForwardProto), copyInt },
|
||||
{ FIELD_OFFSET(MIB_IPFORWARDROW, dwForwardAge), copyInt },
|
||||
{ FIELD_OFFSET(MIB_IPFORWARDROW, dwForwardMask), copyIpAddr },
|
||||
{ FIELD_OFFSET(MIB_IPFORWARDROW, dwForwardMetric5), copyInt },
|
||||
|
@ -929,7 +929,7 @@ static struct structToAsnValue mib2IpNetMap[] = {
|
|||
{ FIELD_OFFSET(MIB_IPNETROW, dwIndex), copyInt },
|
||||
{ FIELD_OFFSET(MIB_IPNETROW, dwPhysAddrLen), copyIpNetPhysAddr },
|
||||
{ FIELD_OFFSET(MIB_IPNETROW, dwAddr), copyIpAddr },
|
||||
{ FIELD_OFFSET(MIB_IPNETROW, dwType), copyInt },
|
||||
{ FIELD_OFFSET(MIB_IPNETROW, u.dwType), copyInt },
|
||||
};
|
||||
|
||||
static void mib2IpNetInit(void)
|
||||
|
@ -1084,7 +1084,7 @@ static void mib2TcpInit(void)
|
|||
}
|
||||
|
||||
static struct structToAsnValue mib2TcpMap[] = {
|
||||
{ FIELD_OFFSET(MIB_TCPSTATS, dwRtoAlgorithm), copyInt },
|
||||
{ FIELD_OFFSET(MIB_TCPSTATS, u.dwRtoAlgorithm), copyInt },
|
||||
{ FIELD_OFFSET(MIB_TCPSTATS, dwRtoMin), copyInt },
|
||||
{ FIELD_OFFSET(MIB_TCPSTATS, dwRtoMax), copyInt },
|
||||
{ FIELD_OFFSET(MIB_TCPSTATS, dwMaxConn), copyInt },
|
||||
|
|
|
@ -1,83 +1,229 @@
|
|||
#ifndef _IFDEF_
|
||||
#define _IFDEF_
|
||||
/* WINE ifdef.h
|
||||
* Copyright 2010 Juan Lang
|
||||
*
|
||||
* 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_IFDEF_H
|
||||
#define WINE_IFDEF_H
|
||||
|
||||
#include <ipifcons.h>
|
||||
|
||||
typedef ULONG32 NET_IF_OBJECT_ID, *PNET_IF_OBJECT_ID;
|
||||
typedef UINT32 NET_IF_COMPARTMENT_ID, *PNET_IF_COMPARTMENT_ID;
|
||||
typedef GUID NET_IF_NETWORK_GUID, *PNET_IF_NETWORK_GUID;
|
||||
typedef ULONG NET_IFINDEX, *PNET_IFINDEX;
|
||||
typedef NET_IFINDEX IF_INDEX, *PIF_INDEX;
|
||||
typedef UINT16 NET_IFTYPE, *PNET_IFTYPE;
|
||||
|
||||
#define NET_IF_OPER_STATUS_DOWN_NOT_AUTHENTICATED 0x00000001
|
||||
#define NET_IF_OPER_STATUS_DOWN_NOT_MEDIA_CONNECTED 0x00000002
|
||||
#define NET_IF_OPER_STATUS_DORMANT_PAUSED 0x00000004
|
||||
#define NET_IF_OPER_STATUS_DORMANT_LOW_POWER 0x00000008
|
||||
|
||||
#define NET_IF_COMPARTMENT_ID_UNSPECIFIED 0
|
||||
#define NET_IF_COMPARTMENT_ID_PRIMARY 1
|
||||
|
||||
#define NET_IF_OID_IF_ALIAS 0x00000001
|
||||
#define NET_IF_OID_COMPARTMENT_ID 0x00000002
|
||||
#define NET_IF_OID_NETWORK_GUID 0x00000003
|
||||
#define NET_IF_OID_IF_ENTRY 0x00000004
|
||||
|
||||
#define NET_SET_UNSPECIFIED_NETWORK_GUID(x)
|
||||
#define NET_IS_UNSPECIFIED_NETWORK_GUID(x)
|
||||
|
||||
#define NET_SITEID_UNSPECIFIED 0
|
||||
#define NET_SITEID_MAXUSER 0x07ffffff
|
||||
#define NET_SITEID_MAXSYSTEM 0x0fffffff
|
||||
|
||||
#define NET_IFINDEX_UNSPECIFIED 0
|
||||
#define IFI_UNSPECIFIED NET_IFINDEX_UNSPECIFIED
|
||||
|
||||
#define NET_IFLUID_UNSPECIFIED 0
|
||||
|
||||
#define NIIF_HARDWARE_INTERFACE 0x00000001
|
||||
#define NIIF_FILTER_INTERFACE 0x00000002
|
||||
#define NIIF_NDIS_WDM_INTERFACE 0x00000020
|
||||
#define NIIF_NDIS_ENDPOINT_INTERFACE 0x00000040
|
||||
#define NIIF_NDIS_ISCSI_INTERFACE 0x00000080
|
||||
#define NIIF_WAN_TUNNEL_TYPE_UNKNOWN 0xffffffff
|
||||
|
||||
#define NET_BUS_NUMBER_UNKNOWN 0xffffffff
|
||||
#define NET_SLOT_NUMBER_UNKNOWN 0xffffffff
|
||||
#define NET_FUNCTION_NUMBER_UNKNOWN 0xffffffff
|
||||
|
||||
#define IF_MAX_STRING_SIZE 256
|
||||
#define IF_MAX_PHYS_ADDRESS_LENGTH 32
|
||||
|
||||
typedef union _NET_LUID_LH
|
||||
{
|
||||
ULONG64 Value;
|
||||
struct
|
||||
{
|
||||
ULONG64 Reserved:24;
|
||||
ULONG64 NetLuidIndex:24;
|
||||
ULONG64 IfType:16;
|
||||
}Info;
|
||||
} NET_LUID_LH, *PNET_LUID_LH;
|
||||
|
||||
typedef NET_LUID_LH NET_LUID;
|
||||
typedef NET_LUID* PNET_LUID;
|
||||
|
||||
typedef ULONG NET_IFINDEX, *PNET_IFINDEX;
|
||||
typedef ULONG IFTYPE;
|
||||
typedef GUID NET_IF_NETWORK_GUID, *PNET_IF_NETWORK_GUID;
|
||||
|
||||
typedef enum {
|
||||
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, *PTUNNEL_TYPE;
|
||||
|
||||
typedef 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
|
||||
} NET_IF_ACCESS_TYPE, *PNET_IF_ACCESS_TYPE;
|
||||
|
||||
typedef enum _NET_IF_DIRECTION_TYPE
|
||||
{
|
||||
NET_IF_DIRECTION_SENDRECEIVE,
|
||||
NET_IF_DIRECTION_SENDONLY,
|
||||
NET_IF_DIRECTION_RECEIVEONLY,
|
||||
NET_IF_DIRECTION_MAXIMUM
|
||||
} NET_IF_DIRECTION_TYPE, *PNET_IF_DIRECTION_TYPE;
|
||||
|
||||
typedef enum _NET_IF_ADMIN_STATUS
|
||||
{
|
||||
NET_IF_ADMIN_STATUS_UP = 1,
|
||||
NET_IF_ADMIN_STATUS_DOWN = 2,
|
||||
typedef enum _NET_IF_ADMIN_STATUS {
|
||||
NET_IF_ADMIN_STATUS_UP = 1,
|
||||
NET_IF_ADMIN_STATUS_DOWN = 2,
|
||||
NET_IF_ADMIN_STATUS_TESTING = 3
|
||||
} NET_IF_ADMIN_STATUS, *PNET_IF_ADMIN_STATUS;
|
||||
|
||||
typedef enum _NET_IF_MEDIA_CONNECT_STATE
|
||||
{
|
||||
MediaConnectStateUnknown,
|
||||
MediaConnectStateConnected,
|
||||
MediaConnectStateDisconnected
|
||||
} NET_IF_MEDIA_CONNECT_STATE, *PNET_IF_MEDIA_CONNECT_STATE;
|
||||
typedef 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
|
||||
} NET_IF_OPER_STATUS, *PNET_IF_OPER_STATUS;
|
||||
|
||||
typedef 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
|
||||
typedef 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
|
||||
} NET_IF_RCV_ADDRESS_TYPE, *PNET_IF_RCV_ADDRESS_TYPE;
|
||||
|
||||
typedef struct _NET_IF_RCV_ADDRESS_LH {
|
||||
NET_IF_RCV_ADDRESS_TYPE ifRcvAddressType;
|
||||
USHORT ifRcvAddressLength;
|
||||
USHORT ifRcvAddressOffset;
|
||||
} NET_IF_RCV_ADDRESS_LH, *PNET_IF_RCV_ADDRESS_LH;
|
||||
typedef NET_IF_RCV_ADDRESS_LH NET_IF_RCV_ADDRESS;
|
||||
typedef NET_IF_RCV_ADDRESS_LH *PNET_IF_RCV_ADDRESS;
|
||||
|
||||
typedef union _NET_LUID_LH {
|
||||
ULONG64 Value;
|
||||
struct {
|
||||
ULONG64 Reserved : 24;
|
||||
ULONG64 NetLuidIndex : 24;
|
||||
ULONG64 IfType : 16;
|
||||
} Info;
|
||||
} NET_LUID_LH, *PNET_LUID_LH;
|
||||
typedef NET_LUID_LH NET_LUID;
|
||||
typedef NET_LUID *PNET_LUID;
|
||||
typedef NET_LUID IF_LUID;
|
||||
typedef NET_LUID *PIF_LUID;
|
||||
|
||||
typedef enum _NET_IF_ACCESS_TYPE {
|
||||
NET_IF_ACCESS_LOOPBACK = 1,
|
||||
NET_IF_ACCESS_BROADCAST = 2,
|
||||
NET_IF_ACCESS_POINT_TO_POINT = 2,
|
||||
NET_IF_ACCESS_POINT_TO_MULTI_POINT = 4,
|
||||
NET_IF_ACCESS_MAXIMUM = 5
|
||||
} NET_IF_ACCESS_TYPE, *PNET_IF_ACCESS_TYPE;
|
||||
|
||||
typedef enum _NET_IF_DIRECTION_TYPE {
|
||||
NET_IF_DIRECTION_SENDRECEIVE = 0,
|
||||
NET_IF_DIRECTION_SENDONLY = 1,
|
||||
NET_IF_DIRECTION_RECEIVEONLY = 2,
|
||||
NET_IF_DIRECTION_MAXIMUM = 3
|
||||
} NET_IF_DIRECTION_TYPE, *PNET_IF_DIRECTION_TYPE;
|
||||
|
||||
typedef 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,
|
||||
} NET_IF_CONNECTION_TYPE, *PNET_IF_CONNECTION_TYPE;
|
||||
|
||||
typedef enum _NET_IF_MEDIA_CONNECT_STATE {
|
||||
MediaConnectStateUnknown = 0,
|
||||
MediaConnectStateConnected = 1,
|
||||
MediaConnectStateDisconnected = 2
|
||||
} NET_IF_MEDIA_CONNECT_STATE, *PNET_IF_MEDIA_CONNECT_STATE;
|
||||
|
||||
typedef enum _NET_IF_MEDIA_DUPLEX_STATE {
|
||||
MediaDuplexStateUnknown = 0,
|
||||
MediaDuplexStateHalf = 1,
|
||||
MediaDuplexStateFull = 2
|
||||
} NET_IF_MEDIA_DUPLEX_STATE, *PNET_IF_MEDIA_DUPLEX_STATE;
|
||||
|
||||
typedef struct _NET_PHYSICAL_LOCATION_LH {
|
||||
ULONG BusNumber;
|
||||
ULONG SlotNumber;
|
||||
ULONG FunctionNumber;
|
||||
} NET_PHYSICAL_LOCATION_LH, *PNET_PHYSICAL_LOCATION_LH;
|
||||
typedef NET_PHYSICAL_LOCATION_LH NET_PHYSICAL_LOCATION;
|
||||
typedef NET_PHYSICAL_LOCATION *PNET_PHYSICAL_LOCATION;
|
||||
|
||||
typedef struct _IF_COUNTED_STRING_LH {
|
||||
USHORT Length;
|
||||
WCHAR String[IF_MAX_STRING_SIZE + 1];
|
||||
} IF_COUNTED_STRING_LH, *PIF_COUNTED_STRING_LH;
|
||||
typedef IF_COUNTED_STRING_LH IF_COUNTED_STRING;
|
||||
typedef IF_COUNTED_STRING *PIF_COUNTED_STRING;
|
||||
|
||||
typedef struct _IF_PHYSICAL_ADDRESS_LH {
|
||||
USHORT Length;
|
||||
UCHAR Address[IF_MAX_PHYS_ADDRESS_LENGTH];
|
||||
} IF_PHYSICAL_ADDRESS_LH, *PIF_PHYSICAL_ADDRESS_LH;
|
||||
typedef IF_PHYSICAL_ADDRESS_LH IF_PHYSICAL_ADDRESS;
|
||||
typedef IF_PHYSICAL_ADDRESS *PIF_PHYSICAL_ADDRESS;
|
||||
|
||||
typedef enum {
|
||||
IfOperStatusUp = 1,
|
||||
IfOperStatusDown,
|
||||
IfOperStatusTesting,
|
||||
IfOperStatusUnknown,
|
||||
IfOperStatusDormant,
|
||||
IfOperStatusNotPresent,
|
||||
IfOperStatusLowerLayerDown
|
||||
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,
|
||||
} TUNNEL_TYPE;
|
||||
|
||||
typedef enum _IF_ADMINISTRATIVE_STATE {
|
||||
IF_ADMINISTRATIVE_STATE_DISABLED = 0,
|
||||
IF_ADMINISTRATIVE_STATE_ENABLED = 1,
|
||||
IF_ADMINISTRATIVE_STATE_DEMANDDIAL = 2
|
||||
} IF_ADMINISTRATIVE_STATE, *PIF_ADMINISTRATIVE_STATE;
|
||||
|
||||
typedef enum {
|
||||
IfOperStatusUp = 1,
|
||||
IfOperStatusDown,
|
||||
IfOperStatusTesting,
|
||||
IfOperStatusUnknown,
|
||||
IfOperStatusDormant,
|
||||
IfOperStatusNotPresent,
|
||||
IfOperStatusLowerLayerDown
|
||||
} IF_OPER_STATUS;
|
||||
|
||||
#endif /* _IFDEF_ */
|
||||
typedef struct _NDIS_INTERFACE_INFORMATION {
|
||||
NET_IF_OPER_STATUS ifOperStatus;
|
||||
ULONG ifOperStatusFlags;
|
||||
NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
|
||||
NET_IF_MEDIA_DUPLEX_STATE MediaDuplexState;
|
||||
ULONG ifMtu;
|
||||
BOOLEAN ifPromiscuousMode;
|
||||
BOOLEAN ifDeviceWakeUpEnable;
|
||||
ULONG64 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;
|
||||
NET_IF_COMPARTMENT_ID CompartmentId;
|
||||
ULONG SupportedStatistics;
|
||||
} NDIS_INTERFACE_INFORMATION, *PNDIS_INTERFACE_INFORMATION;
|
||||
|
||||
#endif /* WINE_IFDEF_H*/
|
||||
|
|
70
reactos/include/psdk/ifmib.h
Normal file
70
reactos/include/psdk/ifmib.h
Normal file
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
* Copyright (C) 2003 Juan Lang
|
||||
*
|
||||
* 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_IFMIB_H
|
||||
#define __WINE_IFMIB_H
|
||||
|
||||
#include <ifdef.h>
|
||||
|
||||
typedef struct _MIB_IFNUMBER
|
||||
{
|
||||
DWORD dwValue;
|
||||
} MIB_IFNUMBER, *PMIB_IFNUMBER;
|
||||
|
||||
|
||||
/* Interface table */
|
||||
|
||||
#define MAX_INTERFACE_NAME_LEN 256
|
||||
#define MAXLEN_PHYSADDR 8
|
||||
#define MAXLEN_IFDESCR 256
|
||||
|
||||
typedef struct _MIB_IFROW
|
||||
{
|
||||
WCHAR wszName[MAX_INTERFACE_NAME_LEN];
|
||||
DWORD dwIndex;
|
||||
DWORD dwType;
|
||||
DWORD dwMtu;
|
||||
DWORD dwSpeed;
|
||||
DWORD dwPhysAddrLen;
|
||||
UCHAR bPhysAddr[MAXLEN_PHYSADDR];
|
||||
DWORD dwAdminStatus;
|
||||
INTERNAL_IF_OPER_STATUS dwOperStatus;
|
||||
DWORD dwLastChange;
|
||||
DWORD dwInOctets;
|
||||
DWORD dwInUcastPkts;
|
||||
DWORD dwInNUcastPkts;
|
||||
DWORD dwInDiscards;
|
||||
DWORD dwInErrors;
|
||||
DWORD dwInUnknownProtos;
|
||||
DWORD dwOutOctets;
|
||||
DWORD dwOutUcastPkts;
|
||||
DWORD dwOutNUcastPkts;
|
||||
DWORD dwOutDiscards;
|
||||
DWORD dwOutErrors;
|
||||
DWORD dwOutQLen;
|
||||
DWORD dwDescrLen;
|
||||
BYTE bDescr[MAXLEN_IFDESCR];
|
||||
} MIB_IFROW, *PMIB_IFROW;
|
||||
|
||||
typedef struct _MIB_IFTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_IFROW table[1];
|
||||
} MIB_IFTABLE, *PMIB_IFTABLE;
|
||||
|
||||
|
||||
#endif /* __WINE_IFMIB_H */
|
|
@ -15,15 +15,18 @@
|
|||
*
|
||||
* 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_IPEXPORT_H
|
||||
#define __WINE_IPEXPORT_H
|
||||
|
||||
typedef unsigned long IPAddr;
|
||||
typedef unsigned long IPMask;
|
||||
typedef unsigned long IP_STATUS;
|
||||
#include <in6addr.h>
|
||||
#include <inaddr.h>
|
||||
|
||||
typedef ULONG IPAddr;
|
||||
typedef ULONG IPMask;
|
||||
typedef ULONG IP_STATUS;
|
||||
|
||||
struct ip_option_information
|
||||
{
|
||||
|
@ -44,7 +47,6 @@ struct ip_option_information
|
|||
#define IP_OPT_RR 0x7
|
||||
#define IP_OPT_TS 0x44
|
||||
#define IP_OPT_SID 0x88
|
||||
#define IP_OPT_ROUTER_ALERT 0x94
|
||||
|
||||
#define MAX_OPT_SIZE 40
|
||||
|
||||
|
@ -52,8 +54,8 @@ struct ip_option_information
|
|||
struct icmp_echo_reply
|
||||
{
|
||||
IPAddr Address;
|
||||
unsigned long Status;
|
||||
unsigned long RoundTripTime;
|
||||
ULONG Status;
|
||||
ULONG RoundTripTime;
|
||||
unsigned short DataSize;
|
||||
unsigned short Reserved;
|
||||
void* Data;
|
||||
|
@ -91,18 +93,6 @@ typedef struct icmp_echo_reply ICMP_ECHO_REPLY, *PICMP_ECHO_REPLY;
|
|||
#define IP_SPEC_MTU_CHANGE (IP_STATUS_BASE + 20)
|
||||
#define IP_MTU_CHANGE (IP_STATUS_BASE + 21)
|
||||
#define IP_UNLOAD (IP_STATUS_BASE + 22)
|
||||
#define IP_ADDR_ADDED (IP_STATUS_BASE + 23)
|
||||
#define IP_MEDIA_CONNECT (IP_STATUS_BASE + 24)
|
||||
#define IP_MEDIA_DISCONNECT (IP_STATUS_BASE + 25)
|
||||
#define IP_BIND_ADAPTER (IP_STATUS_BASE + 26)
|
||||
#define IP_UNBIND_ADAPTER (IP_STATUS_BASE + 27)
|
||||
#define IP_DEVICE_DOES_NOT_EXIST (IP_STATUS_BASE + 28)
|
||||
#define IP_DUPLICATE_ADDRESS (IP_STATUS_BASE + 29)
|
||||
#define IP_INTERFACE_METRIC_CHANGE (IP_STATUS_BASE + 30)
|
||||
#define IP_RECONFIG_SECFLTR (IP_STATUS_BASE + 31)
|
||||
#define IP_NEGOTIATING_IPSEC (IP_STATUS_BASE + 32)
|
||||
#define IP_INTERFACE_WOL_CAPABILITY_CHANGE (IP_STATUS_BASE + 33)
|
||||
#define IP_DUPLICATE_IPADD (IP_STATUS_BASE + 34)
|
||||
|
||||
#define IP_GENERAL_FAILURE (IP_STATUS_BASE + 50)
|
||||
#define MAX_IP_STATUS IP_GENERAL_FAILURE
|
||||
|
@ -126,9 +116,33 @@ typedef struct _IP_UNIDIRECTIONAL_ADAPTER_ADDRESS {
|
|||
IPAddr Address[1];
|
||||
} IP_UNIDIRECTIONAL_ADAPTER_ADDRESS, *PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS;
|
||||
|
||||
/* ReactOS */
|
||||
|
||||
typedef struct _IP_ADAPTER_ORDER_MAP {
|
||||
ULONG NumAdapters;
|
||||
ULONG AdapterOrder[1];
|
||||
ULONG NumAdapters;
|
||||
ULONG AdapterOrder[1];
|
||||
} IP_ADAPTER_ORDER_MAP, *PIP_ADAPTER_ORDER_MAP;
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
|
||||
#include <pshpack1.h>
|
||||
typedef struct _IPV6_ADDRESS_EX {
|
||||
USHORT sin6_port;
|
||||
ULONG sin6_flowinfo;
|
||||
USHORT sin6_addr[8];
|
||||
ULONG sin6_scope_id;
|
||||
} IPV6_ADDRESS_EX, *PIPV6_ADDRESS_EX;
|
||||
#include <poppack.h>
|
||||
|
||||
typedef struct icmpv6_echo_reply_lh {
|
||||
IPV6_ADDRESS_EX Address;
|
||||
ULONG Status;
|
||||
unsigned int RoundTripTime;
|
||||
} ICMPV6_ECHO_REPLY_LH, *PICMPV6_ECHO_REPLY_LH;
|
||||
|
||||
typedef ICMPV6_ECHO_REPLY_LH ICMPV6_ECHO_REPLY;
|
||||
typedef ICMPV6_ECHO_REPLY_LH *PICMPV6_ECHO_REPLY;
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
#endif /* __WINE_IPEXPORT_H */
|
||||
|
|
|
@ -227,6 +227,8 @@
|
|||
#define MIB_IF_TYPE_LOOPBACK 24
|
||||
#define MIB_IF_TYPE_SLIP 28
|
||||
|
||||
typedef ULONG IFTYPE;
|
||||
|
||||
#define MIB_IF_ADMIN_STATUS_UP 1
|
||||
#define MIB_IF_ADMIN_STATUS_DOWN 2
|
||||
#define MIB_IF_ADMIN_STATUS_TESTING 3
|
||||
|
|
251
reactos/include/psdk/ipmib.h
Normal file
251
reactos/include/psdk/ipmib.h
Normal file
|
@ -0,0 +1,251 @@
|
|||
/*
|
||||
* Copyright (C) 2003 Juan Lang
|
||||
*
|
||||
* 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_IPMIB_H
|
||||
#define __WINE_IPMIB_H
|
||||
|
||||
#include <ifmib.h>
|
||||
#include <nldef.h>
|
||||
|
||||
/* Flags used in the wType field from MIB_IPADDRROW */
|
||||
|
||||
#define MIB_IPADDR_PRIMARY 0x0001
|
||||
#define MIB_IPADDR_DYNAMIC 0x0004
|
||||
#define MIB_IPADDR_DISCONNECTED 0x0008
|
||||
#define MIB_IPADDR_DELETED 0x0040
|
||||
#define MIB_IPADDR_TRANSIENT 0x0080
|
||||
|
||||
/* IPADDR table */
|
||||
|
||||
typedef struct _MIB_IPADDRROW
|
||||
{
|
||||
DWORD dwAddr;
|
||||
IF_INDEX dwIndex;
|
||||
DWORD dwMask;
|
||||
DWORD dwBCastAddr;
|
||||
DWORD dwReasmSize;
|
||||
unsigned short unused1;
|
||||
unsigned short wType;
|
||||
} MIB_IPADDRROW, *PMIB_IPADDRROW;
|
||||
|
||||
typedef struct _MIB_IPADDRTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_IPADDRROW table[1];
|
||||
} MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
|
||||
|
||||
|
||||
/* IPFORWARD table */
|
||||
|
||||
typedef struct _MIB_IPFORWARDNUMBER
|
||||
{
|
||||
DWORD dwValue;
|
||||
} MIB_IPFORWARDNUMBER, *PMIB_IPFORWARDNUMBER;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
MIB_IPROUTE_TYPE_OTHER = 1,
|
||||
MIB_IPROUTE_TYPE_INVALID = 2,
|
||||
MIB_IPROUTE_TYPE_DIRECT = 3,
|
||||
MIB_IPROUTE_TYPE_INDIRECT = 4,
|
||||
} MIB_IPFORWARD_TYPE;
|
||||
|
||||
typedef NL_ROUTE_PROTOCOL MIB_IPFORWARD_PROTO;
|
||||
|
||||
typedef struct _MIB_IPFORWARDROW
|
||||
{
|
||||
DWORD dwForwardDest;
|
||||
DWORD dwForwardMask;
|
||||
DWORD dwForwardPolicy;
|
||||
DWORD dwForwardNextHop;
|
||||
IF_INDEX dwForwardIfIndex;
|
||||
union
|
||||
{
|
||||
DWORD dwForwardType;
|
||||
MIB_IPFORWARD_TYPE ForwardType;
|
||||
} DUMMYUNIONNAME1;
|
||||
union
|
||||
{
|
||||
DWORD dwForwardProto;
|
||||
MIB_IPFORWARD_PROTO ForwardProto;
|
||||
} DUMMYUNIONNAME2;
|
||||
DWORD dwForwardAge;
|
||||
DWORD dwForwardNextHopAS;
|
||||
DWORD dwForwardMetric1;
|
||||
DWORD dwForwardMetric2;
|
||||
DWORD dwForwardMetric3;
|
||||
DWORD dwForwardMetric4;
|
||||
DWORD dwForwardMetric5;
|
||||
} MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
|
||||
|
||||
typedef struct _MIB_IPFORWARDTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_IPFORWARDROW table[1];
|
||||
} MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
|
||||
|
||||
|
||||
/* IPNET table */
|
||||
|
||||
typedef enum
|
||||
{
|
||||
MIB_IPNET_TYPE_OTHER = 1,
|
||||
MIB_IPNET_TYPE_INVALID = 2,
|
||||
MIB_IPNET_TYPE_DYNAMIC = 3,
|
||||
MIB_IPNET_TYPE_STATIC = 4,
|
||||
} MIB_IPNET_TYPE;
|
||||
|
||||
typedef struct _MIB_IPNETROW
|
||||
{
|
||||
DWORD dwIndex;
|
||||
DWORD dwPhysAddrLen;
|
||||
BYTE bPhysAddr[MAXLEN_PHYSADDR];
|
||||
DWORD dwAddr;
|
||||
union
|
||||
{
|
||||
DWORD dwType;
|
||||
MIB_IPNET_TYPE Type;
|
||||
} DUMMYUNIONNAME;
|
||||
} MIB_IPNETROW, *PMIB_IPNETROW;
|
||||
|
||||
typedef struct _MIB_IPNETTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_IPNETROW table[1];
|
||||
} MIB_IPNETTABLE, *PMIB_IPNETTABLE;
|
||||
|
||||
|
||||
/* IP statistics */
|
||||
|
||||
typedef enum
|
||||
{
|
||||
MIB_IP_FORWARDING = 1,
|
||||
MIB_IP_NOT_FORWARDING = 2,
|
||||
} MIB_IPSTATS_FORWARDING, *PMIB_IPSTATS_FORWARDING;
|
||||
|
||||
typedef struct _MIB_IPSTATS
|
||||
{
|
||||
union
|
||||
{
|
||||
DWORD dwForwarding;
|
||||
MIB_IPSTATS_FORWARDING Forwarding;
|
||||
} DUMMYUNIONNAME;
|
||||
DWORD dwDefaultTTL;
|
||||
DWORD dwInReceives;
|
||||
DWORD dwInHdrErrors;
|
||||
DWORD dwInAddrErrors;
|
||||
DWORD dwForwDatagrams;
|
||||
DWORD dwInUnknownProtos;
|
||||
DWORD dwInDiscards;
|
||||
DWORD dwInDelivers;
|
||||
DWORD dwOutRequests;
|
||||
DWORD dwRoutingDiscards;
|
||||
DWORD dwOutDiscards;
|
||||
DWORD dwOutNoRoutes;
|
||||
DWORD dwReasmTimeout;
|
||||
DWORD dwReasmReqds;
|
||||
DWORD dwReasmOks;
|
||||
DWORD dwReasmFails;
|
||||
DWORD dwFragOks;
|
||||
DWORD dwFragFails;
|
||||
DWORD dwFragCreates;
|
||||
DWORD dwNumIf;
|
||||
DWORD dwNumAddr;
|
||||
DWORD dwNumRoutes;
|
||||
} MIB_IPSTATS, *PMIB_IPSTATS;
|
||||
|
||||
|
||||
/* ICMP statistics */
|
||||
|
||||
typedef struct _MIBICMPSTATS
|
||||
{
|
||||
DWORD dwMsgs;
|
||||
DWORD dwErrors;
|
||||
DWORD dwDestUnreachs;
|
||||
DWORD dwTimeExcds;
|
||||
DWORD dwParmProbs;
|
||||
DWORD dwSrcQuenchs;
|
||||
DWORD dwRedirects;
|
||||
DWORD dwEchos;
|
||||
DWORD dwEchoReps;
|
||||
DWORD dwTimestamps;
|
||||
DWORD dwTimestampReps;
|
||||
DWORD dwAddrMasks;
|
||||
DWORD dwAddrMaskReps;
|
||||
} MIBICMPSTATS, *PMIBICMPSTATS;
|
||||
|
||||
typedef struct _MIBICMPINFO
|
||||
{
|
||||
MIBICMPSTATS icmpInStats;
|
||||
MIBICMPSTATS icmpOutStats;
|
||||
} MIBICMPINFO;
|
||||
|
||||
typedef struct _MIB_ICMP
|
||||
{
|
||||
MIBICMPINFO stats;
|
||||
} MIB_ICMP, *PMIB_ICMP;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ICMP4_ECHO_REPLY = 0,
|
||||
ICMP4_DST_UNREACH = 3,
|
||||
ICMP4_SOURCE_QUENCH = 4,
|
||||
ICMP4_REDIRECT = 5,
|
||||
ICMP4_ECHO_REQUEST = 8,
|
||||
ICMP4_ROUTER_ADVERT = 9,
|
||||
ICMP4_ROUTER_SOLICIT = 10,
|
||||
ICMP4_TIME_EXCEEDED = 11,
|
||||
ICMP4_PARAM_PROB = 12,
|
||||
ICMP4_TIMESTAMP_REQUEST = 13,
|
||||
ICMP4_TIMESTAMP_REPLY = 14,
|
||||
ICMP4_MASK_REQUEST = 17,
|
||||
ICMP4_MASK_REPLY = 18,
|
||||
} ICMP4_TYPE, *PICMP4_TYPE;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ICMP6_DST_UNREACH = 1,
|
||||
ICMP6_PACKET_TOO_BIG = 2,
|
||||
ICMP6_TIME_EXCEEDED = 3,
|
||||
ICMP6_PARAM_PROB = 4,
|
||||
ICMP6_ECHO_REQUEST = 128,
|
||||
ICMP6_ECHO_REPLY = 129,
|
||||
ICMP6_MEMBERSHIP_QUERY = 130,
|
||||
ICMP6_MEMBERSHIP_REPORT = 131,
|
||||
ICMP6_MEMBERSHIP_REDUCTION = 132,
|
||||
ND_ROUTER_SOLICIT = 133,
|
||||
ND_ROUTER_ADVERT = 134,
|
||||
ND_NEIGHBOR_SOLICIT = 135,
|
||||
ND_NEIGHBOR_ADVERT = 136,
|
||||
ND_REDIRECT = 137,
|
||||
ICMP6_V2_MEMBERSHIP_REPORT = 143,
|
||||
} ICMP6_TYPE, *PICMP6_TYPE;
|
||||
|
||||
typedef struct _MIBICMPSTATS_EX
|
||||
{
|
||||
DWORD dwMsgs;
|
||||
DWORD dwErrors;
|
||||
DWORD rgdwTypeCount[256];
|
||||
} MIBICMPSTATS_EX, *PMIBICMPSTATS_EX;
|
||||
|
||||
typedef struct _MIB_ICMP_EX
|
||||
{
|
||||
MIBICMPSTATS_EX icmpInStats;
|
||||
MIBICMPSTATS_EX icmpOutStats;
|
||||
} MIB_ICMP_EX, *PMIB_ICMP_EX;
|
||||
|
||||
#endif /* __WINE_IPMIB_H */
|
|
@ -13,298 +13,20 @@
|
|||
*
|
||||
* 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
#ifndef WINE_IPRTRMIB_H__
|
||||
#define WINE_IPRTRMIB_H__
|
||||
|
||||
#define MAX_INTERFACE_NAME_LEN 256
|
||||
|
||||
#include <mprapi.h>
|
||||
#include <ipifcons.h>
|
||||
|
||||
#define MAXLEN_IFDESCR 256
|
||||
#define MAXLEN_PHYSADDR 8
|
||||
#include <ipmib.h>
|
||||
#include <tcpmib.h>
|
||||
#include <udpmib.h>
|
||||
|
||||
//It should be 16 according to Lei Shen blog (http://www.mychinaworks.com/blog/lshen/2008/04/16/220/
|
||||
#define TCPIP_OWNING_MODULE_SIZE 16
|
||||
|
||||
typedef struct _MIB_IFROW
|
||||
typedef enum _TCP_TABLE_CLASS
|
||||
{
|
||||
WCHAR wszName[MAX_INTERFACE_NAME_LEN];
|
||||
DWORD dwIndex;
|
||||
DWORD dwType;
|
||||
DWORD dwMtu;
|
||||
DWORD dwSpeed;
|
||||
DWORD dwPhysAddrLen;
|
||||
BYTE bPhysAddr[MAXLEN_PHYSADDR];
|
||||
DWORD dwAdminStatus;
|
||||
DWORD dwOperStatus;
|
||||
DWORD dwLastChange;
|
||||
DWORD dwInOctets;
|
||||
DWORD dwInUcastPkts;
|
||||
DWORD dwInNUcastPkts;
|
||||
DWORD dwInDiscards;
|
||||
DWORD dwInErrors;
|
||||
DWORD dwInUnknownProtos;
|
||||
DWORD dwOutOctets;
|
||||
DWORD dwOutUcastPkts;
|
||||
DWORD dwOutNUcastPkts;
|
||||
DWORD dwOutDiscards;
|
||||
DWORD dwOutErrors;
|
||||
DWORD dwOutQLen;
|
||||
DWORD dwDescrLen;
|
||||
BYTE bDescr[MAXLEN_IFDESCR];
|
||||
} MIB_IFROW,*PMIB_IFROW;
|
||||
|
||||
typedef struct _MIB_IFTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_IFROW table[1];
|
||||
} MIB_IFTABLE, *PMIB_IFTABLE;
|
||||
|
||||
typedef struct _MIBICMPSTATS
|
||||
{
|
||||
DWORD dwMsgs;
|
||||
DWORD dwErrors;
|
||||
DWORD dwDestUnreachs;
|
||||
DWORD dwTimeExcds;
|
||||
DWORD dwParmProbs;
|
||||
DWORD dwSrcQuenchs;
|
||||
DWORD dwRedirects;
|
||||
DWORD dwEchos;
|
||||
DWORD dwEchoReps;
|
||||
DWORD dwTimestamps;
|
||||
DWORD dwTimestampReps;
|
||||
DWORD dwAddrMasks;
|
||||
DWORD dwAddrMaskReps;
|
||||
} MIBICMPSTATS;
|
||||
|
||||
typedef struct _MIBICMPINFO
|
||||
{
|
||||
MIBICMPSTATS icmpInStats;
|
||||
MIBICMPSTATS icmpOutStats;
|
||||
} MIBICMPINFO;
|
||||
|
||||
typedef struct _MIB_ICMP
|
||||
{
|
||||
MIBICMPINFO stats;
|
||||
} MIB_ICMP,*PMIB_ICMP;
|
||||
|
||||
typedef struct _MIB_UDPSTATS
|
||||
{
|
||||
DWORD dwInDatagrams;
|
||||
DWORD dwNoPorts;
|
||||
DWORD dwInErrors;
|
||||
DWORD dwOutDatagrams;
|
||||
DWORD dwNumAddrs;
|
||||
} MIB_UDPSTATS,*PMIB_UDPSTATS;
|
||||
|
||||
typedef struct _MIB_UDPROW
|
||||
{
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
} MIB_UDPROW, *PMIB_UDPROW;
|
||||
|
||||
typedef struct _MIB_UDPTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_UDPROW table[1];
|
||||
} MIB_UDPTABLE, *PMIB_UDPTABLE;
|
||||
|
||||
typedef struct _MIB_TCPSTATS
|
||||
{
|
||||
DWORD dwRtoAlgorithm;
|
||||
DWORD dwRtoMin;
|
||||
DWORD dwRtoMax;
|
||||
DWORD dwMaxConn;
|
||||
DWORD dwActiveOpens;
|
||||
DWORD dwPassiveOpens;
|
||||
DWORD dwAttemptFails;
|
||||
DWORD dwEstabResets;
|
||||
DWORD dwCurrEstab;
|
||||
DWORD dwInSegs;
|
||||
DWORD dwOutSegs;
|
||||
DWORD dwRetransSegs;
|
||||
DWORD dwInErrs;
|
||||
DWORD dwOutRsts;
|
||||
DWORD dwNumConns;
|
||||
} MIB_TCPSTATS, *PMIB_TCPSTATS;
|
||||
|
||||
typedef struct _MIBICMPSTATS_EX
|
||||
{
|
||||
DWORD dwMsgs;
|
||||
DWORD dwErrors;
|
||||
DWORD rgdwTypeCount[256];
|
||||
} MIBICMPSTATS_EX, *PMIBICMPSTATS_EX;
|
||||
|
||||
typedef struct _MIB_ICMP_EX
|
||||
{
|
||||
MIBICMPSTATS_EX icmpInStats;
|
||||
MIBICMPSTATS_EX icmpOutStats;
|
||||
} MIB_ICMP_EX,*PMIB_ICMP_EX;
|
||||
|
||||
typedef struct _MIB_TCPROW
|
||||
{
|
||||
DWORD dwState;
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
DWORD dwRemoteAddr;
|
||||
DWORD dwRemotePort;
|
||||
} MIB_TCPROW, *PMIB_TCPROW;
|
||||
|
||||
#define MIB_TCP_STATE_CLOSED 1
|
||||
#define MIB_TCP_STATE_LISTEN 2
|
||||
#define MIB_TCP_STATE_SYN_SENT 3
|
||||
#define MIB_TCP_STATE_SYN_RCVD 4
|
||||
#define MIB_TCP_STATE_ESTAB 5
|
||||
#define MIB_TCP_STATE_FIN_WAIT1 6
|
||||
#define MIB_TCP_STATE_FIN_WAIT2 7
|
||||
#define MIB_TCP_STATE_CLOSE_WAIT 8
|
||||
#define MIB_TCP_STATE_CLOSING 9
|
||||
#define MIB_TCP_STATE_LAST_ACK 10
|
||||
#define MIB_TCP_STATE_TIME_WAIT 11
|
||||
#define MIB_TCP_STATE_DELETE_TCB 12
|
||||
|
||||
typedef struct _MIB_TCPTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_TCPROW table[1];
|
||||
} MIB_TCPTABLE, *PMIB_TCPTABLE;
|
||||
|
||||
typedef struct _MIB_IPSTATS
|
||||
{
|
||||
DWORD dwForwarding;
|
||||
DWORD dwDefaultTTL;
|
||||
DWORD dwInReceives;
|
||||
DWORD dwInHdrErrors;
|
||||
DWORD dwInAddrErrors;
|
||||
DWORD dwForwDatagrams;
|
||||
DWORD dwInUnknownProtos;
|
||||
DWORD dwInDiscards;
|
||||
DWORD dwInDelivers;
|
||||
DWORD dwOutRequests;
|
||||
DWORD dwRoutingDiscards;
|
||||
DWORD dwOutDiscards;
|
||||
DWORD dwOutNoRoutes;
|
||||
DWORD dwReasmTimeout;
|
||||
DWORD dwReasmReqds;
|
||||
DWORD dwReasmOks;
|
||||
DWORD dwReasmFails;
|
||||
DWORD dwFragOks;
|
||||
DWORD dwFragFails;
|
||||
DWORD dwFragCreates;
|
||||
DWORD dwNumIf;
|
||||
DWORD dwNumAddr;
|
||||
DWORD dwNumRoutes;
|
||||
} MIB_IPSTATS, *PMIB_IPSTATS;
|
||||
|
||||
typedef struct _MIB_IPADDRROW
|
||||
{
|
||||
DWORD dwAddr;
|
||||
DWORD dwIndex;
|
||||
DWORD dwMask;
|
||||
DWORD dwBCastAddr;
|
||||
DWORD dwReasmSize;
|
||||
unsigned short unused1;
|
||||
unsigned short wType;
|
||||
} MIB_IPADDRROW, *PMIB_IPADDRROW;
|
||||
|
||||
typedef struct _MIB_IPADDRTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_IPADDRROW table[1];
|
||||
} MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
|
||||
|
||||
|
||||
typedef struct _MIB_IPFORWARDNUMBER
|
||||
{
|
||||
DWORD dwValue;
|
||||
}MIB_IPFORWARDNUMBER,*PMIB_IPFORWARDNUMBER;
|
||||
|
||||
typedef struct _MIB_IPFORWARDROW
|
||||
{
|
||||
DWORD dwForwardDest;
|
||||
DWORD dwForwardMask;
|
||||
DWORD dwForwardPolicy;
|
||||
DWORD dwForwardNextHop;
|
||||
DWORD dwForwardIfIndex;
|
||||
DWORD dwForwardType;
|
||||
DWORD dwForwardProto;
|
||||
DWORD dwForwardAge;
|
||||
DWORD dwForwardNextHopAS;
|
||||
DWORD dwForwardMetric1;
|
||||
DWORD dwForwardMetric2;
|
||||
DWORD dwForwardMetric3;
|
||||
DWORD dwForwardMetric4;
|
||||
DWORD dwForwardMetric5;
|
||||
}MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
|
||||
|
||||
#define MIB_IPROUTE_TYPE_OTHER 1
|
||||
#define MIB_IPROUTE_TYPE_INVALID 2
|
||||
#define MIB_IPROUTE_TYPE_DIRECT 3
|
||||
#define MIB_IPROUTE_TYPE_INDIRECT 4
|
||||
|
||||
#define MIB_IPPROTO_OTHER 1
|
||||
#define MIB_IPPROTO_LOCAL 2
|
||||
#define MIB_IPPROTO_NETMGMT 3
|
||||
#define MIB_IPPROTO_ICMP 4
|
||||
#define MIB_IPPROTO_EGP 5
|
||||
#define MIB_IPPROTO_GGP 6
|
||||
#define MIB_IPPROTO_HELLO 7
|
||||
#define MIB_IPPROTO_RIP 8
|
||||
#define MIB_IPPROTO_IS_IS 9
|
||||
#define MIB_IPPROTO_ES_IS 10
|
||||
#define MIB_IPPROTO_CISCO 11
|
||||
#define MIB_IPPROTO_BBN 12
|
||||
#define MIB_IPPROTO_OSPF 13
|
||||
#define MIB_IPPROTO_BGP 14
|
||||
|
||||
#define MIB_IPPROTO_NT_AUTOSTATIC 10002
|
||||
#define MIB_IPPROTO_NT_STATIC 10006
|
||||
#define MIB_IPPROTO_NT_STATIC_NON_DOD 10007
|
||||
|
||||
typedef struct _MIB_IPFORWARDTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_IPFORWARDROW table[1];
|
||||
} MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
|
||||
|
||||
typedef struct _MIB_IPNETROW
|
||||
{
|
||||
DWORD dwIndex;
|
||||
DWORD dwPhysAddrLen;
|
||||
BYTE bPhysAddr[MAXLEN_PHYSADDR];
|
||||
DWORD dwAddr;
|
||||
DWORD dwType;
|
||||
} MIB_IPNETROW, *PMIB_IPNETROW;
|
||||
|
||||
#define MIB_IPNET_TYPE_OTHER 1
|
||||
#define MIB_IPNET_TYPE_INVALID 2
|
||||
#define MIB_IPNET_TYPE_DYNAMIC 3
|
||||
#define MIB_IPNET_TYPE_STATIC 4
|
||||
|
||||
typedef struct _MIB_IPNETTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_IPNETROW table[1];
|
||||
} MIB_IPNETTABLE, *PMIB_IPNETTABLE;
|
||||
|
||||
typedef struct _MIB_TCPROW_OWNER_MODULE {
|
||||
DWORD dwState;
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
DWORD dwRemoteAddr;
|
||||
DWORD dwRemotePort;
|
||||
DWORD dwOwningPid;
|
||||
LARGE_INTEGER liCreateTimestamp;
|
||||
ULONGLONG OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
|
||||
} MIB_TCPROW_OWNER_MODULE, *PMIB_TCPROW_OWNER_MODULE;
|
||||
|
||||
typedef enum {
|
||||
TCPIP_OWNER_MODULE_INFO_BASIC
|
||||
} TCPIP_OWNER_MODULE_INFO_CLASS, *PTCPIP_OWNER_MODULE_INFO_CLASS;
|
||||
|
||||
typedef enum {
|
||||
TCP_TABLE_BASIC_LISTENER,
|
||||
TCP_TABLE_BASIC_CONNECTIONS,
|
||||
TCP_TABLE_BASIC_ALL,
|
||||
|
@ -316,19 +38,17 @@ typedef enum {
|
|||
TCP_TABLE_OWNER_MODULE_ALL
|
||||
} TCP_TABLE_CLASS, *PTCP_TABLE_CLASS;
|
||||
|
||||
typedef struct _MIB_TCPROW_OWNER_PID {
|
||||
DWORD dwState;
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
DWORD dwRemoteAddr;
|
||||
DWORD dwRemotePort;
|
||||
DWORD dwOwningPid;
|
||||
} MIB_TCPROW_OWNER_PID, *PMIB_TCPROW_OWNER_PID;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwNumEntries;
|
||||
MIB_TCPROW_OWNER_PID table[1];
|
||||
} MIB_TCPTABLE_OWNER_PID, *PMIB_TCPTABLE_OWNER_PID;
|
||||
typedef enum _UDP_TABLE_CLASS
|
||||
{
|
||||
UDP_TABLE_BASIC,
|
||||
UDP_TABLE_OWNER_PID,
|
||||
UDP_TABLE_OWNER_MODULE
|
||||
} UDP_TABLE_CLASS, *PUDP_TABLE_CLASS;
|
||||
|
||||
/* ReactOS */
|
||||
typedef enum _TCPIP_OWNER_MODULE_INFO_CLASS
|
||||
{
|
||||
TCPIP_OWNER_MODULE_INFO_BASIC
|
||||
} TCPIP_OWNER_MODULE_INFO_CLASS, *PTCPIP_OWNER_MODULE_INFO_CLASS;
|
||||
|
||||
#endif /* WINE_IPRTRMIB_H__ */
|
||||
|
|
|
@ -1,206 +1,315 @@
|
|||
#ifndef _IPTYPES_H
|
||||
#define _IPTYPES_H
|
||||
/* WINE iptypes.h
|
||||
* Copyright (C) 2003 Juan Lang
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#ifndef WINE_IPTYPES_H_
|
||||
#define WINE_IPTYPES_H_
|
||||
|
||||
#include <time.h>
|
||||
#include <ifdef.h>
|
||||
#include <nldef.h>
|
||||
|
||||
#define MAX_ADAPTER_DESCRIPTION_LENGTH 128
|
||||
#define MAX_ADAPTER_NAME_LENGTH 256
|
||||
#define MAX_ADAPTER_ADDRESS_LENGTH 8
|
||||
#define MAX_HOSTNAME_LEN 128
|
||||
#define MAX_DOMAIN_NAME_LEN 128
|
||||
#define MAX_SCOPE_ID_LEN 256
|
||||
#define MAX_DHCPV6_DUID_LENGTH 130
|
||||
#define MAX_DNS_SUFFIX_STRING_LENGTH 256
|
||||
|
||||
#define BROADCAST_NODETYPE 1
|
||||
#define PEER_TO_PEER_NODETYPE 2
|
||||
#define MIXED_NODETYPE 4
|
||||
#define HYBRID_NODETYPE 8
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define DEFAULT_MINIMUM_ENTITIES 32
|
||||
#define MAX_ADAPTER_ADDRESS_LENGTH 8
|
||||
#define MAX_ADAPTER_DESCRIPTION_LENGTH 128
|
||||
#define MAX_ADAPTER_NAME_LENGTH 256
|
||||
#define MAX_DOMAIN_NAME_LEN 128
|
||||
#define MAX_HOSTNAME_LEN 128
|
||||
#define MAX_SCOPE_ID_LEN 256
|
||||
#define BROADCAST_NODETYPE 1
|
||||
#define PEER_TO_PEER_NODETYPE 2
|
||||
#define MIXED_NODETYPE 4
|
||||
#define HYBRID_NODETYPE 8
|
||||
#define IF_OTHER_ADAPTERTYPE 0
|
||||
#define IF_ETHERNET_ADAPTERTYPE 1
|
||||
#define IF_TOKEN_RING_ADAPTERTYPE 2
|
||||
#define IF_FDDI_ADAPTERTYPE 3
|
||||
#define IF_PPP_ADAPTERTYPE 4
|
||||
#define IF_LOOPBACK_ADAPTERTYPE 5
|
||||
typedef struct {
|
||||
char String[16];
|
||||
char String[4 * 4];
|
||||
} IP_ADDRESS_STRING, *PIP_ADDRESS_STRING, IP_MASK_STRING, *PIP_MASK_STRING;
|
||||
|
||||
typedef struct _IP_ADDR_STRING {
|
||||
struct _IP_ADDR_STRING* Next;
|
||||
IP_ADDRESS_STRING IpAddress;
|
||||
IP_MASK_STRING IpMask;
|
||||
DWORD Context;
|
||||
struct _IP_ADDR_STRING* Next;
|
||||
IP_ADDRESS_STRING IpAddress;
|
||||
IP_MASK_STRING IpMask;
|
||||
DWORD Context;
|
||||
} IP_ADDR_STRING, *PIP_ADDR_STRING;
|
||||
|
||||
typedef struct _IP_ADAPTER_INFO {
|
||||
struct _IP_ADAPTER_INFO* Next;
|
||||
DWORD ComboIndex;
|
||||
char AdapterName[MAX_ADAPTER_NAME_LENGTH+4];
|
||||
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH+4];
|
||||
UINT AddressLength;
|
||||
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
|
||||
DWORD Index;
|
||||
UINT Type;
|
||||
UINT DhcpEnabled;
|
||||
PIP_ADDR_STRING CurrentIpAddress;
|
||||
IP_ADDR_STRING IpAddressList;
|
||||
IP_ADDR_STRING GatewayList;
|
||||
IP_ADDR_STRING DhcpServer;
|
||||
BOOL HaveWins;
|
||||
IP_ADDR_STRING PrimaryWinsServer;
|
||||
IP_ADDR_STRING SecondaryWinsServer;
|
||||
time_t LeaseObtained;
|
||||
time_t LeaseExpires;
|
||||
struct _IP_ADAPTER_INFO* Next;
|
||||
DWORD ComboIndex;
|
||||
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
|
||||
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
|
||||
UINT AddressLength;
|
||||
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
|
||||
DWORD Index;
|
||||
UINT Type;
|
||||
UINT DhcpEnabled;
|
||||
PIP_ADDR_STRING CurrentIpAddress;
|
||||
IP_ADDR_STRING IpAddressList;
|
||||
IP_ADDR_STRING GatewayList;
|
||||
IP_ADDR_STRING DhcpServer;
|
||||
BOOL HaveWins;
|
||||
IP_ADDR_STRING PrimaryWinsServer;
|
||||
IP_ADDR_STRING SecondaryWinsServer;
|
||||
time_t LeaseObtained;
|
||||
time_t LeaseExpires;
|
||||
} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
|
||||
|
||||
typedef struct _IP_PER_ADAPTER_INFO {
|
||||
UINT AutoconfigEnabled;
|
||||
UINT AutoconfigActive;
|
||||
PIP_ADDR_STRING CurrentDnsServer;
|
||||
IP_ADDR_STRING DnsServerList;
|
||||
UINT AutoconfigEnabled;
|
||||
UINT AutoconfigActive;
|
||||
PIP_ADDR_STRING CurrentDnsServer;
|
||||
IP_ADDR_STRING DnsServerList;
|
||||
} IP_PER_ADAPTER_INFO, *PIP_PER_ADAPTER_INFO;
|
||||
|
||||
typedef struct {
|
||||
ULONG Index;
|
||||
ULONG MediaType;
|
||||
UCHAR ConnectionType;
|
||||
UCHAR AccessType;
|
||||
GUID DeviceGuid;
|
||||
GUID InterfaceGuid;
|
||||
} IP_INTERFACE_NAME_INFO, *PIP_INTERFACE_NAME_INFO;
|
||||
typedef struct _FIXED_INFO {
|
||||
char HostName[MAX_HOSTNAME_LEN+4] ;
|
||||
char DomainName[MAX_DOMAIN_NAME_LEN+4];
|
||||
PIP_ADDR_STRING CurrentDnsServer;
|
||||
IP_ADDR_STRING DnsServerList;
|
||||
UINT NodeType;
|
||||
char ScopeId[MAX_SCOPE_ID_LEN+4];
|
||||
UINT EnableRouting;
|
||||
UINT EnableProxy;
|
||||
UINT EnableDns;
|
||||
char HostName[MAX_HOSTNAME_LEN + 4] ;
|
||||
char DomainName[MAX_DOMAIN_NAME_LEN + 4];
|
||||
PIP_ADDR_STRING CurrentDnsServer;
|
||||
IP_ADDR_STRING DnsServerList;
|
||||
UINT NodeType;
|
||||
char ScopeId[MAX_SCOPE_ID_LEN + 4];
|
||||
UINT EnableRouting;
|
||||
UINT EnableProxy;
|
||||
UINT EnableDns;
|
||||
} FIXED_INFO, *PFIXED_INFO;
|
||||
|
||||
typedef NL_PREFIX_ORIGIN IP_PREFIX_ORIGIN;
|
||||
typedef NL_SUFFIX_ORIGIN IP_SUFFIX_ORIGIN;
|
||||
typedef NL_DAD_STATE IP_DAD_STATE;
|
||||
|
||||
/* ReactOS */
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2KSP1)
|
||||
typedef struct _IP_INTERFACE_NAME_INFO {
|
||||
ULONG Index;
|
||||
ULONG MediaType;
|
||||
UCHAR ConnectionType;
|
||||
UCHAR AccessType;
|
||||
GUID DeviceGuid;
|
||||
GUID InterfaceGuid;
|
||||
} IP_INTERFACE_NAME_INFO, *PIP_INTERFACE_NAME_INFO;
|
||||
#endif
|
||||
|
||||
#ifdef _WINSOCK2API_
|
||||
typedef enum {
|
||||
IpPrefixOriginOther = 0,
|
||||
IpPrefixOriginManual,
|
||||
IpPrefixOriginWellKnown,
|
||||
IpPrefixOriginDhcp,
|
||||
IpPrefixOriginRouterAdvertisement,
|
||||
} IP_PREFIX_ORIGIN;
|
||||
typedef enum {
|
||||
IpSuffixOriginOther = 0,
|
||||
IpSuffixOriginManual,
|
||||
IpSuffixOriginWellKnown,
|
||||
IpSuffixOriginDhcp,
|
||||
IpSuffixOriginLinkLayerAddress,
|
||||
IpSuffixOriginRandom,
|
||||
} IP_SUFFIX_ORIGIN;
|
||||
typedef enum {
|
||||
IpDadStateInvalid = 0,
|
||||
IpDadStateTentative,
|
||||
IpDadStateDuplicate,
|
||||
IpDadStateDeprecated,
|
||||
IpDadStatePreferred,
|
||||
} IP_DAD_STATE;
|
||||
|
||||
typedef struct _IP_ADAPTER_UNICAST_ADDRESS {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Flags;
|
||||
};
|
||||
};
|
||||
struct _IP_ADAPTER_UNICAST_ADDRESS *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
IP_PREFIX_ORIGIN PrefixOrigin;
|
||||
IP_SUFFIX_ORIGIN SuffixOrigin;
|
||||
IP_DAD_STATE DadState;
|
||||
ULONG ValidLifetime;
|
||||
ULONG PreferredLifetime;
|
||||
ULONG LeaseLifetime;
|
||||
union {
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Flags;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_UNICAST_ADDRESS *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
IP_PREFIX_ORIGIN PrefixOrigin;
|
||||
IP_SUFFIX_ORIGIN SuffixOrigin;
|
||||
IP_DAD_STATE DadState;
|
||||
ULONG ValidLifetime;
|
||||
ULONG PreferredLifetime;
|
||||
ULONG LeaseLifetime;
|
||||
} IP_ADAPTER_UNICAST_ADDRESS, *PIP_ADAPTER_UNICAST_ADDRESS;
|
||||
|
||||
typedef struct _IP_ADAPTER_ANYCAST_ADDRESS {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Flags;
|
||||
};
|
||||
};
|
||||
struct _IP_ADAPTER_ANYCAST_ADDRESS *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Flags;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_ANYCAST_ADDRESS *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
} IP_ADAPTER_ANYCAST_ADDRESS, *PIP_ADAPTER_ANYCAST_ADDRESS;
|
||||
|
||||
typedef struct _IP_ADAPTER_MULTICAST_ADDRESS {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Flags;
|
||||
};
|
||||
};
|
||||
struct _IP_ADAPTER_MULTICAST_ADDRESS *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Flags;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_MULTICAST_ADDRESS *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
} IP_ADAPTER_MULTICAST_ADDRESS, *PIP_ADAPTER_MULTICAST_ADDRESS;
|
||||
|
||||
typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Reserved;
|
||||
};
|
||||
};
|
||||
struct _IP_ADAPTER_DNS_SERVER_ADDRESS *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Reserved;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_DNS_SERVER_ADDRESS *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
} IP_ADAPTER_DNS_SERVER_ADDRESS, *PIP_ADAPTER_DNS_SERVER_ADDRESS;
|
||||
|
||||
typedef struct _IP_ADAPTER_PREFIX {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Flags;
|
||||
};
|
||||
};
|
||||
struct _IP_ADAPTER_PREFIX *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
ULONG PrefixLength;
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Flags;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_PREFIX *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
ULONG PrefixLength;
|
||||
} IP_ADAPTER_PREFIX, *PIP_ADAPTER_PREFIX;
|
||||
typedef struct _IP_ADAPTER_ADDRESSES {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD IfIndex;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_ADDRESSES *Next;
|
||||
PCHAR AdapterName;
|
||||
PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
|
||||
PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
|
||||
PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
|
||||
PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
|
||||
PWCHAR DnsSuffix;
|
||||
PWCHAR Description;
|
||||
PWCHAR FriendlyName;
|
||||
BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH];
|
||||
DWORD PhysicalAddressLength;
|
||||
DWORD Flags;
|
||||
DWORD Mtu;
|
||||
DWORD IfType;
|
||||
IF_OPER_STATUS OperStatus;
|
||||
DWORD Ipv6IfIndex;
|
||||
DWORD ZoneIndices[16];
|
||||
PIP_ADAPTER_PREFIX FirstPrefix;
|
||||
} IP_ADAPTER_ADDRESSES, *PIP_ADAPTER_ADDRESSES;
|
||||
|
||||
#define GAA_FLAG_SKIP_UNICAST 0x00000001
|
||||
#define GAA_FLAG_SKIP_ANYCAST 0x00000002
|
||||
#define GAA_FLAG_SKIP_MULTICAST 0x00000004
|
||||
#define GAA_FLAG_SKIP_DNS_SERVER 0x00000008
|
||||
#define GAA_FLAG_INCLUDE_PREFIX 0x00000010
|
||||
#define GAA_FLAG_SKIP_FRIENDLY_NAME 0x00000020
|
||||
typedef struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Reserved;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
} IP_ADAPTER_WINS_SERVER_ADDRESS_LH, *PIP_ADAPTER_WINS_SERVER_ADDRESS_LH;
|
||||
typedef IP_ADAPTER_WINS_SERVER_ADDRESS_LH IP_ADAPTER_WINS_SERVER_ADDRESS;
|
||||
typedef IP_ADAPTER_WINS_SERVER_ADDRESS_LH *PIP_ADAPTER_WINS_SERVER_ADDRESS;
|
||||
|
||||
typedef struct _IP_ADAPTER_GATEWAY_ADDRESS_LH {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD Reserved;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_GATEWAY_ADDRESS_LH *Next;
|
||||
SOCKET_ADDRESS Address;
|
||||
} IP_ADAPTER_GATEWAY_ADDRESS_LH, *PIP_ADAPTER_GATEWAY_ADDRESS_LH;
|
||||
typedef IP_ADAPTER_GATEWAY_ADDRESS_LH IP_ADAPTER_GATEWAY_ADDRESS;
|
||||
typedef IP_ADAPTER_GATEWAY_ADDRESS_LH *PIP_ADAPTER_GATEWAY_ADDRESS;
|
||||
|
||||
typedef struct _IP_ADAPTER_DNS_SUFFIX {
|
||||
struct _IP_ADAPTER_DNS_SUFFIX *Next;
|
||||
WCHAR String[MAX_DNS_SUFFIX_STRING_LENGTH];
|
||||
} IP_ADAPTER_DNS_SUFFIX, *PIP_ADAPTER_DNS_SUFFIX;
|
||||
|
||||
#define IP_ADAPTER_DDNS_ENABLED 0x1
|
||||
#define IP_ADAPTER_REGISTER_ADAPTER_SUFFIX 0x2
|
||||
#define IP_ADAPTER_DHCP_ENABLED 0x4
|
||||
#define IP_ADAPTER_RECEIVE_ONLY 0x8
|
||||
#define IP_ADAPTER_NO_MULTICAST 0x10
|
||||
#define IP_ADAPTER_IPV6_OTHER_STATEFUL_CONFIG 0x20
|
||||
#define IP_ADAPTER_NETBIOS_OVER_TCPIP_ENABLED 0x40
|
||||
#define IP_ADAPTER_IPV4_ENABLED 0x80
|
||||
#define IP_ADAPTER_IPV6_ENABLED 0x100
|
||||
#define IP_ADAPTER_IPV6_MANAGE_ADDRESS_CONFIG 0x200
|
||||
|
||||
typedef struct _IP_ADAPTER_ADDRESSES_LH {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD IfIndex;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_ADDRESSES_LH *Next;
|
||||
PCHAR AdapterName;
|
||||
PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
|
||||
PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
|
||||
PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
|
||||
PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
|
||||
PWCHAR DnsSuffix;
|
||||
PWCHAR Description;
|
||||
PWCHAR FriendlyName;
|
||||
BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH];
|
||||
DWORD PhysicalAddressLength;
|
||||
DWORD Flags;
|
||||
DWORD Mtu;
|
||||
DWORD IfType;
|
||||
IF_OPER_STATUS OperStatus;
|
||||
DWORD Ipv6IfIndex;
|
||||
DWORD ZoneIndices[16];
|
||||
PIP_ADAPTER_PREFIX FirstPrefix;
|
||||
ULONG64 TransmitLinkSpeed;
|
||||
ULONG64 ReceiveLinkSpeed;
|
||||
PIP_ADAPTER_WINS_SERVER_ADDRESS_LH FirstWinsServerAddress;
|
||||
PIP_ADAPTER_GATEWAY_ADDRESS_LH FirstGatewayAddress;
|
||||
ULONG Ipv4Metric;
|
||||
ULONG Ipv6Metric;
|
||||
IF_LUID Luid;
|
||||
SOCKET_ADDRESS Dhcpv4Server;
|
||||
NET_IF_COMPARTMENT_ID CompartmentId;
|
||||
NET_IF_NETWORK_GUID NetworkGuid;
|
||||
NET_IF_CONNECTION_TYPE ConnectionType;
|
||||
TUNNEL_TYPE TunnelType;
|
||||
SOCKET_ADDRESS Dhcpv6Server;
|
||||
BYTE Dhcpv6ClientDuid[MAX_DHCPV6_DUID_LENGTH];
|
||||
ULONG Dhcpv6ClientDuidLength;
|
||||
ULONG Dhcpv6Iaid;
|
||||
PIP_ADAPTER_DNS_SUFFIX FirstDnsSuffix;
|
||||
} IP_ADAPTER_ADDRESSES_LH, *PIP_ADAPTER_ADDRESSES_LH;
|
||||
|
||||
typedef struct _IP_ADAPTER_ADDRESSES_XP {
|
||||
union {
|
||||
ULONGLONG Alignment;
|
||||
struct {
|
||||
ULONG Length;
|
||||
DWORD IfIndex;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
struct _IP_ADAPTER_ADDRESSES_XP *Next;
|
||||
PCHAR AdapterName;
|
||||
PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
|
||||
PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
|
||||
PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
|
||||
PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
|
||||
PWCHAR DnsSuffix;
|
||||
PWCHAR Description;
|
||||
PWCHAR FriendlyName;
|
||||
BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH];
|
||||
DWORD PhysicalAddressLength;
|
||||
DWORD Flags;
|
||||
DWORD Mtu;
|
||||
DWORD IfType;
|
||||
IF_OPER_STATUS OperStatus;
|
||||
DWORD Ipv6IfIndex;
|
||||
DWORD ZoneIndices[16];
|
||||
PIP_ADAPTER_PREFIX FirstPrefix;
|
||||
} IP_ADAPTER_ADDRESSES_XP, *PIP_ADAPTER_ADDRESSES_XP;
|
||||
|
||||
/* ReactOS */
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
typedef IP_ADAPTER_ADDRESSES_LH IP_ADAPTER_ADDRESSES;
|
||||
typedef IP_ADAPTER_ADDRESSES_LH *PIP_ADAPTER_ADDRESSES;
|
||||
#else
|
||||
typedef IP_ADAPTER_ADDRESSES_XP IP_ADAPTER_ADDRESSES;
|
||||
typedef IP_ADAPTER_ADDRESSES_XP *PIP_ADAPTER_ADDRESSES;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _IPTYPES_H */
|
||||
#define GAA_FLAG_SKIP_UNICAST 0x00000001
|
||||
#define GAA_FLAG_SKIP_ANYCAST 0x00000002
|
||||
#define GAA_FLAG_SKIP_MULTICAST 0x00000004
|
||||
#define GAA_FLAG_SKIP_DNS_SERVER 0x00000008
|
||||
#define GAA_FLAG_INCLUDE_PREFIX 0x00000010
|
||||
#define GAA_FLAG_SKIP_FRIENDLY_NAME 0x00000020
|
||||
#define GAA_FLAG_INCLUDE_WINS_INFO 0x00000040
|
||||
#define GAA_FLAG_INCLUDE_ALL_GATEWAYS 0x00000080
|
||||
#define GAA_FLAG_INCLUDE_ALL_INTERFACES 0x00000100
|
||||
#define GAA_FLAG_INCLUDE_ALL_COMPARTMENTS 0x00000200
|
||||
#define GAA_FLAG_INCLUDE_TUNNEL_BINDINGORDER 0x00000400
|
||||
|
||||
#endif /* _WINSOCK2API_ */
|
||||
|
||||
#endif /* WINE_IPTYPES_H_*/
|
||||
|
|
192
reactos/include/psdk/tcpmib.h
Normal file
192
reactos/include/psdk/tcpmib.h
Normal file
|
@ -0,0 +1,192 @@
|
|||
/*
|
||||
* Copyright (C) 2003 Juan Lang
|
||||
*
|
||||
* 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_TCPMIB_H
|
||||
#define __WINE_TCPMIB_H
|
||||
|
||||
#define TCPIP_OWNING_MODULE_SIZE 16
|
||||
|
||||
|
||||
/* TCP tables */
|
||||
|
||||
typedef enum
|
||||
{
|
||||
MIB_TCP_STATE_CLOSED = 1,
|
||||
MIB_TCP_STATE_LISTEN = 2,
|
||||
MIB_TCP_STATE_SYN_SENT = 3,
|
||||
MIB_TCP_STATE_SYN_RCVD = 4,
|
||||
MIB_TCP_STATE_ESTAB = 5,
|
||||
MIB_TCP_STATE_FIN_WAIT1 = 6,
|
||||
MIB_TCP_STATE_FIN_WAIT2 = 7,
|
||||
MIB_TCP_STATE_CLOSE_WAIT = 8,
|
||||
MIB_TCP_STATE_CLOSING = 9,
|
||||
MIB_TCP_STATE_LAST_ACK = 10,
|
||||
MIB_TCP_STATE_TIME_WAIT = 11,
|
||||
MIB_TCP_STATE_DELETE_TCB = 12,
|
||||
} MIB_TCP_STATE;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
TcpConnectionOffloadStateInHost,
|
||||
TcpConnectionOffloadStateOffloading,
|
||||
TcpConnectionOffloadStateOffloaded,
|
||||
TcpConnectionOffloadStateUploading,
|
||||
TcpConnectionOffloadStateMax,
|
||||
} TCP_CONNECTION_OFFLOAD_STATE, *PTCP_CONNECTION_OFFLOAD_STATE;
|
||||
|
||||
typedef struct _MIB_TCPROW
|
||||
{
|
||||
union
|
||||
{
|
||||
DWORD dwState;
|
||||
MIB_TCP_STATE State;
|
||||
} DUMMYUNIONNAME;
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
DWORD dwRemoteAddr;
|
||||
DWORD dwRemotePort;
|
||||
} MIB_TCPROW, *PMIB_TCPROW;
|
||||
|
||||
typedef struct _MIB_TCPTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_TCPROW table[1];
|
||||
} MIB_TCPTABLE, *PMIB_TCPTABLE;
|
||||
|
||||
typedef struct _MIB_TCP6ROW {
|
||||
MIB_TCP_STATE State;
|
||||
IN6_ADDR LocalAddr;
|
||||
DWORD dwLocalScopeId;
|
||||
DWORD dwLocalPort;
|
||||
IN6_ADDR RemoteAddr;
|
||||
DWORD dwRemoteScopeId;
|
||||
DWORD dwRemotePort;
|
||||
} MIB_TCP6ROW, *PMIB_TCP6ROW;
|
||||
|
||||
typedef struct _MIB_TCP6TABLE {
|
||||
DWORD dwNumEntries;
|
||||
MIB_TCP6ROW table[1];
|
||||
} MIB_TCP6TABLE, *PMIB_TCP6TABLE;
|
||||
|
||||
typedef struct _MIB_TCP6ROW2 {
|
||||
IN6_ADDR LocalAddr;
|
||||
DWORD dwLocalScopeId;
|
||||
DWORD dwLocalPort;
|
||||
IN6_ADDR RemoteAddr;
|
||||
DWORD dwRemoteScopeId;
|
||||
DWORD dwRemotePort;
|
||||
MIB_TCP_STATE State;
|
||||
DWORD dwOwningPid;
|
||||
TCP_CONNECTION_OFFLOAD_STATE dwOffloadState;
|
||||
} MIB_TCP6ROW2, *PMIB_TCP6ROW2;
|
||||
|
||||
typedef struct _MIB_TCP6TABLE2 {
|
||||
DWORD dwNumEntries;
|
||||
MIB_TCP6ROW2 table[1];
|
||||
} MIB_TCP6TABLE2, *PMIB_TCP6TABLE2;
|
||||
|
||||
typedef struct _MIB_TCPROW_OWNER_PID
|
||||
{
|
||||
DWORD dwState;
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
DWORD dwRemoteAddr;
|
||||
DWORD dwRemotePort;
|
||||
DWORD dwOwningPid;
|
||||
} MIB_TCPROW_OWNER_PID, *PMIB_TCPROW_OWNER_PID;
|
||||
|
||||
typedef struct _MIB_TCPTABLE_OWNER_PID
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_TCPROW_OWNER_PID table[1];
|
||||
} MIB_TCPTABLE_OWNER_PID, *PMIB_TCPTABLE_OWNER_PID;
|
||||
|
||||
typedef struct _MIB_TCPROW_OWNER_MODULE
|
||||
{
|
||||
DWORD dwState;
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
DWORD dwRemoteAddr;
|
||||
DWORD dwRemotePort;
|
||||
DWORD dwOwningPid;
|
||||
LARGE_INTEGER liCreateTimestamp;
|
||||
ULONGLONG OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
|
||||
} MIB_TCPROW_OWNER_MODULE, *PMIB_TCPROW_OWNER_MODULE;
|
||||
|
||||
typedef struct _MIB_TCPTABLE_OWNER_MODULE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_TCPROW_OWNER_MODULE table[1];
|
||||
} MIB_TCPTABLE_OWNER_MODULE, *PMIB_TCPTABLE_OWNER_MODULE;
|
||||
|
||||
typedef struct _MIB_TCPROW2
|
||||
{
|
||||
DWORD dwState;
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
DWORD dwRemoteAddr;
|
||||
DWORD dwRemotePort;
|
||||
DWORD dwOwningPid;
|
||||
TCP_CONNECTION_OFFLOAD_STATE dwOffloadState;
|
||||
} MIB_TCPROW2, *PMIB_TCPROW2;
|
||||
|
||||
typedef struct _MIB_TCPTABLE2
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_TCPROW2 table[1];
|
||||
} MIB_TCPTABLE2, *PMIB_TCPTABLE2;
|
||||
|
||||
|
||||
/* TCP stats */
|
||||
|
||||
typedef enum
|
||||
{
|
||||
TcpRtoAlgorithmOther = 0,
|
||||
TcpRtoAlgorithmConstant = 1,
|
||||
TcpRtoAlgorithmRsre = 2,
|
||||
TcpRtoAlgorithmVanj = 3,
|
||||
|
||||
MIB_TCP_RTO_OTHER = 1,
|
||||
MIB_TCP_RTO_CONSTANT = 2,
|
||||
MIB_TCP_RTO_RSRE = 3,
|
||||
MIB_TCP_RTO_VANJ = 4,
|
||||
} TCP_RTO_ALGORITHM, *PTCP_RTO_ALGORITHM;
|
||||
|
||||
typedef struct _MIB_TCPSTATS
|
||||
{
|
||||
union
|
||||
{
|
||||
DWORD dwRtoAlgorithm;
|
||||
TCP_RTO_ALGORITHM RtoAlgorithm;
|
||||
} DUMMYUNIONNAME;
|
||||
DWORD dwRtoMin;
|
||||
DWORD dwRtoMax;
|
||||
DWORD dwMaxConn;
|
||||
DWORD dwActiveOpens;
|
||||
DWORD dwPassiveOpens;
|
||||
DWORD dwAttemptFails;
|
||||
DWORD dwEstabResets;
|
||||
DWORD dwCurrEstab;
|
||||
DWORD dwInSegs;
|
||||
DWORD dwOutSegs;
|
||||
DWORD dwRetransSegs;
|
||||
DWORD dwInErrs;
|
||||
DWORD dwOutRsts;
|
||||
DWORD dwNumConns;
|
||||
} MIB_TCPSTATS, *PMIB_TCPSTATS;
|
||||
|
||||
#endif /* __WINE_TCPMIB_H */
|
85
reactos/include/psdk/udpmib.h
Normal file
85
reactos/include/psdk/udpmib.h
Normal file
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* Copyright (C) 2003 Juan Lang
|
||||
*
|
||||
* 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_UDPMIB_H
|
||||
#define __WINE_UDPMIB_H
|
||||
|
||||
#define TCPIP_OWNING_MODULE_SIZE 16
|
||||
|
||||
|
||||
/* UDP table */
|
||||
|
||||
typedef struct _MIB_UDPROW
|
||||
{
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
} MIB_UDPROW, *PMIB_UDPROW;
|
||||
|
||||
typedef struct _MIB_UDPTABLE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_UDPROW table[1];
|
||||
} MIB_UDPTABLE, *PMIB_UDPTABLE;
|
||||
|
||||
typedef struct _MIB_UDPROW_OWNER_PID
|
||||
{
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
DWORD dwOwningPid;
|
||||
} MIB_UDPROW_OWNER_PID, *PMIB_UDPROW_OWNER_PID;
|
||||
|
||||
typedef struct _MIB_UDPTABLE_OWNER_PID
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_UDPROW_OWNER_PID table[1];
|
||||
} MIB_UDPTABLE_OWNER_PID, *PMIB_UDPTABLE_OWNER_PID;
|
||||
|
||||
typedef struct _MIB_UDPROW_OWNER_MODULE
|
||||
{
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
DWORD dwOwningPid;
|
||||
LARGE_INTEGER liCreateTimestamp;
|
||||
__C89_NAMELESS union
|
||||
{
|
||||
__C89_NAMELESS struct
|
||||
{
|
||||
int SpecificPortBind:1;
|
||||
} __C89_NAMELESSSTRUCTNAME;
|
||||
int dwFlags;
|
||||
} __C89_NAMELESSUNIONNAME;
|
||||
ULONGLONG OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
|
||||
} MIB_UDPROW_OWNER_MODULE, *PMIB_UDPROW_OWNER_MODULE;
|
||||
|
||||
typedef struct _MIB_UDPTABLE_OWNER_MODULE
|
||||
{
|
||||
DWORD dwNumEntries;
|
||||
MIB_UDPROW_OWNER_MODULE table[1];
|
||||
} MIB_UDPTABLE_OWNER_MODULE, *PMIB_UDPTABLE_OWNER_MODULE;
|
||||
|
||||
/* UDP statistics */
|
||||
|
||||
typedef struct _MIB_UDPSTATS
|
||||
{
|
||||
DWORD dwInDatagrams;
|
||||
DWORD dwNoPorts;
|
||||
DWORD dwInErrors;
|
||||
DWORD dwOutDatagrams;
|
||||
DWORD dwNumAddrs;
|
||||
} MIB_UDPSTATS, *PMIB_UDPSTATS;
|
||||
|
||||
#endif /* __WINE_UDPMIB_H */
|
Loading…
Reference in a new issue