OSDN Git Service

(none)
authorryuz <ryuz>
Sat, 16 Feb 2008 11:38:14 +0000 (11:38 +0000)
committerryuz <ryuz>
Sat, 16 Feb 2008 11:38:14 +0000 (11:38 +0000)
26 files changed:
aplfw/build/common/gmake/aplfwdep.inc
aplfw/build/common/gmake/aplfwsrc.inc
aplfw/build/common/nmake/aplfwdep.inc
aplfw/build/common/nmake/aplfwsrc.inc
aplfw/build/common/tmp_mkinc/mk_inc.pl
aplfw/sample/arm/ez_arm7/boot.c
aplfw/sample/sh/cq7144a/boot.c
aplfw/system/shell/shell.c [deleted file]
aplfw/system/shell/shell.h [deleted file]
cfgrtr/build/bcc55/bmake.mak [deleted file]
cfgrtr/build/gcc/gmake.mak
cfgrtr/build/msc/nmake.mak
cfgrtr/build/vc60/nmake.mak [deleted file]
cfgrtr/source/attisr.cpp
cfgrtr/source/crealm.cpp
cfgrtr/source/crecyc.cpp
cfgrtr/source/credtq.cpp
cfgrtr/source/creflg.cpp
cfgrtr/source/crembf.cpp
cfgrtr/source/crembx.cpp
cfgrtr/source/crempf.cpp
cfgrtr/source/cresem.cpp
cfgrtr/source/cretsk.cpp
cfgrtr/source/h4acfg.cpp [moved from cfgrtr/source/hos4cfg.cpp with 100% similarity]
document/kernel.txt
kernel/source/object/tsk/act_tsk.c

index 6954eb2..f6976c0 100755 (executable)
@@ -143,7 +143,6 @@ $(OBJS_DIR)/volumeobj_destructor.$(EXT_OBJ):        $(FILE_DIR)/volumeobj_destructor.c
 $(OBJS_DIR)/volumeobj_makedir.$(EXT_OBJ):      $(FILE_DIR)/volumeobj_makedir.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
 $(OBJS_DIR)/volumeobj_remove.$(EXT_OBJ):       $(FILE_DIR)/volumeobj_remove.c  $(COMMON_HEADERS) $(SYSTEM_HEADERS)
 $(OBJS_DIR)/command.$(EXT_OBJ):        $(COMMAND_DIR)/command.c        $(COMMON_HEADERS) $(SYSTEM_HEADERS)
-$(OBJS_DIR)/shell.$(EXT_OBJ):  $(SHELL_DIR)/shell.c    $(COMMON_HEADERS) $(SYSTEM_HEADERS)
 $(OBJS_DIR)/mempol.$(EXT_OBJ): $(MEMPOL_DIR)/mempol.c  $(COMMON_HEADERS)
 $(OBJS_DIR)/assoc.$(EXT_OBJ):  $(ASSOC_DIR)/assoc.c    $(COMMON_HEADERS)
 $(OBJS_DIR)/list_create.$(EXT_OBJ):    $(LIST_DIR)/list_create.c       $(COMMON_HEADERS)
@@ -368,6 +367,17 @@ $(OBJS_DIR)/fatfile_create.$(EXT_OBJ):     $(FATVOL_DIR)/fatfile_create.c  $(COMMON_H
 $(OBJS_DIR)/fatfile_delete.$(EXT_OBJ): $(FATVOL_DIR)/fatfile_delete.c  $(COMMON_HEADERS)
 $(OBJS_DIR)/fatfile_constructor.$(EXT_OBJ):    $(FATVOL_DIR)/fatfile_constructor.c     $(COMMON_HEADERS)
 $(OBJS_DIR)/fatfile_destructor.$(EXT_OBJ):     $(FATVOL_DIR)/fatfile_destructor.c      $(COMMON_HEADERS)
+$(OBJS_DIR)/shell_main.$(EXT_OBJ):     $(SHELL_DIR)/shell_main.c       $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/shell_create.$(EXT_OBJ):   $(SHELL_DIR)/shell_create.c     $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/shell_delete.$(EXT_OBJ):   $(SHELL_DIR)/shell_delete.c     $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/shell_executecommand.$(EXT_OBJ):   $(SHELL_DIR)/shell_executecommand.c     $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/shell_executescript.$(EXT_OBJ):    $(SHELL_DIR)/shell_executescript.c      $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/shell_inputline.$(EXT_OBJ):        $(SHELL_DIR)/shell_inputline.c  $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/shell_interactive.$(EXT_OBJ):      $(SHELL_DIR)/shell_interactive.c        $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/shell_putchar.$(EXT_OBJ):  $(SHELL_DIR)/shell_putchar.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)/processlist_main.$(EXT_OBJ):       $(PROCESSLIST_DIR)/processlist_main.c   $(COMMON_HEADERS)
 $(OBJS_DIR)/memdump_main.$(EXT_OBJ):   $(MEMDUMP_DIR)/memdump_main.c   $(COMMON_HEADERS)
 $(OBJS_DIR)/memwrite_main.$(EXT_OBJ):  $(MEMWRITE_DIR)/memwrite_main.c $(COMMON_HEADERS)
index 832bfb7..8bba7a9 100755 (executable)
@@ -22,7 +22,6 @@ LINK_PROCESS          ?= Yes
 LINK_EVENT            ?= Yes
 LINK_FILE             ?= Yes
 LINK_COMMAND          ?= Yes
-LINK_SHELL            ?= Yes
 
 # Librarys
 LINK_MEMPOL           ?= Yes
@@ -49,6 +48,7 @@ LINK_WINSOCK          ?= No
 LINK_FATVOL           ?= Yes
 
 # Applications
+LINK_SHELL            ?= Yes
 LINK_PROCESSLIST      ?= Yes
 LINK_MEMDUMP          ?= Yes
 LINK_MEMWRITE         ?= Yes
@@ -276,14 +276,6 @@ CSRCS += $(COMMAND_DIR)/command.c
 endif
 
 
-# Shell
-ifeq ($(LINK_SHELL),Yes)
-SHELL_DIR = $(HOSAPLFW_DIR)/system/shell
-SRC_DIRS += $(SHELL_DIR)
-CSRCS += $(SHELL_DIR)/shell.c
-endif
-
-
 
 # --------------------------------------------------
 #  Librarys
@@ -663,7 +655,25 @@ endif
 #  Applications
 # --------------------------------------------------
 
-# System Command
+# Shell
+ifeq ($(LINK_SHELL),Yes)
+SHELL_DIR = $(HOSAPLFW_DIR)/application/syscmd/shell
+SRC_DIRS += $(SHELL_DIR)
+CSRCS += $(SHELL_DIR)/shell_main.c
+CSRCS += $(SHELL_DIR)/shell_create.c
+CSRCS += $(SHELL_DIR)/shell_delete.c
+CSRCS += $(SHELL_DIR)/shell_executecommand.c
+CSRCS += $(SHELL_DIR)/shell_executescript.c
+CSRCS += $(SHELL_DIR)/shell_inputline.c
+CSRCS += $(SHELL_DIR)/shell_interactive.c
+CSRCS += $(SHELL_DIR)/shell_putchar.c
+CSRCS += $(SHELL_DIR)/shell_curright.c
+CSRCS += $(SHELL_DIR)/shell_curleft.c
+CSRCS += $(SHELL_DIR)/shell_replaceline.c
+endif
+
+
+# Process List
 ifeq ($(LINK_PROCESSLIST),Yes)
 PROCESSLIST_DIR = $(HOSAPLFW_DIR)/application/syscmd/processlist
 SRC_DIRS += $(PROCESSLIST_DIR)
index 846223e..6b425cf 100755 (executable)
@@ -527,13 +527,6 @@ $(OBJS_DIR)\command.c : $(COMMAND_DIR)\command.c
        $(CMD_CP) $(COMMAND_DIR)\command.c $(OBJS_DIR)\
 
 
