⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cli_lib.h

📁 在freescale 的ne64上开发的源代码
💻 H
字号:
#include "datatypes.h"

#ifndef __CLI_LIB_H__
#define __CLI_LIB_H__

#define TRUE    1	
#define FALSE   0	

#define INIT              	0
#define CLI_TASK     		1
#define TIMER_TASK          2
#define   BLANK_CHAR    0x20
#define   CTRL_C  0x03
#define	CTRL_N	0x0E
#define   CTRL_P  0x10
#define   CTRL_Z  0x1A
#define	PREVIEW_CMD 0x01
#define	NEXT_CMD 0x02

#define AUTH_NODE1   	0
#define AUTH_NODE2   	1
#define SHOW_NODE       2
#define CONFIG_NODE    	3
#define SHADOW_NODE    	4
#define ALL_NODE    	255
/*command data base*/
struct tCmdDB{
 char *cmd_str;
 char *help_str;
 UINT8 cmd_node;
 UINT8 cmd_part;
 void (*function)(void);
};
#define HELP_CMD  	 		0
#define LIST_CMD  	 		1
#define CLS_CMD  	 		2
#define END_CMD   	 		3
#define QUIT_CMD  	 		4
#define CONFIG_CMD   		5
#define SHOW_RUN_CMD 		6
#define SHOW_START_CMD	7
#define SHOW_VERSION_CMD	8
#define SHOW_VLAN_CMD		9
#define SHOW_IF_CMD		10
#define WRITE_FILE_CMD		11
#define ERASE_START_CMD	12
#define VLAN_TAG_CMD		13
#define VLAN_UNTAG_CMD	14
#define VLAN_NO_MEM_CMD	15
#define NO_VLAN_CMD		16
#define MVLAN_CMD			17
#define PORT_SHUT_CMD		18
#define PORT_NO_SHUT_CMD	19
#define PORT_DUP_AUTO_CMD	20
#define PORT_FULL_SPEED_CMD	21
#define PORT_HALF_SPEED_CMD	22
#define PORT_PVID_CMD			23
#define PORT_RATE_BCAST_CMD	24
#define PORT_RATE_TX_CMD		25
#define PORT_RATE_RX_CMD		26
#define PORT_DESCR_CMD			27
#define BCAST_STORM_RATE_CMD  28
#define PASSWORD_CMD			29
#define HOSTNAME_CMD			30
#define REBOOT_CMD              		31
#define SET_MAC_CMD			32
#define SHOW_MAC_CMD			33
#define SHOW_FlASH_CMD  		34
#define VLAN_BASE_CMD           35
#define PVLAN_CFG_CMD           36 
#define NO_PVLAN_CMD            37
#define SHOW_PVLAN_CMD          38
#define SHOW_REG_CMD           39
#define SET_REG_CMD            	40
#define DEBUG_CMD			41
#define IMCOMPLETE_CMD          253
#define AMBIGUOUS_CMD           254
#define BAD_CMD              	255

#define CMD_MAX_LEN    		 47
#define CMD_MAX_PART          7

#define MAX_PORT   2

#define MODE_AUTO     0
#define MODE_HALF_10  1
#define MODE_HALF_100 2
#define MODE_FULL_10  3
#define MODE_FULL_100 4

#define AN_MODE_EN     1
#define AN_MODE_DIS    0
#define DPLX_MODE_FULL 1
#define DPLX_MODE_HALF 0
#define SPD_MODE_10    10
#define SPD_MODE_100   100
#define SPD_MODE_1000  1000

#define CLI_TIMEOUT_TIME 300

#define MAX_MAC_ADDR_LENTH 17
#define MAX_IP_ADDR_LENTH 15
#define MAX_DOT_NUMBER 5
#define SEPERATE_CHAR_1  ':'
#define SEPERATE_CHAR_2  '.'
/*cli_main function declare*/
void taskDelay(UINT32 time);/*for serial_task*/


