123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- {
- This file is part of the Free Pascal run time library.
- Copyright (c) 2006 Free Pascal development team.
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program 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.
- **********************************************************************}
- {exported functions list = to do,
- * please remove functions done *
- ordinal name
- AddIPAddress
- AllocateAndGetIfTableFromStack
- AllocateAndGetIpAddrTableFromStack
- CreateIpForwardEntry
- CreateIpNetEntry
- CreateProxyArpEntry
- DeleteIPAddress
- DeleteIpForwardEntry
- DeleteIpNetEntry
- DeleteProxyArpEntry
- DllEntry
- EnableRouter
- FlushIpNetTable
- GetAdapterIndex
- GetAdapterOrderMap
- GetAdaptersAddresses
- GetBestInterface
- GetBestInterfaceEx
- GetBestRoute
- GetFriendlyIfIndex
- GetIcmpStatistics
- GetIcmpStatisticsEx
- GetIfEntry
- GetIfTable
- GetInterfaceInfo
- GetIpAddrTable
- GetIpForwardTable
- GetIpNetTable
- GetIpStatistics
- GetIpStatisticsEx
- GetNetworkParams
- GetPerAdapterInfo
- GetRTTAndHopCount
- GetTcpStatistics
- GetTcpStatisticsEx
- GetTcpTable
- GetUdpStatistics
- GetUdpStatisticsEx
- GetUdpTable
- GetUniDirectionalAdapterInfo
- Icmp6CreateFile
- Icmp6ParseReplies
- Icmp6SendEcho2
- IcmpCloseHandle
- IcmpCreateFile
- IcmpParseReplies
- IcmpSendEcho
- IcmpSendEcho2
- IpReleaseAddress
- IpRenewAddress
- IsLocalAddress
- NotifyAddrChange
- NotifyRouteChange
- SendARP
- SetIfEntry
- SetIpForwardEntry
- SetIpNetEntry
- SetIpStatistics
- SetIpTTL
- SetTcpEntry
- UnenableRouter
- }
- {$ifdef read_interface}
- //*****************************************************************************
- // consts
- //*****************************************************************************
- const
- IpHlpApiDLL = 'iphlpapi';
- //dwForwardProto types
- PROTO_IP_OTHER = 1;
- PROTO_IP_LOCAL = 2;
- PROTO_IP_NETMGMT = 3;
- PROTO_IP_ICMP = 4;
- // Definitions and structures used by getnetworkparams and getadaptersinfo apis
- MAX_ADAPTER_DESCRIPTION_LENGTH = 128;
- MAX_ADAPTER_NAME_LENGTH = 256;
- MAX_ADAPTER_ADDRESS_LENGTH = 8 ;
- DEFAULT_MINIMUM_ENTITIES = 32 ;
- MAX_HOSTNAME_LEN = 128;
- MAX_DOMAIN_NAME_LEN = 128;
- MAX_SCOPE_ID_LEN = 256;
- // Node Type
- BROADCAST_NODETYPE =1;
- PEER_TO_PEER_NODETYPE =2;
- MIXED_NODETYPE =4;
- HYBRID_NODETYPE =8;
- //*****************************************************************************
- // types
- //*****************************************************************************
- type
- // IP_ADDRESS_STRING
- IP_ADDRESS_STRING = Array[0..3,0..3] of Char;
- TIP_ADDRESS_STRING = IP_ADDRESS_STRING;
- IP_MASK_STRING = IP_ADDRESS_STRING;
- TIP_MASK_STRING = IP_ADDRESS_STRING;
- PIP_ADDRESS_STRING = ^IP_ADDRESS_STRING;
- PIP_MASK_STRING = PIP_ADDRESS_STRING;
- // IP_ADDR_STRING
- PIP_ADDR_STRING = ^_IP_ADDR_STRING;
- _IP_ADDR_STRING = Record
- Next : PIP_ADDR_STRING;
- IpAddress : IP_ADDRESS_STRING;
- IpMask : IP_MASK_STRING;
- Context : DWORD;
- end;
- IP_ADDR_STRING = _IP_ADDR_STRING;
- TIP_ADDR_STRING = IP_ADDR_STRING;
- // ADAPTER_INFO
- PIP_ADAPTER_INFO = ^_IP_ADAPTER_INFO;
- _IP_ADAPTER_INFO = Record
- Next : PIP_ADAPTER_INFO;
- ComboIndex : DWORD;
- AdapterName : Array[0..MAX_ADAPTER_NAME_LENGTH + 3] of Char;
- Description : Array[0..MAX_ADAPTER_DESCRIPTION_LENGTH + 3] of Char;
- AddressLength : UINT;
- Address : Array [0..MAX_ADAPTER_ADDRESS_LENGTH-1] of Byte;
- Index : DWORD;
- aType : UINT;
- DhcpEnabled : UINT;
- CurrentIpAddress : PIP_ADDR_STRING;
- IpAddressList : IP_ADDR_STRING;
- GatewayList : IP_ADDR_STRING;
- DhcpServer : IP_ADDR_STRING;
- HaveWins : BOOL;
- PrimaryWinsServer : IP_ADDR_STRING;
- SecondaryWinsServer : IP_ADDR_STRING;
- LeaseObtained : time_t;
- LeaseExpires : time_t;
- end;
- IP_ADAPTER_INFO = _IP_ADAPTER_INFO;
- TIP_ADAPTER_INFO = _IP_ADAPTER_INFO;
- //*****************************************************************************
- // functions
- //*****************************************************************************
- function GetNumberOfInterfaces(var dwNumIf : DWORD): DWORD; external IpHlpApiDLL name 'GetNumberOfInterfaces';
- function GetAdaptersInfo( pAdapterInfo : PIP_ADAPTER_INFO; var OutBufLen : ULONG): DWORD; external IpHlpApiDLL name 'GetAdaptersInfo';
- {$endif read_interface}
- {$ifdef read_implementation}
- {$endif read_implementation}
|