--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file whiteboardcmd.h
+ * @brief %jp{ホワイトボード設定コマンド}
+ *
+ * Copyright (C) 2009 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#ifndef __HOS__whiteboardcmd_h__
+#define __HOS__whiteboardcmd_h__
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int WhiteboardCmd_Main(int argc, char *argv[]);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __HOS__whiteboardcmd_h__ */
+
+
+/* end of file */
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file whiteboardcmd_main.c
+ * @brief %jp{ホワイトボード設定コマンド}
+ *
+ * Copyright (C) 2009 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include <stdlib.h>
+#include <string.h>
+#include "hosaplfw.h"
+#include "whiteboardcmd.h"
+
+
+int WhiteboardCmd_Main(int argc, char *argv[])
+{
+ char szBuf[64];
+
+ if ( argc < 3 )
+ {
+ return 1;
+ }
+
+ if ( strcmp(argv[1], "setstr") == 0 )
+ {
+ if ( argc >= 4 )
+ {
+ Whiteboard_SetString(argv[2], argv[3]);
+ }
+ }
+ else if ( strcmp(argv[1], "getstr") == 0 )
+ {
+ Whiteboard_GetString(argv[2], szBuf, sizeof(szBuf), "");
+ StdIo_PrintFormat("%s\n", szBuf);
+ }
+ else
+ {
+ return 1;
+ }
+
+ return 0;
+}
+
+
+/* end of file */
$(OBJS_DIR)/system_process.$(EXT_OBJ): $(SYSTEM_DIR)/system_process.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/system_getnextprocess.$(EXT_OBJ): $(SYSTEM_DIR)/system_getnextprocess.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/system_getsystemprocess.$(EXT_OBJ): $(SYSTEM_DIR)/system_getsystemprocess.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/system_lock.$(EXT_OBJ): $(SYSTEM_DIR)/system_lock.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/system_unlock.$(EXT_OBJ): $(SYSTEM_DIR)/system_unlock.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/whiteboard_setstring.$(EXT_OBJ): $(SYSTEM_DIR)/whiteboard_setstring.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/whiteboard_getstring.$(EXT_OBJ): $(SYSTEM_DIR)/whiteboard_getstring.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/sysapi_initialize.$(EXT_OBJ): $(SYSAPI_DIR)/sysapi_initialize.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/sysctx_isisr.$(EXT_OBJ): $(SYSAPI_DIR)/sysctx_isisr.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/sysloc_lock.$(EXT_OBJ): $(SYSAPI_DIR)/sysloc_lock.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/shell_curright.$(EXT_OBJ): $(SHELL_DIR)/shell_curright.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/shell_curleft.$(EXT_OBJ): $(SHELL_DIR)/shell_curleft.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/shell_replaceline.$(EXT_OBJ): $(SHELL_DIR)/shell_replaceline.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/whiteboardcmd_main.$(EXT_OBJ): $(WHITEBOARDCMD_DIR)/whiteboardcmd_main.c $(COMMON_HEADERS)
$(OBJS_DIR)/processlist_main.$(EXT_OBJ): $(PROCESSLIST_DIR)/processlist_main.c $(COMMON_HEADERS)
$(OBJS_DIR)/processsignal_main.$(EXT_OBJ): $(PROCESSSIGNAL_DIR)/processsignal_main.c $(COMMON_HEADERS)
$(OBJS_DIR)/commandlist_main.$(EXT_OBJ): $(COMMANDLIST_DIR)/commandlist_main.c $(COMMON_HEADERS)
# Applications
LINK_SHELL ?= Yes
+LINK_WHITEBOARDCMD ?= Yes
LINK_PROCESSLIST ?= Yes
LINK_PROCESSSIGNAL ?= Yes
LINK_COMMANDLIST ?= Yes
CSRCS += $(SYSTEM_DIR)/system_process.c
CSRCS += $(SYSTEM_DIR)/system_getnextprocess.c
CSRCS += $(SYSTEM_DIR)/system_getsystemprocess.c
+CSRCS += $(SYSTEM_DIR)/system_lock.c
+CSRCS += $(SYSTEM_DIR)/system_unlock.c
+CSRCS += $(SYSTEM_DIR)/whiteboard_setstring.c
+CSRCS += $(SYSTEM_DIR)/whiteboard_getstring.c
endif
endif
+# Whitboard
+ifeq ($(LINK_WHITEBOARDCMD),Yes)
+WHITEBOARDCMD_DIR = $(HOSAPLFW_DIR)/application/syscmd/whiteboardcmd
+SRC_DIRS += $(WHITEBOARDCMD_DIR)
+CSRCS += $(WHITEBOARDCMD_DIR)/whiteboardcmd_main.c
+endif
+
+
# Process List
ifeq ($(LINK_PROCESSLIST),Yes)
PROCESSLIST_DIR = $(HOSAPLFW_DIR)/application/syscmd/processlist
$(OBJS_DIR)\system_getsystemprocess.c : $(SYSTEM_DIR)\system_getsystemprocess.c
$(CMD_CP) $(SYSTEM_DIR)\system_getsystemprocess.c $(OBJS_DIR)\
+$(OBJS_DIR)\system_lock.c : $(SYSTEM_DIR)\system_lock.c
+ $(CMD_CP) $(SYSTEM_DIR)\system_lock.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\system_unlock.c : $(SYSTEM_DIR)\system_unlock.c
+ $(CMD_CP) $(SYSTEM_DIR)\system_unlock.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\whiteboard_setstring.c : $(SYSTEM_DIR)\whiteboard_setstring.c
+ $(CMD_CP) $(SYSTEM_DIR)\whiteboard_setstring.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\whiteboard_getstring.c : $(SYSTEM_DIR)\whiteboard_getstring.c
+ $(CMD_CP) $(SYSTEM_DIR)\whiteboard_getstring.c $(OBJS_DIR)\
+
$(OBJS_DIR)\sysapi.h : $(SYSAPI_DIR)\sysapi.h
$(CMD_CP) $(SYSAPI_DIR)\sysapi.h $(OBJS_DIR)\
$(CMD_CP) $(SHELL_DIR)\shell_replaceline.c $(OBJS_DIR)\
+$(OBJS_DIR)\whiteboardcmd.h : $(WHITEBOARDCMD_DIR)\whiteboardcmd.h
+ $(CMD_CP) $(WHITEBOARDCMD_DIR)\whiteboardcmd.h $(OBJS_DIR)\
+
+$(OBJS_DIR)\whiteboardcmd_main.c : $(WHITEBOARDCMD_DIR)\whiteboardcmd_main.c
+ $(CMD_CP) $(WHITEBOARDCMD_DIR)\whiteboardcmd_main.c $(OBJS_DIR)\
+
+
$(OBJS_DIR)\processlist.h : $(PROCESSLIST_DIR)\processlist.h
$(CMD_CP) $(PROCESSLIST_DIR)\processlist.h $(OBJS_DIR)\
$(OBJS_DIR)\system_process.$(EXT_OBJ): $(OBJS_DIR)\system_process.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\system_getnextprocess.$(EXT_OBJ): $(OBJS_DIR)\system_getnextprocess.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\system_getsystemprocess.$(EXT_OBJ): $(OBJS_DIR)\system_getsystemprocess.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\system_lock.$(EXT_OBJ): $(OBJS_DIR)\system_lock.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\system_unlock.$(EXT_OBJ): $(OBJS_DIR)\system_unlock.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\whiteboard_setstring.$(EXT_OBJ): $(OBJS_DIR)\whiteboard_setstring.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\whiteboard_getstring.$(EXT_OBJ): $(OBJS_DIR)\whiteboard_getstring.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\sysapi_initialize.$(EXT_OBJ): $(OBJS_DIR)\sysapi_initialize.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\sysctx_isisr.$(EXT_OBJ): $(OBJS_DIR)\sysctx_isisr.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\shell_curleft.$(EXT_OBJ): $(OBJS_DIR)\shell_curleft.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\shell_replaceline.$(EXT_OBJ): $(OBJS_DIR)\shell_replaceline.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\whiteboardcmd_main.$(EXT_OBJ): $(OBJS_DIR)\whiteboardcmd_main.c $(COMMON_HEADERS)
+
$(OBJS_DIR)\processlist_main.$(EXT_OBJ): $(OBJS_DIR)\processlist_main.c $(COMMON_HEADERS)
$(OBJS_DIR)\processsignal_main.$(EXT_OBJ): $(OBJS_DIR)\processsignal_main.c $(COMMON_HEADERS)
!ifndef LINK_SHELL
LINK_SHELL = Yes
!endif
+!ifndef LINK_WHITEBOARDCMD
+LINK_WHITEBOARDCMD = Yes
+!endif
!ifndef LINK_PROCESSLIST
LINK_PROCESSLIST = Yes
!endif
OBJS = $(OBJS) $(OBJS_DIR)\system_getnextprocess.$(EXT_OBJ)
CSRCS = $(CSRCS) $(SYSTEM_DIR)\system_getsystemprocess.c
OBJS = $(OBJS) $(OBJS_DIR)\system_getsystemprocess.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SYSTEM_DIR)\system_lock.c
+OBJS = $(OBJS) $(OBJS_DIR)\system_lock.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SYSTEM_DIR)\system_unlock.c
+OBJS = $(OBJS) $(OBJS_DIR)\system_unlock.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SYSTEM_DIR)\whiteboard_setstring.c
+OBJS = $(OBJS) $(OBJS_DIR)\whiteboard_setstring.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SYSTEM_DIR)\whiteboard_getstring.c
+OBJS = $(OBJS) $(OBJS_DIR)\whiteboard_getstring.$(EXT_OBJ)
!endif
!endif
+# Whitboard
+!if "$(LINK_WHITEBOARDCMD)" == "Yes"
+WHITEBOARDCMD_DIR = $(HOSAPLFW_DIR)\application\syscmd\whiteboardcmd
+HEADERS = $(HEADERS) $(OBJS_DIR)\whiteboardcmd.h
+CSRCS = $(CSRCS) $(WHITEBOARDCMD_DIR)\whiteboardcmd_main.c
+OBJS = $(OBJS) $(OBJS_DIR)\whiteboardcmd_main.$(EXT_OBJ)
+!endif
+
+
# Process List
!if "$(LINK_PROCESSLIST)" == "Yes"
PROCESSLIST_DIR = $(HOSAPLFW_DIR)\application\syscmd\processlist
"system_process.c",
"system_getnextprocess.c",
"system_getsystemprocess.c",
+ "system_lock.c",
+ "system_unlock.c",
+ "whiteboard_setstring.c",
+ "whiteboard_getstring.c",
],
],
[
]
],
[
+ "Whitboard",
+ "\$(COMMON_HEADERS)",
+ "\$(HOSAPLFW_DIR)/application/syscmd/whiteboardcmd",
+ "WHITEBOARDCMD",
+ "Yes",
+ [
+ "whiteboardcmd.h",
+ ],
+ [
+ "whiteboardcmd_main.c",
+ ],
+ ],
+ [
"Process List",
"\$(COMMON_HEADERS)",
"\$(HOSAPLFW_DIR)/application/syscmd/processlist",
</File>
</Filter>
</Filter>
+ <Filter
+ Name="syscmd"
+ >
+ <Filter
+ Name="whiteboardcmd"
+ >
+ <File
+ RelativePath="..\..\..\..\application\syscmd\whiteboardcmd\whiteboardcmd.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\application\syscmd\whiteboardcmd\whiteboardcmd_main.c"
+ >
+ </File>
+ </Filter>
+ </Filter>
</Filter>
<Filter
Name="library"
#include "application//syscmd/shell/shell.h"
#include "application//syscmd/commandlist/commandlist.h"
#include "application//syscmd/processlist/processlist.h"
+#include "application//syscmd/whiteboardcmd/whiteboardcmd.h"
#include "application/filecmd/filelist/filelist.h"
#include "application/filecmd/filecopy/filecopy.h"
#include "application/filecmd/filedump/filedump.h"
/* コマンド登録 */
/*************************/
- Command_AddCommand("sh", Shell_Main);
- Command_AddCommand("ps", ProcessList_Main);
- Command_AddCommand("help", CommandList_Main);
- Command_AddCommand("time", TimeCmd_Main);
- Command_AddCommand("memdump", MemDump_Main);
- Command_AddCommand("memwrite", MemWrite_Main);
- Command_AddCommand("memtest", MemTest_Main);
- Command_AddCommand("keytest", KeyTest_Main);
- Command_AddCommand("ls", FileList_Main);
- Command_AddCommand("cp", FileCopy_Main);
- Command_AddCommand("cat", FileCat_Main);
- Command_AddCommand("fatmount", FatMount_Main);
- Command_AddCommand("hello", Hello_Main);
+ Command_AddCommand("sh", Shell_Main);
+ Command_AddCommand("ps", ProcessList_Main);
+ Command_AddCommand("whiteboard", WhiteboardCmd_Main);
+ Command_AddCommand("help", CommandList_Main);
+ Command_AddCommand("time", TimeCmd_Main);
+ Command_AddCommand("memdump", MemDump_Main);
+ Command_AddCommand("memwrite", MemWrite_Main);
+ Command_AddCommand("memtest", MemTest_Main);
+ Command_AddCommand("keytest", KeyTest_Main);
+ Command_AddCommand("ls", FileList_Main);
+ Command_AddCommand("cp", FileCopy_Main);
+ Command_AddCommand("cat", FileCat_Main);
+ Command_AddCommand("fatmount", FatMount_Main);
+ Command_AddCommand("hello", Hello_Main);
+
/*************************/
"================================================================\n"
"\n");
-
+
/*************************/
/* シェル起動 */
/*************************/
-
+
/* プロセスの生成*/
ProcInf.pszCommandLine = "sh -i"; /* 実行コマンド */
ProcInf.pszCurrentDir = "/"; /* 起動ディレクトリ */
const char *Whiteboard_GetString(const char *pszKey, char *pszBuf, int iBufSize, const char *pszDefault)
{
C_SYSTEM *self;
- char *pszValue = NULL;
+ const char *pszValue = NULL;
self = &g_System;
if ( pszValue != NULL )
{
strncpy(pszBuf, pszValue, iBufSize);
+ pszBuf[iBufSize-1] = '\0';
}
- System_UnLock();
+ System_Unlock();
return pszBuf;
}
Assoc_Set(self->paWhiteBoard, pszKey, pszValue, strlen(pszValue) + 1);
}
- System_UnLock();
+ System_Unlock();
}