# HG changeset patch # User Mychaela Falconia # Date 1488705502 0 # Node ID 74b9aeb25d792efcd7e445de1354e6abf55c88ac # Parent 45d8c175f9b5d152616d0fc664345ca408e77bd5 fc-tmsh: oabbr and oabbw response handling implemented diff -r 45d8c175f9b5 -r 74b9aeb25d79 rvinterf/tmsh/abbtm3.c --- a/rvinterf/tmsh/abbtm3.c Sun Mar 05 09:07:01 2017 +0000 +++ b/rvinterf/tmsh/abbtm3.c Sun Mar 05 09:18:22 2017 +0000 @@ -16,6 +16,30 @@ extern u_char rvi_msg[]; extern int rvi_msg_len; +void +handle_oabbr_response() +{ + char buf[80]; + unsigned val; + + if (rvi_msg[3]) { + if (rvi_msg_len == 5) { + sprintf(buf, "oabbr error %u (0x%02X)", + rvi_msg[3], rvi_msg[3]); + async_msg_output(buf); + } else + print_etm_pkt_raw("oabbr long error response"); + return; + } + if (rvi_msg_len != 7) { + print_etm_pkt_raw("oabbr response wrong length"); + return; + } + val = rvi_msg[4] | (rvi_msg[5] << 8); + sprintf(buf, "oabbr: %04X", val); + async_msg_output(buf); +} + cmd_oabbr(argc, argv) char **argv; { diff -r 45d8c175f9b5 -r 74b9aeb25d79 rvinterf/tmsh/etmbasic.c --- a/rvinterf/tmsh/etmbasic.c Sun Mar 05 09:07:01 2017 +0000 +++ b/rvinterf/tmsh/etmbasic.c Sun Mar 05 09:18:22 2017 +0000 @@ -71,6 +71,14 @@ case MEM_WRITE: l1tm_response_nodata("omw"); return; + case CODEC_READ: + if (rvi_msg_len < 5) + goto runt; + handle_oabbr_response(); + return; + case CODEC_WRITE: + l1tm_response_nodata("oabbw"); + return; /* L1TM */ case TM_INIT: l1tm_response_nodata("tminit");