-$(OBJS_DIR)\shell.h : $(SHELL_DIR)\shell.h
-       $(CMD_CP) $(SHELL_DIR)\shell.h $(OBJS_DIR)\
-
-$(OBJS_DIR)\shell.c : $(SHELL_DIR)\shell.c
-       $(CMD_CP) $(SHELL_DIR)\shell.c $(OBJS_DIR)\
-
-
 $(OBJS_DIR)\mempol.h : $(MEMPOL_DIR)\mempol.h
        $(CMD_CP) $(MEMPOL_DIR)\mempol.h $(OBJS_DIR)\
 
@@ -1358,6 +1351,46 @@ $(OBJS_DIR)\fatfile_destructor.c : $(FATVOL_DIR)\fatfile_destructor.c
        $(CMD_CP) $(FATVOL_DIR)\fatfile_destructor.c $(OBJS_DIR)\
 
 
+$(OBJS_DIR)\shell.h : $(SHELL_DIR)\shell.h
+       $(CMD_CP) $(SHELL_DIR)\shell.h $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_local.h : $(SHELL_DIR)\shell_local.h
+       $(CMD_CP) $(SHELL_DIR)\shell_local.h $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_main.c : $(SHELL_DIR)\shell_main.c
+       $(CMD_CP) $(SHELL_DIR)\shell_main.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_create.c : $(SHELL_DIR)\shell_create.c
+       $(CMD_CP) $(SHELL_DIR)\shell_create.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_delete.c : $(SHELL_DIR)\shell_delete.c
+       $(CMD_CP) $(SHELL_DIR)\shell_delete.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_executecommand.c : $(SHELL_DIR)\shell_executecommand.c
+       $(CMD_CP) $(SHELL_DIR)\shell_executecommand.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_executescript.c : $(SHELL_DIR)\shell_executescript.c
+       $(CMD_CP) $(SHELL_DIR)\shell_executescript.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_inputline.c : $(SHELL_DIR)\shell_inputline.c
+       $(CMD_CP) $(SHELL_DIR)\shell_inputline.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_interactive.c : $(SHELL_DIR)\shell_interactive.c
+       $(CMD_CP) $(SHELL_DIR)\shell_interactive.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_putchar.c : $(SHELL_DIR)\shell_putchar.c
+       $(CMD_CP) $(SHELL_DIR)\shell_putchar.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_curright.c : $(SHELL_DIR)\shell_curright.c
+       $(CMD_CP) $(SHELL_DIR)\shell_curright.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_curleft.c : $(SHELL_DIR)\shell_curleft.c
+       $(CMD_CP) $(SHELL_DIR)\shell_curleft.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\shell_replaceline.c : $(SHELL_DIR)\shell_replaceline.c
+       $(CMD_CP) $(SHELL_DIR)\shell_replaceline.c $(OBJS_DIR)\
+
+
 $(OBJS_DIR)\processlist.h : $(PROCESSLIST_DIR)\processlist.h
        $(CMD_CP) $(PROCESSLIST_DIR)\processlist.h $(OBJS_DIR)\
 
@@ -1599,8 +1632,6 @@ $(OBJS_DIR)\volumeobj_remove.$(EXT_OBJ):  $(OBJS_DIR)\volumeobj_remove.c  $(COMMON
 
 $(OBJS_DIR)\command.$(EXT_OBJ):        $(OBJS_DIR)\command.c   $(COMMON_HEADERS) $(SYSTEM_HEADERS)
 
-$(OBJS_DIR)\shell.$(EXT_OBJ):  $(OBJS_DIR)\shell.c     $(COMMON_HEADERS) $(SYSTEM_HEADERS)
-
 $(OBJS_DIR)\mempol.$(EXT_OBJ): $(OBJS_DIR)\mempol.c    $(COMMON_HEADERS)
 
 $(OBJS_DIR)\assoc.$(EXT_OBJ):  $(OBJS_DIR)\assoc.c     $(COMMON_HEADERS)
@@ -1845,6 +1876,18 @@ $(OBJS_DIR)\fatfile_delete.$(EXT_OBJ):   $(OBJS_DIR)\fatfile_delete.c    $(COMMON_HEA
 $(OBJS_DIR)\fatfile_constructor.$(EXT_OBJ):    $(OBJS_DIR)\fatfile_constructor.c       $(COMMON_HEADERS)
 $(OBJS_DIR)\fatfile_destructor.$(EXT_OBJ):     $(OBJS_DIR)\fatfile_destructor.c        $(COMMON_HEADERS)
 
+$(OBJS_DIR)\shell_main.$(EXT_OBJ):     $(OBJS_DIR)\shell_main.c        $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\shell_create.$(EXT_OBJ):   $(OBJS_DIR)\shell_create.c      $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\shell_delete.$(EXT_OBJ):   $(OBJS_DIR)\shell_delete.c      $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\shell_executecommand.$(EXT_OBJ):   $(OBJS_DIR)\shell_executecommand.c      $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\shell_executescript.$(EXT_OBJ):    $(OBJS_DIR)\shell_executescript.c       $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\shell_inputline.$(EXT_OBJ):        $(OBJS_DIR)\shell_inputline.c   $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\shell_interactive.$(EXT_OBJ):      $(OBJS_DIR)\shell_interactive.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\shell_putchar.$(EXT_OBJ):  $(OBJS_DIR)\shell_putchar.c     $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\shell_curright.$(EXT_OBJ): $(OBJS_DIR)\shell_curright.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)\processlist_main.$(EXT_OBJ):       $(OBJS_DIR)\processlist_main.c  $(COMMON_HEADERS)
 
 $(OBJS_DIR)\memdump_main.$(EXT_OBJ):   $(OBJS_DIR)\memdump_main.c      $(COMMON_HEADERS)
index 01920ca..ce619f3 100755 (executable)
@@ -40,9 +40,6 @@ LINK_FILE             = Yes
 !ifndef LINK_COMMAND
 LINK_COMMAND          = Yes
 !endif
-!ifndef LINK_SHELL
-LINK_SHELL            = Yes
-!endif
 
 # Librarys
 !ifndef LINK_MEMPOL
@@ -109,6 +106,9 @@ LINK_FATVOL           = Yes
 !endif
 
 # Applications
+!ifndef LINK_SHELL
+LINK_SHELL            = Yes
+!endif
 !ifndef LINK_PROCESSLIST
 LINK_PROCESSLIST      = Yes
 !endif
@@ -521,15 +521,6 @@ OBJS  = $(OBJS)  $(OBJS_DIR)\command.$(EXT_OBJ)
 !endif
 
 
-# Shell
-!if "$(LINK_SHELL)" == "Yes"
-SHELL_DIR = $(HOSAPLFW_DIR)\system\shell
-HEADERS = $(HEADERS) $(OBJS_DIR)\shell.h
-CSRCS = $(CSRCS) $(SHELL_DIR)\shell.c
-OBJS  = $(OBJS)  $(OBJS_DIR)\shell.$(EXT_OBJ)
-!endif
-
-
 
 # --------------------------------------------------
 #  Librarys
@@ -1157,7 +1148,37 @@ OBJS  = $(OBJS)  $(OBJS_DIR)\fatfile_destructor.$(EXT_OBJ)
 #  Applications
 # --------------------------------------------------
 
-# System Command
+# Shell
+!if "$(LINK_SHELL)" == "Yes"
+SHELL_DIR = $(HOSAPLFW_DIR)\application\syscmd\shell
+HEADERS = $(HEADERS) $(OBJS_DIR)\shell.h
+HEADERS = $(HEADERS) $(OBJS_DIR)\shell_local.h
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_main.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_main.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_create.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_create.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_delete.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_delete.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_executecommand.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_executecommand.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_executescript.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_executescript.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_inputline.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_inputline.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_interactive.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_interactive.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_putchar.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_putchar.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_curright.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_curright.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_curleft.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_curleft.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SHELL_DIR)\shell_replaceline.c
+OBJS  = $(OBJS)  $(OBJS_DIR)\shell_replaceline.$(EXT_OBJ)
+!endif
+
+
+# Process List
 !if "$(LINK_PROCESSLIST)" == "Yes"
 PROCESSLIST_DIR = $(HOSAPLFW_DIR)\application\syscmd\processlist
 HEADERS = $(HEADERS) $(OBJS_DIR)\processlist.h
