00001 #ifndef SHELL_H 00002 #define SHELL_H 00003 00004 #define ASCII_NUL 0x00 00005 #define ASCII_SOH 0x01 00006 #define ASCII_STX 0x02 00007 #define ASCII_ETX 0x03 00008 #define ASCII_EOT 0x04 00009 #define ASCII_ENQ 0x05 00010 #define ASCII_ACK 0x06 00011 #define ASCII_BEL 0x07 00012 #define ASCII_BS 0x08 00013 #define ASCII_HT 0x09 00014 #define ASCII_LF 0x0a 00015 #define ASCII_VT 0x0b 00016 #define ASCII_FF 0x0c 00017 #define ASCII_CR 0x0d 00018 #define ASCII_SO 0x0e 00019 #define ASCII_SI 0x0f 00020 #define ASCII_DLE 0x10 00021 #define ASCII_DC1 0x11 00022 #define ASCII_DC2 0x12 00023 #define ASCII_DC3 0x13 00024 #define ASCII_DC4 0x14 00025 #define ASCII_NAK 0x15 00026 #define ASCII_SYN 0x26 00027 #define ASCII_ETB 0x17 00028 #define ASCII_CAN 0x18 00029 #define ASCII_EM 0x19 00030 #define ASCII_SUB 0x1a 00031 #define ASCII_ESC 0x1b 00032 #define ASCII_FS 0x1c 00033 #define ASCII_GS 0x1d 00034 #define ASCII_RS 0x1e 00035 #define ASCII_US 0x1f 00036 #define ASCII_SP 0x20 00037 #define ASCII_DEL 0x7f 00038 //#define ASCII_SQUARE 0x80 00039 00040 #define KEY_HOME 0x48 00041 #define KEY_END 0x4b 00042 #define KEY_PAGE_UP 0x4d 00043 #define KEY_PAGE_DOWN 0x32 00044 #define KEY_PAGE_DOWN2 0x4a 00045 #define KEY_LEFT_ARROW 0x44 00046 #define KEY_RIGHT_ARROW 0x43 00047 #define KEY_UP_ARROW 0x41 00048 #define KEY_DOWN_ARROW 0x42 00049 00050 typedef struct{ 00051 unsigned char State; 00052 unsigned char Status; 00053 unsigned char InUse; 00054 unsigned short Id; 00055 unsigned short UserId; 00056 unsigned short Timer; 00057 unsigned char ExecuteState; 00058 unsigned char ExecuteItem; 00059 }SHELL_CONTROL; 00060 00061 extern SHELL_CONTROL ShellCtrl; 00062 00063 void ShellInitial(void); 00064 void ShellSvc(void); 00065 BOOL ShellStatusCheck(void); 00066 void ShellArgumentInitial(void); 00067 void ShellArgumentSvc(void); 00068 void ShellArgumentParser(void); 00069 void ShellArgumentExecute(unsigned char **Argv,unsigned char Argc); 00070 INT8U ShellArgumentCheck(void); 00071 void ShellArgumentReset(void); 00072 void ShellArgumentReceive(unsigned char **Argv,unsigned char Argc); 00073 void ShellArgumentBs(void); 00074 void ShellArgumentDel(void); 00075 void ShellArgumentKeyPut(unsigned char); 00076 void ShellArgumentIns(void); 00077 void ShellArgumentHome(void); 00078 void ShellArgumentEnd(void); 00079 void ShellArgumentPageUp(void); 00080 void ShellArgumentPageDown(void); 00081 void ShellArgumentArrowUp(void); 00082 void ShellArgumentArrowDown(void); 00083 void ShellArgumentArrowLeft(void); 00084 void ShellArgumentArrowRight(void); 00085 void ShellDump(void); 00086 00087 #endif