Ultibo API
C/C++ API for Ultibo Core
Loading...
Searching...
No Matches
iphlpapi.h File Reference

Go to the source code of this file.

Data Structures

struct  _MIB_IFNUMBER
struct  _MIB_IFROW
struct  _MIB_IFTABLE
struct  _MIBICMPSTATS
struct  _MIBICMPINFO
struct  _MIB_ICMP
struct  _MIB_UDPSTATS
struct  _MIB_UDPROW
struct  _MIB_UDPTABLE
struct  _MIB_TCPSTATS
struct  _MIB_TCPROW
struct  _MIB_TCPTABLE
struct  _MIB_IPSTATS
struct  _MIB_IPADDRROW
struct  _MIB_IPADDRTABLE
struct  _MIB_IPFORWARDNUMBER
struct  _MIB_IPFORWARDROW
struct  _MIB_IPFORWARDTABLE
struct  _MIB_IPNETROW
struct  _MIB_IPNETTABLE
struct  _IP_ADAPTER_INDEX_MAP
struct  _IP_INTERFACE_INFO
struct  _IP_UNIDIRECTIONAL_ADAPTER_ADDRESS
struct  _IP_ADDRESS_STRING
struct  _IP_ADDR_STRING
struct  _IP_ADAPTER_INFO
struct  _IP_PER_ADAPTER_INFO
struct  _FIXED_INFO

Macros

#define MAX_INTERFACE_NAME_LEN   256
#define IPRTRMGR_PID   10000
#define ANY_SIZE   1
#define MAX_ADAPTER_NAME   128
#define MAX_ADAPTER_DESCRIPTION_LENGTH   128
#define MAX_ADAPTER_NAME_LENGTH   256
#define MAX_ADAPTER_ADDRESS_LENGTH   8
#define DEFAULT_MINIMUM_ENTITIES   32
#define MAX_HOSTNAME_LEN   128
#define MAX_DOMAIN_NAME_LEN   128
#define MAX_SCOPE_ID_LEN   256
#define MAXLEN_IFDESCR   256
#define MAXLEN_PHYSADDR   8
#define MIB_IF_OPER_STATUS_NON_OPERATIONAL   0
#define MIB_IF_OPER_STATUS_UNREACHABLE   1
#define MIB_IF_OPER_STATUS_DISCONNECTED   2
#define MIB_IF_OPER_STATUS_CONNECTING   3
#define MIB_IF_OPER_STATUS_CONNECTED   4
#define MIB_IF_OPER_STATUS_OPERATIONAL   5
#define MIB_IF_TYPE_OTHER   1
#define MIB_IF_TYPE_ETHERNET   6
#define MIB_IF_TYPE_TOKENRING   9
#define MIB_IF_TYPE_FDDI   15
#define MIB_IF_TYPE_PPP   23
#define MIB_IF_TYPE_LOOPBACK   24
#define MIB_IF_TYPE_SLIP   28
#define MIB_IF_TYPE_IEEE80211   71
#define IF_TYPE_OTHER   MIB_IF_TYPE_OTHER
#define IF_TYPE_ETHERNET_CSMACD   MIB_IF_TYPE_ETHERNET
#define IF_TYPE_ISO88025_TOKENRING   MIB_IF_TYPE_TOKENRING
#define IF_TYPE_FDDI   MIB_IF_TYPE_FDDI
#define IF_TYPE_PPP   MIB_IF_TYPE_PPP
#define IF_TYPE_SOFTWARE_LOOPBACK   MIB_IF_TYPE_LOOPBACK
#define IF_TYPE_ATM   MIB_IF_TYPE_SLIP
#define IF_TYPE_IEEE80211   MIB_IF_TYPE_IEEE80211
#define IF_TYPE_TUNNEL   131
#define IF_TYPE_IEEE1394   144
#define IF_TYPE_IEEE80216_WMAN   237
#define IF_TYPE_WWANPP   243
#define IF_TYPE_WWANPP2   244
#define MIB_IF_ADMIN_STATUS_UP   1
#define MIB_IF_ADMIN_STATUS_DOWN   2
#define MIB_IF_ADMIN_STATUS_TESTING   3
#define MIB_TCP_RTO_OTHER   1
#define MIB_TCP_RTO_CONSTANT   2
#define MIB_TCP_RTO_RSRE   3
#define MIB_TCP_RTO_VANJ   4
#define MIB_TCP_MAXCONN_DYNAMIC   (DWORD)-1
#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
#define MIB_USE_CURRENT_TTL   (DWORD)-1
#define MIB_USE_CURRENT_FORWARDING   (DWORD)-1
#define MIB_IP_FORWARDING   1
#define MIB_IP_NOT_FORWARDING   2
#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_IPROUTE_METRIC_UNUSED   (DWORD)-1
#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
#define MIB_IPNET_TYPE_OTHER   1
#define MIB_IPNET_TYPE_INVALID   2
#define MIB_IPNET_TYPE_DYNAMIC   3
#define MIB_IPNET_TYPE_STATIC   4

Typedefs

typedef uint32_t IP_ADDR
 An IP address.
typedef uint32_t IP_MASK
 An IP netmask.
typedef uint32_t IP_STATUS
 Status code returned from IP APIs.
