Ipxrip.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:5k
- /*++
- Copyright (c) 1995-1999 Microsoft Corporation
- Module Name:
- ipxrip.h
- Abstract:
- This module contains the definitions of the:
- interface management APIs structures
- rip MIB management APIs structures
- Author:
- Stefan Solomon 06/30/1995
- Revision History:
- --*/
- #ifndef _IPXRIP_
- #define _IPXRIP_
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #include <ipxconst.h>
- typedef struct _RIP_GLOBAL_INFO {
- DWORD EventLogMask;
- } RIP_GLOBAL_INFO, *PRIP_GLOBAL_INFO;
- //********************************************************************
- // *
- // RIP Configuration Information *
- // *
- //********************************************************************
- //*** RIP Interface Only Information ***
- typedef struct _RIP_IF_INFO {
- ULONG AdminState; // The desired state of the interface
- ULONG UpdateMode; // RIP update mechanism used on this interface
- ULONG PacketType; // The RIP packet type used on this interface
- ULONG Supply; // Send RIP updates on this interface
- ULONG Listen; // Listen to RIP updates on this interface
- ULONG PeriodicUpdateInterval; // in seconds - default 60
- ULONG AgeIntervalMultiplier; // default - 3
- } RIP_IF_INFO, *PRIP_IF_INFO;
- // UpdateMode Values:
- //
- // This parameter controls the RIP database update on this interface.
- //
- // If this is a LAN interface, use IPX_PERIODIC_UPDATE as default.
- // If this is a WAN router interface with static routes, use IPX_NO_UPDATE as default.
- // If you want to trigger an update on this interface and to keep the data
- // as static data, use IPX_AUTO_STATIC value.
- // IPX_AUTO_STATIC update can be set only on a WAN interface
- //
- // PacketType Default Values:
- //
- // If UpdateMode is set to IPX_NO_UPDATE, this field is meaningless.
- // If this is a LAN interface, use IPX_STANDARD_PACKET_TYPE as default.
- // If you want reliable delivery of the update data in a triggered update,
- // use IPX_RELIABLE_DELIVERY_PACKET_TYPE (this can be set only in combination with
- // IPX_AUTO_STATIC_UPDATE in the UpdateMode).
- // RIP Route Filter Info
- //
- // These filters apply to routes accepted or advertised by RIP on each interface.
- typedef struct _RIP_ROUTE_FILTER_INFO {
- UCHAR Network[4];
- UCHAR Mask[4];
- } RIP_ROUTE_FILTER_INFO, *PRIP_ROUTE_FILTER_INFO;
- //*** RIP Filters Only Information ***
- //
- // This header is followed by RIP_ROUTE_FILTER_STRUCTURES in order:
- // First Supply filters
- // Next Listen filters
- typedef struct _RIP_IF_FILTERS {
- ULONG SupplyFilterAction;
- ULONG SupplyFilterCount;
- ULONG ListenFilterAction;
- ULONG ListenFilterCount;
- RIP_ROUTE_FILTER_INFO RouteFilter[1];
- } RIP_IF_FILTERS, *PRIP_IF_FILTERS;
- // FilterAction -
- #define IPX_ROUTE_FILTER_PERMIT 1
- #define IPX_ROUTE_FILTER_DENY 2
- //
- //*** RIP Interface Configuration Information ***
- //
- // This structure is passed in AddInterface and SetInterface Entry Points
- //
- typedef struct _RIP_IF_CONFIG {
- RIP_IF_INFO RipIfInfo;
- RIP_IF_FILTERS RipIfFilters;
- } RIP_IF_CONFIG, *PRIP_IF_CONFIG;
- // ***********************************************************
- // *** ***
- // *** RIP MIB Table Identifiers ***
- // *** ***
- // ***********************************************************
- #define RIP_BASE_ENTRY 0
- #define RIP_INTERFACE_TABLE 1
- //************************************************************
- // *
- // RIP MIB Basic Structures *
- // *
- //************************************************************
- //
- // RIP MIB Base Entry
- //
- typedef struct _RIPMIB_BASE {
- ULONG RIPOperState;
- } RIPMIB_BASE, *PRIPMIB_BASE;
- //
- // RIP MIB Interface Table Entry
- //
- typedef struct _RIP_IF_STATS {
- ULONG RipIfOperState; // up, down or sleeping
- ULONG RipIfInputPackets;
- ULONG RipIfOutputPackets;
- } RIP_IF_STATS, *PRIP_IF_STATS;
- typedef struct _RIP_INTERFACE {
- ULONG InterfaceIndex;
- RIP_IF_INFO RipIfInfo;
- RIP_IF_STATS RipIfStats;
- } RIP_INTERFACE, *PRIP_INTERFACE;
- //***************************************************************
- // *
- // INPUT DATA For: Get, GetFirst, GetNext *
- // *
- //***************************************************************
- typedef struct _RIP_MIB_GET_INPUT_DATA {
- ULONG TableId;
- ULONG InterfaceIndex;
- } RIP_MIB_GET_INPUT_DATA, *PRIP_MIB_GET_INPUT_DATA;
- //***************************************************************
- // *
- // INPUT DATA For: Create, Delete, Set *
- // *
- //***************************************************************
- typedef struct _RIP_MIB_SET_INPUT_DATA {
- ULONG TableId;
- RIP_INTERFACE RipInterface;
- } RIP_MIB_SET_INPUT_DATA, *PRIP_MIB_SET_INPUT_DATA;
- //
- // *** RIP Base Entry ***
- //
- // MIB Functions: Get
- // INPUT DATA: RIP_MIB_GET_INPUT_DATA and Index is not used
- // OUTPUT DATA: RIP_INTERFACE
- //
- // *** RIP Interface Table ***
- //
- // MIB Functions: Get, GetFirst, GetNext, Set
- // INPUT DATA: RIP_MIB_GET_INPUT_DATA for Get, GetFirst and GetNext
- // RIP_MIB_SET_INPUT_DATA for Set
- //
- // OUTPUT DATA: RIP_INTERFACE
- //
- #endif