index 612b4c0..7d4ad9a 100755 (executable)
                                "command.c",
                        ]
                ],
-               [
-                       "Shell",
-                       "\$(COMMON_HEADERS) \$(SYSTEM_HEADERS)",
-                       "\$(HOSAPLFW_DIR)/system/shell",
-                       "SHELL",
-                       "Yes",
-                       [
-                               "shell.h",
-                       ],
-                       [
-                               "shell.c",
-                       ]
-               ],
        ],
        [
                "Librarys",
        [
                "Applications",
                [
-                       "System Command",
+                       "Shell",
+                       "\$(COMMON_HEADERS) \$(SYSTEM_HEADERS)",
+                       "\$(HOSAPLFW_DIR)/application/syscmd/shell",
+                       "SHELL",
+                       "Yes",
+                       [
+                               "shell.h",
+                               "shell_local.h",
+                       ],
+                       [
+                               "shell_main.c",
+                               "shell_create.c",
+                               "shell_delete.c",
+                               "shell_executecommand.c",
+                               "shell_executescript.c",
+                               "shell_inputline.c",
+                               "shell_interactive.c",
+                               "shell_putchar.c",
+                               "shell_curright.c",
+                               "shell_curleft.c",
+                               "shell_replaceline.c",
+                       ]
+               ],
+               [
+                       "Process List",
                        "\$(COMMON_HEADERS)",
                        "\$(HOSAPLFW_DIR)/application/syscmd/processlist",
                        "PROCESSLIST",
index ff353a2..8a53afe 100755 (executable)
@@ -4,7 +4,7 @@
  * @file  sample.c
  * @brief %jp{サンプルプログラム}%en{Sample program}
  *
- * Copyright (C) 1998-2006 by Project HOS
+ * Copyright (C) 1998-2008 by Project HOS
  * http://sourceforge.jp/projects/hos/
  */
 
@@ -19,9 +19,9 @@
 #include "system/file/console.h"
 #include "system/process/process.h"
 #include "system/command/command.h"
-#include "system/shell/shell.h"
 #include "driver/serial/pc16550/pc16550drv.h"
 #include "driver/console/vt100/vt100drv.h"
+#include "application//syscmd/shell/shell.h"
 #include "application//syscmd/processlist/processlist.h"
 #include "application/utility/memdump/memdump.h"
 #include "application/utility/memwrite/memwrite.h"
index 66191d6..c707ecc 100755 (executable)
 #include "system/file/console.h"
 #include "system/process/process.h"
 #include "system/command/command.h"
-#include "system/shell/shell.h"
 #include "driver/serial/renesas/scidrv.h"
 #include "driver/console/vt100/vt100drv.h"
-#include "application/example/hello/hello.h"
+#include "application/syscmd/shell/shell.h"
 #include "application/filecmd/filelist/filelist.h"
 #include "application/utility/memdump/memdump.h"
 #include "application/utility/memwrite/memwrite.h"
 #include "application/utility/memtest/memtest.h"
 #include "application/utility/keytest/keytest.h"
+#include "application/example/hello/hello.h"
 #include "boot.h"
 #include "regs_sh7144.h"
 
-int Boot_Process(VPARAM Param);
+
+int Boot_Process(VPARAM Param);                /* プートプロセス */
+
 
 
 /* ブートタスク */
@@ -130,7 +132,7 @@ int Boot_Process(VPARAM Param)
                        "================================================================\n"
                        " Hyper Operating System  Application Flamework\n"
                        "\n"
-                       "                          Copyright (C) 1998-2007 by Project HOS\n"
+                       "                          Copyright (C) 1998-2008 by Project HOS\n"
                        "                          http://sourceforge.jp/projects/hos/\n"
                        "================================================================\n"
                        "\n");
diff --git a/aplfw/system/shell/shell.c b/aplfw/system/shell/shell.c
deleted file mode 100755 (executable)
index 302bf5f..0000000
+++ /dev/null
@@ -1,581 +0,0 @@
-
-/* Shellのようなもの (現状てきとーー) */
-/* そのうちちゃんとリダイレクトとか Ctrl+C とかいろいろつける予定... (--; */
-
-
-#include <stdlib.h>
-#include <string.h>
-#include "shell.h"
-#include "system/file/file.h"
-#include "system/file/stdfile.h"
-#include "system/file/console.h"
-#include "system/memory/memory.h"
-#include "system/process/process.h"
-#include "system/command/command.h"
-
-
-#define SHELL_MAX_COMMAND              256
-#define SHELL_MAX_HISTORY              4
-
-
-typedef struct t_shell_background
-{
-       struct t_shell_background       *pNext;
-       HANDLE                                          hProcess;
-} T_SHELL_BACKGROUND;
-
-
-typedef struct c_shell
-{
-       int                                     iCurPos;                                                                                        /* カーソルの文字列上の位置 */
-       int                                     iCurScreenX;                                                                            /* カーソルのスクリーンのX位置 */
-       int                                     iScreenWidth;                                                                           /* スクリーンの幅 */
-       int                                     iCommandLen;                                                                            /* コマンドの文字列長 */
-
-       char                            *pszCommanBuf;                                                                          /* コマンドラインバッファ */
-       char                            **ppszHistory;                                                                          /* ヒストリバッファ */
-       int                                     iCommandBufSize;                                                                        /* コマンドバッファのサイズ */
-       int                                     iHistoryMax;                                                                            /* ヒストリの最大個数 */
-/*     int                                     iHistoryNum;    */                                                                      /* ヒストリの個数 */
-
-       int                                     iSimpleExec;                                                                            /* 単純実行オプション */
-       T_SHELL_BACKGROUND      *pBackGround;                                                                           /* バックグランドジョブ */
-} C_SHELL;
-
-
-C_SHELL *Shell_Create(int iCommandBufSize, int iHistoryMax, int iSimpleExec);
-void    Shell_Delete(C_SHELL *self);
-int     Shell_Interactive(C_SHELL *self);
-int     Shell_ExecuteScript(C_SHELL *self, const char *pszFileName);
-int     Shell_ExecuteCommand(C_SHELL *self, const char *pszCommand);
-int     Shell_InputLine(C_SHELL *self, char *pszBuf, int  iBufSize);
-void    Shell_PutChar(C_SHELL *self, int c);
-void    Shell_CurRight(C_SHELL *self);
-void    Shell_CurLeft(C_SHELL *self);
-void    Shell_ReplaceLine(C_SHELL *self, const char *pszNewLine);      /* ラインを置き換える */
-
-
-
-int Shell_Main(int argc, char *argv[])
-{
-       C_SHELL *self;
-       int             iCommandBufSize = SHELL_MAX_COMMAND;
-       int     iHistoryMax     = SHELL_MAX_HISTORY;
-       int             iSimpleExec     = 0;
-       int             iInteractive    = 0;
-       int             iExecString     = 0;
-       char    *pszScript      = NULL;
-       int     iExitCode       = 0;
-       int             i;
-       
-       
-       /* オプションを解析 */
-       for ( i = 1; i < argc; i++ )
-       {
-               if ( argv[i][0] == '-' )
-               {
-                       if ( strcmp(&argv[i][1], "i") == 0 )                                                    /* インタラクティブモード */
-                       {
-                               iInteractive = 1;
-                       }
-                       else if ( strcmp(&argv[i][1], "exe") == 0 )                                             /* 単純実行 */
-                       {
-                               iSimpleExec = 1;
-                       }
-                       else if ( strcmp(&argv[i][1], "s") == 0 && i+1 < argc )                 /* 文字列実行 */
-                       {
-                               i++;
-                               iExecString = i;
-                       }
-                       else if ( strcmp(&argv[i][1], "buf") == 0 && i+1 < argc )               /* コマンドバッファ設定 */
-                       {
-                               i++;
-                               iCommandBufSize = strtol(argv[i], NULL, 0);
-                       }
-                       else if ( strcmp(&argv[i][1], "his") == 0 && i+1 < argc )               /* ヒストリ数設定 */
-                       {
-                               i++;
-                               iHistoryMax = strtol(argv[i], NULL, 0);
-                       }
-               }
-               else
-               {
-                       pszScript = argv[i];
-               }
-       }
-       
-       
-       /* オブジェクト生成 */
-       if ( (self = Shell_Create(iCommandBufSize, iHistoryMax, iSimpleExec)) == NULL )
-       {
-               return 1;
-       }
-       
-
-       if ( iExecString > 0 )
-       {
-               /* 文字列実行 */
-               self->pszCommanBuf[0] = '\0';
-               for ( i = iExecString; i < argc; i++ )
-               {
-                       strcat(self->pszCommanBuf, argv[i]);
-                       if ( i + 1 < argc )
-                       {
-                               strcat(self->pszCommanBuf, " ");
-                       }
-               }
-                       
-               /* 実行 */
-               iExitCode = Shell_ExecuteCommand(self, self->pszCommanBuf);
-       }
-       else if ( pszScript != NULL )
-       {
-               /* スクリプト実行 */
-               iExitCode = Shell_ExecuteScript(self, pszScript);
-       }
-       
-       /* インタラクティブモード */
-       if ( iInteractive )
-       {
-               iExitCode = Shell_Interactive(self);
-       }
-       
-       /* オブジェクト削除 */
-       Shell_Delete(self);
-       
-       return iExitCode;
-}
-
-
-/* コンストラクタ */
-C_SHELL *Shell_Create(int iCommandBufSize, int iHistoryMax, int iSimpleExec)
-{
-       C_SHELL *self;
-
-       /* オブジェクト生成 */
-       if ( (self = Memory_Alloc(sizeof(C_SHELL))) == NULL )
-       {
-               StdIo_PutString("Memory error\n");
-               return NULL;
-       }
-       
-       /* メンバ初期化 */
-       self->iScreenWidth    = 80;
-       self->pBackGround     = NULL;
-       self->iSimpleExec     = iSimpleExec;
-       self->iCommandBufSize = iCommandBufSize;
-       self->iHistoryMax     = iHistoryMax;
-       self->pszCommanBuf    = NULL;
-       self->ppszHistory     = NULL;
-       
-       /* メモリ確保 */
-       if ( (self->pszCommanBuf = (char *)Memory_Alloc(sizeof(char) * self->iCommandBufSize)) == NULL )
-       {
-               return NULL;
-       }
-       if ( self->iHistoryMax > 0 )
-       {
-               if ( (self->ppszHistory = (char **)Memory_Alloc(sizeof(char *) * self->iHistoryMax)) == NULL )
-               {
-                       Memory_Free(self->pszCommanBuf);
-                       return NULL;
-               }
-               memset(self->ppszHistory, 0, sizeof(char *) * self->iHistoryMax);
-       }
-       
-       return self;
-}
-
-
-/* デストラクタ */
-void Shell_Delete(C_SHELL *self)
-{
-       int i;
-       
-       if ( self->ppszHistory != NULL )
-       {
-               for ( i = 0; i < self->iHistoryMax; i++ )
-               {
-                       if ( self->ppszHistory[i] != NULL )
-                       {
-                               Memory_Free(self->ppszHistory[i]);
-                       }
-               }
-               Memory_Free(self->ppszHistory);
-       }
-       Memory_Free(self->pszCommanBuf);
-       
-
-       Memory_Free(self);
-}
-
-
-/* スクリプト実行 */
-int Shell_ExecuteScript(C_SHELL *self, const char *pszFileName)
-{
-       HANDLE  hFile;
-       int             iLen;
-       
-       /* ファイルオープン */
-       if ( (hFile = File_Open(pszFileName, FILE_OPEN_READ | FILE_OPEN_TEXT)) == HANDLE_NULL )
-       {
-               StdIo_PrintFormat("open error : %s\n", pszFileName);
-               return 1;
-       }
-       
-       /* ファイルを実行 */
-       while ( (iLen = File_GetString(hFile, self->pszCommanBuf, self->iCommandBufSize)) > 0 )
-       {
-               /* 末尾の改行削除 */
-               if ( self->pszCommanBuf[iLen-1] == '\n' )
-               {
-                       self->pszCommanBuf[iLen-1] = '\0';
-               }
-               
-               /* 実行 */
-               if ( self->pszCommanBuf[0] != '\0' && self->pszCommanBuf[0] != '#' )
-               {
-                       Shell_ExecuteCommand(self, self->pszCommanBuf);
-               }
-       }
-       
-       /* ファイルクローズ */
-       File_Close(hFile);
-       
-       return 0;
-}
-
-
-
-/* インタラクティブモード */
-int Shell_Interactive(C_SHELL *self)
-{
-       T_SHELL_BACKGROUND      *pBg;
-       char                            *pszHisBuf;
-       int                             i;
-       int                                     j;
-
-       for ( ; ; )
-       {
-               /* コマンド入力 */
-               Shell_InputLine(self, self->pszCommanBuf, self->iCommandBufSize - 1);
-
-               /* exit なら抜ける */
-               if ( strcmp(self->pszCommanBuf, "exit") == 0 )
-               {
-                       break;
-               }
-
-               /* 空行なら無視 */
-               if ( self->pszCommanBuf[0] == 0 )
-               {
-                       continue;
-               }
-
-
-               /* ヒストリ記憶 */
-               if ( self->ppszHistory != NULL )
-               {
-                       if ( (pszHisBuf = Memory_Alloc(strlen(self->pszCommanBuf) + 1)) != NULL )
-                       {
-                               strcpy(pszHisBuf, self->pszCommanBuf);
-
-                               /* ヒストリ重複削除 */
-                               for ( i = 0; i < self->iHistoryMax; i++ )
-                               {
-                                       if ( strcmp(self->ppszHistory[i], self->pszCommanBuf) == 0 )
-                                       {
-                                               Memory_Free(self->ppszHistory[i]);
-                                               for ( j = i; j+1 < self->iHistoryMax; j++ )
-                                               {
-                                                       self->ppszHistory[j] =  self->ppszHistory[j+1];
-                                               }
-                                               break;
-                                       }
-                               }
-                               
-                               /* 古いものを削除 */
-                               if ( self->ppszHistory[self->iHistoryMax-1] != NULL )
-                               {
-                                       Memory_Free(self->ppszHistory[self->iHistoryMax-1]);
-                               }
-                               for ( i = self->iHistoryMax-1; i > 1; i-- )
-                               {
-                                       self->ppszHistory[i] = self->ppszHistory[i-1];
-                               }
-                               
-                               /* 追加 */
-                               self->ppszHistory[0] = pszHisBuf;
-                       }
-               }
-
-               /* コマンド実行 */
-               Shell_ExecuteCommand(self, self->pszCommanBuf);
-               
-               /* 終了ジョブが無いかチェック */
-               pBg = self->pBackGround;
-               if ( pBg != NULL )
-               {
-               }
-       }
-       
-       return 0;
-}
-
-
-int Shell_ExecuteCommand(C_SHELL *self, const char *pszCommand)
-{
-       T_PROCESS_CREATE_INF Inf;
-       HANDLE  hProcess;
-       int     iExitCode = 0;
-       int             iBackGround = 0;
-       int     iLen;
-       
-       if ( self->iSimpleExec )
-       {
-               Command_Execute(pszCommand, &iExitCode);
-       }
-       else
-       {
-               iLen = strlen(pszCommand);
-               if ( iLen > 1 && pszCommand[iLen - 1] == '&' )
-               {
-                       ((char *)pszCommand)[iLen - 1] = '\0';
-                       iBackGround = 1;
-               }       
-               
-               /* プロセスの生成 */
-               Inf.pszCommandLine = pszCommand;
-               Inf.pszCurrentDir  = Process_GetCurrentDir(HANDLE_NULL);
-               Inf.pfncEntry      = NULL;                                                                      /* 起動アドレス */
-               Inf.Param          = 0;                                                                         /* ユーザーパラメータ */
-               Inf.StackSize      = 2048;                                                                      /* スタックサイズ */
-               Inf.Priority       = PROCESS_PRIORITY_NORMAL+1;                         /* プロセス優先度 */
-               Inf.hTerminal      = Process_GetTerminal(HANDLE_NULL);          /* ターミナル */
-               Inf.hConsole       = Process_GetConsole(HANDLE_NULL);           /* コンソール */
-               Inf.hStdIn         = Process_GetStdIn(HANDLE_NULL);                     /* 標準入力 */
-               Inf.hStdOut        = Process_GetStdOut(HANDLE_NULL);            /* 標準出力 */
-               Inf.hStdErr        = Process_GetStdErr(HANDLE_NULL);            /* 標準エラー出力 */
-               hProcess = Process_Create(&Inf);
-
-               if ( iBackGround )
-               {
-                       T_SHELL_BACKGROUND *pBg;
-                       
-                       /* バックグランドジョブをリストに登録 */
-                       pBg = (T_SHELL_BACKGROUND *)Memory_Alloc(sizeof(T_SHELL_BACKGROUND));
-                       pBg->hProcess = hProcess;
-                       if ( self->pBackGround == NULL )
-                       {
-                               self->pBackGround = pBg;
-                               pBg->pNext = pBg;
-                       }
-                       else
-                       {
-                               pBg->pNext = self->pBackGround->pNext;
-                               self->pBackGround->pNext = pBg;
-                       }
-               }
-               else
-               {
-                       /* フォアグランドなら終わるまで待つ */
-                       Process_WaitExit(hProcess);
-                       Process_Delete(hProcess);
-               }
-       }
-       
-       return iExitCode;
-}
-
-
-
-/* 1行入力 */
-int Shell_InputLine(C_SHELL *self, char *pszBuf, int  iBufSize)
-{
-       int  iHistoryPos = -1;
-       int  i;
-       int  c;
-
-
-       /* プロンプトを出す */
-       StdIo_PutString("\r% ");
-       self->iCurScreenX = 2;
-
-       self->iCommandLen = 0;
-       self->iCurPos     = 0;
-       
-       for ( ; ; )
-       {
-               c = StdCon_GetCh();
-               
-               switch ( c )
-               {
-               case '\n':              /* 改行なら入力完了 */
-                       pszBuf[self->iCommandLen] = '\0';
-                       StdCon_PutString("\r\n");
-                       return self->iCommandLen;
-               
-               
-               case CONSOLE_KEY_BACKSPACE:     /* バックスペースなら */
-                       if ( self->iCurPos > 0 )
-                       {
-                               memmove(&pszBuf[self->iCurPos - 1], &pszBuf[self->iCurPos], self->iCommandLen - self->iCurPos);
-                               self->iCurPos--;
-                               self->iCommandLen--;
-                               Shell_CurLeft(self);
-                               for ( i = 0; i < self->iCommandLen - self->iCurPos; i++ )
-                               {
-                                       Shell_PutChar(self, pszBuf[self->iCurPos + i]);
-                               }
-                               Shell_PutChar(self, ' ');
-                               for ( i = 0; i < self->iCommandLen - self->iCurPos + 1; i++ )
-                               {
-                                       Shell_CurLeft(self);
-                               }
-                       }
-                       break;
-
-               case CONSOLE_KEY_UP:    /* 上 */
-                       if ( iHistoryPos + 1 < self->iHistoryMax && self->ppszHistory[iHistoryPos + 1] != NULL )
-                       {
-                               iHistoryPos++;
-                               Shell_ReplaceLine(self, self->ppszHistory[iHistoryPos]);
-                       }
-                       break;
-
-               case CONSOLE_KEY_DOWN:  /* 下 */
-                       if ( iHistoryPos > 0 )
-                       {
-                               iHistoryPos--;
-                               Shell_ReplaceLine(self, self->ppszHistory[iHistoryPos]);
-                       }
-                       break;
-               
-               case CONSOLE_KEY_RIGHT: /* 右 */
-                       if ( self->iCurPos < self->iCommandLen )
-                       {
-                               Shell_CurRight(self);
-                               self->iCurPos++;
-                       }
-                       break;
-               
-               case CONSOLE_KEY_LEFT:  /* 左 */
-                       if ( self->iCurPos > 0 )
-                       {
-                               Shell_CurLeft(self);
-                               self->iCurPos--;
-                       }
-                       break;
-
-               case '\t':                              /* TAB */
-                       break;
-
-               default:                /* カーソル位置に文字設定 */
-                       if ( c >= 0x20 && c <= 255 )
-                       {
-                               if ( self->iCurPos < iBufSize - 1 )
-                               {
-                                       memmove(&pszBuf[self->iCurPos + 1], &pszBuf[self->iCurPos], self->iCommandLen - self->iCurPos);
-                                       pszBuf[self->iCurPos++] = (char)c;
-                                       self->iCommandLen++;
-                                       for ( i = 0; i < self->iCommandLen - self->iCurPos + 1; i++ )
-                                       {
-                                               Shell_PutChar(self, pszBuf[self->iCurPos + i - 1]);
-                                       }
-                                       for ( i = 0; i < self->iCommandLen - self->iCurPos; i++ )
-                                       {
-                                               Shell_CurLeft(self);
-                                       }
-                               }
-                               else
-                               {
-                                       StdCon_PutChar('\a');
-                               }
-                       }
-                       break;
-               }
-       }
-}
-
-
-
-/* スクリーンに1文字出力 */
-void Shell_PutChar(C_SHELL *self, int c)
-{
-       StdCon_PutChar(c);      
-       self->iCurScreenX++;
-       if ( self->iCurScreenX >= self->iScreenWidth )
-       {
-               self->iCurScreenX = 0;
-               StdCon_PutString("\n");
-       }       
-}
-
-/* カーソル右移動 */
-void Shell_CurRight(C_SHELL *self)
-{
-       self->iCurScreenX++;
-       if ( self->iCurScreenX >= self->iScreenWidth )
-       {
-               self->iCurScreenX = 0;
-               StdCon_PutString("\n");
-       }
-       else
-       {
-               StdCon_PutString("\x1b[1C");            /* カーソル右 */
-       }
-}
-
-/* カーソル左移動 */
-void Shell_CurLeft(C_SHELL *self)
-{
-       if ( self->iCurScreenX == 0 )
-       {
-               self->iCurScreenX = self->iScreenWidth - 1;
-               StdCon_PutString("\x1b[1A\x1b[80C");
-       }
-       else
-       {
-               self->iCurScreenX--;
-               StdCon_PutString("\x1b[1D");            /* カーソル左 */
-       }
-}
-
-/* ラインを置き換える */
-void Shell_ReplaceLine(C_SHELL *self, const char *pszNewLine)
-{
-       int iOldLen;
-       int i;
-       
-       /* 前回の長さを保存 */
-       iOldLen = self->iCommandLen;
-       
-       /* 行先頭まで移動 */
-       while ( self->iCurPos > 0 )
-       {
-               Shell_CurLeft(self);
-               self->iCurPos--;
-       }
-       
-       /* 新しい文字列を出力 */
-       for ( i = 0; pszNewLine[i] != '\0'; i++ )
-       {
-               Shell_PutChar(self, pszNewLine[i]);
-               self->pszCommanBuf[i] = pszNewLine[i];
-               self->iCurPos++;
-       }
-       self->iCommandLen = i;
-       
-       /* 末尾削除 */
-       for ( i = self->iCommandLen; i < iOldLen; i++ )
-       {
-               Shell_PutChar(self, ' ');
-       }
-       for ( i = self->iCommandLen; i < iOldLen; i++ )
-       {
-               Shell_CurLeft(self);
-       }       
-}
-
-
-/* end of file */
diff --git a/aplfw/system/shell/shell.h b/aplfw/system/shell/shell.h
deleted file mode 100755 (executable)
index 65049d9..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/** 
- *  Hyper Operating System  Application Framework
- *
- * @file  shell.h
- * @brief %jp{シェル}
- *
- * Copyright (C) 2006 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#ifndef __HOS__shell_h__
-#define __HOS__shell_h__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int Shell_Main(int argc, char *argv[]);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
-#endif /* __HOS__shell_h__ */
-
-
-/* end of file */
diff --git a/cfgrtr/build/bcc55/bmake.mak b/cfgrtr/build/bcc55/bmake.mak
deleted file mode 100755 (executable)
index 6d23e5f..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-# -----------------------------------------------------------------------------
-#  Hyper Operating System V4  コンフィギュレーター                             
-#   Borland-C++ Version 5.5 用 メイクファイル                                  
-#                                                                              
-#                                       Copyright (C) 1998-2006 by Project HOS 
-#                                       http://sourceforge.jp/projects/hos/    
-# -----------------------------------------------------------------------------
-
-
-# ツール
-CC   = bcc32
-LINK = bcc32
-
-
-# オプション
-CFLAGS = -c -O2 -I..\..\include -I..\..\..\kernel\include -I..\..\..\kernel\include\arch\proc\$(ARCH_PROC) -I..\..\..\kernel\include\arch\irc\$(ARCH_IRC)
-LFLAGS = 
-
-
-# ターゲット
-!ifndef TARGET
-TARGET   = h4acfg
-!endif
-
-OBJS_DIR = objs\$(TARGET)
-
-
-# オブジェクトファイル
-OBJS = $(OBJS_DIR)\hos4cfg.obj \
-       $(OBJS_DIR)\analyze.obj \
-       $(OBJS_DIR)\parpack.obj \
-       $(OBJS_DIR)\read.obj            \
-       $(OBJS_DIR)\defercd.obj \
-       $(OBJS_DIR)\intstk.obj  \
-       $(OBJS_DIR)\idlstk.obj  \
-       $(OBJS_DIR)\knlheap.obj \
-       $(OBJS_DIR)\maxtpri.obj \
-       $(OBJS_DIR)\apidef.obj  \
-       $(OBJS_DIR)\apiinc.obj  \
-       $(OBJS_DIR)\cretsk.obj  \
-       $(OBJS_DIR)\deftex.obj  \
-       $(OBJS_DIR)\cresem.obj  \
-       $(OBJS_DIR)\creflg.obj  \
-       $(OBJS_DIR)\credtq.obj  \
-       $(OBJS_DIR)\crembx.obj  \
-       $(OBJS_DIR)\crempf.obj  \
-       $(OBJS_DIR)\crembf.obj  \
-       $(OBJS_DIR)\timtic.obj  \
-       $(OBJS_DIR)\crecyc.obj  \
-       $(OBJS_DIR)\crealm.obj  \
-       $(OBJS_DIR)\defexc.obj  \
-       $(OBJS_DIR)\attini.obj  \
-       $(OBJS_DIR)\definh.obj  \
-       $(OBJS_DIR)\attisr.obj
-
-.path.cpp = ..\..\source
-.path.obj = $(OBJS_DIR)
-
-.suffixes:
-.suffixes: .cpp
-
-
-# ターゲット生成
-$(TARGET): mkdir_objs $(OBJS)
-       $(LINK) -e$(TARGET) $(OBJS)
-
-mkdir_objs:
-       -mkdir objs
-       -mkdir $(OBJS_DIR)
-
-
-# クリーンアップ
-clean:
-       del $(OBJS) $(TARGET)
-
-# 推論規則
-.cpp.obj:
-       $(CC) $(CFLAGS) -o$@ $< 
-
-
-# -----------------------------------------------------------------------------
-#  Copyright (C) 1998-2006 by Project HOS                                      
-# -----------------------------------------------------------------------------
index 0f95845..b9a1ee5 100755 (executable)
@@ -34,7 +34,7 @@ OBJS_DIR = objs_$(TARGET)
 
 
 # オブジェクトファイル
-OBJS = $(OBJS_DIR)/hos4cfg.o \
+OBJS = $(OBJS_DIR)/h4acfg.o  \
        $(OBJS_DIR)/analyze.o \
        $(OBJS_DIR)/parpack.o \
        $(OBJS_DIR)/read.o    \
index 2cc55ae..0b7ccd9 100755 (executable)
@@ -29,7 +29,7 @@ OBJS_DIR = objs_$(TARGET)
 
 
 # オブジェクトファイル
-OBJS = $(OBJS_DIR)\hos4cfg.obj \
+OBJS = $(OBJS_DIR)\h4acfg.obj  \
        $(OBJS_DIR)\analyze.obj \
        $(OBJS_DIR)\parpack.obj \
        $(OBJS_DIR)\read.obj    \
diff --git a/cfgrtr/build/vc60/nmake.mak b/cfgrtr/build/vc60/nmake.mak
deleted file mode 100755 (executable)
index de98eec..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-# -----------------------------------------------------------------------------
-#  HOS-V4a configulator
-#
-#                                       Copyright (C) 1998-2007 by Project HOS 
-#                                       http://sourceforge.jp/projects/hos/
-# -----------------------------------------------------------------------------
-
-
-# ツール
-CC   = cl
-LINK = cl
-
-
-# オプション
-CFLAGS = /I..\..\include /I..\..\..\kernel\include /I..\..\..\kernel\include\arch\proc\$(ARCH_PROC) /I..\..\..\kernel\include\arch\irc\$(ARCH_IRC)
-LFLAGS = 
-
-
-# ターゲット
-TARGET = h4acfg
-
-# オブジェクトディレクトリ
-OBJS_DIR = objs_$(TARGET)
-
-
-# オブジェクトファイル
-OBJS = $(OBJS_DIR)\hos4cfg.obj \
-       $(OBJS_DIR)\analyze.obj \
-       $(OBJS_DIR)\parpack.obj \
-       $(OBJS_DIR)\read.obj    \
-       $(OBJS_DIR)\defercd.obj \
-       $(OBJS_DIR)\intstk.obj  \
-       $(OBJS_DIR)\dpcque.obj  \
-       $(OBJS_DIR)\idlstk.obj  \
-       $(OBJS_DIR)\knlheap.obj \
-       $(OBJS_DIR)\maxtpri.obj \
-       $(OBJS_DIR)\apidef.obj  \
-       $(OBJS_DIR)\apiinc.obj  \
-       $(OBJS_DIR)\cretsk.obj  \
-       $(OBJS_DIR)\deftex.obj  \
-       $(OBJS_DIR)\cresem.obj  \
-       $(OBJS_DIR)\creflg.obj  \
-       $(OBJS_DIR)\credtq.obj  \
-       $(OBJS_DIR)\crembx.obj  \
-       $(OBJS_DIR)\crempf.obj  \
-       $(OBJS_DIR)\crembf.obj  \
-       $(OBJS_DIR)\timtic.obj  \
-       $(OBJS_DIR)\crecyc.obj  \
-       $(OBJS_DIR)\crealm.obj  \
-       $(OBJS_DIR)\defexc.obj  \
-       $(OBJS_DIR)\attini.obj  \
-       $(OBJS_DIR)\definh.obj  \
-       $(OBJS_DIR)\attisr.obj
-
-
-# ターゲット生成
-$(TARGET): mkdir_objs $(OBJS)
-       $(LINK) $(LFLAGS) $(OBJS) -o $(TARGET)
-
-mkdir_objs:
-       -mkdir $(OBJS_DIR)
-
-clean:
-       -del $(TARGET) $(TARGET).exe $(OBJS)
-
-{..\..\source}.cpp{$(OBJS_DIR)}.obj :
-       cl $(CFLAGS) /c $< /Fo$@
-
-
-
-# end of file
index c7767b6..896ec5b 100755 (executable)
@@ -61,12 +61,18 @@ int CApiAttIsr::AnalyzeApi(const char* pszApiName, const char* pszParams)
        }
        else if ( strcmp(pszApiName, "KERNEL_MAX_ISRID") == 0 )
        {
+               int iId;
+
                if ( m_iMaxId > 0 )
                {
                        return CFG_ERR_MULTIDEF;
                }
-               
-               int iId;
+
+               if ( m_iResObj > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
                if ( (iId = atoi(pszParams)) <= 0 )
                {
                        return CFG_ERR_PARAM;
@@ -76,6 +82,24 @@ int CApiAttIsr::AnalyzeApi(const char* pszApiName, const char* pszParams)
                
                return CFG_ERR_OK;
        }
+       else if ( strcmp(pszApiName, "KERNEL_RES_ISRID") == 0 )
+       {
+               int iId;
+
+               if ( m_iMaxId > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
+               if ( (iId = atoi(pszParams)) <= 0 )
+               {
+                       return CFG_ERR_PARAM;
+               }
+
+               m_iResObj += iId;
+
+               return CFG_ERR_OK;
+       }
        else if ( strcmp(pszApiName, "KERNEL_MIN_INTNO") == 0 )
        {
                m_iMinIntNo = atoi(pszParams);
index cc8fbf7..4f58c60 100755 (executable)
@@ -46,7 +46,7 @@ int CApiCreAlm::AnalyzeApi(const char* pszApiName, const char* pszParams)
        {
                return AddParams(pszParams);
        }
-       else if ( strcmp(pszApiName, "HOS_MAX_ALMID") == 0 )
+       else if ( strcmp(pszApiName, "KERNEL_MAX_ALMID") == 0 )
        {
                int iId;
 
@@ -69,24 +69,24 @@ int CApiCreAlm::AnalyzeApi(const char* pszApiName, const char* pszParams)
 
                return CFG_ERR_OK;
        }
-       else if ( strcmp(pszApiName, "HOS_RES_ALMOBJ") == 0 )
+       else if ( strcmp(pszApiName, "KERNEL_RSV_ALMID") == 0 )
        {
                int iId;
 
-                if ( m_iMaxId > 0 )
+               if ( m_iMaxId > 0 )
                {
-                        return CFG_ERR_DEF_CONFLICT;
+                       return CFG_ERR_DEF_CONFLICT;
                }
 
-                if ( (iId = atoi(pszParams)) <= 0 )
+               if ( (iId = atoi(pszParams)) <= 0 )
                {
-                        return CFG_ERR_PARAM;
+                       return CFG_ERR_PARAM;
                }
 
-                m_iResObj += iId;
+               m_iResObj += iId;
 
-                return CFG_ERR_OK;
-        }
+               return CFG_ERR_OK;
+       }
 
        return CFG_ERR_NOPROC;
 }
index 832f382..035f14a 100755 (executable)
@@ -57,6 +57,11 @@ int CApiCreCyc::AnalyzeApi(const char* pszApiName, const char* pszParams)
                        return CFG_ERR_MULTIDEF;
                }
 
+               if ( m_iResObj > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
                if ( (iId = atoi(pszParams)) <= 0 )
                {
                        return CFG_ERR_PARAM;
@@ -66,7 +71,26 @@ int CApiCreCyc::AnalyzeApi(const char* pszApiName, const char* pszParams)
 
                return CFG_ERR_OK;
        }
-       
+       else if ( strcmp(pszApiName, "KERNEL_RSV_DTQID") == 0 )
+       {
+               int iId;
+
+               if ( m_iMaxId > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
+               if ( (iId = atoi(pszParams)) <= 0 )
+               {
+                       return CFG_ERR_PARAM;
+               }
+
+               m_iResObj += iId;
+
+               return CFG_ERR_OK;
+       }
+
+
        return CFG_ERR_NOPROC;
 }
 
index 1953443..aa42ca9 100755 (executable)
@@ -49,7 +49,7 @@ int CApiCreDtq::AnalyzeApi(const char* pszApiName, const char* pszParams)
        {
                return AddParams(pszParams);
        }
-       else if ( strcmp(pszApiName, "HOS_MAX_DTQID") == 0 )
+       else if ( strcmp(pszApiName, "KERNEL_MAX_DTQID") == 0 )
        {
                int iId;
 
@@ -72,24 +72,24 @@ int CApiCreDtq::AnalyzeApi(const char* pszApiName, const char* pszParams)
 
                return CFG_ERR_OK;
        }
-       else if ( strcmp(pszApiName, "HOS_RES_DTQOBJ") == 0 )
+       else if ( strcmp(pszApiName, "KERNEL_RES_DTQID") == 0 )
        {
                int iId;
 
-                if ( m_iMaxId > 0 )
+               if ( m_iMaxId > 0 )
                {
-                        return CFG_ERR_DEF_CONFLICT;
+                       return CFG_ERR_DEF_CONFLICT;
                }
 
-                if ( (iId = atoi(pszParams)) <= 0 )
+               if ( (iId = atoi(pszParams)) <= 0 )
                {
-                        return CFG_ERR_PARAM;
+                       return CFG_ERR_PARAM;
                }
 
-                m_iResObj += iId;
+               m_iResObj += iId;
 
-                return CFG_ERR_OK;
-        }
+               return CFG_ERR_OK;
+       }
 
        return CFG_ERR_NOPROC;
 }
index 9d5c4f5..f85d95b 100755 (executable)
@@ -55,6 +55,11 @@ int CApiCreFlg::AnalyzeApi(const char* pszApiName, const char* pszParams)
                {
                        return CFG_ERR_MULTIDEF;
                }
+               
+               if ( m_iResObj > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
 
                if ( (iId = atoi(pszParams)) <= 0 )
                {
@@ -65,6 +70,24 @@ int CApiCreFlg::AnalyzeApi(const char* pszApiName, const char* pszParams)
 
                return CFG_ERR_OK;
        }
+       else if ( strcmp(pszApiName, "KERNEL_RSV_FLGID") == 0 )
+       {
+               int iId;
+
+               if ( m_iMaxId > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
+               if ( (iId = atoi(pszParams)) <= 0 )
+               {
+                       return CFG_ERR_PARAM;
+               }
+
+               m_iResObj += iId;
+
+               return CFG_ERR_OK;
+       }
 
        return CFG_ERR_NOPROC;
 }
index a7f6c6c..2bd30d8 100755 (executable)
@@ -46,7 +46,7 @@ int CApiCreMbf::AnalyzeApi(const char* pszApiName, const char* pszParams)
        {
                return AddParams(pszParams);
        }
-       else if ( strcmp(pszApiName, "HOS_MAX_MBFID") == 0 )
+       else if ( strcmp(pszApiName, "KERNEL_MAX_MBFID") == 0 )
        {
                int iId;
 
@@ -69,25 +69,25 @@ int CApiCreMbf::AnalyzeApi(const char* pszApiName, const char* pszParams)
 
                return CFG_ERR_OK;
        }
-       else if ( strcmp(pszApiName, "HOS_RES_MBFOBJ") == 0 )
+       else if ( strcmp(pszApiName, "KERNEL_RSV_MBFID") == 0 )
        {
                int iId;
 
-                if ( m_iMaxId > 0 )
+               if ( m_iMaxId > 0 )
                {
-                        return CFG_ERR_DEF_CONFLICT;
+                       return CFG_ERR_DEF_CONFLICT;
                }
 
-                if ( (iId = atoi(pszParams)) <= 0 )
+               if ( (iId = atoi(pszParams)) <= 0 )
                {
-                        return CFG_ERR_PARAM;
+                       return CFG_ERR_PARAM;
                }
 
-                m_iResObj += iId;
-
-                return CFG_ERR_OK;
-        }
+               m_iResObj += iId;
 
+               return CFG_ERR_OK;
+       }
+       
        return CFG_ERR_NOPROC;
 }
 
