Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2000-10-01 18:22:14 +0400
committerCorinna Vinschen <corinna@vinschen.de>2000-10-01 18:22:14 +0400
commit7d278f3da361403e846eeeaf6b32b884917180d7 (patch)
treee16db49c9f5b531704c858a5b789cb936f4455c5 /winsup/w32api
parent72be82dab3c0dc5905f6c65c0c97c4c422776dc0 (diff)
* 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.
Diffstat (limited to 'winsup/w32api')
-rw-r--r--winsup/w32api/ChangeLog8
-rw-r--r--winsup/w32api/include/ipexport.h22
-rw-r--r--winsup/w32api/include/iphlpapi.h40
-rw-r--r--winsup/w32api/include/iprtrmib.h224
-rw-r--r--winsup/w32api/include/iptypes.h70
-rw-r--r--winsup/w32api/lib/iphlpapi.def33
6 files changed, 397 insertions, 0 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index 1662daf3e..bc61e05d9 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -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
index 000000000..a9b9ce012
--- /dev/null
+++ b/winsup/w32api/include/ipexport.h
@@ -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
index 000000000..9b85ebe5c
--- /dev/null
+++ b/winsup/w32api/include/iphlpapi.h
@@ -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
index 000000000..a9b6bf5f2
--- /dev/null
+++ b/winsup/w32api/include/iprtrmib.h
@@ -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
index 000000000..56a467910
--- /dev/null
+++ b/winsup/w32api/include/iptypes.h
@@ -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
index 000000000..294c752ab
--- /dev/null
+++ b/winsup/w32api/lib/iphlpapi.def
@@ -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