FreeCalypso > hg > freecalypso-tools
view rvinterf/tmsh/pktsort.c @ 752:c79aaed75bd8
compile-fc-batt: allow possible third field in source lines
Battery tables maintained in the fc-battery-conf repository will now
have a third field added, defining thresholds for the battery bars icon,
and there will be a new utility to compile them into the new
/etc/batterytab2 file read by the FC Tourmaline version of our
FCHG driver. For backward compatibility with the original Magnetite
version of FCHG, compile-fc-batt remains the tool for compiling the
original /etc/batterytab file format, and it needs to ignore the
newly added third field in battery table sources.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 05 Nov 2020 20:37:55 +0000 |
parents | 27c41e4b21ae |
children |
line wrap: on
line source
/* * Here we sort out incoming packets from the target relayed via rvinterf. */ #include <sys/types.h> #include <stdio.h> #include <string.h> #include <strings.h> #include <stdlib.h> #include "pktmux.h" #include "limits.h" #include "localsock.h" #include "localtypes.h" #include "etm.h" #include "exitcodes.h" extern u_char rvi_msg[]; extern int rvi_msg_len; int got_tm_response; static void print_etm_trace() { char buf[MAX_PKT_FROM_TARGET*4]; strcpy(buf, "ETM Tr: "); safe_print_trace(rvi_msg + 7, rvi_msg_len - 7, buf + 8); async_msg_output(buf); } static void process_rvt() { u32 useid; if (rvi_msg_len < 7) { tty_cleanup(); fprintf(stderr, "Error: rvinterf sent us an invalid RVT msg\n"); exit(ERROR_RVINTERF); } useid = rvi_msg[2] << 24 | rvi_msg[3] << 16 | rvi_msg[4] << 8 | rvi_msg[5]; switch (useid) { case 0: handle_useid_0(); return; case ETM_USE_ID: print_etm_trace(); return; default: tty_cleanup(); fprintf(stderr, "unexpected fwd of USEID %08X from rvinterf\n", useid); exit(ERROR_RVINTERF); } } void process_pkt_from_target() { switch (rvi_msg[1]) { case RVT_RV_HEADER: process_rvt(); return; case RVT_TM_HEADER: etm_packet_rx(); got_tm_response = 1; return; default: tty_cleanup(); fprintf(stderr, "unexpected fwd of MUX %02X from rvinterf\n", rvi_msg[1]); exit(ERROR_RVINTERF); } }