index d1ece74..0609b69 100755 (executable)
@@ -58,6 +58,11 @@ int CApiCreMbx::AnalyzeApi(const char* pszApiName, const char* pszParams)
                        return CFG_ERR_MULTIDEF;
                }
 
+               if ( m_iResObj > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
                if ( (iId = atoi(pszParams)) <= 0 )
                {
                        return CFG_ERR_PARAM;
@@ -67,6 +72,24 @@ int CApiCreMbx::AnalyzeApi(const char* pszApiName, const char* pszParams)
 
                return CFG_ERR_OK;
        }
+       else if ( strcmp(pszApiName, "KERNEL_RSV_MBXID") == 0 )
+       {
+               int iId;
+
+               if ( m_iMaxId > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
+               if ( (iId = atoi(pszParams)) <= 0 )
+               {
+                       return CFG_ERR_PARAM;
+               }
+
+               m_iResObj += iId;
+
+               return CFG_ERR_OK;
+       }
 
        return CFG_ERR_NOPROC;
 }
index 5ba5b98..5b639d9 100755 (executable)
@@ -59,6 +59,11 @@ int CApiCreMpf::AnalyzeApi(const char* pszApiName, const char* pszParams)
                        return CFG_ERR_MULTIDEF;
                }
 
+               if ( m_iResObj > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
                if ( (iId = atoi(pszParams)) <= 0 )
                {
                        return CFG_ERR_PARAM;
@@ -68,6 +73,24 @@ int CApiCreMpf::AnalyzeApi(const char* pszApiName, const char* pszParams)
 
                return CFG_ERR_OK;
        }
+       else if ( strcmp(pszApiName, "KERNEL_RSV_MPFID") == 0 )
+       {
+               int iId;
+
+               if ( m_iMaxId > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
+               if ( (iId = atoi(pszParams)) <= 0 )
+               {
+                       return CFG_ERR_PARAM;
+               }
+
+               m_iResObj += iId;
+
+               return CFG_ERR_OK;
+       }
        
        return CFG_ERR_NOPROC;
 }
index 51fbb07..589b784 100755 (executable)
@@ -57,6 +57,11 @@ int CApiCreSem::AnalyzeApi(const char* pszApiName, const char* pszParams)
                        return CFG_ERR_MULTIDEF;
                }
 
