📄 w32api-3.5-xorp.patch
字号:
+} MIB_IPSTATS, *PMIB_IPSTATS;+#define MIB_IP_FORWARDING 1+#define MIB_IP_NOT_FORWARDING 2+#define MIB_IPADDR_PRIMARY 0x0001+#define MIB_IPADDR_DYNAMIC 0x0004+#define MIB_IPADDR_DISCONNECTED 0x0008+#define MIB_IPADDR_DELETED 0x0040+#define MIB_IPADDR_TRANSIENT 0x0080+typedef struct _MIB_IPADDRROW {+ DWORD dwAddr;+ DWORD dwIndex;+ DWORD dwMask;+ DWORD dwBCastAddr;+ DWORD dwReasmSize;+ unsigned short unused1;+ unsigned short wType;+} MIB_IPADDRROW, *PMIB_IPADDRROW;+typedef struct _MIB_IPADDRTABLE {+ DWORD dwNumEntries;+ MIB_IPADDRROW table[ANY_SIZE];+} MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;+#define SIZEOF_IPADDRTABLE(X) (FIELD_OFFSET(MIB_IPADDRTABLE,table[0]) + ((X) * sizeof(MIB_IPADDRROW)) + ALIGN_SIZE)+typedef struct _MIB_IPFORWARDNUMBER {+ DWORD dwValue;+} MIB_IPFORWARDNUMBER, *PMIB_IPFORWARDNUMBER;+typedef struct _MIB_IPFORWARDROW {+ 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;+#define MIB_IPROUTE_TYPE_OTHER 1+#define MIB_IPROUTE_TYPE_INVALID 2+#define MIB_IPROUTE_TYPE_DIRECT 3+#define MIB_IPROUTE_TYPE_INDIRECT 4+#define MIB_IPROUTE_METRIC_UNUSED (DWORD)-1+#define MIB_IPPROTO_OTHER 1+#define MIB_IPPROTO_LOCAL 2+#define MIB_IPPROTO_NETMGMT 3+#define MIB_IPPROTO_ICMP 4+#define MIB_IPPROTO_EGP 5+#define MIB_IPPROTO_GGP 6+#define MIB_IPPROTO_HELLO 7+#define MIB_IPPROTO_RIP 8+#define MIB_IPPROTO_IS_IS 9+#define MIB_IPPROTO_ES_IS 10+#define MIB_IPPROTO_CISCO 11+#define MIB_IPPROTO_BBN 12+#define MIB_IPPROTO_OSPF 13+#define MIB_IPPROTO_BGP 14+#define MIB_IPPROTO_NT_AUTOSTATIC 10002+#define MIB_IPPROTO_NT_STATIC 10006+#define MIB_IPPROTO_NT_STATIC_NON_DOD 10007+typedef struct _MIB_IPFORWARDTABLE {+ DWORD dwNumEntries;+ MIB_IPFORWARDROW table[ANY_SIZE];+} MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;+#define SIZEOF_IPFORWARDTABLE(X) (FIELD_OFFSET(MIB_IPFORWARDTABLE,table[0]) + ((X) * sizeof(MIB_IPFORWARDROW)) + ALIGN_SIZE)+typedef struct _MIB_IPNETROW {+ DWORD dwIndex;+ DWORD dwPhysAddrLen;+ BYTE bPhysAddr[MAXLEN_PHYSADDR];+ DWORD dwAddr;+ DWORD dwType;+} MIB_IPNETROW, *PMIB_IPNETROW;+#define MIB_IPNET_TYPE_OTHER 1+#define MIB_IPNET_TYPE_INVALID 2+#define MIB_IPNET_TYPE_DYNAMIC 3+#define MIB_IPNET_TYPE_STATIC 4+typedef struct _MIB_IPNETTABLE {+ DWORD dwNumEntries;+ MIB_IPNETROW table[ANY_SIZE];+} MIB_IPNETTABLE, *PMIB_IPNETTABLE;+#define SIZEOF_IPNETTABLE(X) (FIELD_OFFSET(MIB_IPNETTABLE, table[0]) + ((X) * sizeof(MIB_IPNETROW)) + ALIGN_SIZE)+typedef struct _MIB_IPMCAST_OIF {+ DWORD dwOutIfIndex;+ DWORD dwNextHopAddr;+ DWORD dwReserved;+ DWORD dwReserved1;+} MIB_IPMCAST_OIF, *PMIB_IPMCAST_OIF;+typedef struct _MIB_IPMCAST_MFE {+ DWORD dwGroup;+ DWORD dwSource;+ DWORD dwSrcMask;+ DWORD dwUpStrmNgbr;+ DWORD dwInIfIndex;+ DWORD dwInIfProtocol;+ DWORD dwRouteProtocol;+ DWORD dwRouteNetwork;+ DWORD dwRouteMask;+ ULONG ulUpTime;+ ULONG ulExpiryTime;+ ULONG ulTimeOut;+ ULONG ulNumOutIf;+ DWORD fFlags;+ DWORD dwReserved;+ MIB_IPMCAST_OIF rgmioOutInfo[ANY_SIZE];+} MIB_IPMCAST_MFE, *PMIB_IPMCAST_MFE;+typedef struct _MIB_MFE_TABLE {+ DWORD dwNumEntries;+ MIB_IPMCAST_MFE table[ANY_SIZE];+} MIB_MFE_TABLE, *PMIB_MFE_TABLE;+#define SIZEOF_BASIC_MIB_MFE (ULONG)(FIELD_OFFSET(MIB_IPMCAST_MFE, rgmioOutInfo[0]))+#define SIZEOF_MIB_MFE(X) (SIZEOF_BASIC_MIB_MFE + ((X) * sizeof(MIB_IPMCAST_OIF)))+typedef struct _MIB_IPMCAST_OIF_STATS {+ DWORD dwOutIfIndex;+ DWORD dwNextHopAddr;+ DWORD dwDialContext;+ ULONG ulTtlTooLow;+ ULONG ulFragNeeded;+ ULONG ulOutPackets;+ ULONG ulOutDiscards;+} MIB_IPMCAST_OIF_STATS, *PMIB_IPMCAST_OIF_STATS;+typedef struct _MIB_IPMCAST_MFE_STATS {+ DWORD dwGroup;+ DWORD dwSource;+ DWORD dwSrcMask;+ DWORD dwUpStrmNgbr;+ DWORD dwInIfIndex;+ DWORD dwInIfProtocol;+ DWORD dwRouteProtocol;+ DWORD dwRouteNetwork;+ DWORD dwRouteMask;+ ULONG ulUpTime;+ ULONG ulExpiryTime;+ ULONG ulNumOutIf;+ ULONG ulInPkts;+ ULONG ulInOctets;+ ULONG ulPktsDifferentIf;+ ULONG ulQueueOverflow;+ MIB_IPMCAST_OIF_STATS rgmiosOutStats[ANY_SIZE];+} MIB_IPMCAST_MFE_STATS, *PMIB_IPMCAST_MFE_STATS;+typedef struct _MIB_MFE_STATS_TABLE {+ DWORD dwNumEntries;+ MIB_IPMCAST_MFE_STATS table[ANY_SIZE];+} MIB_MFE_STATS_TABLE, *PMIB_MFE_STATS_TABLE;+#define SIZEOF_BASIC_MIB_MFE_STATS (ULONG)(FIELD_OFFSET(MIB_IPMCAST_MFE_STATS, rgmiosOutStats[0]))+#define SIZEOF_MIB_MFE_STATS(X) (SIZEOF_BASIC_MIB_MFE_STATS + ((X) * sizeof(MIB_IPMCAST_OIF_STATS)))+typedef struct _MIB_IPMCAST_MFE_STATS_EX {+ DWORD dwGroup;+ DWORD dwSource;+ DWORD dwSrcMask;+ DWORD dwUpStrmNgbr;+ DWORD dwInIfIndex;+ DWORD dwInIfProtocol;+ DWORD dwRouteProtocol;+ DWORD dwRouteNetwork;+ DWORD dwRouteMask;+ ULONG ulUpTime;+ ULONG ulExpiryTime;+ ULONG ulNumOutIf;+ ULONG ulInPkts;+ ULONG ulInOctets;+ ULONG ulPktsDifferentIf;+ ULONG ulQueueOverflow;+ ULONG ulUninitMfe;+ ULONG ulNegativeMfe;+ ULONG ulInDiscards;+ ULONG ulInHdrErrors;+ ULONG ulTotalOutPackets;+ MIB_IPMCAST_OIF_STATS rgmiosOutStats[ANY_SIZE];+} MIB_IPMCAST_MFE_STATS_EX, *PMIB_IPMCAST_MFE_STATS_EX;+typedef struct _MIB_MFE_STATS_TABLE_EX {+ DWORD dwNumEntries;+ MIB_IPMCAST_MFE_STATS_EX table[ANY_SIZE];+} MIB_MFE_STATS_TABLE_EX, *PMIB_MFE_STATS_TABLE_EX;+#define SIZEOF_BASIC_MIB_MFE_STATS_EX (ULONG)(FIELD_OFFSET(MIB_IPMCAST_MFE_STATS_EX, rgmiosOutStats[0]))+#define SIZEOF_MIB_MFE_STATS_EX(X) (SIZEOF_BASIC_MIB_MFE_STATS_EX + ((X) * sizeof(MIB_IPMCAST_OIF_STATS)))+typedef struct _MIB_IPMCAST_GLOBAL {+ DWORD dwEnable;+} MIB_IPMCAST_GLOBAL, *PMIB_IPMCAST_GLOBAL;+typedef struct _MIB_IPMCAST_IF_ENTRY {+ DWORD dwIfIndex;+ DWORD dwTtl;+ DWORD dwProtocol;+ DWORD dwRateLimit;+ ULONG ulInMcastOctets;+ ULONG ulOutMcastOctets;+} MIB_IPMCAST_IF_ENTRY, *PMIB_IPMCAST_IF_ENTRY;+typedef struct _MIB_IPMCAST_IF_TABLE {+ DWORD dwNumEntries;+ MIB_IPMCAST_IF_ENTRY table[ANY_SIZE];+} MIB_IPMCAST_IF_TABLE, *PMIB_IPMCAST_IF_TABLE;+#define SIZEOF_MCAST_IF_TABLE(X) (FIELD_OFFSET(MIB_IPMCAST_IF_TABLE,table[0]) + ((X) * sizeof(MIB_IPMCAST_IF_ENTRY)) + ALIGN_SIZE)+typedef struct _MIB_IPMCAST_BOUNDARY {+ DWORD dwIfIndex;+ DWORD dwGroupAddress;+ DWORD dwGroupMask;+ DWORD dwStatus;+} MIB_IPMCAST_BOUNDARY, *PMIB_IPMCAST_BOUNDARY;+typedef struct _MIB_IPMCAST_BOUNDARY_TABLE {+ DWORD dwNumEntries;+ MIB_IPMCAST_BOUNDARY table[ANY_SIZE];+} MIB_IPMCAST_BOUNDARY_TABLE, *PMIB_IPMCAST_BOUNDARY_TABLE;+#define SIZEOF_BOUNDARY_TABLE(X) (FIELD_OFFSET(MIB_IPMCAST_BOUNDARY_TABLE,table[0]) + ((X) * sizeof(MIB_IPMCAST_BOUNDARY)) + ALIGN_SIZE)+typedef struct {+ DWORD dwGroupAddress;+ DWORD dwGroupMask;+} MIB_BOUNDARYROW, *PMIB_BOUNDARYROW;+typedef struct {+ DWORD dwTtl;+ DWORD dwRateLimit;+} MIB_MCAST_LIMIT_ROW, *PMIB_MCAST_LIMIT_ROW;+#define MAX_SCOPE_NAME_LEN 255+#define SN_UNICODE+typedef WCHAR SN_CHAR;+typedef SN_CHAR SCOPE_NAME_BUFFER[MAX_SCOPE_NAME_LEN + 1], *SCOPE_NAME;+typedef struct _MIB_IPMCAST_SCOPE {+ DWORD dwGroupAddress;+ DWORD dwGroupMask;+ SCOPE_NAME_BUFFER snNameBuffer;+ DWORD dwStatus;+} MIB_IPMCAST_SCOPE, *PMIB_IPMCAST_SCOPE;+typedef struct _MIB_IPDESTROW {+#ifdef __cplusplus+ MIB_IPFORWARDROW ForwardRow;+#else+ MIB_IPFORWARDROW;+#endif+ DWORD dwForwardPreference;+ DWORD dwForwardViewSet;+} MIB_IPDESTROW, *PMIB_IPDESTROW;+typedef struct _MIB_IPDESTTABLE {+ DWORD dwNumEntries;+ MIB_IPDESTROW table[ANY_SIZE];+} MIB_IPDESTTABLE, *PMIB_IPDESTTABLE;+typedef struct _MIB_BEST_IF {+ DWORD dwDestAddr;+ DWORD dwIfIndex;+} MIB_BEST_IF, *PMIB_BEST_IF;+typedef struct _MIB_PROXYARP {+ DWORD dwAddress;+ DWORD dwMask;+ DWORD dwIfIndex;+} MIB_PROXYARP, *PMIB_PROXYARP;+typedef struct _MIB_IFSTATUS {+ DWORD dwIfIndex;+ DWORD dwAdminStatus;+ DWORD dwOperationalStatus;+ BOOL bMHbeatActive;+ BOOL bMHbeatAlive;+} MIB_IFSTATUS, *PMIB_IFSTATUS;+typedef struct _MIB_ROUTESTATE {+ BOOL bRoutesSetToStack;+} MIB_ROUTESTATE, *PMIB_ROUTESTATE;+typedef struct _MIB_OPAQUE_INFO {+ DWORD dwId;+ union {+ ULONGLONG ullAlign;+ BYTE rgbyData[1];+ };+} MIB_OPAQUE_INFO, *PMIB_OPAQUE_INFO;+#define MAX_MIB_OFFSET 8+#define MIB_INFO_SIZE(S) (MAX_MIB_OFFSET + sizeof(S))+#define MIB_INFO_SIZE_IN_DWORDS(S) ((MIB_INFO_SIZE(S))/sizeof(DWORD) + 1)+#define DEFINE_MIB_BUFFER(X,Y,Z) DWORD __rgdwBuff[MIB_INFO_SIZE_IN_DWORDS(Y)]; PMIB_OPAQUE_INFO X = (PMIB_OPAQUE_INFO)__rgdwBuff; Y * Z = (Y *)(X->rgbyData)+#define CAST_MIB_INFO(X,Y,Z) Z = (Y)(X->rgbyData) #ifdef __cplusplus } #endifdiff -uNr w32api-3.5/include/iptypes.h w32api-3.5-xorp/include/iptypes.h--- w32api-3.5/include/iptypes.h Tue Apr 9 22:17:17 2002+++ w32api-3.5-xorp/include/iptypes.h Wed Dec 7 15:51:18 2005@@ -71,6 +71,150 @@ UINT EnableProxy; UINT EnableDns; } FIXED_INFO, *PFIXED_INFO;+typedef enum {+ IpPrefixOriginOther = 0,+ IpPrefixOriginManual,+ IpPrefixOriginWellKnown,+ IpPrefixOriginDhcp,+ IpPrefixOriginRouterAdvertisement,+} IP_PREFIX_ORIGIN;+typedef enum {+ IpSuffixOriginOther = 0,+ IpSuffixOriginManual,+ IpSuffixOriginWellKnown,+ IpSuffixOriginDhcp,+ IpSuffixOriginLinkLayerAddress,+ IpSuffixOriginRandom,+} IP_SUFFIX_ORIGIN;+typedef enum {+ IpDadStateInvalid = 0,+ IpDadStateTentative,+ IpDadStateDuplicate,+ IpDadStateDeprecated,+ IpDadStatePreferred,+} IP_DAD_STATE;+#define IP_ADAPTER_DDNS_ENABLED 0x01+#define IP_ADAPTER_REGISTER_ADAPTER_SUFFIX 0x02+#define IP_ADAPTER_DHCP_ENABLED 0x04+#define IP_ADAPTER_RECEIVE_ONLY 0x08+#define IP_ADAPTER_NO_MULTICAST 0x10+#define IP_ADAPTER_IPV6_OTHER_STATEFUL_CONFIG 0x20+typedef enum {+ IfOperStatusUp = 1,+ IfOperStatusDown,+ IfOperStatusTesting,+ IfOperStatusUnknown,+ IfOperStatusDormant,+ IfOperStatusNotPresent,+ IfOperStatusLowerLayerDown+} IF_OPER_STATUS;+typedef enum {+ ScopeLevelInterface = 1,+ ScopeLevelLink = 2,+ ScopeLevelSubnet = 3,+ ScopeLevelAdmin = 4,+ ScopeLevelSite = 5,+ ScopeLevelOrganization = 8,+ ScopeLevelGlobal = 14+} SCOPE_LEVEL;+typedef struct _IP_ADAPTER_UNICAST_ADDRESS {+ union {+ ULONGLONG Alignment;+ struct {+ ULONG Length;+ DWORD Flags;+ };+ };+ struct _IP_ADAPTER_UNICAST_ADDRESS* Next;+ SOCKET_ADDRESS Address;+ IP_PREFIX_ORIGIN PrefixOrigin;+ IP_SUFFIX_ORIGIN SuffixOrigin;+ IP_DAD_STATE DadState;+ ULONG ValidLifetime;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -