]> sigrok.org Git - libsigrok.git/commitdiff
output/null: Add a null module that discards all data.
authorUwe Hermann <redacted>
Thu, 19 Apr 2018 18:10:50 +0000 (20:10 +0200)
committerUwe Hermann <redacted>
Thu, 19 Apr 2018 18:10:50 +0000 (20:10 +0200)
This is useful for testing purposes.

Makefile.am
src/output/null.c [new file with mode: 0644]
src/output/output.c

index 5a46ed312bc63a15aca05f85f2627ac9fbb2d8d6..4929b2832c5a7b3c36293af50b048f71d0e05bce 100644 (file)
@@ -92,7 +92,8 @@ libsigrok_la_SOURCES += \
        src/output/hex.c \
        src/output/ols.c \
        src/output/srzip.c \
-       src/output/vcd.c
+       src/output/vcd.c \
+       src/output/null.c
 
 # Transform modules
 libsigrok_la_SOURCES += \
diff --git a/src/output/null.c b/src/output/null.c
new file mode 100644 (file)
index 0000000..94faf4b
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * This file is part of the libsigrok project.
+ *
+ * Copyright (C) 2018 Uwe Hermann <uwe@hermann-uwe.de>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <glib.h>
+#include <libsigrok/libsigrok.h>
+#include "libsigrok-internal.h"
+
+#define LOG_PREFIX "output/null"
+
+static int receive(const struct sr_output *o, const struct sr_datafeed_packet *packet,
+               GString **out)
+{
+       (void)o;
+       (void)packet;
+
+       *out = NULL;
+
+       return SR_OK;
+}
+
+SR_PRIV struct sr_output_module output_null = {
+       .id = "null",
+       .name = "Null output",
+       .desc = "Null output (discards all data)",
+       .exts = NULL,
+       .flags = 0,
+       .options = NULL,
+       .receive = receive,
+};
index efb205c68192d8d020f590c86b04841cc9e3c886..c6c2d7206cbb2fce828177546659a13284127258 100644 (file)
@@ -64,6 +64,7 @@ extern SR_PRIV struct sr_output_module output_csv;
 extern SR_PRIV struct sr_output_module output_analog;
 extern SR_PRIV struct sr_output_module output_srzip;
 extern SR_PRIV struct sr_output_module output_wav;
+extern SR_PRIV struct sr_output_module output_null;
 /* @endcond */
 
 static const struct sr_output_module *output_module_list[] = {
@@ -78,6 +79,7 @@ static const struct sr_output_module *output_module_list[] = {
        &output_analog,
        &output_srzip,
        &output_wav,
+       &output_null,
        NULL,
 };