]> sigrok.org Git - sigrok-util.git/blobdiff - source/drv-protocol.h
new-driver: Shorten dev_list().
[sigrok-util.git] / source / drv-protocol.h
index 3f0cf65de0ebbd4b0e4713e75e5654a604607a56..28ab52bfa4717a97a25721d0a3e70fbfc78d2cd7 100644 (file)
 #ifndef LIBSIGROK_HARDWARE_${upper}_PROTOCOL_H
 #define LIBSIGROK_HARDWARE_${upper}_PROTOCOL_H
 
+#include <stdint.h>
+#include <glib.h>
+#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);