+               if ( m_iResObj > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+               
                if ( (iId = atoi(pszParams)) <= 0 )
                {
                        return CFG_ERR_PARAM;
@@ -66,6 +71,24 @@ int CApiCreSem::AnalyzeApi(const char* pszApiName, const char* pszParams)
 
                return CFG_ERR_OK;
        }
+       else if ( strcmp(pszApiName, "KERNEL_RSV_SEMID") == 0 )
+       {
+               int iId;
+
+               if ( m_iMaxId > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
+               if ( (iId = atoi(pszParams)) <= 0 )
+               {
+                       return CFG_ERR_PARAM;
+               }
+
+               m_iResObj += iId;
+
+               return CFG_ERR_OK;
+       }
        
        return CFG_ERR_NOPROC;
 }
index 8902640..b92cb39 100755 (executable)
@@ -54,12 +54,18 @@ int CApiCreTsk::AnalyzeApi(const char* pszApiName, const char* pszParams)
        }
        else if ( strcmp(pszApiName, "KERNEL_MAX_TSKID") == 0 )
        {
+               int iId;
+
                if ( m_iMaxId > 0 )
                {
                        return CFG_ERR_MULTIDEF;
                }
+
+               if ( m_iResObj > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
                
-               int iId;
                if ( (iId = atoi(pszParams)) <= 0 )
                {
                        return CFG_ERR_PARAM;
@@ -69,6 +75,24 @@ int CApiCreTsk::AnalyzeApi(const char* pszApiName, const char* pszParams)
                
                return CFG_ERR_OK;
        }
+       else if ( strcmp(pszApiName, "KERNEL_RSV_TSKID") == 0 )
+       {
+               int iId;
+
+               if ( m_iMaxId > 0 )
+               {
+                       return CFG_ERR_DEF_CONFLICT;
+               }
+
+               if ( (iId = atoi(pszParams)) <= 0 )
+               {
+                       return CFG_ERR_PARAM;
+               }
+
+               m_iResObj += iId;
+
+               return CFG_ERR_OK;
+       }
        
        return CFG_ERR_NOPROC;
 }
index 9e66d1e..fe18ef4 100755 (executable)
 カーネルについての説明を記載します。
 
 
-2. カーネルのビルド
+2. 準備するもの
 
+  カーネルのビルドには、ターゲットCPU用のコンパイラの他に
+以下の何れかの環境が必要になります。
+
+ [gmake環境]  GNU make + gcc   (Linux, Free-BSD, Cygwin などの環境)
+ [nmake環境]  nmake + cl       (Windows + Visual-C++ 環境)
+
+
+  何れかの環境をホスト側に事前に準備し、PATHなどの環境変数を
+準備して、コンパイラやmakeが動く状態にしておいてください。
+
+
+3. カーネルのビルド
   kernel/build ディレクトリの下に、各ターゲットプロセッサ毎に
 ビルド環境を用意しています。
-  現時点では、環境は GNU make 系のみ用意しております。
-  近年では、Windows系 及び UNIX系 どちらでも GNU make が利用可能に
-なってきておりますので、別途入手をお願いします。
-  将来的には nmake などその他の環境も考慮に入れたいと考えています。
 
-  ターゲットプロセッサのディレクトリで
+  kernel/build以下のディレクトリは
+
+   プロセッサアーキテクチャ名/バージョン名/コンパイラセット
+
+  の順で、階層管理されています。
+  例えば、SH2 を日立製のshcコンパイラで使いたい場合は
+
+  kernel/build/sh/sh2/shc
+
+  がビルドディレクトリとなります。
+
+  ビルドディレクトリにおいて
+
+  [GNU make の場合]
+    make -f gmake.mak
 
-  make -f gmake.mak
+  [nmake の場合]
+    nmake -f nmake.mak
 
   など、と実行すれば、カーネルライブラリが出来上がります。
 
 
-3. カーネルの使い方
+4. カーネルの使い方
 
   HOS-V4aカーネルは、ユーザーアプリケーションにライブラリを
 リンクする形で利用します。
   ライブラリ形式での提供ですので、スタートアップルーチンや
 割込みベクタテーブルなどは、サンプル等を参考に、ユーザー側で
 準備する必要があります。
-  これにコンフィギュレータ(h4acfg.txt参照)にて、作成した
+  これにコンフィギュレータ(cfgrtr.txt参照)にて、作成した
 kernel_cfg.c をコンパイルしてリンクすることで HOSのAPIが
 利用可能となります。
 
@@ -51,14 +74,14 @@ kernel_cfg.c をコンパイルしてリンクすることで HOSのAPIが
 適切に設定してください。
 
 
-4. HOS-V4a独自API
+5. HOS-V4a独自API
 
   HOS-V4aはμITRON4.0仕様準拠のAPIの他に、独自のAPIを備えています。
   μITRON4.0仕様では、実装依存APIは vxxx_xxx の形で提供することと
 定めており、HOS-V4a の独自APIもこの形式を取ります。
 
 
-4.1 カーネルの起動
+5.1 カーネルの起動
  【API】
      ER vsta_knl(void);
 
@@ -68,7 +91,7 @@ kernel_cfg.c をコンパイルしてリンクすることで HOSのAPIが
    呼び出してください。
 
 
-4.2 割込み要因のクリア
+5.2 割込み要因のクリア
  【API】
      ER vclr_int(INTNO intno);
 
@@ -89,7 +112,7 @@ kernel_cfg.c をコンパイルしてリンクすることで HOSのAPIが
    信号が消えない)では割込み処理の後にクリアします。
 
 