typedef struct _MIB_IFNUMBER MIB_IFNUMBER
typedef struct _MIB_IFROW MIB_IFROW
typedef struct _MIB_IFTABLE MIB_IFTABLE
typedef struct _MIBICMPSTATS MIBICMPSTATS
typedef struct _MIBICMPINFO MIBICMPINFO
typedef struct _MIB_ICMP MIB_ICMP
typedef struct _MIB_UDPSTATS MIB_UDPSTATS
typedef struct _MIB_UDPROW MIB_UDPROW
typedef struct _MIB_UDPTABLE MIB_UDPTABLE
typedef struct _MIB_TCPSTATS MIB_TCPSTATS
typedef struct _MIB_TCPROW MIB_TCPROW
typedef struct _MIB_TCPTABLE MIB_TCPTABLE
typedef struct _MIB_IPSTATS MIB_IPSTATS
typedef struct _MIB_IPADDRROW MIB_IPADDRROW
typedef struct _MIB_IPADDRTABLE MIB_IPADDRTABLE
typedef struct _MIB_IPFORWARDNUMBER MIB_IPFORWARDNUMBER
typedef struct _MIB_IPFORWARDROW MIB_IPFORWARDROW
typedef struct _MIB_IPFORWARDTABLE MIB_IPFORWARDTABLE
typedef struct _MIB_IPNETROW MIB_IPNETROW
typedef struct _MIB_IPNETTABLE MIB_IPNETTABLE
typedef struct _IP_ADAPTER_INDEX_MAP IP_ADAPTER_INDEX_MAP
typedef struct _IP_INTERFACE_INFO IP_INTERFACE_INFO
typedef struct _IP_UNIDIRECTIONAL_ADAPTER_ADDRESS IP_UNIDIRECTIONAL_ADAPTER_ADDRESS
typedef struct _IP_ADDRESS_STRING IP_ADDRESS_STRING
typedef IP_ADDRESS_STRING IP_MASK_STRING
typedef struct _IP_ADDR_STRING IP_ADDR_STRING
typedef struct _IP_ADAPTER_INFO IP_ADAPTER_INFO
typedef struct _IP_PER_ADAPTER_INFO IP_PER_ADAPTER_INFO
typedef struct _FIXED_INFO FIXED_INFO

Functions

uint32_t STDCALL GetNumberOfInterfaces (uint32_t *pdwnumif)
 Retrieve the number of interfaces on the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetIfEntry (MIB_IFROW *pifrow)
 Retrieve information for the specified interface on the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetIfTable (MIB_IFTABLE *piftable, uint32_t *pdwsize, BOOL border)
 Retrieve the MIB-II interface table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetIpAddrTable (MIB_IPADDRTABLE *pipaddrtable, uint32_t *pdwsize, BOOL border)
 Retrieve the interface to IPv4 address mapping table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetIpNetTable (MIB_IPNETTABLE *pipnettable, uint32_t *pdwsize, BOOL border)
 Retrieve the IPv4 to physical address mapping table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetIpForwardTable (MIB_IPFORWARDTABLE *pipforwardtable, uint32_t *pdwsize, BOOL border)
 Retrieve the IPv4 routing table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetTcpTable (MIB_TCPTABLE *ptcptable, uint32_t *pdwsize, BOOL border)
 Retrieve the IPv4 TCP connection table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetUdpTable (MIB_UDPTABLE *pudptable, uint32_t *pdwsize, BOOL border)
 Retrieve the IPv4 User Datagram Protocol (UDP) listener table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetIpStatistics (MIB_IPSTATS *pstats)
 Retrieve the IP statistics for the current computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetIcmpStatistics (MIB_ICMP *pstats)
 Retrieve the Internet Control Message Protocol (ICMP) for IPv4 statistics for the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetTcpStatistics (MIB_TCPSTATS *pstats)
 Retrieve the TCP statistics for the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetUdpStatistics (MIB_UDPSTATS *pstats)
 Retrieve the User Datagram Protocol (UDP) statistics for the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL SetIfEntry (MIB_IFROW *pifrow)
 Set the administrative status of an interface See the Windows IP Helper documentation for additional information.
uint32_t STDCALL CreateIpForwardEntry (MIB_IPFORWARDROW *proute)
 Create a route in the local computer's IPv4 routing table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL SetIpForwardEntry (MIB_IPFORWARDROW *proute)
 Modify an existing route in the local computer's IPv4 routing table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL DeleteIpForwardEntry (MIB_IPFORWARDROW *proute)
 Delete an existing route in the local computer's IPv4 routing table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL SetIpStatistics (MIB_IPSTATS *pipstats)
 Toggle IP forwarding on or off and set the default time-to-live (TTL) value for the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL SetIpTTL (UINT nttl)
 Set the default time-to-live (TTL) value for the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL CreateIpNetEntry (MIB_IPNETROW *parpentry)
 Create an Address Resolution Protocol (ARP) entry in the ARP table on the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL SetIpNetEntry (MIB_IPNETROW *parpentry)
 Modify an existing ARP entry in the ARP table on the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL DeleteIpNetEntry (MIB_IPNETROW *parpentry)
 Delete an ARP entry from the ARP table on the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL FlushIpNetTable (uint32_t dwifindex)
 Delete all ARP entries for the specified interface from the ARP table on the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL CreateProxyArpEntry (uint32_t dwaddress, uint32_t dwmask, uint32_t dwifindex)
 Create a Proxy Address Resolution Protocol (PARP) entry on the local computer for the specified IPv4 address See the Windows IP Helper documentation for additional information.
