OSDN Git Service

* lib/iphlpapi.def: New stub for iphlpapi.dll.
authorcorinna <corinna>
Sun, 1 Oct 2000 14:22:14 +0000 (14:22 +0000)
committercorinna <corinna>
Sun, 1 Oct 2000 14:22:14 +0000 (14:22 +0000)
        * include/iptypes.h: New header file.
        * include/ipexport.h: Ditto.
        * include/iphlpapi.h: Ditto.
        * include/iprtrmib.h: Ditto.

winsup/w32api/ChangeLog
winsup/w32api/include/ipexport.h [new file with mode: 0644]
winsup/w32api/include/iphlpapi.h [new file with mode: 0644]
winsup/w32api/include/iprtrmib.h [new file with mode: 0644]
winsup/w32api/include/iptypes.h [new file with mode: 0644]
winsup/w32api/lib/iphlpapi.def [new file with mode: 0644]

index 1662daf..bc61e05 100644 (file)
@@ -1,3 +1,11 @@
+Sun Oct  1 16:13:00 2000  Corinna Vinschen <corinna@vinschen.de>
+
+        * lib/iphlpapi.def: New stub for iphlpapi.dll.
+        * include/iptypes.h: New header file.
+        * include/ipexport.h: Ditto.
+        * include/iphlpapi.h: Ditto.
+        * include/iprtrmib.h: Ditto.
+
 Sun Oct  1  2:54:00 2000  Corinna Vinschen <corinna@vinschen.de>
 
        * include/ntdef.h: New file.
