home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 February / Chip_2004-02_cd1.bin / zkuste / konfig / download / msic / Help / Int / MiTeC_IpHlpAPI.int < prev    next >
Text File  |  2003-08-26  |  4KB  |  126 lines

  1. {*******************************************************}
  2. {                                                       }
  3. {       MiTeC System Information Component              }
  4. {                IP Helper API                          }
  5. {           version 7.61 for Delphi 5,6                  }
  6. {                                                       }
  7. {          Copyright ⌐ 2002 Michal Mutl                 }
  8. {                                                       }
  9. {*******************************************************}
  10.  
  11. unit MiTeC_IpHlpAPI;
  12.  
  13. interface
  14.  
  15. uses Windows;
  16.  
  17. type
  18.   time_t = Longint;
  19.  
  20. const
  21.   MAX_ADAPTER_DESCRIPTION_LENGTH = 128;
  22.   MAX_ADAPTER_NAME_LENGTH        = 256;
  23.   MAX_ADAPTER_ADDRESS_LENGTH     = 8;
  24.   DEFAULT_MINIMUM_ENTITIES       = 32;
  25.   MAX_HOSTNAME_LEN               = 128;
  26.   MAX_DOMAIN_NAME_LEN            = 128;
  27.   MAX_SCOPE_ID_LEN               = 256;
  28.  
  29.   BROADCAST_NODETYPE    = 1;
  30.   PEER_TO_PEER_NODETYPE = 2;
  31.   MIXED_NODETYPE        = 4;
  32.   HYBRID_NODETYPE       = 8;
  33.  
  34.   MIB_IF_OTHER_ADAPTERTYPE      = 1;
  35.   MIB_IF_ETHERNET_ADAPTERTYPE   = 6;
  36.   MIB_IF_TOKEN_RING_ADAPTERTYPE = 9;
  37.   MIB_IF_FDDI_ADAPTERTYPE       = 15;
  38.   MIB_IF_PPP_ADAPTERTYPE        = 23;
  39.   MIB_IF_LOOPBACK_ADAPTERTYPE   = 24;
  40.   MIB_IF_SLIP_ADAPTERTYPE       = 28;
  41.  
  42. type
  43.   PIP_MASK_STRING = ^IP_MASK_STRING;
  44.   IP_ADDRESS_STRING = record
  45.     S: array [0..15] of Char;
  46.   end;
  47.   PIP_ADDRESS_STRING = ^IP_ADDRESS_STRING;
  48.   IP_MASK_STRING = IP_ADDRESS_STRING;
  49.   TIpAddressString = IP_ADDRESS_STRING;
  50.   PIpAddressString = PIP_MASK_STRING;
  51.  
  52.  
  53.   PIP_ADDR_STRING = ^IP_ADDR_STRING;
  54.   _IP_ADDR_STRING = record
  55.     Next: PIP_ADDR_STRING;
  56.     IpAddress: IP_ADDRESS_STRING;
  57.     IpMask: IP_MASK_STRING;
  58.     Context: DWORD;
  59.   end;
  60.   IP_ADDR_STRING = _IP_ADDR_STRING;
  61.   TIpAddrString = IP_ADDR_STRING;
  62.   PIpAddrString = PIP_ADDR_STRING;
  63.  
  64.   PIP_ADAPTER_INFO = ^IP_ADAPTER_INFO;
  65.   _IP_ADAPTER_INFO = record
  66.     Next: PIP_ADAPTER_INFO;
  67.     ComboIndex: DWORD;
  68.     AdapterName: array [0..MAX_ADAPTER_NAME_LENGTH + 3] of Char;
  69.     Description: array [0..MAX_ADAPTER_DESCRIPTION_LENGTH + 3] of Char;
  70.     AddressLength: UINT;
  71.     Address: array [0..MAX_ADAPTER_ADDRESS_LENGTH - 1] of BYTE;
  72.     Index: DWORD;
  73.     Type_: UINT;
  74.     DhcpEnabled: UINT;
  75.     CurrentIpAddress: PIP_ADDR_STRING;
  76.     IpAddressList: IP_ADDR_STRING;
  77.     GatewayList: IP_ADDR_STRING;
  78.     DhcpServer: IP_ADDR_STRING;
  79.     HaveWins: BOOL;
  80.     PrimaryWinsServer: IP_ADDR_STRING;
  81.     SecondaryWinsServer: IP_ADDR_STRING;
  82.     LeaseObtained: time_t;
  83.     LeaseExpires: time_t;
  84.   end;
  85.   IP_ADAPTER_INFO = _IP_ADAPTER_INFO;
  86.   TIpAdapterInfo = IP_ADAPTER_INFO;
  87.   PIpAdapterInfo = PIP_ADAPTER_INFO;
  88.  
  89.   PIP_PER_ADAPTER_INFO = ^IP_PER_ADAPTER_INFO;
  90.   _IP_PER_ADAPTER_INFO = record
  91.     AutoconfigEnabled: UINT;
  92.     AutoconfigActive: UINT;
  93.     CurrentDnsServer: PIP_ADDR_STRING;
  94.     DnsServerList: IP_ADDR_STRING;
  95.   end;
  96.   IP_PER_ADAPTER_INFO = _IP_PER_ADAPTER_INFO;
  97.   TIpPerAdapterInfo = IP_PER_ADAPTER_INFO;
  98.   PIpPerAdapterInfo = PIP_PER_ADAPTER_INFO;
  99.  
  100.   PFIXED_INFO = ^FIXED_INFO;
  101.   FIXED_INFO = record
  102.     HostName: array [0..MAX_HOSTNAME_LEN + 3] of Char;
  103.     DomainName: array[0..MAX_DOMAIN_NAME_LEN + 3] of Char;
  104.     CurrentDnsServer: PIP_ADDR_STRING;
  105.     DnsServerList: IP_ADDR_STRING;
  106.     NodeType: UINT;
  107.     ScopeId: array [0..MAX_SCOPE_ID_LEN + 3] of Char;
  108.     EnableRouting: UINT;
  109.     EnableProxy: UINT;
  110.     EnableDns: UINT;
  111.   end;
  112.   TFixedInfo = FIXED_INFO;
  113.   PFixedInfo = PFIXED_INFO;
  114.  
  115. var
  116.   HIpHlpApi: THandle = 0;
  117.  
  118.   GetAdaptersInfo: function (pAdapterInfo: PIP_ADAPTER_INFO; var pOutBufLen: ULONG): DWORD; stdcall;
  119.   GetNetworkParams: function (pFixedInfo: PFIXED_INFO; var pOutBufLen: ULONG): DWORD; stdcall;
  120.  
  121. function IpHlpApiInitAPI: Boolean;
  122. procedure IpHlpApiFreeAPI;
  123.  
  124. implementation
  125.  
  126.