/** * Loopback Protocol (Implementation) */ #include #include #include #include "scsc_loopback.h" /*****************************************************************************/ /** * Handle data received on port by sending it back. */ static void scsc_loopback_port_recv( struct scsc_mport *port, const unsigned char *data, size_t count) { os_trace_dbg("%s: @%p, count %zu", __func__, port, count); scsc_mport_emit(port, data, count); } static const struct scsc_mport_ops scsc_loopback_port_ops = { scsc_loopback_port_recv }; /*****************************************************************************/ void scsc_loopback_init(struct scsc_loopback *loopback) { os_trace_dbg("%s: @%p", __func__, loopback); scsc_mport_init(&loopback->port, &scsc_loopback_port_ops); } void scsc_loopback_deinit(struct scsc_loopback *loopback) { } struct scsc_mport *scsc_loopback_get_port( struct scsc_loopback *loopback) { return &loopback->port; }