diff --git a/winsup/w32api/include/ipexport.h b/winsup/w32api/include/ipexport.h
new file mode 100644 (file)
index 0000000..a9b9ce0
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef _IPEXPORT_H_
+#define _IPEXPORT_H_
+
+#ifndef ANY_SIZE
+#define ANY_SIZE 1
+#endif
+
+#define MAX_ADAPTER_NAME 128
+
+typedef unsigned long IPAddr, IPMask, IP_STATUS;
+
+typedef struct {
+  ULONG Index;
+  WCHAR  Name[MAX_ADAPTER_NAME];
+} IP_ADAPTER_INDEX_MAP, *PIP_ADAPTER_INDEX_MAP;
+
+typedef struct {
+  LONG NumAdapters;
+  IP_ADAPTER_INDEX_MAP Adapter[ANY_SIZE];
+} IP_INTERFACE_INFO, *PIP_INTERFACE_INFO;
+
+#endif /* _IPEXPORT_H_ */
diff --git a/winsup/w32api/include/iphlpapi.h b/winsup/w32api/include/iphlpapi.h
new file mode 100644 (file)
index 0000000..9b85ebe
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef _IPHLPAPI_H_
+#define _IPHLPAPI_H_
+
+#include <iprtrmib.h>
+#include <ipexport.h>
+#include <iptypes.h>
+
+DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW);
+DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW);
+DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW);
+DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW);
+DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO,PULONG);
+DWORD WINAPI GetBestInterface(IPAddr,PDWORD);
+DWORD WINAPI GetBestRoute(DWORD,DWORD,PMIB_IPFORWARDROW);
+DWORD WINAPI GetFriendlyIfIndex(DWORD);
+DWORD WINAPI GetIcmpStatistics(PMIB_ICMP);
+DWORD WINAPI GetIfEntry(PMIB_IFROW);
+DWORD WINAPI GetIfTable(PMIB_IFTABLE);
+DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO,PULONG);
+DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE,PULONG,BOOL);
+DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE,PULONG,BOOL);
+DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE,PULONG,BOOL);
+DWORD WINAPI GetIpStatistics(PMIB_IPSTATS);
+DWORD WINAPI GetNetworkParams(PFIXED_INFO,PULONG);
+DWORD WINAPI GetNumberOfInterfaces(PDWORD);
+BOOL WINAPI GetRTTAndHopCount(IPAddr,PULONG,ULONG,PULONG);
+DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS);
+DWORD WINAPI GetTcpTable(PMIB_TCPTABLE,PDWORD,BOOL);
+DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS);
+DWORD WINAPI GetUdpTable(PMIB_UDPTABLE,PDWORD,BOOL);
+DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP);
+DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP);
+DWORD WINAPI SetIfEntry(PMIB_IFROW);
+DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW);
+DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW);
+DWORD WINAPI SetIpStatistics(PMIB_IPSTATS);
+DWORD WINAPI SetIpTTL(UINT);
+DWORD WINAPI SetTcpEntry(PMIB_TCPROW);
+
+#endif /* _IPHLPAPI_H_ */
diff --git a/winsup/w32api/include/iprtrmib.h b/winsup/w32api/include/iprtrmib.h
new file mode 100644 (file)
index 0000000..a9b6bf5
--- /dev/null
@@ -0,0 +1,224 @@
+#ifndef _IPRTRMIB_H_
+#define _IPRTRMIB_H_
+
+#ifndef ANY_SIZE
+#define ANY_SIZE 1
+#endif
+
+#define MAXLEN_PHYSADDR 8
+#define MAXLEN_IFDESCR 256
+
+#ifndef MAX_INTERFACE_NAME_LEN
+#define MAX_INTERFACE_NAME_LEN 256
+#endif
+
+#define MIB_IPNET_TYPE_OTHER 1
+#define MIB_IPNET_TYPE_INVALID 2
+#define MIB_IPNET_TYPE_DYNAMIC 3
+#define MIB_IPNET_TYPE_STATIC 4
+
+#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_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_TCP_MAXCONN_DYNAMIC ((DWORD) -1)
+
+typedef struct {
+  DWORD dwAddr;
+  DWORD dwIndex;
+  DWORD dwMask;
+  DWORD dwBCastAddr;
+  DWORD dwReasmSize;
+  unsigned short unused1;
+  unsigned short unused2;
+} MIB_IPADDRROW, *PMIB_IPADDRROW;
+
+typedef struct {
+  DWORD dwNumEntries;
+  MIB_IPADDRROW table[ANY_SIZE];
+} MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
+
+typedef struct {
+  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;
+
+typedef struct {
+  DWORD dwNumEntries;
+  MIB_IPFORWARDROW table[ANY_SIZE];
+} MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
+
+typedef struct {
+  DWORD dwIndex;
+  DWORD dwPhysAddrLen;
+  BYTE bPhysAddr[MAXLEN_PHYSADDR];
+  DWORD dwAddr;
+  DWORD dwType;
+} MIB_IPNETROW, *PMIB_IPNETROW;
+
+typedef struct {
+  DWORD dwNumEntries;
+  MIB_IPNETROW table[ANY_SIZE];
+} MIB_IPNETTABLE, *PMIB_IPNETTABLE;
+
+typedef struct {
+  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 {
+  MIBICMPSTATS icmpInStats;
+  MIBICMPSTATS icmpOutStats;
+} MIBICMPINFO, *PMIBICMPINFO;
+
+typedef struct {
+  MIBICMPINFO stats;
+} MIB_ICMP, *PMIB_ICMP;
+
+typedef struct {
+  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 {
+  DWORD dwNumEntries;
+  MIB_IFROW table[ANY_SIZE];
+} MIB_IFTABLE, *PMIB_IFTABLE;
+
+typedef struct {
+  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 {
+  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 {
+  DWORD dwState;
+  DWORD dwLocalAddr;
+  DWORD dwLocalPort;
+  DWORD dwRemoteAddr;
+  DWORD dwRemotePort;
+} MIB_TCPROW, *PMIB_TCPROW;
+
+typedef struct {
+  DWORD dwNumEntries;
+  MIB_TCPROW table[ANY_SIZE];
+} MIB_TCPTABLE, *PMIB_TCPTABLE;
+
+typedef struct {
+  DWORD dwInDatagrams;
+  DWORD dwNoPorts;
+  DWORD dwInErrors;
+  DWORD dwOutDatagrams;
+  DWORD dwNumAddrs;
+} MIB_UDPSTATS, *PMIB_UDPSTATS;
+
+typedef struct {
+  DWORD dwLocalAddr;
+  DWORD dwLocalPort;
+} MIB_UDPROW, *PMIB_UDPROW;
+
+typedef struct {
+  DWORD dwNumEntries;
+  MIB_UDPROW table[ANY_SIZE];
+} MIB_UDPTABLE, *PMIB_UDPTABLE;
+
+#endif /* _IPRTRMIB_H_ */
diff --git a/winsup/w32api/include/iptypes.h b/winsup/w32api/include/iptypes.h
new file mode 100644 (file)
index 0000000..56a4679
--- /dev/null
@@ -0,0 +1,70 @@
+#ifndef _IPTYPES_H_
+#define _IPTYPES_H_
+
+#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[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;
+} 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;
+} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
+
+typedef struct {
+  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;
+
+#endif /* _IPTYPES_H_ */
diff --git a/winsup/w32api/lib/iphlpapi.def b/winsup/w32api/lib/iphlpapi.def
new file mode 100644 (file)
index 0000000..294c752
--- /dev/null
@@ -0,0 +1,33 @@
+LIBRARY "IPHLPAPI.DLL"
+EXPORTS
+CreateIpForwardEntry@4
+CreateIpNetEntry@4
+DeleteIpForwardEntry@4
+DeleteIpNetEntry@4
+GetAdaptersInfo@8
+GetBestInterface@8
+GetBestRoute@12
+GetFriendlyIfIndex@4
+GetIcmpStatistics@4
+GetIfEntry@4
+GetIfTable@12
+GetInterfaceInfo@8
+GetIpAddrTable@12
+GetIpForwardTable@12
+GetIpNetTable@12
+GetIpStatistics@4
+GetNetworkParams@8
+GetNumberOfInterfaces@4
+GetRTTAndHopCount@16
+GetTcpStatistics@4
+GetTcpTable@12
+GetUdpStatistics@4
+GetUdpTable@12
+IpReleaseAddress@4
+IpRenewAddress@4
+SetIfEntry@4
+SetIpForwardEntry@4
+SetIpNetEntry@4
+SetIpStatistics@4
+SetIpTTL@4
+SetTcpEntry@4