64 if ((consoleCB == NULL) || (consoleCB->
shellHandle != NULL)) {
94#if !defined(LOSCFG_PLATFORM_ROOTFS)
100 if (consoleId == CONSOLE_TELNET || consoleId == CONSOLE_SERIAL) {
102 if (consoleId == CONSOLE_TELNET) {
143 if (consoleCB == NULL) {
144 PRINT_ERR(
"shell deinit error.\n");
150 if (shellCB == NULL) {
151 PRINT_ERR(
"shell deinit error.\n");
166 if (consoleCB == NULL) {
170 if (shellCB == NULL) {
unsigned int OsShellKeyInit(ShellCB *shellCB)
shell 命令初始化
int ShellTaskInit(ShellCB *shellCB)
给控制台注册一个shell客户端任务
unsigned int OsShellInit(void)
char * OsShellGetWorkingDirectory(void)
int OsShellDeinit(ShellCB *shellCB)
CONSOLE_CB * OsGetConsoleByTaskID(UINT32 taskID)
获取参数任务的控制台控制块(描述符)
CONSOLE_CB * OsGetConsoleByID(INT32 consoleID)
获取参数控制台ID 获取对应的控制台控制块(描述符)
LITE_OS_SEC_TEXT UINT32 LOS_EventWrite(PEVENT_CB_S eventCB, UINT32 events)
写指定的事件类型
VOID * LOS_MemAlloc(VOID *pool, UINT32 size)
从指定内存池中申请size长度的内存,注意这可不是从内核堆空间中申请内存
UINT32 LOS_MemFree(VOID *pool, VOID *ptr)
释放从指定动态内存中申请的内存
UINT8 * m_aucSysMem0
异常交互动态内存池地址的起始地址,当不支持异常交互特性时,m_aucSysMem0等于m_aucSysMem1。
LITE_OS_SEC_TEXT_INIT UINT32 LOS_TaskDelete(UINT32 taskID)
Delete a task.
STATIC INLINE LosTaskCB * OsCurrTaskGet(VOID)
int pthread_mutex_destroy(pthread_mutex_t *mutex)
销毁互斥锁
int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexAttr)
初始化互斥锁。 如果 mutexAttr 为 NULL,则使用默认属性。
UINT32 OsShellSysCmdRegister(VOID)
注册系统自带的shell命令
UINT32 ShellEntryInit(ShellCB *shellCB)
进入shell客户端任务初始化,这个任务负责编辑命令,处理命令产生的过程,例如如何处理方向键,退格键,回车键等
STATIC UINT32 OsShellSourceInit(INT32 consoleId)
shell资源初始化
STATIC BOOL g_shellSourceFlag
STATIC UINT32 OsShellCmdInit(VOID)
STATIC UINT32 OsShellCreateTask(ShellCB *shellCB)
创建shell服务端任务
VOID * shellHandle
shell句柄,本质是 shell控制块 ShellCB
unsigned int consoleID
控制台ID
pthread_t shellEntryHandle
shell客户端任务
EVENT_CB_S shellEvent
事件类型触发
void * cmdKeyLink
命令链表,所有敲过的命令链表
void * cmdHistoryKeyLink
命令的历史记录链表,去重,10个
pthread_mutex_t historyMutex
操作cmdHistoryKeyLink的互斥量
char shellWorkingDirectory[PATH_MAX]
shell工作目录
pthread_mutex_t keyMutex
操作cmdKeyLink的互斥量