Reactos
at listview 260 lines 4.7 kB view raw
1/* 2 * CMDTABLE.C - table of internal commands. 3 * 4 * 5 * History: 6 * 7 * 16 Jul 1998 (Hans B Pufal) 8 * started. 9 * New file to keep the internal command table. I plan on 10 * getting rid of the table real soon now and replacing it 11 * with a dynamic mechanism. 12 * 13 * 27 Jul 1998 John P. Price 14 * added config.h include 15 * 16 * 21-Jan-1999 (Eric Kohl) 17 * Unicode ready! 18 */ 19 20#include "precomp.h" 21 22/* 23 * A list of all the internal commands, associating their command names 24 * to the functions to process them. 25 */ 26 27 28COMMAND cmds[] = 29{ 30 {_T("?"), 0, CommandShowCommands}, 31 32 33#ifdef INCLUDE_CMD_ACTIVATE 34 {_T("activate"), 0, CommandActivate}, 35#endif 36 37#ifdef FEATURE_ALIASES 38 {_T("alias"), 0, CommandAlias}, 39#endif 40 41#ifdef INCLUDE_CMD_ASSOC 42 {_T("assoc"), 0, CommandAssoc}, 43#endif 44 45#ifdef INCLUDE_CMD_BEEP 46 {_T("beep"), 0, cmd_beep}, 47#endif 48 49 {_T("call"), CMD_BATCHONLY, cmd_call}, 50 51#ifdef INCLUDE_CMD_CHDIR 52 {_T("cd"), CMD_SPECIAL, cmd_chdir}, 53 {_T("chdir"), CMD_SPECIAL, cmd_chdir}, 54#endif 55 56#ifdef INCLUDE_CMD_CHOICE 57 {_T("choice"), 0, CommandChoice}, 58#endif 59 60#ifdef INCLUDE_CMD_CLS 61 {_T("cls"), 0, cmd_cls}, 62#endif 63 64#ifdef INCLUDE_CMD_COLOR 65 {_T("color"), 0, CommandColor}, 66#endif 67 68#ifdef INCLUDE_CMD_COPY 69 {_T("copy"), 0, cmd_copy}, 70#endif 71 72#ifdef INCLUDE_CMD_CTTY 73 {_T("ctty"), 0, cmd_ctty}, 74#endif 75 76#ifdef INCLUDE_CMD_DATE 77 {_T("date"), 0, cmd_date}, 78#endif 79 80#ifdef INCLUDE_CMD_DEL 81 {_T("del"), 0, CommandDelete}, 82 {_T("delete"), 0, CommandDelete}, 83#endif 84 85#ifdef INCLUDE_CMD_DELAY 86 {_T("delay"), 0, CommandDelay}, 87#endif 88 89#ifdef INCLUDE_CMD_DIR 90 {_T("dir"), CMD_SPECIAL, CommandDir}, 91#endif 92 93#ifdef FEATURE_DIRECTORY_STACK 94 {_T("dirs"), 0, CommandDirs}, 95#endif 96 97 {_T("echo"), CMD_SPECIAL, CommandEcho}, 98 {_T("echos"), 0, CommandEchos}, 99 {_T("echoerr"), CMD_SPECIAL, CommandEchoerr}, 100 {_T("echoserr"), 0, CommandEchoserr}, 101 102 {_T("endlocal"), 0, cmd_endlocal}, 103 104#ifdef INCLUDE_CMD_DEL 105 {_T("erase"), 0, CommandDelete}, 106#endif 107 108 {_T("exit"), 0, CommandExit}, 109 110 {_T("for"), 0, cmd_for}, 111 112#ifdef INCLUDE_CMD_FREE 113 {_T("free"), 0, CommandFree}, 114#endif 115 116 {_T("goto"), CMD_BATCHONLY, cmd_goto}, 117 118#ifdef FEATURE_HISTORY 119 {_T("history"), 0, CommandHistory}, 120#endif 121 122 {_T("if"), 0, cmd_if}, 123 124#ifdef INCLUDE_CMD_MEMORY 125 {_T("memory"), 0, CommandMemory}, 126#endif 127 128#ifdef INCLUDE_CMD_MKDIR 129 {_T("md"), CMD_SPECIAL, cmd_mkdir}, 130 {_T("mkdir"), CMD_SPECIAL, cmd_mkdir}, 131#endif 132 133#ifdef INCLUDE_CMD_MKLINK 134 {_T("mklink"), 0, cmd_mklink}, 135#endif 136 137#ifdef INCLUDE_CMD_MOVE 138 {_T("move"), 0, cmd_move}, 139#endif 140 141#ifdef INCLUDE_CMD_MSGBOX 142 {_T("msgbox"), 0, CommandMsgbox}, 143#endif 144 145#ifdef INCLUDE_CMD_PATH 146 {_T("path"), 0, cmd_path}, 147#endif 148 149#ifdef INCLUDE_CMD_PAUSE 150 {_T("pause"), 0, cmd_pause}, 151#endif 152 153#ifdef FEATURE_DIRECTORY_STACK 154 {_T("popd"), 0, CommandPopd}, 155#endif 156 157#ifdef INCLUDE_CMD_PROMPT 158 {_T("prompt"), 0, cmd_prompt}, 159#endif 160 161#ifdef FEATURE_DIRECTORY_STACK 162 {_T("pushd"), 0, CommandPushd}, 163#endif 164 165#ifdef INCLUDE_CMD_RMDIR 166 {_T("rd"), CMD_SPECIAL, cmd_rmdir}, 167 {_T("rmdir"), CMD_SPECIAL, cmd_rmdir}, 168#endif 169 170#ifdef INCLUDE_CMD_REM 171 {_T("rem"), 0, CommandRem}, 172#endif 173 174#ifdef INCLUDE_CMD_RENAME 175 {_T("ren"), 0, cmd_rename}, 176 {_T("rename"), 0, cmd_rename}, 177#endif 178 179#ifdef INCLUDE_CMD_SCREEN 180 {_T("screen"), 0, CommandScreen}, 181#endif 182 183#ifdef INCLUDE_CMD_SET 184 {_T("set"), 0, cmd_set}, 185#endif 186 187 {_T("setlocal"), 0, cmd_setlocal}, 188 189 {_T("shift"), CMD_BATCHONLY, cmd_shift}, 190 191#ifdef INCLUDE_CMD_START 192 {_T("start"), 0, cmd_start}, 193#endif 194 195#ifdef INCLUDE_CMD_TIME 196 {_T("time"), 0, cmd_time}, 197#endif 198 199#ifdef INCLUDE_CMD_TIMER 200 {_T("timer"), 0, CommandTimer}, 201#endif 202 203#ifdef INCLUDE_CMD_TITLE 204 {_T("title"), 0, cmd_title}, 205#endif 206 207#ifdef INCLUDE_CMD_TYPE 208 {_T("type"), 0, cmd_type}, 209#endif 210 211#ifdef INCLUDE_CMD_VER 212 {_T("ver"), 0, cmd_ver}, 213#endif 214 215#ifdef INCLUDE_CMD_VERIFY 216 {_T("verify"), 0, cmd_verify}, 217#endif 218 219#ifdef INCLUDE_CMD_VOL 220 {_T("vol"), 0, cmd_vol}, 221#endif 222 223#ifdef INCLUDE_CMD_WINDOW 224 {_T("window"), 0, CommandWindow}, 225#endif 226 227 {NULL, 0, NULL} 228}; 229 230VOID PrintCommandList(VOID) 231{ 232 LPCOMMAND cmdptr; 233 INT y; 234 235 y = 0; 236 cmdptr = cmds; 237 while (cmdptr->name) 238 { 239 if (!(cmdptr->flags & CMD_HIDE)) 240 { 241 if (++y == 8) 242 { 243 ConOutPuts(cmdptr->name); 244 ConOutChar(_T('\n')); 245 y = 0; 246 } 247 else 248 { 249 ConOutPrintf (_T("%-10s"), cmdptr->name); 250 } 251 } 252 253 cmdptr++; 254 } 255 256 if (y != 0) 257 ConOutChar(_T('\n')); 258} 259 260/* EOF */