📄 igmp_structures.h
字号:
/*
$Log:: /OEM Source Code/igmp/igmp_structures.h $
*
* 1 4/23/98 9:53p Release Engineer
* Initial release
* IGMP v4.1.0
*/
/************************************************************************/
/* Copyright (C) 1997-1998 RouterWare, Inc. */
/* Unpublished - rights reserved under the Copyright Laws of the */
/* United States. Use, duplication, or disclosure by the */
/* Government is subject to restrictions as set forth in */
/* subparagraph (c)(1)(ii) of the Rights in Technical Data and */
/* Computer Software clause at 252.227-7013. */
/* RouterWare, Inc., 3961 MacArthur Blvd. Suite 212, Newport Beach, CA */
/************************************************************************/
#if !defined (_IGMP_STRUCTURES_H_)
#define _IGMP_STRUCTURES_H_
typedef _struct IGMP_MESSAGE
{
enum IGMP_MESSAGE_TYPE type;
UINT max_response_time;
ULONG group_ip_address;
ULONG source_ip_address;
UINT receiving_port;
} _pack IGMP_MESSAGE;
typedef _struct IGMP_TIMER
{
enum BOOLEAN enabled;
UINT second_counter;
UINT expiry_time;
} _pack IGMP_TIMER;
typedef _struct IGMP_GROUP_LINKS
{
struct IGMP_GROUP_CLASS *sptr_forward_link;
struct IGMP_GROUP_CLASS *sptr_backward_link;
} _pack IGMP_GROUP_LINKS;
typedef _struct IGMP_MIB_CACHE_ENTRY
{
ULONG igmpCacheAddress;
ULONG igmpCacheIfIndex;
enum BOOLEAN igmpCacheSelf;
ULONG igmpCacheLastReporter;
ULONG igmpCacheUpTime;
ULONG igmpCacheExpiryTime;
ULONG igmpCacheStatus;
ULONG igmpCacheVersion1HostTimer;
} _pack IGMP_MIB_CACHE_ENTRY;
typedef _struct IGMP_ROUTER_GROUP_CLASS
{
enum IGMP_ROUTER_GROUP_STATE state; /* NO_MEMBERS_PRESENT | V2_MEMBERS_PRESENT |
V1_MEMBERS_PRESENT | CHECKING_MEMBERSHIP */
UINT group_specific_query_interval; /* same as last member query interval */
UINT group_specific_query_count; /* same as last member query count */
IGMP_TIMER group_specific_timer;
IGMP_TIMER retransmit_timer;
IGMP_TIMER v1_host_timer;
} _pack IGMP_ROUTER_GROUP_CLASS;
typedef _struct IGMP_HOST_GROUP_CLASS
{
enum IGMP_HOST_GROUP_STATE state; /* NON_MEMBER | DELAYING_MEMBER | IDLE_MEMBER_STATE */
enum BOOLEAN this_host_was_last_reporter;
IGMP_TIMER report_delay_timer;
} _pack IGMP_HOST_GROUP_CLASS;
typedef _struct IGMP_GROUP_CLASS
{
IGMP_GROUP_LINKS links;
enum BOOLEAN enabled;
UINT port_number;
ULONG multicast_group_ip_address;
ULONG ip_address_of_last_reporter;
IGMP_ROUTER_GROUP_CLASS router_group;
IGMP_HOST_GROUP_CLASS host_group;
IGMP_MIB_CACHE_ENTRY igmpCacheEntry;
} _pack IGMP_GROUP_CLASS;
typedef _struct IGMP_MIB_INTERFACE_ENTRY
{
ULONG igmpInterfaceIfIndex;
ULONG igmpInterfaceQueryInterval;
enum BOOLEAN igmpInterfaceStatus;
ULONG igmpInterfaceVersion;
ULONG igmpInterfaceQuerier;
ULONG igmpInterfaceQueryMaxResponseTime;
ULONG igmpInterfaceQuerierPresentTimeout;
enum BOOLEAN igmpInterfaceLeaveEnabled;
ULONG igmpInterfaceVersion1QuerierTimer;
ULONG igmpInterfaceWrongVersionQueries;
ULONG igmpInterfaceJoins;
ULONG igmpInterfaceLeaves;
ULONG igmpInterfaceGroups;
ULONG igmpInterfaceRobustness;
} _pack IGMP_MIB_INTERFACE_ENTRY;
typedef _struct IGMP_HOST_PORT_CLASS
{
enum BOOLEAN v1_router_present;
UINT v1_router_present_timer;
} _pack IGMP_HOST_PORT_CLASS;
typedef _struct IGMP_ROUTER_PORT_CLASS
{
enum IGMP_ROUTER_PORT_STATE state; /* specifies whether Querier or Non-Querier */
enum BOOLEAN initializing;
UINT number_of_startup_queries_sent;
UINT number_of_startup_queries_to_send;
UINT startup_query_interval;
UINT general_query_interval;
IGMP_TIMER general_query_timer;
UINT general_query_max_response_time;
UINT other_querier_present_timeout;
IGMP_TIMER other_querier_present_timer;
} _pack IGMP_ROUTER_PORT_CLASS;
typedef _struct IGMP_PORT_CLASS
{
enum BOOLEAN enabled;
enum BOOLEAN router_enabled;
enum BOOLEAN host_enabled;
enum IGMP_VERSION version;
UINT robustness;
UINT port_number;
ULONG ip_address_of_port;
ULONG ip_address_of_querier;
UINT max_response_time_from_most_recent_query;
IGMP_ROUTER_PORT_CLASS router_port;
IGMP_HOST_PORT_CLASS host_port;
IGMP_MIB_INTERFACE_ENTRY igmpInterfaceEntry;
IGMP_GROUP_LINKS active_group_list;
} _pack IGMP_PORT_CLASS;
typedef _struct IGMP_TRACE_CLASS
{
enum BOOLEAN enabled;
enum BOOLEAN alarm_enabled;
} _pack IGMP_TRACE_CLASS;
typedef _struct IGMP_CLASS
{
enum BOOLEAN initialization_breakpoint;
enum BOOLEAN enabled;
UINT clock_ticks_per_second;
UINT number_of_snmp_time_ticks_per_clock_tick;
UINT tick_counter;
ULONG stack_id;
UINT number_of_ports;
IGMP_TRACE_CLASS trace;
IGMP_PORT_CLASS port_table[NUMBER_OF_IP_PORTS];
} _pack IGMP_CLASS;
#endif /* _IGMP_STRUCTURES_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -