int command_lpc_ssp(struct cli *t, int argc, char **argv) { int i; char *end; uint8_t rb, tb; bool_t flag; if(argc) { if(!strcmp("speak", argv[0])) { if(argc > 1) { printf("exchanging %d words:\n", argc - 1); //csel_scp(1); for(i = 1; i < argc; i++) { if(scan_byte(argv[i], &tb)) { rb = ssp_transfer(tb); printf(" %02x -> %02x\n", tb, rb); } else { printf(" %s invalid\n", argv[i]); break; } } //csel_scp(0); } } else if (!strcmp("trace", argv[0])) { if(argc > 1) { if(scan_bool(argv[1], &flag)) { ssp_enable_trace(flag); } } else { ssp_enable_trace(BOOL_TRUE); } } } return 0; }
static int any_rw_BOOL(TBUFF **rp, const char *vp, int *value) { if (rp) { render_boolean(rp, *value); return TRUE; } else if (vp) { *value = scan_bool(vp); return TRUE; } else { return FALSE; } }