X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=source%2Fdrv-protocol.h;h=28ab52bfa4717a97a25721d0a3e70fbfc78d2cd7;hb=28fca3a8f9e73c86d27f20065e51c69a9118a60e;hp=7af8027898969e5bb0d4cea28f3b29439d6fcc29;hpb=4b527a01e5fbcf7fa69dcfa7a3ad2422bf9087b6;p=sigrok-util.git diff --git a/source/drv-protocol.h b/source/drv-protocol.h index 7af8027..28ab52b 100644 --- a/source/drv-protocol.h +++ b/source/drv-protocol.h @@ -17,22 +17,33 @@ * along with this program. If not, see . */ -#ifndef LIBSIGROK_${upper}_H -#define LIBSIGROK_${upper}_H +#ifndef LIBSIGROK_HARDWARE_${upper}_PROTOCOL_H +#define LIBSIGROK_HARDWARE_${upper}_PROTOCOL_H + +#include +#include +#include "libsigrok.h" +#include "libsigrok-internal.h" + +/* Message logging helpers with subsystem-specific prefix string. */ +#define LOG_PREFIX "${short}: " +#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) +#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) +#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) +#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) +#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) +#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) /** Private, per-device-instance driver context. */ struct dev_context { - /** The current sampling limit (in number of samples). */ - uint64_t limit_samples; + /* Model-specific information */ + + /* Acquisition settings */ - /** The current sampling limit (in ms). */ - uint64_t limit_msec; + /* Operational state */ - /** Opaque pointer passed in by the frontend. */ - void *cb_data; + /* Temporary state across callbacks */ - /** The current number of already received samples. */ - uint64_t num_samples; }; SR_PRIV int ${lib}_receive_data(int fd, int revents, void *cb_data);