]> sigrok.org Git - sigrok-util.git/blobdiff - source/drv-protocol.h
new-driver: *.c: Only #include protocol.h.
[sigrok-util.git] / source / drv-protocol.h
index c12e6ba6d11fe0194f45e559a9f4ff6ebfeda3b7..84b7ef516101799ea2aacc1f1bbe8da9c15efeff 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the sigrok project.
+ * This file is part of the libsigrok project.
  *
  * Copyright (C) ${year} ${author} <${email}>
  *
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#ifndef LIBSIGROK_HARDWARE_${upper}_PROTOCOL_H
+#define LIBSIGROK_HARDWARE_${upper}_PROTOCOL_H
 
-#ifndef LIBSIGROK_${upper}_H
-#define LIBSIGROK_${upper}_H
+#include <stdint.h>
+#include <glib.h>
+#include "libsigrok.h"
+#include "libsigrok-internal.h"
 
-/* Private, per-device-instance driver context. */
+/* Message logging helpers with driver-specific prefix string. */
+#define DRIVER_LOG_DOMAIN "${short}: "
+#define sr_log(l, s, args...) sr_log(l, DRIVER_LOG_DOMAIN s, ## args)
+#define sr_spew(s, args...) sr_spew(DRIVER_LOG_DOMAIN s, ## args)
+#define sr_dbg(s, args...) sr_dbg(DRIVER_LOG_DOMAIN s, ## args)
+#define sr_info(s, args...) sr_info(DRIVER_LOG_DOMAIN s, ## args)
+#define sr_warn(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args)
+#define sr_err(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args)
+
+/** Private, per-device-instance driver context. */
 struct dev_context {
+       /** The current sampling limit (in number of samples). */
        uint64_t limit_samples;
+
+       /** The current sampling limit (in ms). */
        uint64_t limit_msec;
 
-       /* Opaque pointer passed in by the frontend. */
+       /** Opaque pointer passed in by the frontend. */
        void *cb_data;
 
-       /* Runtime. */
+       /** The current number of already received samples. */
        uint64_t num_samples;
 };