Lines Matching refs:cmdtp
22 int _do_help(cmd_tbl_t *cmd_start, int cmd_items, cmd_tbl_t *cmdtp, int flag, in _do_help() argument
33 cmdtp = cmd_start; in _do_help()
35 cmd_array[i] = cmdtp++; in _do_help()
73 cmdtp = find_cmd_tbl(argv[i], cmd_start, cmd_items); in _do_help()
74 if (cmdtp != NULL) { in _do_help()
75 rcode |= cmd_usage(cmdtp); in _do_help()
88 cmd_tbl_t *cmdtp; in find_cmd_tbl() local
102 for (cmdtp = table; cmdtp != table + table_len; cmdtp++) { in find_cmd_tbl()
103 if (strncmp(cmd, cmdtp->name, len) == 0) { in find_cmd_tbl()
104 if (len == strlen(cmdtp->name)) in find_cmd_tbl()
105 return cmdtp; /* full match */ in find_cmd_tbl()
107 cmdtp_temp = cmdtp; /* abbreviated command ? */ in find_cmd_tbl()
125 int cmd_usage(const cmd_tbl_t *cmdtp) in cmd_usage() argument
127 printf("%s - %s\n\n", cmdtp->name, cmdtp->usage); in cmd_usage()
130 printf("Usage:\n%s ", cmdtp->name); in cmd_usage()
132 if (!cmdtp->help) { in cmd_usage()
137 puts(cmdtp->help); in cmd_usage()
166 cmd_tbl_t *cmdtp = ll_entry_start(cmd_tbl_t, cmd); in complete_cmdv() local
168 const cmd_tbl_t *cmdend = cmdtp + count; in complete_cmdv()
182 for (; cmdtp != cmdend; cmdtp++) { in complete_cmdv()
187 cmdv[n_found++] = cmdtp->name; in complete_cmdv()
195 cmdtp = find_cmd(argv[0]); in complete_cmdv()
196 if (cmdtp == NULL || cmdtp->complete == NULL) { in complete_cmdv()
200 return (*cmdtp->complete)(argc, argv, last_char, maxv, cmdv); in complete_cmdv()
215 for (; cmdtp != cmdend; cmdtp++) { in complete_cmdv()
217 clen = strlen(cmdtp->name); in complete_cmdv()
221 if (memcmp(cmd, cmdtp->name, len) != 0) in complete_cmdv()
230 cmdv[n_found++] = cmdtp->name; in complete_cmdv()
442 void fixup_cmdtable(cmd_tbl_t *cmdtp, int size) in fixup_cmdtable() argument
452 addr = (ulong)(cmdtp->cmd) + gd->reloc_off; in fixup_cmdtable()
455 cmdtp->name, (ulong)(cmdtp->cmd), addr); in fixup_cmdtable()
457 cmdtp->cmd = in fixup_cmdtable()
459 addr = (ulong)(cmdtp->name) + gd->reloc_off; in fixup_cmdtable()
460 cmdtp->name = (char *)addr; in fixup_cmdtable()
461 if (cmdtp->usage) { in fixup_cmdtable()
462 addr = (ulong)(cmdtp->usage) + gd->reloc_off; in fixup_cmdtable()
463 cmdtp->usage = (char *)addr; in fixup_cmdtable()
466 if (cmdtp->help) { in fixup_cmdtable()
467 addr = (ulong)(cmdtp->help) + gd->reloc_off; in fixup_cmdtable()
468 cmdtp->help = (char *)addr; in fixup_cmdtable()
472 if (cmdtp->complete) { in fixup_cmdtable()
473 addr = (ulong)(cmdtp->complete) + gd->reloc_off; in fixup_cmdtable()
474 cmdtp->complete = in fixup_cmdtable()
478 cmdtp++; in fixup_cmdtable()
494 static int cmd_call(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) in cmd_call() argument
498 result = (cmdtp->cmd)(cmdtp, flag, argc, argv); in cmd_call()
508 cmd_tbl_t *cmdtp; in cmd_process() local
511 cmdtp = find_cmd(argv[0]); in cmd_process()
512 if (cmdtp == NULL) { in cmd_process()
518 if (argc > cmdtp->maxargs) in cmd_process()
523 else if (cmdtp->cmd == do_bootd) { in cmd_process()
537 rc = cmd_call(cmdtp, flag, argc, argv); in cmd_process()
540 *repeatable &= cmdtp->repeatable; in cmd_process()
543 rc = cmd_usage(cmdtp); in cmd_process()
547 int cmd_process_error(cmd_tbl_t *cmdtp, int err) in cmd_process_error() argument
550 printf("Command '%s' failed: Error %d\n", cmdtp->name, err); in cmd_process_error()