📄 nos.h
字号:
#ifndef _NOS_H
#define _NOS_H
/* for IPxdsl10000 */
/*********************************************************************
本文件定义各模块的剪裁宏和系统参数
WOS软件的每个C文件应在最前端引用这个文件
第一批有路由模块使用这个文件。 01/10
第二批有管理模块使用。02/04?
**********************************************************************/
/********************** System Level **********************/
#define NOS_VERSION "1.3"
#define NOS_PRODUCT_lightsun_bluelight 0
#define NOS_PRODUCT_deep_bluelight 0
#define NOS_PRODUCT_xdsl 1
#define NOS_IPV6 0
#define NOS_MULTICAST_ROUTING 0 /* 支持组播路由转发 */
/********************** VOS **********************/
#define NOS_VOS 1
#define NOS_VOS_MQ 1
/********************** System Management **********************/
#define NOS_ASSERT 1 /* 是否启用assert */
#define NOS_DEBUG 0 /* 是否启用debug代码。 */
#define NOS_MEM_DEBUG 1 /* 是否启用内存管理调试工具 */
/********************** ETH & VLAN **********************/
/********************* Routing Protocols **************************/
#define NOS_ROUTE_RM 1 /* 路由管理模块 *//*llqiu modified 2003-04-22*/
#define NOS_ROUTE_CAPABILITY 15000 /* 路由表总容量 */
#define NOS_ROUTE_STATIC_CAPABILITY 512 /* 静态路由表容量 */
#define NOS_ROUTE_SHOW_LIMIT 3000 /* show ip route显示路由上限 */
#define NOS_ROUTE_RIP 1 /* RIP协议模块 *//*llqiu modified 2003-04-30,aibin modified 2004-10-11*/
#define NOS_ROUTE_RIP_MIB 0 /* RIP协议网管功能 */
#define NOS_ROUTE_RIP_CAPABILITY 1536 /*RIP路由容量 */
#define NOS_ROUTE_OSPF 1 /* OSPF协议模块 *//*llqiu modified 2003-04-22*/
#define NOS_ROUTE_OSPF_NSSA 0 /* Not-so-stubby-area特性 */
#define NOS_ROUTE_OSPF_MIB 0 /* OSPF协议网管功能 */
#define NOS_OSPF_LSDB_CAPABILITY 3000 /* OSPF路由容量 */
#define NOS_OSPF_EXT_LSDB_CAPABILITY 1000 /* OSPF外部路由 */
#define NOS_OSPF_MAX_NETWORK 32 /*最多network数*/
#define NOS_OSPF_MAX_INTERFACE 32 /*最多参与OSPF的端口数*/
#define NOS_OSPF_MAX_NEIGHBOR 32 /*最多邻居数*/
#define NOS_ROUTE_BGP 1 /* BGP协议模块 */
#define NOS_ROUTE_BGP_COMMUNITY 0 /* 团体属性 */
#define NOS_ROUTE_BGP_CONFEDERAION 0 /* 联盟属性 */
#define NOS_ROUTE_BGP_REFLECTION 0 /* 路由反射功能 */
#define NOS_ROUTE_BGP_DAMPING 0 /* 路由衰减功能 */
#define NOS_ROUTE_BGP_NEOGOTIATE 0 /* BGP能力协商 */
#define NOS_ROUTE_BGP_MPLSVPN 0 /* MPLS VPN功能 */
#define NOS_ROUTE_BGP_MCAST 0 /* 支持组播功能 */
#define NOS_ROUTE_BGP_MULTI 0 /* BGP多实例 */
#define NOS_ROUTE_BGP_DUMP 0 /* BGP DUMP功能(调试维护) */
#define NOS_ROUTE_BGP_MIB 0 /* BGP协议网管功能 */
#define NOS_ROUTE_BGP_CAPABILITY 10000 /* BGP路由容量 */
#define NOS_ROUTE_BGP_NEIGHBOUR_NUM 10 /* BGP邻居数量 */
#define NOS_ROUTE_IGMP 0 /* IGMP协议模块 */
#define NOS_ROUTE_IGMP_MAX_G 128 /* IGMP在一个接口上最多可以接受的组成员数量 */
#define NOS_ROUTE_PIM 0 /* PIM协议模块 */
#define NOS_ROUTE_PIM_DM 0 /* PIM-DM */
#define NOS_ROUTE_PIM_SM 0 /* PIM-SM */
#define NOS_ROUTE_PIM_G_CAPABILITY 128 /* pim group容量 */
#define NOS_ROUTE_PIM_MRT_CAPABILITY 1024 /* pim 组播路由总容量 = G * S */
#define NOS_ROUTE_PIM_NBR_CAPABILITY 64 /* pim邻居数量 */
#define NOS_ROUTE_POLICY 1 /* 路由策略模块 */
#define NOS_ROUTE_POLICY_ACCESSLIST 1 /* 访问列表策略模块 */
#define NOS_ROUTE_POLICY_PREFIXLIST 1 /* 前缀列表策略模块 */
#define NOS_ROUTE_POLICY_ROUTEMAP 1 /* 路由映像策略模块 */
/********************** Product Info **********************/
/******************** NOS MODULE ID define *****************/
typedef enum _nos_module_id
{
NOS_MIN_MODULE_ID,
NOS_MODULE_VOS,
NOS_MODULE_APP_MAIN,
NOS_MODULE_BR,
NOS_MODULE_ROUTE,
NOS_MODULE_RIP,
NOS_MODULE_OSPF,
NOS_MODULE_BGP,
NOS_MODULE_PIM,
NOS_MODULE_IGMP,
NOS_MODULE_NAS,
NOS_MODULE_DOT1X,
NOS_MODULE_RADIUS_CLIENT,
NOS_MODULE_SYSLOG,
NOS_MODULE_CLI,
NOS_MODULE_SNMP,
NOS_MODULE_WEB,
NOS_MODULE_DEV_CTRL,
NOS_MAX_MODULE_ID
}nos_module_id;
/*********************************************************/
/******************NOS MSG BETWEEN MODULES MSGTYPE define *********/
typedef enum _nos_module_msg_type
{
NOS_MSG_TIMER,
NOS_MSG_SYSLOG,
NOS_MSG_DEV_CTRL_REQUEST,
NOS_MSG_DEV_CTRL_RESPONSE
}
nos_module_msg_type;
/*******************************/
#endif /* _NOS_H */
/* 说明:
C文件应一律在文件最前面引用这个文件,例如:
rip.c:
#include "nos.h"
#if NOS_ROUTE_RIP / * 如果需要RIP模块才编译进去 * /
#include <zebra.h>
#include <route/if.h>
#include <cli.h>
...
#if NOS_ROUTE_BGP
int rip_something_with_bgp() / * 与BGP有关的内容,加上剪裁条件 * /
{
}
#endif / *NOS_ROUTE_BGP* /
...
#endif / *NOS_ROUTE_RIP* /
H文件也可以在文件开头增加剪裁宏开关,也可不写。
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -