#include "par_tb.h" #define SHORT_NAME 10 #define LONG_NAME 32 struct cmd_struct { char short_name[SHORT_NAME]; /* cmd short name, ex. md */ char long_name[LONG_NAME]; /* cmd long name, ex. memdisp */ int tag; /* argument passed to *cmd_func */ STATUS (*cmd_func)(); /* function to perform command */ void (*help_func)(); /* help function of the command */ }; extern STATUS par_about(); extern void help_about(); extern STATUS par_asdm(); extern void help_asm(); extern void help_disasm(); extern STATUS par_brkp(); extern void help_brkpnts(); extern STATUS par_def_alias(); extern void help_defalias(); extern STATUS par_he(); extern STATUS list_spr(); extern void help_help(); extern void help_info(); extern STATUS par_info(); extern STATUS menu(); extern void help_menu(); extern STATUS par_run_alias(); extern void help_runalias(); extern STATUS par_memory(); extern void help_memfill(); extern void help_memsearch(); extern void help_memcompare(); extern STATUS par_mv(); extern void help_memmove(); extern STATUS par_mdm(); extern void help_memdisplay(); extern void help_memmodify(); extern STATUS transparent_mode(); extern void help_transp(); extern STATUS par_rdm(); extern void help_regdisplay(); extern void help_regmodify(); extern STATUS par_st(); extern void help_symbol_tbl(); extern STATUS par_go_trace(); extern void help_go(); extern void help_trace(); extern STATUS par_sb(); extern void help_baud(); extern STATUS par_dl(); extern void help_download(); extern STATUS par_log(); extern void help_log(); extern STATUS par_si(); extern void help_setinput(); extern STATUS par_bm(); extern void help_bm(); extern STATUS copy_to_flash(); extern void help_copy_to_flash(); extern STATUS flash_commands(); extern void help_flash(); extern STATUS par_memtest(); extern void help_memtest(); extern STATUS pciDevProbe(); extern void help_pciProbe(); extern STATUS device_probe(); extern void help_device(); extern STATUS par_pciReg(); extern void help_pciRead(); extern void help_pciWrite(); extern STATUS par_pciConf(); extern void help_pciConf(); extern STATUS par_devtest( ); extern void help_devtest( ); #ifdef RTC_SUPPORT extern STATUS par_rtc( ); extern void help_rtc( ); #endif extern STATUS par_dm( ); extern void help_dm( ); extern STATUS par_dd( ); extern void help_dd( ); extern STATUS par_tau( ); extern void help_tau( ); extern STATUS par_fu( ); extern void help_fu( ); extern STATUS par_reset( ); extern void help_reset( ); extern STATUS par_identify( ); extern void help_identify( ); extern STATUS par_meminfo( ); extern void help_meminfo( ); #ifdef ENV_SUPPORT extern STATUS par_env( ); extern void help_env( ); #endif #ifdef HISTORY_SUPPORT extern STATUS main_history( ); extern void help_hist( ); #endif extern void no_help( ); /* ** The table below initializes the dink commands, their names, ** agrument passed to the command function, and the help function. ** To add a new command: ** 1. Declare the function i.e. extern STATUS par_new(); ** 2. Add an entry to the command table below. ** 3. Add the command, and help functions somewhere. ** 4. Add the new command to menu(). */ struct cmd_struct dink_cmds[] = { {"ab", "about", NO_TAG, par_about, help_about }, {"as", "assemble", MODIFY_TAG, par_asdm, help_asm }, {"bp", "bkpt", BREAK_SET_TAG, par_brkp, help_brkpnts }, {"bm", "benchmark",NO_TAG, par_bm, help_bm }, {"da", "defalias", NO_TAG, par_def_alias, help_defalias }, {"dd", "devdisp", CMD_TAG, par_dd, help_dd }, {"dev", "devtest", NO_TAG, par_devtest, help_devtest }, {"dl", "download", NO_TAG, par_dl, help_download }, {"dm", "devmod", CMD_TAG, par_dm, help_dm }, {"ds", "disassem", DISPLAY_TAG, par_asdm, help_disasm }, #ifdef ENV_SUPPORT {"env", "setenv", CMD_TAG, par_env, help_env }, #endif {"fl", "flash", CMD_TAG, flash_commands,help_flash }, {"fu", "fupdate", CMD_TAG, par_fu, help_fu }, {"go", "goto", GO_TAG, par_go_trace, help_go }, {"he", "help", NO_TAG, par_he, help_help }, #ifdef HISTORY_SUPPORT {"hi", "history", NO_TAG, main_history, help_hist }, #endif {"id", "identify",CMD_TAG, par_identify, help_identify }, {"in", "info", NO_TAG, par_info, help_info }, {"log", "log", NO_TAG, par_log, help_log }, {"mc", "memcomp", MEM_COMP_TAG, par_memory, help_memcompare}, {"me", "menu", NO_TAG, menu, help_menu }, {"mf", "memfill", MEM_FILL_TAG, par_memory, help_memfill }, {"mi", "meminfo", CMD_TAG, par_meminfo, help_meminfo }, {"ms", "memsrch", MEM_SRCH_TAG, par_memory, help_memsearch }, {"mv", "memove", NO_TAG, par_mv, help_memmove }, {"md", "memdisp", DISPLAY_TAG, par_mdm, help_memdisplay}, {"mm", "memod", MODIFY_TAG, par_mdm, help_memmodify }, {"mt", "memtest", NO_TAG, par_memtest, help_memtest }, {"pcf", "pciconf", NO_TAG, par_pciConf, help_pciConf }, {"pd", "pcidisp", DISPLAY_TAG, par_pciReg, help_pciRead }, {"pm", "pcimod", MODIFY_TAG, par_pciReg, help_pciWrite }, {"ppr", "pciprobe", NO_TAG, pciDevProbe, help_pciProbe }, {"ra", "runalias", NO_TAG, par_run_alias, help_runalias }, {"rd", "regdisp", DISPLAY_TAG, par_rdm, help_regdisplay}, {"rm", "regmod", MODIFY_TAG, par_rdm, help_regmodify }, {"sb", "setbaud", NO_TAG, par_sb, help_baud }, {"rst", "reset", NO_TAG, par_reset, help_reset }, #ifdef RTC_SUPPORT {"rtc", "time", CMD_TAG, par_rtc, help_rtc }, #endif {"si", "setinput", NO_TAG, par_si, help_setinput }, {"st", "symtab", NO_TAG, par_st, help_symbol_tbl}, {"sx", "spr_name", NO_TAG, list_spr, no_help }, #ifdef TAU_SUPPORT {"tau", "fupdate", CMD_TAG, par_tau, help_tau }, #endif {"tm", "transpar", NO_TAG, transparent_mode, help_transp }, {"tr", "trace", TRACE_TAG, par_go_trace, help_trace }, {"x", "exit", EXIT_TAG, menu, help_menu } }; #define NUM_CMD (sizeof(dink_cmds) / sizeof(struct cmd_struct))