You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
4.7 KiB
137 lines
4.7 KiB
/*++
|
|
Copyright (c) 1998, Microsoft Corporation
|
|
|
|
Module:
|
|
vrrp\vrrprm.h
|
|
|
|
Abstract:
|
|
Contains type definitions and declarations for VRRP,
|
|
used by the IP Router Manager.
|
|
|
|
Revistion History:
|
|
Harry Heymann July-07-1998 Created.
|
|
Peeyush Ranjan Mar-10-1999 Modified.
|
|
--*/
|
|
|
|
#ifndef _VRRPRM_H_
|
|
#define _VRRPRM_H_
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// CONSTANT DECLARATIONS
|
|
//---------------------------------------------------------------------------
|
|
|
|
#define VRRP_CONFIG_VERSION_500 500
|
|
|
|
//---------------------------------------------------------------------------
|
|
// constants identifying VRRP's MIB tables
|
|
//---------------------------------------------------------------------------
|
|
|
|
//---------------------------------------------------------------------------
|
|
// constants used for the field VRRP_GLOBAL_CONFIG::LoggingLevel
|
|
//---------------------------------------------------------------------------
|
|
|
|
#define VRRP_LOGGING_NONE 0
|
|
#define VRRP_LOGGING_ERROR 1
|
|
#define VRRP_LOGGING_WARN 2
|
|
#define VRRP_LOGGING_INFO 3
|
|
|
|
//---------------------------------------------------------------------------
|
|
// constant for the field VRRP_IF_CONFIG::AuthenticationKey;
|
|
// defines maximum authentication key size
|
|
//---------------------------------------------------------------------------
|
|
|
|
#define VRRP_MAX_AUTHKEY_SIZE 8
|
|
|
|
//---------------------------------------------------------------------------
|
|
// constants for the field VRRP_IF_CONFIG::AuthenticationType
|
|
//---------------------------------------------------------------------------
|
|
|
|
#define VRRP_AUTHTYPE_NONE 0
|
|
#define VRRP_AUTHTYPE_PLAIN 1
|
|
#define VRRP_AUTHTYPE_IPHEAD 2
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// STRUCTURE DEFINITIONS
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
// struct: VRRP_GLOBAL_CONFIG
|
|
//
|
|
// This MIB entry stores global configuration for VRRP
|
|
// There is only one instance, so this entry has no index.
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
|
|
typedef struct _VRRP_GLOBAL_CONFIG {
|
|
DWORD LoggingLevel;
|
|
} VRRP_GLOBAL_CONFIG, *PVRRP_GLOBAL_CONFIG;
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// struct: VRRP_VROUTER_CONFIG
|
|
//
|
|
// THIS STRUCTURE IS VARIABLE LENGTH:
|
|
//
|
|
// After the base structure comes a variable lenght array (IPAddress) of
|
|
// IP Addresses for the VRouter
|
|
//
|
|
// IPCount indicates the size of this array.
|
|
//---------------------------------------------------------------------------
|
|
|
|
typedef struct _VRRP_VROUTER_CONFIG {
|
|
BYTE VRID;
|
|
BYTE ConfigPriority;
|
|
BYTE AdvertisementInterval;
|
|
BOOL PreemptMode;
|
|
BYTE IPCount;
|
|
BYTE AuthenticationType;
|
|
BYTE AuthenticationData[VRRP_MAX_AUTHKEY_SIZE];
|
|
DWORD IPAddress[1];
|
|
} VRRP_VROUTER_CONFIG, *PVRRP_VROUTER_CONFIG;
|
|
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// struct: VRRP_IF_CONFIG
|
|
//
|
|
// This MIB entry describes per-interface configuration.
|
|
// All IP address fields must be in network order.
|
|
//
|
|
// THIS STRUCTURE IS VARIABLE LENGTH:
|
|
//
|
|
// After the base structure comes VrouterCount VRRP_VROUTER_CONFIG structures.
|
|
//---------------------------------------------------------------------------
|
|
|
|
typedef struct _VRRP_IF_CONFIG {
|
|
BYTE VrouterCount;
|
|
} VRRP_IF_CONFIG, *PVRRP_IF_CONFIG;
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// MACRO DECLARATIONS
|
|
//---------------------------------------------------------------------------
|
|
|
|
//---------------------------------------------------------------------------
|
|
// macro: VRRP_IF_CONFIG_SIZE
|
|
//
|
|
// determines thge space requirements for an interface config block based
|
|
// on the number of vrouters and total number of IPAddresses.
|
|
//---------------------------------------------------------------------------
|
|
#define VRRP_IF_CONFIG_SIZE(VRCount,IPCount) \
|
|
sizeof(VRRP_IF_CONFIG) + \
|
|
VRCount * sizeof(VRRP_VROUTER_CONFIG) + \
|
|
(IPCount-VRCount) * sizeof(DWORD)
|
|
|
|
#define VRRP_FIRST_VROUTER_CONFIG(pic) ((PVRRP_VROUTER_CONFIG)(pic + 1))
|
|
|
|
#define VRRP_NEXT_VROUTER_CONFIG(pvc) \
|
|
(PVRRP_VROUTER_CONFIG)((PDWORD)(pvc + 1) + (pvc->IPCount-1))
|
|
|
|
#define VRRP_VROUTER_CONFIG_SIZE(pvc) \
|
|
(sizeof(VRRP_VROUTER_CONFIG) + \
|
|
(((pvc)->IPCount - 1) * sizeof(DWORD)))
|
|
|
|
#endif // _VRRPRM_H_
|