#define INITFUN(x) {x, #x},
// #表示宏变量加上了"" ,输出字符,如 "x"
// ##表示连字符
static struct {
mesa_rc (*func)(vtss_init_data_t *data);
const char *name;
vtss_tick_count_t max_callback_ticks;
init_cmd_t max_callback_cmd;
} initfun[] = {
INITFUN(vtss_trace_init)
INITFUN(critd_module_init)
#ifdef VTSS_SW_OPTION_TIMER
INITFUN(vtss_timer_init)
#endif
#ifdef VTSS_SW_OPTION_THREAD_LOAD_MONITOR
INITFUN(thread_load_monitor_init)
#endif
INITFUN(conf_init)
INITFUN(vtss_api_if_init)
#ifdef VTSS_SW_OPTION_ALARM
INITFUN(alarm_init)
#endif
#ifdef VTSS_SW_OPTION_ICFG
INITFUN(vtss_icfg_early_init)
#endif
INITFUN(msg_init)
INITFUN(port_init)
INITFUN(interrupt_init)
#ifdef VTSS_SW_OPTION_CONSOLE
INITFUN(console_start)
#endif
#if defined(CYGPKG_FS_RAM) && defined(VTSS_SW_OPTION_ICFG)
INITFUN(os_file_init)
#endif
#ifdef VTSS_SW_OPTION_ICLI
INITFUN(icli_init)
#endif
#ifdef VTSS_SW_OPTION_CLI
INITFUN(cli_io_init)
#endif
#ifdef VTSS_SW_OPTION_PHY
INITFUN(phy_init)
#endif
#if defined(VTSS_SW_OPTION_SYSLOG)
INITFUN(syslog_init)
#endif
#ifdef VTSS_SW_OPTION_PSEC
INITFUN(psec_init)
#endif
#ifdef VTSS_SW_OPTION_VLAN
INITFUN(vlan_init)
#endif
INITFUN(led_init)
INITFUN(misc_init)
#ifdef VTSS_SW_OPTION_MEP
INITFUN(mep_init) // Depends upon misc module
#endif
INITFUN(standalone_init)
#ifdef VTSS_SW_OPTION_ACCESS_MGMT
INITFUN(access_mgmt_init)
#endif
#ifdef VTSS_SW_OPTION_WEB
INITFUN(web_init)
#endif
#ifdef VTSS_SW_OPTION_PACKET
INITFUN(packet_init)
#endif
#ifdef VTSS_SW_OPTION_SYSUTIL
INITFUN(system_init)
#endif
#ifdef VTSS_SW_OPTION_DHCP_CLIENT
INITFUN(vtss_dhcp_client_init)
#endif
#if defined(VTSS_SW_OPTION_IP)
INITFUN(ping_init)
INITFUN(traceroute_init)
#endif
#ifdef VTSS_SW_OPTION_IP
INITFUN(vtss_ip_init)
#ifndef VTSS_SW_OPTION_NTP
#endif
#endif
#ifdef VTSS_SW_OPTION_DHCP6_CLIENT
INITFUN(dhcp6_client_init)
#endif
#ifdef VTSS_SW_OPTION_ACL
INITFUN(acl_init)
#endif
#ifdef VTSS_SW_OPTION_MIRROR
INITFUN(mirror_basic_init)
INITFUN(mirror_init)
#endif
#ifdef VTSS_SW_OPTION_LOOP_DETECT
INITFUN(vtss_lb_init)
#endif
#ifdef VTSS_SW_OPTION_MAC
INITFUN(mac_init)
#endif
#ifdef VTSS_SW_OPTION_QOS
INITFUN(qos_init)
#endif
#ifdef VTSS_SW_OPTION_AGGR
INITFUN(aggr_init)
#endif
#ifdef VTSS_SW_OPTION_PVLAN
INITFUN(pvlan_init)
#endif
#ifdef VTSS_SW_OPTION_FIRMWARE
INITFUN(firmware_init)
#endif
#ifdef VTSS_SW_OPTION_SYNCE_DPLL
INITFUN(synce_dpll_init) // Depends upon misc module
#endif
#ifdef VTSS_SW_OPTION_SYNCE
INITFUN(synce_init) // Depends upon synce_dpll module
#endif
#if defined(VTSS_SW_OPTION_MSTP) || defined(VTSS_SW_OPTION_DOT1X) || defined(VTSS_SW_OPTION_LACP) || defined(VTSS_SW_OPTION_SNMP)
INITFUN(l2_init)
#endif
#ifdef VTSS_SW_OPTION_EPS
INITFUN(eps_init) // Depends upon misc module
#endif
#ifdef VTSS_SW_OPTION_MSTP
INITFUN(mstp_init)
#endif
#ifdef VTSS_SW_OPTION_PTP
INITFUN(ptp_init)
#endif
#ifdef VTSS_SW_OPTION_LACP
INITFUN(lacp_init)
#endif
#ifdef VTSS_SW_OPTION_DOT1X
INITFUN(dot1x_init)
#endif
#ifdef VTSS_SW_OPTION_LLDP
INITFUN(lldp_init)
#endif
#ifdef VTSS_SW_OPTION_EEE
INITFUN(eee_init)
#endif
#ifdef VTSS_SW_OPTION_FAN
INITFUN(fan_init)
#endif
#ifdef VTSS_SW_OPTION_THERMAL_PROTECT
INITFUN(thermal_protect_init)
#endif
#ifdef VTSS_SW_OPTION_LED_POW_REDUC
INITFUN(led_pow_reduc_init)
#endif
#if defined(VTSS_SW_OPTION_SNMP)
INITFUN(snmp_init)
#endif
#ifdef VTSS_SW_OPTION_RMON
INITFUN(rmon_init)
#endif
#ifdef VTSS_SW_OPTION_DNS
INITFUN(ip_dns_init)
#endif
#ifdef VTSS_SW_OPTION_POE
INITFUN(poe_init)
#endif
#ifdef VTSS_SW_OPTION_AUTH
INITFUN(vtss_auth_init)
#endif
#ifdef VTSS_SW_OPTION_UPNP
INITFUN(upnp_init)
#endif
#ifdef VTSS_SW_OPTION_RADIUS
INITFUN(vtss_radius_init)
#endif
#ifdef VTSS_SW_OPTION_DHCP_HELPER
INITFUN(dhcp_helper_init)
#endif
#ifdef VTSS_SW_OPTION_DHCP_SNOOPING
INITFUN(dhcp_snooping_init)
INITFUN(dhcp6_snooping_init)
#endif
#ifdef VTSS_SW_OPTION_DHCP_RELAY
INITFUN(dhcp_relay_init)
#endif
#ifdef VTSS_SW_OPTION_NTP
INITFUN(ntp_init)
#endif
#ifdef VTSS_SW_OPTION_USERS
INITFUN(vtss_users_init)
#endif
#ifdef VTSS_SW_OPTION_PRIV_LVL
INITFUN(vtss_priv_init)
#endif
#ifdef VTSS_SW_OPTION_ARP_INSPECTION
INITFUN(arp_inspection_init)
#endif
#ifdef VTSS_SW_OPTION_IP_SOURCE_GUARD
INITFUN(ip_source_guard_init)
#endif
#ifdef VTSS_SW_OPTION_IPV6_SOURCE_GUARD
INITFUN(ipv6_source_guard_init)
#endif
#ifdef VTSS_SW_OPTION_PSEC_LIMIT
INITFUN(psec_limit_init)
#endif
#ifdef VTSS_SW_OPTION_IPMC_LIB
INITFUN(ipmc_lib_init)
#endif
#ifdef VTSS_SW_OPTION_MVR
INITFUN(mvr_init)
#endif
#ifdef VTSS_SW_OPTION_IPMC
INITFUN(ipmc_init)
#endif
#ifdef VTSS_SW_OPTION_IGMP_HELPER
INITFUN(vtss_igmp_helper_init)
#endif
#ifdef VTSS_SW_OPTION_IGMPS
INITFUN(igmps_init)
#endif
#ifdef VTSS_SW_OPTION_MLDSNP
INITFUN(mldsnp_init)
#endif
#ifdef VTSS_SW_OPTION_VOICE_VLAN
INITFUN(voice_vlan_init)
#endif
#ifdef VTSS_SW_OPTION_ERPS
INITFUN(erps_init)
#endif
#ifdef VTSS_SW_OPTION_ETH_LINK_OAM
INITFUN(eth_link_oam_init)
#endif
#ifdef VTSS_SW_OPTION_TOD
INITFUN(tod_init)
#endif
#ifdef VTSS_SW_OPTION_MPLS
INITFUN(mpls_init)
#endif
#ifdef VTSS_SW_OPTION_SFLOW
INITFUN(sflow_init)
#endif
#ifdef VTSS_SW_OPTION_VCL
INITFUN(vcl_init)
#endif
#ifdef VTSS_SW_OPTION_SYMREG
INITFUN(symreg_init)
#endif
#ifdef VTSS_SW_OPTION_AFI
INITFUN(afi_init)
#endif
#ifdef VTSS_SW_OPTION_VLAN_TRANSLATION
INITFUN(vlan_trans_init)
#endif
#ifdef VTSS_SW_OPTION_XXRP
INITFUN(xxrp_init)
#endif
#ifdef VTSS_SW_OPTION_LOOP_PROTECTION
INITFUN(loop_protect_init)
#endif
#ifdef VTSS_SW_OPTION_DAYLIGHT_SAVING
INITFUN(time_dst_init)
#endif
#if defined(VTSS_SW_OPTION_ZLS30387)
INITFUN(zl_3038x_pdv_init)
#endif
#ifdef VTSS_SW_OPTION_JSON_RPC
INITFUN(vtss_json_rpc_init)
#endif
#ifdef VTSS_SW_OPTION_JSON_RPC_NOTIFICATION
INITFUN(vtss_json_rpc_notification_init)
#endif
#ifdef VTSS_SW_OPTION_SNMP_DEMO
INITFUN(vtss_snmp_demo_init)
#endif
#if defined(VTSS_SW_OPTION_DDMI)
INITFUN(ddmi_init)
#endif
#if defined(VTSS_SW_OPTION_SUBJECT)
INITFUN(vtss_subject_init)
#endif
#ifdef VTSS_SW_OPTION_FRR
INITFUN(frr_init)
#endif
#ifdef VTSS_SW_OPTION_DHCP_SERVER
INITFUN(dhcp_server_init)
#endif
#if defined(VTSS_SW_OPTION_UDLD)
INITFUN(udld_init)
#endif
#ifdef VTSS_SW_OPTION_NTP_LINUX
INITFUN(ntp_linux_init)
#endif
#if defined(VTSS_SW_OPTION_FAST_CGI)
INITFUN(vtss_fast_cgi_init)
#endif
#if defined(VTSS_SW_OPTION_JSON_IPC)
INITFUN(json_ipc_init)
#endif
#if defined(VTSS_SW_OPTION_OPTIONAL_MODULES)
INITFUN(vtss_optional_modules_init)
#endif
// **** NOTE: vtss_icfg_late_init must be last in this list ****
#ifdef VTSS_SW_OPTION_ICFG
INITFUN(vtss_icfg_late_init)
#endif
// **** NOTE: sw_push_button_init() is a special case need to process behind vtss_icfg_late_init()
// because the startup configuration will be reset to factory default when press this button and holding over 5 seconds. ****
// 注意: sw_push_button_init() 是需要在 vtss_icfg_late_init() 后面处理的特殊情况,因为按下此按钮并按住 5 秒以上时启动配置将重置为出厂默认设置
};
//