uint32_t STDCALL DeleteProxyArpEntry (uint32_t dwaddress, uint32_t dwmask, uint32_t dwifindex)
 Delete the PARP entry on the local computer specified by the dwAddress and dwIfIndex parameters See the Windows IP Helper documentation for additional information.
uint32_t STDCALL SetTcpEntry (MIB_TCPROW *ptcprow)
 Set the state of a TCP connection See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetInterfaceInfo (IP_INTERFACE_INFO *piftable, uint32_t *dwoutbuflen)
 Obtain the list of the network interface adapters with IPv4 enabled on the local system See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetUniDirectionalAdapterInfo (IP_UNIDIRECTIONAL_ADAPTER_ADDRESS *pipifinfo, uint32_t *dwoutbuflen)
 Retrieve information about the unidirectional adapters installed on the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetBestInterface (IP_ADDR dwdestaddr, uint32_t *pdwbestifindex)
 Retrieve the index of the interface that has the best route to the specified IPv4 address See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetBestRoute (uint32_t dwdestaddr, uint32_t dwsourceaddr, MIB_IPFORWARDROW *pbestroute)
 Retrieve the best route to the specified destination IP address See the Windows IP Helper documentation for additional information.
uint32_t STDCALL NotifyAddrChange (HANDLE *handle, OVERLAPPED *overlapped)
 Cause a notification to be sent to the caller whenever a change occurs in the table that maps IPv4 addresses to interfaces See the Windows IP Helper documentation for additional information.
uint32_t STDCALL NotifyRouteChange (HANDLE *handle, OVERLAPPED *overlapped)
 Cause a notification to be sent to the caller whenever a change occurs in the IPv4 routing table See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetAdapterIndex (WCHAR *adaptername, uint32_t *ifindex)
 Obtain the index of an adapter, given its name See the Windows IP Helper documentation for additional information.
uint32_t STDCALL AddIPAddress (IP_ADDR address, IP_MASK ipmask, uint32_t ifindex, uint32_t *ntecontext, uint32_t *nteinstance)
 Add the specified IPv4 address to the specified adapter See the Windows IP Helper documentation for additional information.
uint32_t STDCALL DeleteIPAddress (uint32_t ntecontext)
 Delete an IP address previously added using AddIPAddress See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetNetworkParams (FIXED_INFO *pfixedinfo, uint32_t *poutbuflen)
 Retrieve network parameters for the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetAdaptersInfo (IP_ADAPTER_INFO *padapterinfo, uint32_t *poutbuflen)
 Retrieve adapter information for the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetPerAdapterInfo (uint32_t ifindex, IP_PER_ADAPTER_INFO *pperadapterinfo, uint32_t *poutbuflen)
 Retrieve information about the adapter corresponding to the specified interface See the Windows IP Helper documentation for additional information.
uint32_t STDCALL IpReleaseAddress (IP_ADAPTER_INDEX_MAP *adapterinfo)
 Release an IPv4 address previously obtained through the Dynamic Host Configuration Protocol (DHCP) See the Windows IP Helper documentation for additional information.
uint32_t STDCALL IpRenewAddress (IP_ADAPTER_INDEX_MAP *adapterinfo)
 Renew a lease on an IPv4 address previously obtained through Dynamic Host Configuration Protocol (DHCP) See the Windows IP Helper documentation for additional information.
uint32_t STDCALL SendARP (IP_ADDR *destip, IP_ADDR *srcip, DWORD *pmacaddr, uint32_t *phyaddrlen)
 Sends an Address Resolution Protocol (ARP) request to obtain the physical address that corresponds to the specified destination IPv4 address See the Windows IP Helper documentation for additional information.
BOOL STDCALL GetRTTAndHopCount (IP_ADDR destipaddress, uint32_t *hopcount, uint32_t maxhops, uint32_t *rtt)
 Determine the round-trip time (RTT) and hop count to the specified destination See the Windows IP Helper documentation for additional information.
uint32_t STDCALL GetFriendlyIfIndex (uint32_t ifindex)
 Take an interface index and return a backward-compatible interface index See the Windows IP Helper documentation for additional information.
uint32_t STDCALL EnableRouter (HANDLE *phandle, OVERLAPPED *poverlapped)
 Turn on IPv4 forwarding on the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL UnenableRouter (OVERLAPPED *poverlapped, DWORD *lpdwenablecount)
 Turn off IPv4 forwarding on the local computer See the Windows IP Helper documentation for additional information.
uint32_t STDCALL MIBIFOperStatusToString (uint32_t value, char *string, uint32_t len)
uint32_t STDCALL MIBIFTypeToString (uint32_t value, char *string, uint32_t len)
uint32_t STDCALL MIBIFAdminStatusToString (uint32_t value, char *string, uint32_t len)
uint32_t STDCALL MIBTCPRTOToString (uint32_t value, char *string, uint32_t len)
uint32_t STDCALL MIBTCPStateToString (uint32_t value, char *string, uint32_t len)
uint32_t STDCALL MIBIPForwardingToString (uint32_t value, char *string, uint32_t len)
uint32_t STDCALL MIBIPRouteTypeToString (uint32_t value, char *string, uint32_t len)
uint32_t STDCALL MIBIPProtoToString (uint32_t value, char *string, uint32_t len)
uint32_t STDCALL MIBIPNetTypeToString (uint32_t value, char *string, uint32_t len)

Macro Definition Documentation

◆ MAX_INTERFACE_NAME_LEN

#define MAX_INTERFACE_NAME_LEN   256

IP Helper specific constants

◆ IPRTRMGR_PID

#define IPRTRMGR_PID   10000

◆ ANY_SIZE

#define ANY_SIZE   1

◆ MAX_ADAPTER_NAME

#define MAX_ADAPTER_NAME   128

◆ MAX_ADAPTER_DESCRIPTION_LENGTH

#define MAX_ADAPTER_DESCRIPTION_LENGTH   128

◆ MAX_ADAPTER_NAME_LENGTH

#define MAX_ADAPTER_NAME_LENGTH   256

◆ MAX_ADAPTER_ADDRESS_LENGTH

#define MAX_ADAPTER_ADDRESS_LENGTH   8

◆ DEFAULT_MINIMUM_ENTITIES

#define DEFAULT_MINIMUM_ENTITIES   32

◆ MAX_HOSTNAME_LEN

#define MAX_HOSTNAME_LEN   128

◆ MAX_DOMAIN_NAME_LEN

#define MAX_DOMAIN_NAME_LEN   128

◆ MAX_SCOPE_ID_LEN

#define MAX_SCOPE_ID_LEN   256

◆ MAXLEN_IFDESCR

#define MAXLEN_IFDESCR   256

◆ MAXLEN_PHYSADDR

#define MAXLEN_PHYSADDR   8

◆ MIB_IF_OPER_STATUS_NON_OPERATIONAL

#define MIB_IF_OPER_STATUS_NON_OPERATIONAL   0

◆ MIB_IF_OPER_STATUS_UNREACHABLE

#define MIB_IF_OPER_STATUS_UNREACHABLE   1

◆ MIB_IF_OPER_STATUS_DISCONNECTED

#define MIB_IF_OPER_STATUS_DISCONNECTED   2

◆ MIB_IF_OPER_STATUS_CONNECTING

#define MIB_IF_OPER_STATUS_CONNECTING   3

◆ MIB_IF_OPER_STATUS_CONNECTED

#define MIB_IF_OPER_STATUS_CONNECTED   4

◆ MIB_IF_OPER_STATUS_OPERATIONAL

#define MIB_IF_OPER_STATUS_OPERATIONAL   5

◆ MIB_IF_TYPE_OTHER

#define MIB_IF_TYPE_OTHER   1

◆ MIB_IF_TYPE_ETHERNET

#define MIB_IF_TYPE_ETHERNET   6

◆ MIB_IF_TYPE_TOKENRING

#define MIB_IF_TYPE_TOKENRING   9

◆ MIB_IF_TYPE_FDDI

#define MIB_IF_TYPE_FDDI   15

◆ MIB_IF_TYPE_PPP

#define MIB_IF_TYPE_PPP   23

◆ MIB_IF_TYPE_LOOPBACK

#define MIB_IF_TYPE_LOOPBACK   24

◆ MIB_IF_TYPE_SLIP

#define MIB_IF_TYPE_SLIP   28

◆ MIB_IF_TYPE_IEEE80211

#define MIB_IF_TYPE_IEEE80211   71

◆ IF_TYPE_OTHER

#define IF_TYPE_OTHER   MIB_IF_TYPE_OTHER

◆ IF_TYPE_ETHERNET_CSMACD

#define IF_TYPE_ETHERNET_CSMACD   MIB_IF_TYPE_ETHERNET

◆ IF_TYPE_ISO88025_TOKENRING

#define IF_TYPE_ISO88025_TOKENRING   MIB_IF_TYPE_TOKENRING

◆ IF_TYPE_FDDI

#define IF_TYPE_FDDI   MIB_IF_TYPE_FDDI

◆ IF_TYPE_PPP

#define IF_TYPE_PPP   MIB_IF_TYPE_PPP

◆ IF_TYPE_SOFTWARE_LOOPBACK

#define IF_TYPE_SOFTWARE_LOOPBACK   MIB_IF_TYPE_LOOPBACK

◆ IF_TYPE_ATM

#define IF_TYPE_ATM   MIB_IF_TYPE_SLIP

◆ IF_TYPE_IEEE80211

#define IF_TYPE_IEEE80211   MIB_IF_TYPE_IEEE80211

◆ IF_TYPE_TUNNEL

#define IF_TYPE_TUNNEL   131

◆ IF_TYPE_IEEE1394

#define IF_TYPE_IEEE1394   144

◆ IF_TYPE_IEEE80216_WMAN

#define IF_TYPE_IEEE80216_WMAN   237

◆ IF_TYPE_WWANPP

#define IF_TYPE_WWANPP   243

◆ IF_TYPE_WWANPP2

#define IF_TYPE_WWANPP2   244

◆ MIB_IF_ADMIN_STATUS_UP

#define MIB_IF_ADMIN_STATUS_UP   1

◆ MIB_IF_ADMIN_STATUS_DOWN