void initialize_serial(void);
void prompt_node(void);
void exec_command(void);
void help_command(UINT8 bComplete);
void list_cmd(void);
void end_cmd(void);
void quit_cmd(void);
void config_cmd(void);
UINT8 parse_command(void);
void print_motd(void);
void restore_cmd(UINT8 mode);
void prompt_node(void);

/*cli_cmd function declare*/
void read_cfg_file();
void show_start_cmd(void);
void write_file_cmd(void);
void erase_file_cmd(void);
void reboot_cmd(void);
UINT32 valid_input_number(UINT8 *str,UINT16 minVal,UINT16 maxVal,UINT16 *num);
UINT8 ConvertOneByte(UINT8 oldByte);
UINT32 listToString(UINT8 *list,UINT8 listLen,UINT8 *string);
UINT8 valid_port_list(UINT8 *portstr,UINT8 *portlist);
UINT8 valid_mac_addr(UINT8* mac_str);
UINT8 mac_strtohex(UINT8*mac_str,UINT8* mac_hex);
UINT32 chartoint(UINT8 x);
UINT8 rmtManageChk(void);
void show_version_cmd(void);
void show_system_cmd(void);
void hostname_cmd(void);
void password_cmd(void);
void port_shutdown_cmd(void);
void port_no_shutdown_cmd(void);
void show_if_cmd(void);
void show_run_cmd(void);
void show_log_cmd(void);
void show_if_statis_cmd();

void port_full_enable_cmd(void);
void port_full_disable_cmd(void);
void port_half_enable_cmd(void);
void port_half_disable_cmd(void);
void port_speed_cmd(void);
void init_switch_db();
void port_rate_tx_cmd(void);
void port_rate_bcast_cmd(void);
void port_rate_mbcast_cmd(void);
void port_flow_enable_cmd(void);
void port_flow_disable_cmd(void);

void set_ipaddress_cmd() ;
void set_gateway_cmd();
void no_ip_address(void);
UINT32 inet_addr(register char *inetString    /* string inet address */);
void set_snmp_trap(void);
void no_set_trap(void);
void set_snmp_community(void);
void no_set_community(void);
void set_manager_vid(void);

void lfp_enable_cmd(void);
void lfp_disable_cmd(void);
void fef_enable_cmd(void);
void fef_disable_cmd(void);

void device_descr_cmd(void);
void dot3ah_port_cmd(void);
void dot3ah_enable_cmd(void);
void dot3ah_disable_cmd(void);
void dot3ah_active_cmd(void);
void dot3ah_passive_cmd(void);
void show_dot3ah_cmd(void);
void init_switch_db(void);
void set_mac_cmd(void);
void read_mac(void);
void show_mac_cmd(void);
void show_reg_cmd(void);
void set_reg_cmd(void);
void show_mcureg_cmd(void);
void set_mcureg_cmd(void);
UINT8 set_port_info(UINT8 port,UINT8 singleFx, UINT8 fxMode, UINT8 fxCnctr, UINT16 fxDistance);
UINT8 get_port_info(UINT8 port,UINT8 *singleFx, UINT8 *fxMode, UINT8 *fxCnctr, UINT16 *fxDistance);
UINT8 set_wave_info(UINT8 port,UINT16 txWaveLen, UINT16 rxWaveLen);
UINT8 get_wave_info(UINT8 port,UINT16 *txWaveLen, UINT16 *rxWaveLen);
void port_info_cmd(void);
void port_wavelength_cmd(void);
void debug_cmd(void);
void ping_host(void);









UINT32 listToString(UINT8 *list,UINT8 listLen,UINT8 *string);
UINT8 valid_port_list(UINT8 *portstr,UINT8 *portlist);
UINT8 ConvertOneByte(UINT8 oldByte);
UINT8 valid_mac_addr(UINT8* mac_str);
UINT8 mac_strtohex(UINT8*mac_str,UINT8* mac_hex);
UINT32 chartoint(UINT8 x);
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -