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

📄 kslib.h

📁 开源的嵌入式WEB服务器
💻 H
字号:
/********************************************************************/
/*       KSLIB Header for KS32C5000                                 */
/*------------------------------------------------------------------*/
/*      Copyright (C) 1997 Samsung Electronics.                     */
/*------------------------------------------------------------------*/
/*                                                                  */
/*      Description : 1998-2-10 first edited for KS32C50100         */ 
/********************************************************************/
#ifndef _KSLIB_H_
#define _KSLIB_H_

// Definition for Command Line
#define MAX_LENGTHOF_COMMANDLINE 256	//  Maximum value of command line length 
#define MAX_LENGTHOF_COMMAND	10	//  Maximum value of command
#define MAX_NUMOF_COMMAND	24	//  Maximum value of the number of command.  
					//  it is used by command Table size
#define MAX_NUMOF_ARGS		5	//  Maximum value of the number of arguments 
					//  in command line
#define MAX_LENGTHOF_ARGS 	10	//  Maximum value of the length of a argument

#define MAX_CURRENT_NUM_ARGS	2
#define MAX_CURRENT_STR_ARGS	7
#define CMDLI_TRUE		1

#define MAX_COMMAND_LIST	32
#define IS_USED 0x80000000

typedef struct cmdlist {
	char commandline[MAX_LENGTHOF_COMMANDLINE];
	U32 comlen;
	struct cmdlist *nextcmd;	
	struct cmdlist *prevcmd;	
} CMDPOOL ;

typedef struct diagcmd {
	char *cmd_name;
	U32 (*cmd_action)(U8, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd);  
	U32 cmd_length;
	char *cmd_help;	// if  command "help xxxx " runs , this message will be used.  
			// It must be ended by '\0'
	} DIAGCMD;




// 	Diagnostics Error	
#define NO_ERROR			0x0
#define LV1_DIAG_ERROR			0x1


// Diag CLI Sysntax Error Code Base =  0x10000
#define ERROR_BAD_COMMAND		0x10000
#define ERROR_TOO_FEW_ARGUMENT 	0x10001
#define ERROR_TOO_MANY_ARGUMENT 0x10002
#define ERROR_TOO_LONG_COMMAND 	0x10003
#define ERROR_ILLEGAL_ARGUMENT	0x10004
#define ERROR_ADDRSIZE_NEGATIVE 0x10005
// Manual Diag Error from 0x20000 
#define ERROR_MANDIAG_DRAM		0x20000
#define ERROR_MANDIAG_SRAM		0x20001
#define ERROR_MANDIAG_FLASH		0x20002
#define ERROR_MANDIAG_BOOT		0x20003
#define ERROR_MANDIAG_NVRAM		0x20004
#define ERROR_MANDIAG_FORCE		0x20005
#define ERROR_MANDIAG_SWRESET	0x20006
#define ERROR_MANDIAG_UART		0x20007
#define ERROR_MANDIAG_CALLER	0x20008
#define ERROR_ADDRLINE_DRAM		0x20009
#define ERROR_ADDRLINE_SRAM		0x2000a
#define ERROR_ADDRLINE_FLASH	0x2000b
#define ERROR_ADDRLINE_NVRAM	0x2000c
#define ERROR_DRAM_BURST 		0x2000d
#define ERROR_NVRAM_BURST		0x2000e
#define ERROR_DISPLAY_ADDRESS_BOUNDARY 0x2000f
// File System Error Code Base = 0x50000 
#define ERROR_OPEN_FILE			0x50000


// TFTP Download Error Code Base = 0x60000
#define ERROR_TFTP_DOWNLOALD_NOT_COMPLETE 0x60000

// Flash Driver Error Code Base = 0x70000
#define ERROR_FLASH_WRITE_TIMEOUT 			0x70000
#define ERROR_FLASH_RW_COUNT				0x70001
#define ERROR_FLASH_RW_OFFSET				0x70002
#define ERROR_FLASH_CHIPERASE_TIMEOUT 		0x70004
#define ERROR_FLASH_SECTORERASE_TIMEOUT		0x70005
#define ERROR_FLASH_ADDRESS_FAULT			0x70006

#define	ERROR_CODE				0x80000b
#define NO_RES_ERROR			0x80000c   /* no responding error !! */
#define ERROR_RIB_BYTE_WRITE	0x80000d
#define ERROR_RIB_BYTE_READ		0x80000e