#define MIB_IF_ADMIN_STATUS_DOWN   2

◆ MIB_IF_ADMIN_STATUS_TESTING

#define MIB_IF_ADMIN_STATUS_TESTING   3

◆ MIB_TCP_RTO_OTHER

#define MIB_TCP_RTO_OTHER   1

◆ MIB_TCP_RTO_CONSTANT

#define MIB_TCP_RTO_CONSTANT   2

◆ MIB_TCP_RTO_RSRE

#define MIB_TCP_RTO_RSRE   3

◆ MIB_TCP_RTO_VANJ

#define MIB_TCP_RTO_VANJ   4

◆ MIB_TCP_MAXCONN_DYNAMIC

#define MIB_TCP_MAXCONN_DYNAMIC   (DWORD)-1

◆ MIB_TCP_STATE_CLOSED

#define MIB_TCP_STATE_CLOSED   1

◆ MIB_TCP_STATE_LISTEN

#define MIB_TCP_STATE_LISTEN   2

◆ MIB_TCP_STATE_SYN_SENT

#define MIB_TCP_STATE_SYN_SENT   3

◆ MIB_TCP_STATE_SYN_RCVD

#define MIB_TCP_STATE_SYN_RCVD   4

◆ MIB_TCP_STATE_ESTAB

#define MIB_TCP_STATE_ESTAB   5

◆ MIB_TCP_STATE_FIN_WAIT1

#define MIB_TCP_STATE_FIN_WAIT1   6

◆ MIB_TCP_STATE_FIN_WAIT2

#define MIB_TCP_STATE_FIN_WAIT2   7

◆ MIB_TCP_STATE_CLOSE_WAIT

#define MIB_TCP_STATE_CLOSE_WAIT   8

◆ MIB_TCP_STATE_CLOSING

#define MIB_TCP_STATE_CLOSING   9

◆ MIB_TCP_STATE_LAST_ACK

#define MIB_TCP_STATE_LAST_ACK   10

◆ MIB_TCP_STATE_TIME_WAIT

#define MIB_TCP_STATE_TIME_WAIT   11

◆ MIB_TCP_STATE_DELETE_TCB

#define MIB_TCP_STATE_DELETE_TCB   12

◆ MIB_USE_CURRENT_TTL

#define MIB_USE_CURRENT_TTL   (DWORD)-1

◆ MIB_USE_CURRENT_FORWARDING

#define MIB_USE_CURRENT_FORWARDING   (DWORD)-1

◆ MIB_IP_FORWARDING

#define MIB_IP_FORWARDING   1

◆ MIB_IP_NOT_FORWARDING

#define MIB_IP_NOT_FORWARDING   2

◆ MIB_IPROUTE_TYPE_OTHER

#define MIB_IPROUTE_TYPE_OTHER   1

◆ MIB_IPROUTE_TYPE_INVALID

#define MIB_IPROUTE_TYPE_INVALID   2

◆ MIB_IPROUTE_TYPE_DIRECT

#define MIB_IPROUTE_TYPE_DIRECT   3

◆ MIB_IPROUTE_TYPE_INDIRECT

#define MIB_IPROUTE_TYPE_INDIRECT   4

◆ MIB_IPROUTE_METRIC_UNUSED

#define MIB_IPROUTE_METRIC_UNUSED   (DWORD)-1

◆ MIB_IPPROTO_OTHER

#define MIB_IPPROTO_OTHER   1

◆ MIB_IPPROTO_LOCAL

#define MIB_IPPROTO_LOCAL   2

◆ MIB_IPPROTO_NETMGMT

#define MIB_IPPROTO_NETMGMT   3

◆ MIB_IPPROTO_ICMP

#define MIB_IPPROTO_ICMP   4

◆ MIB_IPPROTO_EGP

#define MIB_IPPROTO_EGP   5

◆ MIB_IPPROTO_GGP

#define MIB_IPPROTO_GGP   6

◆ MIB_IPPROTO_HELLO

#define MIB_IPPROTO_HELLO   7

◆ MIB_IPPROTO_RIP

#define MIB_IPPROTO_RIP   8

◆ MIB_IPPROTO_IS_IS

#define MIB_IPPROTO_IS_IS   9

◆ MIB_IPPROTO_ES_IS

#define MIB_IPPROTO_ES_IS   10

◆ MIB_IPPROTO_CISCO

#define MIB_IPPROTO_CISCO   11

◆ MIB_IPPROTO_BBN

#define MIB_IPPROTO_BBN   12

◆ MIB_IPPROTO_OSPF

#define MIB_IPPROTO_OSPF   13

◆ MIB_IPPROTO_BGP

#define MIB_IPPROTO_BGP   14

◆ MIB_IPPROTO_NT_AUTOSTATIC

#define MIB_IPPROTO_NT_AUTOSTATIC   10002

◆ MIB_IPPROTO_NT_STATIC

#define MIB_IPPROTO_NT_STATIC   10006

◆ MIB_IPPROTO_NT_STATIC_NON_DOD

#define MIB_IPPROTO_NT_STATIC_NON_DOD   10007

◆ MIB_IPNET_TYPE_OTHER

#define MIB_IPNET_TYPE_OTHER   1

◆ MIB_IPNET_TYPE_INVALID

#define MIB_IPNET_TYPE_INVALID   2

