libsigrok
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
sigrok-proto.h
Go to the documentation of this file.
1
/*
2
* This file is part of the sigrok 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
#ifndef LIBSIGROK_SIGROK_PROTO_H
21
#define LIBSIGROK_SIGROK_PROTO_H
22
23
/*--- backend.c -------------------------------------------------------------*/
24
25
SR_API
int
sr_init
(
void
);
26
SR_API
int
sr_exit
(
void
);
27
28
/*--- log.c -----------------------------------------------------------------*/
29
30
typedef
int (*
sr_log_callback_t
)(
void
*cb_data,
int
loglevel,
31
const
char
*format, va_list args);
32
33
SR_API
int
sr_log_loglevel_set
(
int
loglevel);
34
SR_API
int
sr_log_loglevel_get
(
void
);
35
SR_API
int
sr_log_callback_set
(
sr_log_callback_t
cb,
void
*cb_data);
36
SR_API
int
sr_log_callback_set_default
(
void
);
37
SR_API
int
sr_log_logdomain_set
(
const
char
*logdomain);
38
SR_API
char
*
sr_log_logdomain_get
(
void
);
39
40
/*--- datastore.c -----------------------------------------------------------*/
41
42
SR_API
int
sr_datastore_new
(
int
unitsize,
struct
sr_datastore
**ds);
43
SR_API
int
sr_datastore_destroy
(
struct
sr_datastore
*ds);
44
SR_API
int
sr_datastore_put
(
struct
sr_datastore
*ds,
void
*data,
45
unsigned
int
length,
int
in_unitsize,
46
const
int
*probelist);
47
48
/*--- device.c --------------------------------------------------------------*/
49
50
SR_API
int
sr_dev_scan
(
void
);
51
SR_API
GSList *
sr_dev_list
(
void
);
52
SR_API
struct
sr_dev
*
sr_dev_new
(
const
struct
sr_dev_driver
*
driver
,
53
int
driver_index
);
54
SR_API
int
sr_dev_probe_add
(
struct
sr_dev
*dev,
const
char
*name);
55
SR_API
struct
sr_probe
*
sr_dev_probe_find
(
const
struct
sr_dev
*dev,
56
int
probenum);
57
SR_API
int
sr_dev_probe_name_set
(
struct
sr_dev
*dev,
int
probenum,
58
const
char
*
name
);
59
SR_API
int
sr_dev_trigger_remove_all
(
struct
sr_dev
*dev);
60
SR_API
int
sr_dev_trigger_set
(
struct
sr_dev
*dev,
int
probenum,
61
const
char
*
trigger
);
62
SR_API
gboolean
sr_dev_has_hwcap
(
const
struct
sr_dev
*dev,
int
hwcap);
63
SR_API
int
sr_dev_info_get
(
const
struct
sr_dev
*dev,
int
id
,
const
void
**data);
64
65
/*--- filter.c --------------------------------------------------------------*/
66
67
SR_API
int
sr_filter_probes
(
int
in_unitsize,
int
out_unitsize,
68
const
int
*probelist,
const
uint8_t *data_in,
69
uint64_t length_in, uint8_t **data_out,
70
uint64_t *length_out);
71
72
/*--- hwdriver.c ------------------------------------------------------------*/
73
74
SR_API
struct
sr_dev_driver
**
sr_driver_list
(
void
);
75
SR_API
int
sr_driver_init
(
struct
sr_dev_driver
*driver);
76
SR_API
gboolean
sr_driver_hwcap_exists
(
struct
sr_dev_driver
*driver,
int
hwcap);
77
SR_API
struct
sr_hwcap_option
*
sr_hw_hwcap_get
(
int
hwcap
);
78
79
/*--- session.c -------------------------------------------------------------*/
80
81
typedef
void (*
sr_datafeed_callback_t
)(
struct
sr_dev
*dev,
82
struct
sr_datafeed_packet
*packet);
83
84
/* Session setup */
85
SR_API
int
sr_session_load
(
const
char
*filename);
86
SR_API
struct
sr_session
*
sr_session_new
(
void
);
87
SR_API
int
sr_session_destroy
(
void
);
88
SR_API
int
sr_session_dev_remove_all
(
void
);
89
SR_API
int
sr_session_dev_add
(
struct
sr_dev
*dev);
90
91
/* Datafeed setup */
92
SR_API
int
sr_session_datafeed_callback_remove_all
(
void
);
93
SR_API
int
sr_session_datafeed_callback_add
(
sr_datafeed_callback_t
cb);
94
95
/* Session control */
96
SR_API
int
sr_session_start
(
void
);
97
SR_API
int
sr_session_run
(
void
);
98
SR_API
int
sr_session_halt
(
void
);
99
SR_API
int
sr_session_stop
(
void
);
100
SR_API
int
sr_session_save
(
const
char
*filename);
101
SR_API
int
sr_session_source_add
(
int
fd,
int
events,
int
timeout,
102
sr_receive_data_callback_t
cb,
void
*cb_data);
103
SR_API
int
sr_session_source_remove
(
int
fd);
104
105
/*--- input/input.c ---------------------------------------------------------*/
106
107
SR_API
struct
sr_input_format
**
sr_input_list
(
void
);
108
109
/*--- output/output.c -------------------------------------------------------*/
110
111
SR_API
struct
sr_output_format
**
sr_output_list
(
void
);
112
113
/*--- strutil.c -------------------------------------------------------------*/
114
115
SR_API
char
*
sr_samplerate_string
(uint64_t samplerate);
116
SR_API
char
*
sr_period_string
(uint64_t frequency);
117
SR_API
char
**
sr_parse_triggerstring
(
struct
sr_dev
*dev,
118
const
char
*triggerstring);
119
SR_API
int
sr_parse_sizestring
(
const
char
*sizestring, uint64_t *size);
120
SR_API
uint64_t
sr_parse_timestring
(
const
char
*timestring);
121
SR_API
gboolean
sr_parse_boolstring
(
const
char
*boolstring);
122
123
/*--- version.c -------------------------------------------------------------*/
124
125
SR_API
int
sr_package_version_major_get
(
void
);
126
SR_API
int
sr_package_version_minor_get
(
void
);
127
SR_API
int
sr_package_version_micro_get
(
void
);
128
SR_API
const
char
*
sr_package_version_string_get
(
void
);
129
130
SR_API
int
sr_lib_version_current_get
(
void
);
131
SR_API
int
sr_lib_version_revision_get
(
void
);
132
SR_API
int
sr_lib_version_age_get
(
void
);
133
SR_API
const
char
*
sr_lib_version_string_get
(
void
);
134
135
#endif
Generated on Wed Mar 27 2013 14:17:41 for libsigrok by
1.8.3.1