/* * CMDTABLE.C - table of internal commands. * * * History: * * 16 Jul 1998 (Hans B Pufal) * started. * New file to keep the internal command table. I plan on * getting rid of the table real soon now and replacing it * with a dynamic mechnism. * * 27 Jul 1998 John P. Price * added config.h include * * 21-Jan-1999 (Eric Kohl ) * Unicode ready! */ #include "config.h" #include #include #include "cmd.h" /* a list of all the internal commands, associating their command names */ /* to the functions to process them */ COMMAND cmds[] = { {_T("?"), 0, CommandShowCommands}, #ifdef INCLUDE_CMD_ACTIVATE {_T("activate"), 0, CommandActivate}, #endif #ifdef FEATURE_ALIASES {_T("alias"), 0, CommandAlias}, #endif #ifdef INCLUDE_CMD_ATTRIB {_T("attrib"), 0, CommandAttrib}, #endif #ifdef INCLUDE_CMD_BEEP {_T("beep"), 0, cmd_beep}, #endif {_T("call"), CMD_BATCHONLY, cmd_call}, #ifdef INCLUDE_CMD_CHDIR {_T("cd"), CMD_SPECIAL, cmd_chdir}, {_T("chdir"), CMD_SPECIAL, cmd_chdir}, #endif #ifdef INCLUDE_CMD_CHCP {_T("chcp"), 0, CommandChcp}, #endif #ifdef INCLUDE_CMD_CHOICE {_T("choice"), 0, CommandChoice}, #endif #ifdef INCLUDE_CMD_CLS {_T("cls"), 0, cmd_cls}, #endif #ifdef INCLUDE_CMD_COLOR {_T("color"), 0, CommandColor}, #endif #ifdef INCLUDE_CMD_COPY {_T("copy"), 0, cmd_copy}, #endif #ifdef INCLUDE_CMD_DATE {_T("date"), 0, cmd_date}, #endif #ifdef INCLUDE_CMD_DEL {_T("del"), 0, CommandDelete}, {_T("delete"), 0, CommandDelete}, #endif #ifdef INCLUDE_CMD_DELAY {_T("delay"), 0, CommandDelay}, #endif #ifdef INCLUDE_CMD_DIR {_T("dir"), CMD_SPECIAL, CommandDir}, #endif #ifdef FEATURE_DIRECTORY_STACK {_T("dirs"), 0, CommandDirs}, #endif {_T("echo"), 0, CommandEcho}, {_T("echo."), CMD_HIDE, CommandEcho}, {_T("echos"), 0, CommandEchos}, {_T("echoerr"), 0, CommandEchoerr}, {_T("echoerr."), CMD_HIDE, CommandEchoerr}, {_T("echoserr"), 0, CommandEchoserr}, #ifdef INCLUDE_CMD_DEL {_T("erase"), 0, CommandDelete}, #endif {_T("exit"), 0, CommandExit}, {_T("for"), 0, cmd_for}, #ifdef INCLUDE_CMD_FREE {_T("free"), 0, CommandFree}, #endif {_T("goto"), CMD_BATCHONLY, cmd_goto}, #ifdef FEATURE_HISTORY {_T("history"), 0, CommandHistory}, #endif {_T("if"), 0, cmd_if}, #ifdef INCLUDE_CMD_LABEL {_T("label"), 0, cmd_label}, #endif #ifdef INCLUDE_CMD_MEMORY {_T("memory"), 0, CommandMemory}, #endif #ifdef INCLUDE_CMD_MKDIR {_T("md"), CMD_SPECIAL, cmd_mkdir}, {_T("mkdir"), CMD_SPECIAL, cmd_mkdir}, #endif #ifdef INCLUDE_CMD_MOVE {_T("move"), 0, cmd_move}, #endif #ifdef INCLUDE_CMD_MSGBOX {_T("msgbox"), 0, CommandMsgbox}, #endif #ifdef INCLUDE_CMD_PATH {_T("path"), 0, cmd_path}, #endif #ifdef INCLUDE_CMD_PAUSE {_T("pause"), 0, cmd_pause}, #endif #ifdef FEATURE_DIRECTORY_STACK {_T("popd"), 0, CommandPopd}, #endif #ifdef INCLUDE_CMD_PROMPT {_T("prompt"), 0, cmd_prompt}, #endif #ifdef FEATURE_DIRECTORY_STACK {_T("pushd"), 0, CommandPushd}, #endif #ifdef INCLUDE_CMD_RMDIR {_T("rd"), CMD_SPECIAL, cmd_rmdir}, #endif #ifdef INCLUDE_CMD_REM {_T("rem"), 0, CommandRem}, #endif #ifdef INCLUDE_CMD_RENAME {_T("ren"), 0, cmd_rename}, {_T("rename"), 0, cmd_rename}, #endif #ifdef INCLUDE_CMD_RMDIR {_T("rmdir"), CMD_SPECIAL, cmd_rmdir}, #endif #ifdef INCLUDE_CMD_SCREEN {_T("screen"), 0, CommandScreen}, #endif #ifdef INCLUDE_CMD_SET {_T("set"), 0, cmd_set}, #endif {_T("shift"), CMD_BATCHONLY, cmd_shift}, #ifdef INCLUDE_CMD_START {_T("start"), 0, cmd_start}, #endif #ifdef INCLUDE_CMD_TIME {_T("time"), 0, cmd_time}, #endif #ifdef INCLUDE_CMD_TIMER {_T("timer"), 0, CommandTimer}, #endif #ifdef INCLUDE_CMD_TITLE {_T("title"), 0, cmd_title}, #endif #ifdef INCLUDE_CMD_TYPE {_T("type"), 0, cmd_type}, #endif #ifdef INCLUDE_CMD_VER {_T("ver"), 0, cmd_ver}, #endif #ifdef INCLUDE_CMD_VERIFY {_T("verify"), 0, cmd_verify}, #endif #ifdef INCLUDE_CMD_VOL {_T("vol"), 0, cmd_vol}, #endif #ifdef INCLUDE_CMD_WINDOW {_T("window"), 0, CommandWindow}, #endif {NULL, 0, NULL} }; VOID PrintCommandList (VOID) { LPCOMMAND cmdptr; INT y; y = 0; cmdptr = cmds; while (cmdptr->name) { if (!(cmdptr->flags & CMD_HIDE)) { if (++y == 8) { ConOutPuts (cmdptr->name); y = 0; } else { ConOutPrintf (_T("%-10s"), cmdptr->name); } } cmdptr++; } if (y != 0) ConOutChar ('\n'); } /* EOF */