◆ MIB_IPNET_TYPE_DYNAMIC

#define MIB_IPNET_TYPE_DYNAMIC   3

◆ MIB_IPNET_TYPE_STATIC

#define MIB_IPNET_TYPE_STATIC   4

Typedef Documentation

◆ IP_ADDR

typedef uint32_t IP_ADDR

An IP address.

IP Helper specific types

◆ IP_MASK

typedef uint32_t IP_MASK

An IP netmask.

◆ IP_STATUS

typedef uint32_t IP_STATUS

Status code returned from IP APIs.

◆ MIB_IFNUMBER

typedef struct _MIB_IFNUMBER MIB_IFNUMBER

◆ MIB_IFROW

typedef struct _MIB_IFROW MIB_IFROW

◆ MIB_IFTABLE

typedef struct _MIB_IFTABLE MIB_IFTABLE

◆ MIBICMPSTATS

typedef struct _MIBICMPSTATS MIBICMPSTATS

◆ MIBICMPINFO

typedef struct _MIBICMPINFO MIBICMPINFO

◆ MIB_ICMP

typedef struct _MIB_ICMP MIB_ICMP

◆ MIB_UDPSTATS

typedef struct _MIB_UDPSTATS MIB_UDPSTATS

◆ MIB_UDPROW

typedef struct _MIB_UDPROW MIB_UDPROW

◆ MIB_UDPTABLE

typedef struct _MIB_UDPTABLE MIB_UDPTABLE

◆ MIB_TCPSTATS

typedef struct _MIB_TCPSTATS MIB_TCPSTATS

◆ MIB_TCPROW

typedef struct _MIB_TCPROW MIB_TCPROW

◆ MIB_TCPTABLE

typedef struct _MIB_TCPTABLE MIB_TCPTABLE

◆ MIB_IPSTATS

typedef struct _MIB_IPSTATS MIB_IPSTATS

◆ MIB_IPADDRROW

typedef struct _MIB_IPADDRROW MIB_IPADDRROW

◆ MIB_IPADDRTABLE

◆ MIB_IPFORWARDNUMBER

◆ MIB_IPFORWARDROW

◆ MIB_IPFORWARDTABLE

◆ MIB_IPNETROW

typedef struct _MIB_IPNETROW MIB_IPNETROW

◆ MIB_IPNETTABLE

◆ IP_ADAPTER_INDEX_MAP

◆ IP_INTERFACE_INFO

◆ IP_UNIDIRECTIONAL_ADAPTER_ADDRESS

◆ IP_ADDRESS_STRING

◆ IP_MASK_STRING

◆ IP_ADDR_STRING

◆ IP_ADAPTER_INFO

◆ IP_PER_ADAPTER_INFO

◆ FIXED_INFO

typedef struct _FIXED_INFO FIXED_INFO

Function Documentation

◆ GetNumberOfInterfaces()

uint32_t STDCALL GetNumberOfInterfaces ( uint32_t * pdwnumif)

Retrieve the number of interfaces on the local computer See the Windows IP Helper documentation for additional information.

IP Helper Functions

◆ GetIfEntry()

uint32_t STDCALL GetIfEntry ( MIB_IFROW * pifrow)

Retrieve information for the specified interface on the local computer See the Windows IP Helper documentation for additional information.

◆ GetIfTable()

uint32_t STDCALL GetIfTable ( MIB_IFTABLE * piftable,
uint32_t * pdwsize,
BOOL border )

Retrieve the MIB-II interface table See the Windows IP Helper documentation for additional information.

◆ GetIpAddrTable()

uint32_t STDCALL GetIpAddrTable ( MIB_IPADDRTABLE * pipaddrtable,
uint32_t * pdwsize,
BOOL border )

Retrieve the interface to IPv4 address mapping table See the Windows IP Helper documentation for additional information.

◆ GetIpNetTable()

uint32_t STDCALL GetIpNetTable ( MIB_IPNETTABLE * pipnettable,
uint32_t * pdwsize,
BOOL border )

Retrieve the IPv4 to physical address mapping table See the Windows IP Helper documentation for additional information.

◆ GetIpForwardTable()

uint32_t STDCALL GetIpForwardTable ( MIB_IPFORWARDTABLE * pipforwardtable,
uint32_t * pdwsize,
BOOL border )

Retrieve the IPv4 routing table See the Windows IP Helper documentation for additional information.

◆ GetTcpTable()

uint32_t STDCALL GetTcpTable ( MIB_TCPTABLE * ptcptable,
uint32_t * pdwsize,
BOOL border )

Retrieve the IPv4 TCP connection table See the Windows IP Helper documentation for additional information.

◆ GetUdpTable()

uint32_t STDCALL GetUdpTable ( MIB_UDPTABLE * pudptable,
uint32_t * pdwsize,
BOOL border )

Retrieve the IPv4 User Datagram Protocol (UDP) listener table See the Windows IP Helper documentation for additional information.

◆ GetIpStatistics()

uint32_t STDCALL GetIpStatistics ( MIB_IPSTATS * pstats)

Retrieve the IP statistics for the current computer See the Windows IP Helper documentation for additional information.

◆ GetIcmpStatistics()

uint32_t STDCALL GetIcmpStatistics ( MIB_ICMP * pstats)

Retrieve the Internet Control Message Protocol (ICMP) for IPv4 statistics for the local computer See the Windows IP Helper documentation for additional information.

◆ GetTcpStatistics()

uint32_t STDCALL GetTcpStatistics ( MIB_TCPSTATS * pstats)

Retrieve the TCP statistics for the local computer See the Windows IP Helper documentation for additional information.

◆ GetUdpStatistics()

uint32_t STDCALL GetUdpStatistics ( MIB_UDPSTATS * pstats)

Retrieve the User Datagram Protocol (UDP) statistics for the local computer See the Windows IP Helper documentation for additional information.

◆ SetIfEntry()

uint32_t STDCALL SetIfEntry ( MIB_IFROW * pifrow)

Set the administrative status of an interface See the Windows IP Helper documentation for additional information.

◆ CreateIpForwardEntry()

uint32_t STDCALL CreateIpForwardEntry ( MIB_IPFORWARDROW * proute)

Create a route in the local computer's IPv4 routing table See the Windows IP Helper documentation for additional information.

◆ SetIpForwardEntry()

uint32_t STDCALL SetIpForwardEntry ( MIB_IPFORWARDROW * proute)

Modify an existing route in the local computer's IPv4 routing table See the Windows IP Helper documentation for additional information.

◆ DeleteIpForwardEntry()

uint32_t STDCALL DeleteIpForwardEntry ( MIB_IPFORWARDROW * proute)

Delete an existing route in the local computer's IPv4 routing table See the Windows IP Helper documentation for additional information.

◆ SetIpStatistics()

uint32_t STDCALL SetIpStatistics ( MIB_IPSTATS * pipstats)

Toggle IP forwarding on or off and set the default time-to-live (TTL) value for the local computer See the Windows IP Helper documentation for additional information.

◆ SetIpTTL()

uint32_t STDCALL SetIpTTL ( UINT nttl)

Set the default time-to-live (TTL) value for the local computer See the Windows IP Helper documentation for additional information.

◆ CreateIpNetEntry()

uint32_t STDCALL CreateIpNetEntry ( MIB_IPNETROW * parpentry)

Create an Address Resolution Protocol (ARP) entry in the ARP table on the local computer See the Windows IP Helper documentation for additional information.

◆ SetIpNetEntry()

uint32_t STDCALL SetIpNetEntry ( MIB_IPNETROW * parpentry)

Modify an existing ARP entry in the ARP table on the local computer See the Windows IP Helper documentation for additional information.

◆ DeleteIpNetEntry()

uint32_t STDCALL DeleteIpNetEntry ( MIB_IPNETROW * parpentry)

Delete an ARP entry from the ARP table on the local computer See the Windows IP Helper documentation for additional information.

◆ FlushIpNetTable()

uint32_t STDCALL FlushIpNetTable ( uint32_t dwifindex)

Delete all ARP entries for the specified interface from the ARP table on the local computer See the Windows IP Helper documentation for additional information.

◆ CreateProxyArpEntry()

uint32_t STDCALL CreateProxyArpEntry ( uint32_t dwaddress,
uint32_t dwmask,
uint32_t dwifindex )

Create a Proxy Address Resolution Protocol (PARP) entry on the local computer for the specified IPv4 address See the Windows IP Helper documentation for additional information.

◆ DeleteProxyArpEntry()

uint32_t STDCALL DeleteProxyArpEntry ( uint32_t dwaddress,
uint32_t dwmask,
uint32_t dwifindex )

Delete the PARP entry on the local computer specified by the dwAddress and dwIfIndex parameters See the Windows IP Helper documentation for additional information.

◆ SetTcpEntry()

uint32_t STDCALL SetTcpEntry ( MIB_TCPROW * ptcprow)

Set the state of a TCP connection See the Windows IP Helper documentation for additional information.

◆ GetInterfaceInfo()

uint32_t STDCALL GetInterfaceInfo ( IP_INTERFACE_INFO * piftable,
uint32_t * dwoutbuflen )

Obtain the list of the network interface adapters with IPv4 enabled on the local system See the Windows IP Helper documentation for additional information.

◆ GetUniDirectionalAdapterInfo()

uint32_t STDCALL GetUniDirectionalAdapterInfo ( IP_UNIDIRECTIONAL_ADAPTER_ADDRESS * pipifinfo,
uint32_t * dwoutbuflen )

Retrieve information about the unidirectional adapters installed on the local computer See the Windows IP Helper documentation for additional information.

◆ GetBestInterface()

uint32_t STDCALL GetBestInterface ( IP_ADDR dwdestaddr,
uint32_t * pdwbestifindex )

Retrieve the index of the interface that has the best route to the specified IPv4 address See the Windows IP Helper documentation for additional information.

◆ GetBestRoute()

uint32_t STDCALL GetBestRoute ( uint32_t dwdestaddr,
uint32_t dwsourceaddr,
MIB_IPFORWARDROW * pbestroute )

Retrieve the best route to the specified destination IP address See the Windows IP Helper documentation for additional information.

◆ NotifyAddrChange()

uint32_t STDCALL NotifyAddrChange ( HANDLE * handle,
OVERLAPPED * overlapped )

Cause a notification to be sent to the caller whenever a change occurs in the table that maps IPv4 addresses to interfaces See the Windows IP Helper documentation for additional information.

