Lines Matching refs:cmdtp
30 int _do_help(struct cmd_tbl *cmd_start, int cmd_items, struct cmd_tbl *cmdtp, in _do_help() argument
41 cmdtp = cmd_start; in _do_help()
43 cmd_array[i] = cmdtp++; in _do_help()
81 cmdtp = find_cmd_tbl(argv[i], cmd_start, cmd_items); in _do_help()
82 if (cmdtp != NULL) { in _do_help()
83 rcode |= cmd_usage(cmdtp); in _do_help()
98 struct cmd_tbl *cmdtp; in find_cmd_tbl() local
112 for (cmdtp = table; cmdtp != table + table_len; cmdtp++) { in find_cmd_tbl()
113 if (strncmp(cmd, cmdtp->name, len) == 0) { in find_cmd_tbl()
114 if (len == strlen(cmdtp->name)) in find_cmd_tbl()
115 return cmdtp; /* full match */ in find_cmd_tbl()
117 cmdtp_temp = cmdtp; /* abbreviated command ? */ in find_cmd_tbl()
136 int cmd_usage(const struct cmd_tbl *cmdtp) in cmd_usage() argument
138 printf("%s - %s\n\n", cmdtp->name, cmdtp->usage); in cmd_usage()
141 printf("Usage:\n%s ", cmdtp->name); in cmd_usage()
143 if (!cmdtp->help) { in cmd_usage()
148 puts(cmdtp->help); in cmd_usage()
190 int complete_subcmdv(struct cmd_tbl *cmdtp, int count, int argc, in complete_subcmdv() argument
195 const struct cmd_tbl *cmdend = cmdtp + count; in complete_subcmdv()
209 for (; cmdtp != cmdend; cmdtp++) { in complete_subcmdv()
214 cmdv[n_found++] = cmdtp->name; in complete_subcmdv()
222 cmdtp = find_cmd_tbl(argv[0], cmdtp, count); in complete_subcmdv()
223 if (cmdtp == NULL || cmdtp->complete == NULL) { in complete_subcmdv()
227 return (*cmdtp->complete)(argc, argv, last_char, maxv, cmdv); in complete_subcmdv()
242 for (; cmdtp != cmdend; cmdtp++) { in complete_subcmdv()
244 clen = strlen(cmdtp->name); in complete_subcmdv()
248 if (memcmp(cmd, cmdtp->name, len) != 0) in complete_subcmdv()
257 cmdv[n_found++] = cmdtp->name; in complete_subcmdv()
496 void fixup_cmdtable(struct cmd_tbl *cmdtp, int size) in fixup_cmdtable() argument
506 addr = (ulong)(cmdtp->cmd_rep) + gd->reloc_off; in fixup_cmdtable()
507 cmdtp->cmd_rep = in fixup_cmdtable()
511 addr = (ulong)(cmdtp->cmd) + gd->reloc_off; in fixup_cmdtable()
514 cmdtp->name, (ulong)(cmdtp->cmd), addr); in fixup_cmdtable()
516 cmdtp->cmd = (int (*)(struct cmd_tbl *, int, int, in fixup_cmdtable()
518 addr = (ulong)(cmdtp->name) + gd->reloc_off; in fixup_cmdtable()
519 cmdtp->name = (char *)addr; in fixup_cmdtable()
520 if (cmdtp->usage) { in fixup_cmdtable()
521 addr = (ulong)(cmdtp->usage) + gd->reloc_off; in fixup_cmdtable()
522 cmdtp->usage = (char *)addr; in fixup_cmdtable()
525 if (cmdtp->help) { in fixup_cmdtable()
526 addr = (ulong)(cmdtp->help) + gd->reloc_off; in fixup_cmdtable()
527 cmdtp->help = (char *)addr; in fixup_cmdtable()
531 if (cmdtp->complete) { in fixup_cmdtable()
532 addr = (ulong)(cmdtp->complete) + gd->reloc_off; in fixup_cmdtable()
533 cmdtp->complete = in fixup_cmdtable()
537 cmdtp++; in fixup_cmdtable()
541 int cmd_always_repeatable(struct cmd_tbl *cmdtp, int flag, int argc, in cmd_always_repeatable() argument
546 return cmdtp->cmd(cmdtp, flag, argc, argv); in cmd_always_repeatable()
549 int cmd_never_repeatable(struct cmd_tbl *cmdtp, int flag, int argc, in cmd_never_repeatable() argument
554 return cmdtp->cmd(cmdtp, flag, argc, argv); in cmd_never_repeatable()
557 int cmd_discard_repeatable(struct cmd_tbl *cmdtp, int flag, int argc, in cmd_discard_repeatable() argument
562 return cmdtp->cmd_rep(cmdtp, flag, argc, argv, &repeatable); in cmd_discard_repeatable()
577 static int cmd_call(struct cmd_tbl *cmdtp, int flag, int argc, in cmd_call() argument
582 result = cmdtp->cmd_rep(cmdtp, flag, argc, argv, repeatable); in cmd_call()
592 struct cmd_tbl *cmdtp; in cmd_process() local
609 cmdtp = find_cmd(argv[0]); in cmd_process()
610 if (cmdtp == NULL) { in cmd_process()
616 if (argc > cmdtp->maxargs) in cmd_process()
621 else if (cmdtp->cmd == do_bootd) { in cmd_process()
637 rc = cmd_call(cmdtp, flag, argc, argv, &newrep); in cmd_process()
643 rc = cmd_usage(cmdtp); in cmd_process()
647 int cmd_process_error(struct cmd_tbl *cmdtp, int err) in cmd_process_error() argument
653 printf("Command '%s' failed: Error %d\n", cmdtp->name, err); in cmd_process_error()