libsigrok
0.2.2
sigrok hardware access and backend library
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerator
Macros
Groups
Pages
input
input.c
Go to the documentation of this file.
1
/*
2
* This file is part of the libsigrok project.
3
*
4
* Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
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 3 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 "
libsigrok.h
"
21
#include "libsigrok-internal.h"
22
23
/**
24
* @file
25
*
26
* Input file/data format handling.
27
*/
28
29
/**
30
* @defgroup grp_input Input formats
31
*
32
* Input file/data format handling.
33
*
34
* libsigrok can process acquisition data in several different ways.
35
* Aside from acquiring data from a hardware device, it can also take it from
36
* a file in various formats (binary, CSV, VCD, and so on).
37
*
38
* Like everything in libsigrok that handles data, processing is done in a
39
* streaming manner -- input should be supplied to libsigrok a chunk at a time.
40
* This way anything that processes data can do so in real time, without the
41
* user having to wait for the whole thing to be finished.
42
*
43
* Every input module is "pluggable", meaning it's handled as being separate
44
* from the main libsigrok, but linked in to it statically. To keep things
45
* modular and separate like this, functions within an input module should be
46
* declared static, with only the respective 'struct sr_input_format' being
47
* exported for use into the wider libsigrok namespace.
48
*
49
* @{
50
*/
51
52
/** @cond PRIVATE */
53
extern
SR_PRIV
struct
sr_input_format
input_chronovu_la8;
54
extern
SR_PRIV
struct
sr_input_format
input_csv;
55
extern
SR_PRIV
struct
sr_input_format
input_binary;
56
extern
SR_PRIV
struct
sr_input_format
input_vcd;
57
extern
SR_PRIV
struct
sr_input_format
input_wav;
58
/* @endcond */
59
60
static
struct
sr_input_format
*input_module_list[] = {
61
&input_vcd,
62
&input_chronovu_la8,
63
&input_wav,
64
&input_csv,
65
/* This one has to be last, because it will take any input. */
66
&input_binary,
67
NULL,
68
};
69
70
SR_API
struct
sr_input_format
**
sr_input_list
(
void
)
71
{
72
return
input_module_list;
73
}
74
75
/** @} */
libsigrok.h
The public libsigrok header file to be used by frontends.
sr_input_list
struct sr_input_format ** sr_input_list(void)
Definition:
input.c:70
sr_input_format
Definition:
libsigrok.h:323
SR_PRIV
#define SR_PRIV
Definition:
libsigrok.h:128
SR_API
#define SR_API
Definition:
libsigrok.h:121
Generated on Sat Dec 7 2013 14:34:20 for libsigrok by
1.8.5