📄 igmp_winrouter.c
字号:
/*
$Log:: /OEM Source Code/igmp/igmp_winrouter.c $
*
* 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 (__WINROUTER__)
#include <stdarg.h>
#include "igmp.h"
/********************************************************************************************/
ULONG routerware_control (enum ROUTERWARE_CONTROL_OPERATION command,...)
{
va_list argptr;
ULONG return_value;
UINT parameter[10];
BYTE parameter_index;
va_start (argptr, command);
for (parameter_index = 0x00; parameter_index < 6;)
{
parameter[parameter_index] = va_arg (argptr, UINT);
parameter_index = (BYTE) (parameter_index + 1);
}
return_value = 0x00000000L;
switch (command)
{
case RW_INITIALIZE:
return_value = initialize_igmp (parameter[0x00]);
break;
case RW_GET_CLASS_ADDRESS:
return_value = (ULONG) &igmp;
break;
case RW_GET_CLASS_SIZE:
return_value = sizeof (IGMP_CLASS);
break;
case RW_GET_CONFIGURATION_TABLE_ADDRESS:
return_value = igmp_get_configuration_table_address ();
break;
case RW_GET_EXPORT_TABLE:
return_value = igmp_get_export_table_address ();
break;
case RW_GET_IMPORT_TABLE:
return_value = igmp_get_winrouter_import_table_address ();
break;
case RW_CLOSE:
case RW_HALT:
return_value = igmp_shutdown ();
break;
default:
/* don't do anything because its unsupported */
break;
}
return (return_value);
}
/********************************************************************************************/
ULONG igmp_get_configuration_table_address (void)
{
return ((ULONG) &igmp_configuration_table);
}
/********************************************************************************************/
ULONG igmp_get_winrouter_import_table_address (void)
{
return ((ULONG) &winrouter_import_table);
}
/********************************************************************************************/
ULONG igmp_get_export_table_address (void)
{
return ((ULONG) &igmp_host_export_table);
}
#endif /* __WINROUTER__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -