windows-nt/Source/XPSP1/NT/net/rras/ip/mcastmib/mibfuncs.h
2020-09-26 16:20:57 +08:00

362 lines
13 KiB
C

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
routing\ip\mcastmib\defs.h
Abstract:
IP Multicast MIB instrumentation callbacks
Revision history:
Dave Thaler 4/17/98 Created
--*/
#ifndef _MIBFUNCS_H_
#define _MIBFUNCS_H_
///////////////////////////////////////////////////////////////////////////////
// //
// global group //
// //
///////////////////////////////////////////////////////////////////////////////
UINT
get_global(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
UINT
set_global(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
typedef struct _buf_global {
AsnAny ipMRouteEnable;
} buf_global;
#define gf_ipMRouteEnable get_global
#define gb_ipMRouteEnable buf_global
UINT
get_ipMRouteEntry(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
typedef struct _buf_ipMRouteEntry {
AsnAny ipMRouteGroup;
AsnAny ipMRouteSource;
AsnAny ipMRouteSourceMask;
AsnAny ipMRouteUpstreamNeighbor;
AsnAny ipMRouteInIfIndex;
AsnAny ipMRouteUpTime;
AsnAny ipMRouteExpiryTime;
AsnAny ipMRoutePkts;
AsnAny ipMRouteDifferentInIfPackets;
AsnAny ipMRouteOctets;
AsnAny ipMRouteProtocol;
AsnAny ipMRouteRtProto;
AsnAny ipMRouteRtAddress;
AsnAny ipMRouteRtMask;
// Buffers for IP address objects above
DWORD dwIpMRouteGroupInfo;
DWORD dwIpMRouteSourceInfo;
DWORD dwIpMRouteSourceMaskInfo;
DWORD dwIpMRouteUpstreamNeighborInfo;
DWORD dwIpMRouteRtAddressInfo;
DWORD dwIpMRouteRtMaskInfo;
} buf_ipMRouteEntry;
#define gf_ipMRouteUpstreamNeighbor get_ipMRouteEntry
#define gf_ipMRouteInIfIndex get_ipMRouteEntry
#define gf_ipMRouteUpTime get_ipMRouteEntry
#define gf_ipMRouteExpiryTime get_ipMRouteEntry
#define gf_ipMRoutePkts get_ipMRouteEntry
#define gf_ipMRouteDifferentInIfPackets get_ipMRouteEntry
#define gf_ipMRouteOctets get_ipMRouteEntry
#define gf_ipMRouteProtocol get_ipMRouteEntry
#define gf_ipMRouteRtProto get_ipMRouteEntry
#define gf_ipMRouteRtAddress get_ipMRouteEntry
#define gf_ipMRouteRtMask get_ipMRouteEntry
#define gb_ipMRouteGroup buf_ipMRouteEntry
#define gb_ipMRouteSource buf_ipMRouteEntry
#define gb_ipMRouteSourceMask buf_ipMRouteEntry
#define gb_ipMRouteUpstreamNeighbor buf_ipMRouteEntry
#define gb_ipMRouteInIfIndex buf_ipMRouteEntry
#define gb_ipMRouteUpTime buf_ipMRouteEntry
#define gb_ipMRouteExpiryTime buf_ipMRouteEntry
#define gb_ipMRoutePkts buf_ipMRouteEntry
#define gb_ipMRouteDifferentInIfPackets buf_ipMRouteEntry
#define gb_ipMRouteOctets buf_ipMRouteEntry
#define gb_ipMRouteProtocol buf_ipMRouteEntry
#define gb_ipMRouteRtProto buf_ipMRouteEntry
#define gb_ipMRouteRtAddress buf_ipMRouteEntry
#define gb_ipMRouteRtMask buf_ipMRouteEntry
///////////////////////////////////////////////////////////////////////////////
// //
// ipMRouteNextHopEntry table //
// //
///////////////////////////////////////////////////////////////////////////////
UINT
get_ipMRouteNextHopEntry(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
UINT
set_ipMRouteNextHopEntry(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
typedef struct _buf_ipMRouteNextHopEntry {
AsnAny ipMRouteNextHopGroup;
AsnAny ipMRouteNextHopSource;
AsnAny ipMRouteNextHopSourceMask;
AsnAny ipMRouteNextHopIfIndex;
AsnAny ipMRouteNextHopAddress;
AsnAny ipMRouteNextHopState;
AsnAny ipMRouteNextHopUpTime;
AsnAny ipMRouteNextHopExpiryTime;
#ifdef CLOSEST_MEMBER_HOPS
AsnAny ipMRouteNextHopClosestMemberHops;
#endif
AsnAny ipMRouteNextHopProtocol;
AsnAny ipMRouteNextHopPkts;
// Buffers for IP Address objects above
DWORD dwIpMRouteNextHopGroupInfo;
DWORD dwIpMRouteNextHopSourceInfo;
DWORD dwIpMRouteNextHopSourceMaskInfo;
DWORD dwIpMRouteNextHopAddressInfo;
} buf_ipMRouteNextHopEntry;
typedef struct _sav_ipMRouteNextHopEntry {
AsnAny ipMRouteNextHopState;
AsnAny ipMRouteNextHopUpTime;
AsnAny ipMRouteNextHopExpiryTime;
#ifdef CLOSEST_MEMBER_HOPS
AsnAny ipMRouteNextHopClosestMemberHops;
#endif
AsnAny ipMRouteNextHopProtocol;
AsnAny ipMRouteNextHopPkts;
} sav_ipMRouteNextHopEntry;
#define gf_ipMRouteNextHopState get_ipMRouteNextHopEntry
#define gf_ipMRouteNextHopUpTime get_ipMRouteNextHopEntry
#define gf_ipMRouteNextHopExpiryTime get_ipMRouteNextHopEntry
#ifdef CLOSEST_MEMBER_HOPS
#define gf_ipMRouteNextHopClosestMemberHops get_ipMRouteNextHopEntry
#endif
#define gf_ipMRouteNextHopProtocol get_ipMRouteNextHopEntry
#define gf_ipMRouteNextHopPkts get_ipMRouteNextHopEntry
#define gb_ipMRouteNextHopGroup buf_ipMRouteNextHopEntry
#define gb_ipMRouteNextHopSource buf_ipMRouteNextHopEntry
#define gb_ipMRouteNextHopSourceMask buf_ipMRouteNextHopEntry
#define gb_ipMRouteNextHopIfIndex buf_ipMRouteNextHopEntry
#define gb_ipMRouteNextHopAddress buf_ipMRouteNextHopEntry
#define gb_ipMRouteNextHopState buf_ipMRouteNextHopEntry
#define gb_ipMRouteNextHopUpTime buf_ipMRouteNextHopEntry
#define gb_ipMRouteNextHopExpiryTime buf_ipMRouteNextHopEntry
#ifdef CLOSEST_MEMBER_HOPS
#define gb_ipMRouteNextHopClosestMemberHops buf_ipMRouteNextHopEntry
#endif
#define gb_ipMRouteNextHopProtocol buf_ipMRouteNextHopEntry
#define gb_ipMRouteNextHopPkts buf_ipMRouteNextHopEntry
///////////////////////////////////////////////////////////////////////////////
// //
// ipMRouteInterfaceEntry table //
// //
///////////////////////////////////////////////////////////////////////////////
UINT
get_ipMRouteInterfaceEntry(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
UINT
set_ipMRouteInterfaceEntry(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
typedef struct _buf_ipMRouteInterfaceEntry {
AsnAny ipMRouteInterfaceIfIndex;
AsnAny ipMRouteInterfaceTtl;
AsnAny ipMRouteInterfaceProtocol;
AsnAny ipMRouteInterfaceRateLimit;
AsnAny ipMRouteInterfaceInMcastOctets;
AsnAny ipMRouteInterfaceOutMcastOctets;
} buf_ipMRouteInterfaceEntry;
typedef struct _sav_ipMRouteInterfaceEntry {
AsnAny ipMRouteInterfaceIfIndex;
AsnAny ipMRouteInterfaceTtl;
AsnAny ipMRouteInterfaceProtocol;
AsnAny ipMRouteInterfaceRateLimit;
} sav_ipMRouteInterfaceEntry;
#define gf_ipMRouteInterfaceIfIndex get_ipMRouteInterfaceEntry
#define gf_ipMRouteInterfaceTtl get_ipMRouteInterfaceEntry
#define gf_ipMRouteInterfaceProtocol get_ipMRouteInterfaceEntry
#define gf_ipMRouteInterfaceRateLimit get_ipMRouteInterfaceEntry
#define gf_ipMRouteInterfaceInMcastOctets get_ipMRouteInterfaceEntry
#define gf_ipMRouteInterfaceOutMcastOctets get_ipMRouteInterfaceEntry
#define gb_ipMRouteInterfaceIfIndex buf_ipMRouteInterfaceEntry
#define gb_ipMRouteInterfaceTtl buf_ipMRouteInterfaceEntry
#define gb_ipMRouteInterfaceProtocol buf_ipMRouteInterfaceEntry
#define gb_ipMRouteInterfaceRateLimit buf_ipMRouteInterfaceEntry
#define gb_ipMRouteInterfaceInMcastOctets buf_ipMRouteInterfaceEntry
#define gb_ipMRouteInterfaceOutMcastOctets buf_ipMRouteInterfaceEntry
#define sf_ipMRouteInterfaceIfIndex set_ipMRouteInterfaceEntry
#define sf_ipMRouteInterfaceTtl set_ipMRouteInterfaceEntry
#define sf_ipMRouteInterfaceProtocol set_ipMRouteInterfaceEntry
#define sf_ipMRouteInterfaceRateLimit set_ipMRouteInterfaceEntry
#define sb_ipMRouteInterfaceIfIndex sav_ipMRouteInterfaceEntry
#define sb_ipMRouteInterfaceTtl sav_ipMRouteInterfaceEntry
#define sb_ipMRouteInterfaceProtocol sav_ipMRouteInterfaceEntry
#define sb_ipMRouteInterfaceRateLimit sav_ipMRouteInterfaceEntry
///////////////////////////////////////////////////////////////////////////////
// //
// ipMRouteBoundaryEntry table //
// //
///////////////////////////////////////////////////////////////////////////////
UINT
get_ipMRouteBoundaryEntry(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
UINT
set_ipMRouteBoundaryEntry(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
typedef struct _buf_ipMRouteBoundaryEntry {
AsnAny ipMRouteBoundaryIfIndex;
AsnAny ipMRouteBoundaryAddress;
AsnAny ipMRouteBoundaryAddressMask;
AsnAny ipMRouteBoundaryStatus;
// Buffers for IP address objects above
DWORD dwIpMRouteBoundaryAddressInfo;
DWORD dwIpMRouteBoundaryAddressMaskInfo;
} buf_ipMRouteBoundaryEntry;
typedef struct _sav_ipMRouteBoundaryEntry {
// Index terms
AsnAny ipMRouteBoundaryIfIndex;
AsnAny ipMRouteBoundaryAddress;
AsnAny ipMRouteBoundaryAddressMask;
// Writable objects
AsnAny ipMRouteBoundaryStatus;
} sav_ipMRouteBoundaryEntry;
#define gf_ipMRouteBoundaryStatus get_ipMRouteBoundaryEntry
#define gb_ipMRouteBoundaryIfIndex buf_ipMRouteBoundaryEntry
#define gb_ipMRouteBoundaryAddress buf_ipMRouteBoundaryEntry
#define gb_ipMRouteBoundaryAddressMask buf_ipMRouteBoundaryEntry
#define gb_ipMRouteBoundaryStatus buf_ipMRouteBoundaryEntry
#define sf_ipMRouteBoundaryStatus set_ipMRouteBoundaryEntry
#define sb_ipMRouteBoundaryIfIndex sav_ipMRouteBoundaryEntry
#define sb_ipMRouteBoundaryAddress sav_ipMRouteBoundaryEntry
#define sb_ipMRouteBoundaryAddressMask sav_ipMRouteBoundaryEntry
#define sb_ipMRouteBoundaryStatus sav_ipMRouteBoundaryEntry
///////////////////////////////////////////////////////////////////////////////
// //
// ipMRouteScopeEntry table //
// //
///////////////////////////////////////////////////////////////////////////////
UINT
get_ipMRouteScopeEntry(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
UINT
set_ipMRouteScopeEntry(
UINT actionId,
AsnAny * objectArray,
UINT * errorIndex
);
typedef struct _buf_ipMRouteScopeEntry {
AsnAny ipMRouteScopeAddress;
AsnAny ipMRouteScopeAddressMask;
AsnAny ipMRouteScopeName;
AsnAny ipMRouteScopeStatus;
// Buffers for IP address and string objects above
DWORD dwIpMRouteScopeAddressInfo;
DWORD dwIpMRouteScopeAddressMaskInfo;
BYTE rgbyScopeNameInfo[MAX_SCOPE_NAME_LEN+1];
} buf_ipMRouteScopeEntry;
typedef struct _sav_ipMRouteScopeEntry {
// Index terms
AsnAny ipMRouteScopeAddress;
AsnAny ipMRouteScopeAddressMask;
// Writable objects
AsnAny ipMRouteScopeName;
AsnAny ipMRouteScopeStatus;
// Buffers
BYTE rgbyScopeNameInfo[MAX_SCOPE_NAME_LEN+1];
} sav_ipMRouteScopeEntry;
#define gf_ipMRouteScopeName get_ipMRouteScopeEntry
#define gf_ipMRouteScopeStatus get_ipMRouteScopeEntry
#define gb_ipMRouteScopeAddress buf_ipMRouteScopeEntry
#define gb_ipMRouteScopeAddressMask buf_ipMRouteScopeEntry
#define gb_ipMRouteScopeName buf_ipMRouteScopeEntry
#define gb_ipMRouteScopeStatus buf_ipMRouteScopeEntry
#define sf_ipMRouteScopeName set_ipMRouteScopeEntry
#define sf_ipMRouteScopeStatus set_ipMRouteScopeEntry
#define sb_ipMRouteScopeAddress sav_ipMRouteScopeEntry
#define sb_ipMRouteScopeAddressMask sav_ipMRouteScopeEntry
#define sb_ipMRouteScopeName sav_ipMRouteScopeEntry
#define sb_ipMRouteScopeStatus sav_ipMRouteScopeEntry
#endif // _MIBFUNCS_H_