📄 igmp_prototypes.h
字号:
/*
$Log:: /OEM Source Code/igmp/igmp_prototypes.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_PROTOTYPES_H_)
#define _IGMP_PROTOTYPES_H_
/* igmp_control.c */
enum TEST igmp_shutdown (void);
enum TEST igmp_control (enum PROTOCOL_CONTROL_OPERATION command, ULONG parameter_0, ULONG parameter_1, ULONG parameter_2);
ULONG igmp_get_configuration_table_address (void);
ULONG igmp_get_winrouter_import_table_address (void);
ULONG igmp_get_export_table_address (void);
/* igmp_deserialize_message.c */
IGMP_MESSAGE *igmp_deserialize_received_message (IP_PARAMETERS *sptr_ip_parameters, void *sptr_igmp_received_packet, UINT igmp_packet_size);
/* igmp_host_api.c */
enum IGMP_HOST_API_ERROR igmp_host_join_group (UINT port, ULONG group_ip_address);
enum IGMP_HOST_API_ERROR igmp_host_leave_group (UINT port, ULONG group_ip_address);
/* igmp_host_receive.c */
void igmp_host_process_received_message (IGMP_MESSAGE *sptr_igmp_message);
/* igmp_host_state.c */
void igmp_process_host_group_state_transition (UINT port, ULONG group_ip_address,enum IGMP_HOST_GROUP_EVENT event);
void igmp_host_send_join_report_message (UINT port, ULONG group_ip_address);
void igmp_host_send_leave_if_this_host_last_repoter (UINT port, ULONG group_ip_address);
void igmp_host_start_report_delay_timer (UINT port, ULONG group_ip_address);
void igmp_host_stop_report_delay_timer (UINT port, ULONG group_ip_address);
void igmp_host_check_and_reset_report_delay_timer (UINT port, ULONG group_ip_address);
void igmp_host_set_this_host_as_last_reporter (UINT port, ULONG group_ip_address);
void igmp_host_clear_last_reporter (UINT port, ULONG group_ip_address);
enum BOOLEAN igmp_host_group_state_is_valid (enum IGMP_HOST_GROUP_STATE state);
/* igmp_initialize.c */
enum TEST initialize_igmp (ULONG clock_ticks_per_second);
void initialize_igmp_port (UINT port);
/* igmp_receive.c */
void igmp_receive_packet (IP_PARAMETERS *sptr_ip_parameters,void *sptr_igmp_received_packet,USHORT igmp_packet_size);
/* igmp_router_receive.c */
void igmp_router_process_received_message (IGMP_MESSAGE *sptr_igmp_message);
/* igmp_router_state.c */
void igmp_process_router_port_state_transition (UINT port, ULONG group_ip_address,enum IGMP_ROUTER_PORT_EVENT event);
void igmp_process_router_group_state_transition (UINT port, ULONG group_ip_address, enum IGMP_ROUTER_GROUP_EVENT event);
void igmp_router_start_general_query_timer (UINT port, ULONG group_ip_address);
void igmp_router_start_other_querier_present_timer (UINT port, ULONG group_ip_address);
void igmp_router_notify_routing_of_group_addition (UINT port, ULONG group_ip_address);
void igmp_router_notify_routing_of_group_deletion (UINT port, ULONG group_ip_address);
void igmp_router_start_group_specific_timer (UINT port, ULONG group_ip_address);
void igmp_router_start_v1_host_timer (UINT port, ULONG group_ip_address);
void igmp_router_start_star_timer (UINT port, ULONG group_ip_address);
void igmp_router_start_retransmit_timer (UINT port, ULONG group_ip_address);
void igmp_router_clear_retransmit_timer (UINT port, ULONG group_ip_address);
void igmp_router_tx_message (UINT port, ULONG group_ip_address);
/* igmp_serialize_message.c */
enum TEST igmp_serialize_message (UINT port, IGMP_MESSAGE *sptr_igmp_message);
/* igmp_snmp.c */
enum TEST get_igmp_mib_variable (enum MIB_OPERATION mib_operation, char *cptr_mib_string,
BYTE *bptr_variable_value, USHORT *usptr_size_of_variable_value, USHORT *usptr_size_of_table_indices,
ULONG *ulptr_table_indices, enum BOOLEAN *eptr_end_of_table, char **ptr_to_cptr_next_variable_name);
enum TEST igmp_get_mib_variable (char *cptr_protocol_name, MIB_ACCESS_PARAMETERS *sptr_mib_access_parameters);
/* igmp_timer.c */
void igmp_timer (void);
/* igmp_transmit.c */
void igmp_transmit_message (UINT port, ULONG group_ip_address, enum IGMP_MESSAGE_TYPE message_type, enum BOOLEAN copy_to_router, enum BOOLEAN copy_to_host);
/* igmp_utilities.c */
void igmp_trace (enum IGMP_TRACE_GROUP printf_group, const char *cptr_format, ...);
void igmp_display_message (ULONG source_address, ULONG destination_address, enum IGMP_MESSAGE_TYPE igmp_message_type,
UINT igmp_message_max_response_time, ULONG igmp_message_group_ip_address);
IGMP_GROUP_CLASS *igmp_add_group_to_port (ULONG group_ip_address, UINT port);
IGMP_GROUP_CLASS *igmp_get_matching_group_node_on_port (ULONG group_ip_address, UINT port);
IGMP_MESSAGE *igmp_create_message (void);
void igmp_free_message (IGMP_MESSAGE *sptr_igmp_message);
void igmp_initialize_timer (IGMP_TIMER *sptr_timer);
void igmp_increment_timer (IGMP_TIMER *sptr_timer);
enum BOOLEAN igmp_timer_has_expired (IGMP_TIMER *sptr_timer);
void igmp_enable_timer (IGMP_TIMER *sptr_timer, UINT expiry_time);
ULONG igmp_get_ip_address_for_port_from_ip (UINT port);
#endif /* _IGMP_PROTOTYPES_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -