]> sigrok.org Git - libsigrok.git/blob - src/input/null.c
input/null: Add a null module that discards all data.
[libsigrok.git] / src / input / null.c
1 /*
2  * This file is part of the libsigrok project.
3  *
4  * Copyright (C) 2018 Uwe Hermann <uwe@hermann-uwe.de>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #include <config.h>
21 #include <libsigrok/libsigrok.h>
22 #include "libsigrok-internal.h"
23
24 #define LOG_PREFIX "input/null"
25
26 static int init(struct sr_input *in, GHashTable *options)
27 {
28         (void)in;
29         (void)options;
30
31         return SR_OK;
32 }
33
34 static int receive(struct sr_input *in, GString *buf)
35 {
36         (void)in;
37         (void)buf;
38
39         return SR_OK;
40 }
41
42 static int end(struct sr_input *in)
43 {
44         (void)in;
45
46         return SR_OK;
47 }
48
49 SR_PRIV struct sr_input_module input_null = {
50         .id = "null",
51         .name = "Null",
52         .desc = "Null input (discards all input)",
53         .exts = NULL,
54         .options = NULL,
55         .init = init,
56         .receive = receive,
57         .end = end,
58         .reset = NULL,
59 };