1 // ---------------------------------------------------------------------------
2 // Hyper Operating System V4 コンフィギュレーター
5 // Copyright (C) 1998-2003 by Project HOS
6 // http://sourceforge.jp/projects/hos/
7 // ---------------------------------------------------------------------------
19 #define IDLSTK_STKSZ 0
24 CApiIdleStack::CApiIdleStack()
27 m_iParamSyntax[0] = 0; // 単独パラメーター
33 CApiIdleStack::~CApiIdleStack()
39 int CApiIdleStack::AutoId(void)
46 int CApiIdleStack::AnalyzeApi(const char* pszApiName, const char* pszParams)
48 if ( strcmp(pszApiName, "KERNEL_IDL_STK") == 0 )
52 return CFG_ERR_MULTIDEF;
55 return AddParams(pszParams);
58 return CFG_ERR_NOPROC;
63 void CApiIdleStack::WriteCfgDef(FILE* fp)
71 "/* ------------------------------------------ */\n"
73 "/* ------------------------------------------ */\n\n"
79 pszSize = m_pParamPacks[0]->GetParam(IDLSTK_STKSZ);
80 pszStack = m_pParamPacks[0]->GetParam(IDLSTK_STK);
84 pszSize = "128"; // 指定が無ければデフォルトサイズ
85 pszStack = "NULL"; // 指定が無ければNULL(自動生成)
89 if ( strcmp(pszStack, "NULL") == 0 )
93 "VP _kernel_idl_stkblk[((%s) + sizeof(VP) - 1) / sizeof(VP)];\t/* idle stack block*/\n"
94 "const VP _kernel_idl_stk = (VP)(_kernel_idl_stkblk);\t/* idle stack */\n"
95 "const SIZE _kernel_idl_stksz = (SIZE)sizeof(_kernel_idl_stkblk);\t/* idle stack size */\n",
102 "const VP _kernel_idl_stk = (VP)(%s);\t/* idle stack */\n"
103 "const SIZE _kernel_idl_stksz = (SIZE)(%s);\t/* idle stack */\n",
109 // ---------------------------------------------------------------------------
110 // Copyright (C) 1998-2003 by Project HOS
111 // ---------------------------------------------------------------------------