// MAC Driver Error Code Base = 0x90000

/*---------------------------------------------------------------------*/
/* Definition of errno macro                                           */
/*---------------------------------------------------------------------*/
#ifndef errno
    U32 *errno_addr(void);
    #define errno (*(errno_addr()))
#endif

// Symbol Definitions 
#define SPACE		0x20

// Memory Size
#define MSIZE_BYTE	0x62
#define MSIZE_HALF	0x68
#define MSIZE_LONG	0x6C

// Type definition for Error Report
typedef struct AllErrRpt {
	int SramError ;
	int MemError ;
	int UartError ;
	int TimerError ;
	int DmaError ;
	int IicError ;
	int MacError ;
	int HdlcError ;
} AllErrorReport ;



extern void DiagCmdLi(void) ;
/* 
 * Function : DiagCmdLi(void)
 * Description : Command Line Interface Diag
 */

extern U32 RunCommand(CMDPOOL *) ;
/* 
 * Function : U32 RunCommand(CMDPOOL *)
 * Description : Command Running
 */

extern U32 LookUpCommand(char* cmd) ;
/*
 * 	Function :  LookUpCommand
 *	Description :   Search the command and return the index of the command.
 */

extern U32 ParseCommandLine(char (*argv)[MAX_LENGTHOF_ARGS],char *commandline) ;
/*
 * 	Function :  ParseCommandLine
 *	Description : 
 */

extern void ReportError(U32 err) ;
/*
 * 	Function :  ReportError
 *	Description :
 */

extern U32 str_ncmp(char* str1 , char* str2 , U32 n) ;
/*
 * 	Function :  ReportError
 *	Description : if equals, return 1, else return 0, until str2 is NULL
 */

extern U32 strtoint(char *str, U32 count) ;
/*
 * 	Function :  strtoint
 *	Description : String Value to Interger Value
 */

extern U32 sizeofstr(char *str) ;
/*
 * 	Function :  sizeofstr
 *	Description : Size of String
 */

extern U32 hexstrtohex(char *str, U32 count) ;
/*
 * 	Function :  hexstrtohex
 *	Description : String Value to HEX Value
 */

extern U32 power(U32 base, U32 cha) ;
/*
 * 	Function :  power
 *	Description : 
 */

extern void PrintHelpMessage(char *cmd) ;
/*
 * 	Function :  PrintHelpMessage
 *	Description :   
 */



/*
 * 	Function : StartDownArea
 *	Description : Start download program
 */
extern void StartDownPgm(U32 *downarea) ;

/*
 * 	Function : Reset_Boot_Rom
 *	Description : Reset SNDS Board
 */
extern void Reset_BootRom(void) ;

/*
 * 	Function : All Test Program
 *	Description : Test of all function
 */
extern U32 AllTestFunc(void) ;

/*
 * 	Function :  AllTestInternal
 *	Description : All KS32C50100 Internal function test
 */
extern U32 AllTestInternal(U32 loopcnt) ;

extern U32 ListOfCmd(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 HelpCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 MCopyCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 MFillCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 MDumpCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 MSearchCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 MCompCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 MemTestCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 DmaTestCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 DCopyCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 CacheCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 MacCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 HdlcCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 IicCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 MarchTestCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 AllTestCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 DownPgmCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 FusePgmCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 GoPgmCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 StartCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 BootCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 ResetCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 ExitCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;
extern U32 HistoryCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) ;

extern void EtcTest(void) ;
extern CMDPOOL *ReadCommand(CMDPOOL *,U32 *);
extern CMDPOOL *SearchCommand(CMDPOOL *,U32 *,U32 *);
extern U32 SearchMatchedCommand(CMDPOOL *);
extern void SplitPattern(CMDPOOL *);
extern CMDPOOL *UpdateCommand(CMDPOOL *,CMDPOOL *,U32 *,U32*,U32*,char);
extern void GetSelectedCommand(CMDPOOL *,CMDPOOL *,U32 *);
extern void AnalyzeCommand(CMDPOOL *);
extern CMDPOOL *PutPrompt(CMDPOOL *,U32 *,U32 );
extern void InitCommandPool(CMDPOOL *);

#endif /* _KSLIB_H_ */

⌨️ 快捷键说明

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