This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/iphlpapi.h

199 lines
9 KiB
C

/*
* iphlpapi.h IP helper API functions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef __IPHLPAPI_H__
#define __IPHLPAPI_H__
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#include <iprtrmib.h>
#include <ipexport.h>
#include <iptypes.h>
#include <tcpestats.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Network string flags */
#if (NTDDI_VERSION >= 0x06000000)
#define NET_STRING_IPV4_ADDRESS 0x00000001L
#define NET_STRING_IPV4_SERVICE 0x00000002L
#define NET_STRING_IPV4_NETWORK 0x00000004L
#define NET_STRING_IPV6_ADDRESS 0x00000008L
#define NET_STRING_IPV6_ADDRESS_NO_SCOPE 0x00000010L
#define NET_STRING_IPV6_SERVICE 0x00000020L
#define NET_STRING_IPV6_SERVICE_NO_SCOPE 0x00000040L
#define NET_STRING_IPV6_NETWORK 0x00000080L
#define NET_STRING_NAMED_ADDRESS 0x00000100L
#define NET_STRING_NAMED_SERVICE 0x00000200L
#define NET_STRING_IP_STRING \
(NET_STRING_IPV4_ADDRESS | NET_STRING_IPV6_ADDRESS)
#define NET_STRING_IP_ADDRESS_NO_SCOPE \
(NET_STRING_IPV4_ADDRESS | NET_STRING_IPV6_ADDRESS_NO_SCOPE)
#define NET_STRING_IP_SERVICE \
(NET_STRING_IPV4_SERVICE | NET_STRING_IPV6_SERVICE)
#define NET_STRING_IP_SERVICE_NO_SCOPE \
(NET_STRING_IPV4_SERVICE | NET_STRING_IPV6_SERVICE_NO_SCOPE)
#define NET_STRING_IP_NETWORK \
(NET_STRING_IPV4_NETWORK | NET_STRING_IPV6_NETWORK)
#define NET_STRING_ANY_ADDRESS \
(NET_STRING_NAMED_ADDRESS | NET_STRING_IP_ADDRESS)
#define NET_STRING_ANY_ADDRESS_NO_SCOPE \
(NET_STRING_NAMED_ADDRESS | NET_STRING_IP_ADDRESS_NO_SCOPE)
#define NET_STRING_ANY_SERVICE \
(NET_STRING_NAMED_SERVICE | NET_STRING_IP_SERVICE)
#define NET_STRING_ANY_SERVICE_NO_SCOPE \
(NET_STRING_NAMED_SERVICE | NET_STRING_IP_SERVICE_NO_SCOPE)
#endif
/* Network address formats */
#if (NTDDI_VERSION >= 0x06000000)
typedef enum NET_ADDRESS_FORMAT_ {
NET_ADDRESS_FORMAT_UNSPECIFIED = 0,
NET_ADDRESS_DNS_NAME = 1,
NET_ADDRESS_IPV4 = 2,
NET_ADDRESS_IPV6 = 3
} NET_ADDRESS_FORMAT;
#endif
/* Network address information */
#if (NTDDI_VERSION >= 0x06000000) && defined( _WS2DEF_ ) && defined( _WS2IPDEF_ ) && \
defined ( _WINDNS_INCLUDED )
typedef struct NET_ADDRESS_INFO_ {
NET_ADDRESS_FORMAT Format;
union {
struct {
WCHAR Address[DNS_MAX_NAME_BUFFER_LENGTH];
WCHAR Port[6];
} NamedAddress;
SOCKADDR_IN Ipv4Address;
SOCKADDR_IN6 Ipv6Address;
SOCKADDR IpAddress;
};
} NET_ADDRESS_INFO;
typedef NET_ADDRESS_INFO *PNET_ADDRESS_INFO;
#endif
/* Functions in IPHLPAPI.DLL */
DWORD WINAPI AddIPAddress( IPAddr, IPMask, DWORD, PULONG, PULONG );
DWORD WINAPI CreateIpForwardEntry( PMIB_IPFORWARDROW );
DWORD WINAPI CreateIpNetEntry( PMIB_IPNETROW );
DWORD WINAPI CreateProxyArpEntry( DWORD, DWORD, DWORD );
DWORD WINAPI DeleteIPAddress( ULONG );
DWORD WINAPI DeleteIpForwardEntry( PMIB_IPFORWARDROW );
DWORD WINAPI DeleteIpNetEntry( PMIB_IPNETROW );
DWORD WINAPI DeleteProxyArpEntry( DWORD, DWORD, DWORD );
DWORD WINAPI DisableMediaSense( HANDLE *, OVERLAPPED * );
DWORD WINAPI EnableRouter( HANDLE *, OVERLAPPED * );
DWORD WINAPI FlushIpNetTable( DWORD );
DWORD WINAPI GetAdapterIndex( LPWSTR, PULONG );
PIP_ADAPTER_ORDER_MAP WINAPI GetAdapterOrderMap( VOID );
ULONG WINAPI GetAdaptersInfo( PIP_ADAPTER_INFO, PULONG );
DWORD WINAPI GetBestInterface( IPAddr, PDWORD );
DWORD WINAPI GetBestInterfaceEx( struct sockaddr *, PDWORD );
DWORD WINAPI GetBestRoute( DWORD, DWORD, PMIB_IPFORWARDROW );
DWORD WINAPI GetExtendedTcpTable( PVOID, PDWORD, BOOL, ULONG, TCP_TABLE_CLASS, ULONG );
DWORD WINAPI GetExtendedUdpTable( PVOID, PDWORD, BOOL, ULONG, UDP_TABLE_CLASS, ULONG );
DWORD WINAPI GetFriendlyIfIndex( DWORD );
ULONG WINAPI GetIcmpStatistics( PMIB_ICMP );
DWORD WINAPI GetIfEntry( PMIB_IFROW );
DWORD WINAPI GetIfTable( PMIB_IFTABLE, PULONG, BOOL );
DWORD WINAPI GetInterfaceInfo( PIP_INTERFACE_INFO, PULONG );
DWORD WINAPI GetIpAddrTable( PMIB_IPADDRTABLE, PULONG, BOOL );
DWORD WINAPI GetIpForwardTable( PMIB_IPFORWARDTABLE, PULONG, BOOL );
ULONG WINAPI GetIpNetTable( PMIB_IPNETTABLE, PULONG, BOOL );
DWORD WINAPI GetNumberOfInterfaces( PDWORD );
DWORD WINAPI GetOwnerModuleFromPidAndInfo( ULONG, ULONGLONG, TCPIP_OWNER_MODULE_INFO_CLASS, PVOID, PDWORD );
DWORD WINAPI GetOwnerModuleFromTcpEntry( PMIB_TCPROW_OWNER_MODULE, TCPIP_OWNER_MODULE_INFO_CLASS, PVOID, PDWORD );
DWORD WINAPI GetOwnerModuleFromUdpEntry( PMIB_UDPROW_OWNER_MODULE, TCPIP_OWNER_MODULE_INFO_CLASS, PVOID, PDWORD );
BOOL WINAPI GetRTTAndHopCount( IPAddr, PULONG, ULONG, PULONG );
ULONG WINAPI GetTcpTable( PMIB_TCPTABLE, PULONG, BOOL );
ULONG WINAPI GetUdpStatistics( PMIB_UDPSTATS );
ULONG WINAPI GetUdpTable( PMIB_UDPTABLE, PULONG, BOOL );
DWORD WINAPI GetUniDirectionalAdapterInfo( PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS, PULONG );
DWORD WINAPI IpReleaseAddress( PIP_ADAPTER_INDEX_MAP );
DWORD WINAPI IpRenewAddress( PIP_ADAPTER_INDEX_MAP );
DWORD WINAPI NotifyAddrChange( PHANDLE, LPOVERLAPPED );
DWORD WINAPI NotifyRouteChange( PHANDLE, LPOVERLAPPED );
DWORD WINAPI RestoreMediaSense( OVERLAPPED *, LPDWORD );
DWORD WINAPI SendARP( IPAddr, IPAddr, PVOID, PULONG );
DWORD WINAPI SetIfEntry( PMIB_IFROW );
DWORD WINAPI SetIpForwardEntry( PMIB_IPFORWARDROW );
DWORD WINAPI SetIpTTL( UINT );
DWORD WINAPI SetIpNetEntry( PMIB_IPNETROW );
DWORD WINAPI SetTcpEntry( PMIB_TCPROW );
DWORD WINAPI UnenableRouter( OVERLAPPED *, LPDWORD );
#ifdef _WS2IPDEF_
ULONG WINAPI GetPerTcp6ConnectionEStats( PMIB_TCP6ROW, TCP_ESTATS_TYPE, PUCHAR, ULONG, ULONG, PUCHAR, ULONG, ULONG, PUCHAR, ULONG, ULONG );
ULONG WINAPI GetPerTcpConnectionEStats( PMIB_TCPROW, TCP_ESTATS_TYPE, PUCHAR, ULONG, ULONG, PUCHAR, ULONG, ULONG, PUCHAR, ULONG, ULONG );
DWORD WINAPI GetOwnerModuleFromTcp6Entry( PMIB_TCP6ROW_OWNER_MODULE, TCPIP_OWNER_MODULE_INFO_CLASS, PVOID, PDWORD );
DWORD WINAPI GetOwnerModuleFromUdp6Entry( PMIB_UDP6ROW_OWNER_MODULE, TCPIP_OWNER_MODULE_INFO_CLASS, PVOID, PDWORD );
ULONG WINAPI GetUdp6Table( PMIB_UDP6TABLE, PULONG, BOOL );
ULONG WINAPI SetPerTcp6ConnectionEStats( PMIB_TCP6ROW, TCP_ESTATS_TYPE, PUCHAR, ULONG, ULONG, ULONG );
ULONG WINAPI SetPerTcpConnectionEStats( PMIB_TCPROW, TCP_ESTATS_TYPE, PUCHAR, ULONG, ULONG, ULONG );
#endif
#ifdef _WINSOCK2API_
ULONG WINAPI GetAdaptersAddresses( ULONG, ULONG, PVOID, PIP_ADAPTER_ADDRESSES, PULONG );
#endif
#if (NTDDI_VERSION < 0x06000000)
DWORD WINAPI AllocateAndGetTcpExTableFromStack( PVOID *, BOOL, HANDLE, DWORD, DWORD );
DWORD WINAPI AllocateAndGetUdpExTableFromStack( PVOID *, BOOL, HANDLE, DWORD, DWORD );
#endif
#if (NTDDI_VERSION >= 0x05000000)
ULONG WINAPI GetIpStatistics( PMIB_IPSTATS );
ULONG WINAPI GetTcpStatistics( PMIB_TCPSTATS );
DWORD WINAPI SetIpStatistics( PMIB_IPSTATS );
#endif
#if (NTDDI_VERSION >= 0x05000100)
DWORD WINAPI GetNetworkParams( PFIXED_INFO, PULONG );
DWORD WINAPI GetPerAdapterInfo( ULONG, PIP_PER_ADAPTER_INFO, PULONG );
DWORD WINAPI NhpAllocateAndGetInterfaceInfoFromStack( IP_INTERFACE_NAME_INFO **, PDWORD, BOOL, HANDLE, DWORD );
#endif
#if (NTDDI_VERSION >= 0x05010000)
ULONG WINAPI GetIcmpStatisticsEx( PMIB_ICMP_EX, ULONG );
ULONG WINAPI GetIpStatisticsEx( PMIB_IPSTATS, ULONG );
ULONG WINAPI GetTcpStatisticsEx( PMIB_TCPSTATS, ULONG );
ULONG WINAPI GetUdpStatisticsEx( PMIB_UDPSTATS, ULONG );
ULONG WINAPI SetIpStatisticsEx( PMIB_IPSTATS, ULONG );
#endif
#if (NTDDI_VERSION >= 0x06000000)
ULONG WINAPI CreatePersistentTcpPortReservation( USHORT, USHORT, PULONG64 );
ULONG WINAPI CreatePersistentUdpPortReservation( USHORT, USHORT, PULONG64 );
ULONG WINAPI DeletePersistentTcpPortReservation( USHORT, USHORT );
ULONG WINAPI DeletePersistentUdpPortReservation( USHORT, USHORT );
DWORD WINAPI GetIpErrorString( IP_STATUS, PWSTR, PDWORD );
ULONG WINAPI GetTcpTable2( PMIB_TCPTABLE2, PULONG, BOOL );
ULONG WINAPI LookupPersistentTcpPortReservation( USHORT, USHORT, PULONG64 );
ULONG WINAPI LookupPersistentUdpPortReservation( USHORT, USHORT, PULONG64 );
#ifdef _WS2DEF_
ULONG WINAPI ResolveNeighbor( SOCKADDR *, PVOID, PULONG );
#endif
#ifdef _WS2IPDEF_
ULONG WINAPI GetTcp6Table( PMIB_TCP6TABLE, PULONG, BOOL );
ULONG WINAPI GetTcp6Table2( PMIB_TCP6TABLE2, PULONG, BOOL );
#endif
#if defined( _WS2DEF_ ) && defined( _WS2IPDEF_ ) && defined( _WINDNS_INCLUDED )
DWORD WINAPI ParseNetworkString( CONST WCHAR *, DWORD, PNET_ADDRESS_INFO, USHORT *, BYTE * );
#endif
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __IPHLPAPI_H__ */