-4.3 割込みレベル変更
+5.3 割込みレベル変更
  【API】
      ER vchg_ilv(INTNO intno, INT ilv);
 
@@ -102,7 +125,7 @@ kernel_cfg.c をコンパイルしてリンクすることで HOSのAPIが
      本APIはIRCに割込みレベル機能があった場合に適用されるものです。
 
 
-4.4 割込みレベル取得
+5.4 割込みレベル取得
  【API】
      ER vget_ilv(INTNO intno, INT *p_ilv);
 
@@ -116,7 +139,7 @@ kernel_cfg.c をコンパイルしてリンクすることで HOSのAPIが
 
 
 
-4. カーネルのカスタマイズ
+6. カーネルのカスタマイズ
 
   HOS-V4a は用途に応じて、利用しないAPIや属性を取り外したり、
 適用する内部アルゴリズムを選択することで、メモリを削減したり、
index d3c65ca..8ad6fde 100755 (executable)
  * @param  tskid   %en{ID number of the task to be activated}%jp{タスクID}
  * @return void
  */
-ER act_tsk(
-               ID tskid)
+ER act_tsk(ID tskid)
 {
-       _KERNEL_T_TSKHDL       tskhdl;
-       _KERNEL_T_TCB          *tcb;
-       const _KERNEL_T_TCB_RO *tcb_ro;
+       _KERNEL_T_TSKHDL                tskhdl;
+       _KERNEL_T_TCB_PTR               tcb;
+       _KERNEL_T_TCB_RO_PTR    tcb_ro;
 
        if ( tskid == TSK_SELF )                /* %jp{自タスク指定時の変換} */
        {