◆ NotifyRouteChange()

uint32_t STDCALL NotifyRouteChange ( HANDLE * handle,
OVERLAPPED * overlapped )

Cause a notification to be sent to the caller whenever a change occurs in the IPv4 routing table See the Windows IP Helper documentation for additional information.

◆ GetAdapterIndex()

uint32_t STDCALL GetAdapterIndex ( WCHAR * adaptername,
uint32_t * ifindex )

Obtain the index of an adapter, given its name See the Windows IP Helper documentation for additional information.

◆ AddIPAddress()

uint32_t STDCALL AddIPAddress ( IP_ADDR address,
IP_MASK ipmask,
uint32_t ifindex,
uint32_t * ntecontext,
uint32_t * nteinstance )

Add the specified IPv4 address to the specified adapter See the Windows IP Helper documentation for additional information.

◆ DeleteIPAddress()

uint32_t STDCALL DeleteIPAddress ( uint32_t ntecontext)

Delete an IP address previously added using AddIPAddress See the Windows IP Helper documentation for additional information.

◆ GetNetworkParams()

uint32_t STDCALL GetNetworkParams ( FIXED_INFO * pfixedinfo,
uint32_t * poutbuflen )

Retrieve network parameters for the local computer See the Windows IP Helper documentation for additional information.

◆ GetAdaptersInfo()

uint32_t STDCALL GetAdaptersInfo ( IP_ADAPTER_INFO * padapterinfo,
uint32_t * poutbuflen )

Retrieve adapter information for the local computer See the Windows IP Helper documentation for additional information.

◆ GetPerAdapterInfo()

uint32_t STDCALL GetPerAdapterInfo ( uint32_t ifindex,
IP_PER_ADAPTER_INFO * pperadapterinfo,
uint32_t * poutbuflen )

Retrieve information about the adapter corresponding to the specified interface See the Windows IP Helper documentation for additional information.

◆ IpReleaseAddress()

uint32_t STDCALL IpReleaseAddress ( IP_ADAPTER_INDEX_MAP * adapterinfo)

Release an IPv4 address previously obtained through the Dynamic Host Configuration Protocol (DHCP) See the Windows IP Helper documentation for additional information.

◆ IpRenewAddress()

uint32_t STDCALL IpRenewAddress ( IP_ADAPTER_INDEX_MAP * adapterinfo)

Renew a lease on an IPv4 address previously obtained through Dynamic Host Configuration Protocol (DHCP) See the Windows IP Helper documentation for additional information.

◆ SendARP()

uint32_t STDCALL SendARP ( IP_ADDR * destip,
IP_ADDR * srcip,
DWORD * pmacaddr,
uint32_t * phyaddrlen )

Sends an Address Resolution Protocol (ARP) request to obtain the physical address that corresponds to the specified destination IPv4 address See the Windows IP Helper documentation for additional information.

◆ GetRTTAndHopCount()

BOOL STDCALL GetRTTAndHopCount ( IP_ADDR destipaddress,
uint32_t * hopcount,
uint32_t maxhops,
uint32_t * rtt )

Determine the round-trip time (RTT) and hop count to the specified destination See the Windows IP Helper documentation for additional information.

◆ GetFriendlyIfIndex()

uint32_t STDCALL GetFriendlyIfIndex ( uint32_t ifindex)

Take an interface index and return a backward-compatible interface index See the Windows IP Helper documentation for additional information.

◆ EnableRouter()

uint32_t STDCALL EnableRouter ( HANDLE * phandle,
OVERLAPPED * poverlapped )

Turn on IPv4 forwarding on the local computer See the Windows IP Helper documentation for additional information.

◆ UnenableRouter()

uint32_t STDCALL UnenableRouter ( OVERLAPPED * poverlapped,
DWORD * lpdwenablecount )

Turn off IPv4 forwarding on the local computer See the Windows IP Helper documentation for additional information.

◆ MIBIFOperStatusToString()

uint32_t STDCALL MIBIFOperStatusToString ( uint32_t value,
char * string,
uint32_t len )

IP Helper Helper Functions

◆ MIBIFTypeToString()

uint32_t STDCALL MIBIFTypeToString ( uint32_t value,
char * string,
uint32_t len )

◆ MIBIFAdminStatusToString()

uint32_t STDCALL MIBIFAdminStatusToString ( uint32_t value,
char * string,
uint32_t len )

◆ MIBTCPRTOToString()

uint32_t STDCALL MIBTCPRTOToString ( uint32_t value,
char * string,
uint32_t len )

◆ MIBTCPStateToString()

uint32_t STDCALL MIBTCPStateToString ( uint32_t value,
char * string,
uint32_t len )

◆ MIBIPForwardingToString()

uint32_t STDCALL MIBIPForwardingToString ( uint32_t value,
char * string,
uint32_t len )

◆ MIBIPRouteTypeToString()

uint32_t STDCALL MIBIPRouteTypeToString ( uint32_t value,
char * string,
uint32_t len )

◆ MIBIPProtoToString()

uint32_t STDCALL MIBIPProtoToString ( uint32_t value,
char * string,
uint32_t len )

◆ MIBIPNetTypeToString()

uint32_t STDCALL MIBIPNetTypeToString ( uint32_t value,
char * string,
uint32_t len )