]>
Commit | Line | Data |
---|---|---|
5d8c55f9 BV |
1 | /* |
2 | * This file is part of the libsigrok project. | |
3 | * | |
4 | * Copyright (C) 2014 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 | ||
6ec6c43b | 20 | #include <config.h> |
c1aae900 | 21 | #include <libsigrok/libsigrok.h> |
5d8c55f9 BV |
22 | #include "libsigrok-internal.h" |
23 | ||
24 | /** @cond PRIVATE */ | |
25 | #ifdef HAVE_HW_AGILENT_DMM | |
26 | extern SR_PRIV struct sr_dev_driver agdmm_driver_info; | |
27 | #endif | |
28 | #ifdef HAVE_HW_APPA_55II | |
29 | extern SR_PRIV struct sr_dev_driver appa_55ii_driver_info; | |
30 | #endif | |
31 | #ifdef HAVE_HW_ASIX_SIGMA | |
32 | extern SR_PRIV struct sr_dev_driver asix_sigma_driver_info; | |
33 | #endif | |
34 | #ifdef HAVE_HW_ATTEN_PPS3XXX | |
35 | extern SR_PRIV struct sr_dev_driver atten_pps3203_driver_info; | |
36 | #endif | |
dfaee1de BG |
37 | #ifdef HAVE_HW_BAYLIBRE_ACME |
38 | extern SR_PRIV struct sr_dev_driver baylibre_acme_driver_info; | |
39 | #endif | |
bb993797 KA |
40 | #ifdef HAVE_HW_BEAGLELOGIC |
41 | extern SR_PRIV struct sr_dev_driver beaglelogic_driver_info; | |
42 | #endif | |
5d8c55f9 BV |
43 | #ifdef HAVE_HW_BRYMEN_BM86X |
44 | extern SR_PRIV struct sr_dev_driver brymen_bm86x_driver_info; | |
45 | #endif | |
46 | #ifdef HAVE_HW_BRYMEN_DMM | |
47 | extern SR_PRIV struct sr_dev_driver brymen_bm857_driver_info; | |
48 | #endif | |
49 | #ifdef HAVE_HW_CEM_DT_885X | |
50 | extern SR_PRIV struct sr_dev_driver cem_dt_885x_driver_info; | |
51 | #endif | |
52 | #ifdef HAVE_HW_CENTER_3XX | |
53 | extern SR_PRIV struct sr_dev_driver center_309_driver_info; | |
54 | extern SR_PRIV struct sr_dev_driver voltcraft_k204_driver_info; | |
55 | #endif | |
56 | #ifdef HAVE_HW_CHRONOVU_LA | |
57 | extern SR_PRIV struct sr_dev_driver chronovu_la_driver_info; | |
58 | #endif | |
59 | #ifdef HAVE_HW_COLEAD_SLM | |
60 | extern SR_PRIV struct sr_dev_driver colead_slm_driver_info; | |
61 | #endif | |
62 | #ifdef HAVE_HW_CONRAD_DIGI_35_CPU | |
63 | extern SR_PRIV struct sr_dev_driver conrad_digi_35_cpu_driver_info; | |
64 | #endif | |
65 | #ifdef HAVE_HW_DEMO | |
66 | extern SR_PRIV struct sr_dev_driver demo_driver_info; | |
67 | #endif | |
b5089195 JH |
68 | #ifdef HAVE_HW_DEREE_DE5000 |
69 | extern SR_PRIV struct sr_dev_driver deree_de5000_driver_info; | |
70 | #endif | |
5d8c55f9 BV |
71 | #ifdef HAVE_HW_FLUKE_DMM |
72 | extern SR_PRIV struct sr_dev_driver flukedmm_driver_info; | |
73 | #endif | |
74 | #ifdef HAVE_HW_FX2LAFW | |
75 | extern SR_PRIV struct sr_dev_driver fx2lafw_driver_info; | |
76 | #endif | |
77 | #ifdef HAVE_HW_GMC_MH_1X_2X | |
78 | extern SR_PRIV struct sr_dev_driver gmc_mh_1x_2x_rs232_driver_info; | |
79 | extern SR_PRIV struct sr_dev_driver gmc_mh_2x_bd232_driver_info; | |
80 | #endif | |
7c198f96 ML |
81 | #ifdef HAVE_HW_GWINSTEK_GDS_800 |
82 | extern SR_PRIV struct sr_dev_driver gwinstek_gds_800_driver_info; | |
83 | #endif | |
5d8c55f9 BV |
84 | #ifdef HAVE_HW_HAMEG_HMO |
85 | extern SR_PRIV struct sr_dev_driver hameg_hmo_driver_info; | |
86 | #endif | |
87 | #ifdef HAVE_HW_HANTEK_DSO | |
88 | extern SR_PRIV struct sr_dev_driver hantek_dso_driver_info; | |
89 | #endif | |
05ac4a98 DG |
90 | #ifdef HAVE_HW_HUNG_CHANG_DSO_2100 |
91 | extern SR_PRIV struct sr_dev_driver hung_chang_dso_2100_driver_info; | |
92 | #endif | |
5d8c55f9 BV |
93 | #ifdef HAVE_HW_IKALOGIC_SCANALOGIC2 |
94 | extern SR_PRIV struct sr_dev_driver ikalogic_scanalogic2_driver_info; | |
95 | #endif | |
96 | #ifdef HAVE_HW_IKALOGIC_SCANAPLUS | |
97 | extern SR_PRIV struct sr_dev_driver ikalogic_scanaplus_driver_info; | |
98 | #endif | |
99 | #ifdef HAVE_HW_KECHENG_KC_330B | |
100 | extern SR_PRIV struct sr_dev_driver kecheng_kc_330b_driver_info; | |
101 | #endif | |
9380ec2f | 102 | #ifdef HAVE_HW_KERN_SCALE |
607dcdea | 103 | extern SR_PRIV struct sr_dev_driver *kern_scale_drivers[]; |
9380ec2f | 104 | #endif |
16fc7ee2 UH |
105 | #ifdef HAVE_HW_KORAD_KAXXXXP |
106 | extern SR_PRIV struct sr_dev_driver korad_kaxxxxp_driver_info; | |
e75ee7de | 107 | #endif |
5d8c55f9 BV |
108 | #ifdef HAVE_HW_LASCAR_EL_USB |
109 | extern SR_PRIV struct sr_dev_driver lascar_el_usb_driver_info; | |
110 | #endif | |
c7b17bcb TS |
111 | #ifdef HAVE_HW_LECROY_LOGICSTUDIO |
112 | extern SR_PRIV struct sr_dev_driver lecroy_logicstudio_driver_info; | |
113 | #endif | |
5d8c55f9 BV |
114 | #ifdef HAVE_HW_LINK_MSO19 |
115 | extern SR_PRIV struct sr_dev_driver link_mso19_driver_info; | |
116 | #endif | |
117 | #ifdef HAVE_HW_MANSON_HCS_3XXX | |
118 | extern SR_PRIV struct sr_dev_driver manson_hcs_3xxx_driver_info; | |
119 | #endif | |
e1ccfb19 AJ |
120 | #ifdef HAVE_HW_MAYNUO_M97 |
121 | extern SR_PRIV struct sr_dev_driver maynuo_m97_driver_info; | |
122 | #endif | |
5d8c55f9 BV |
123 | #ifdef HAVE_HW_MIC_985XX |
124 | extern SR_PRIV struct sr_dev_driver mic_98581_driver_info; | |
125 | extern SR_PRIV struct sr_dev_driver mic_98583_driver_info; | |
126 | #endif | |
127 | #ifdef HAVE_HW_MOTECH_LPS_30X | |
128 | extern SR_PRIV struct sr_dev_driver motech_lps_301_driver_info; | |
129 | #endif | |
130 | #ifdef HAVE_HW_NORMA_DMM | |
131 | extern SR_PRIV struct sr_dev_driver norma_dmm_driver_info; | |
132 | extern SR_PRIV struct sr_dev_driver siemens_b102x_driver_info; | |
133 | #endif | |
134 | #ifdef HAVE_HW_OPENBENCH_LOGIC_SNIFFER | |
135 | extern SR_PRIV struct sr_dev_driver ols_driver_info; | |
136 | #endif | |
4bd80e12 | 137 | #ifdef HAVE_HW_PIPISTRELLO_OLS |
138 | extern SR_PRIV struct sr_dev_driver p_ols_driver_info; | |
139 | #endif | |
5d8c55f9 BV |
140 | #ifdef HAVE_HW_RIGOL_DS |
141 | extern SR_PRIV struct sr_dev_driver rigol_ds_driver_info; | |
142 | #endif | |
143 | #ifdef HAVE_HW_SALEAE_LOGIC16 | |
144 | extern SR_PRIV struct sr_dev_driver saleae_logic16_driver_info; | |
145 | #endif | |
ca1a7cb5 BV |
146 | #ifdef HAVE_HW_SCPI_PPS |
147 | extern SR_PRIV struct sr_dev_driver scpi_pps_driver_info; | |
148 | #endif | |
5d8c55f9 | 149 | #ifdef HAVE_HW_SERIAL_DMM |
bcbef5ed | 150 | extern SR_PRIV struct sr_dev_driver *serial_dmm_drivers[]; |
5d8c55f9 BV |
151 | #endif |
152 | #ifdef HAVE_HW_SYSCLK_LWLA | |
153 | extern SR_PRIV struct sr_dev_driver sysclk_lwla_driver_info; | |
154 | #endif | |
155 | #ifdef HAVE_HW_TELEINFO | |
156 | extern SR_PRIV struct sr_dev_driver teleinfo_driver_info; | |
157 | #endif | |
158 | #ifdef HAVE_HW_TESTO | |
159 | extern SR_PRIV struct sr_dev_driver testo_driver_info; | |
160 | #endif | |
161 | #ifdef HAVE_HW_TONDAJ_SL_814 | |
162 | extern SR_PRIV struct sr_dev_driver tondaj_sl_814_driver_info; | |
163 | #endif | |
164 | #ifdef HAVE_HW_UNI_T_DMM | |
f0540611 | 165 | extern SR_PRIV struct sr_dev_driver *uni_t_dmm_drivers[]; |
5d8c55f9 BV |
166 | #endif |
167 | #ifdef HAVE_HW_UNI_T_UT32X | |
168 | extern SR_PRIV struct sr_dev_driver uni_t_ut32x_driver_info; | |
169 | #endif | |
170 | #ifdef HAVE_HW_VICTOR_DMM | |
171 | extern SR_PRIV struct sr_dev_driver victor_dmm_driver_info; | |
172 | #endif | |
10763937 SA |
173 | #ifdef HAVE_HW_YOKOGAWA_DLM |
174 | extern SR_PRIV struct sr_dev_driver yokogawa_dlm_driver_info; | |
175 | #endif | |
5d8c55f9 BV |
176 | #ifdef HAVE_HW_ZEROPLUS_LOGIC_CUBE |
177 | extern SR_PRIV struct sr_dev_driver zeroplus_logic_cube_driver_info; | |
178 | #endif | |
179 | ||
9e60a31f ML |
180 | #define DRVS struct sr_dev_driver *[] |
181 | ||
182 | SR_PRIV struct sr_dev_driver **drivers_lists[] = { | |
5d8c55f9 | 183 | #ifdef HAVE_HW_AGILENT_DMM |
9e60a31f | 184 | (DRVS) {&agdmm_driver_info, NULL}, |
5d8c55f9 BV |
185 | #endif |
186 | #ifdef HAVE_HW_APPA_55II | |
9e60a31f | 187 | (DRVS) {&appa_55ii_driver_info, NULL}, |
5d8c55f9 BV |
188 | #endif |
189 | #ifdef HAVE_HW_ASIX_SIGMA | |
9e60a31f | 190 | (DRVS) {&asix_sigma_driver_info, NULL}, |
5d8c55f9 BV |
191 | #endif |
192 | #ifdef HAVE_HW_ATTEN_PPS3XXX | |
9e60a31f | 193 | (DRVS) {&atten_pps3203_driver_info, NULL}, |
5d8c55f9 | 194 | #endif |
dfaee1de | 195 | #ifdef HAVE_HW_BAYLIBRE_ACME |
9e60a31f | 196 | (DRVS) {&baylibre_acme_driver_info, NULL}, |
dfaee1de | 197 | #endif |
bb993797 | 198 | #ifdef HAVE_HW_BEAGLELOGIC |
9e60a31f | 199 | (DRVS) {&beaglelogic_driver_info, NULL}, |
bb993797 | 200 | #endif |
5d8c55f9 | 201 | #ifdef HAVE_HW_BRYMEN_BM86X |
9e60a31f | 202 | (DRVS) {&brymen_bm86x_driver_info, NULL}, |
5d8c55f9 BV |
203 | #endif |
204 | #ifdef HAVE_HW_BRYMEN_DMM | |
9e60a31f | 205 | (DRVS) {&brymen_bm857_driver_info, NULL}, |
5d8c55f9 BV |
206 | #endif |
207 | #ifdef HAVE_HW_CEM_DT_885X | |
9e60a31f | 208 | (DRVS) {&cem_dt_885x_driver_info, NULL}, |
5d8c55f9 BV |
209 | #endif |
210 | #ifdef HAVE_HW_CENTER_3XX | |
9e60a31f ML |
211 | (DRVS) { |
212 | ¢er_309_driver_info, | |
213 | &voltcraft_k204_driver_info, | |
1a863916 UH |
214 | NULL |
215 | }, | |
5d8c55f9 BV |
216 | #endif |
217 | #ifdef HAVE_HW_CHRONOVU_LA | |
9e60a31f | 218 | (DRVS) {&chronovu_la_driver_info, NULL}, |
5d8c55f9 BV |
219 | #endif |
220 | #ifdef HAVE_HW_COLEAD_SLM | |
9e60a31f | 221 | (DRVS) {&colead_slm_driver_info, NULL}, |
5d8c55f9 BV |
222 | #endif |
223 | #ifdef HAVE_HW_CONRAD_DIGI_35_CPU | |
9e60a31f | 224 | (DRVS) {&conrad_digi_35_cpu_driver_info, NULL}, |
5d8c55f9 BV |
225 | #endif |
226 | #ifdef HAVE_HW_DEMO | |
9e60a31f | 227 | (DRVS) {&demo_driver_info, NULL}, |
5d8c55f9 | 228 | #endif |
b5089195 | 229 | #ifdef HAVE_HW_DEREE_DE5000 |
9e60a31f | 230 | (DRVS) {&deree_de5000_driver_info, NULL}, |
b5089195 | 231 | #endif |
5d8c55f9 | 232 | #ifdef HAVE_HW_FLUKE_DMM |
9e60a31f | 233 | (DRVS) {&flukedmm_driver_info, NULL}, |
5d8c55f9 BV |
234 | #endif |
235 | #ifdef HAVE_HW_FX2LAFW | |
9e60a31f | 236 | (DRVS) {&fx2lafw_driver_info, NULL}, |
5d8c55f9 BV |
237 | #endif |
238 | #ifdef HAVE_HW_GMC_MH_1X_2X | |
9e60a31f ML |
239 | (DRVS) { |
240 | &gmc_mh_1x_2x_rs232_driver_info, | |
241 | &gmc_mh_2x_bd232_driver_info, | |
1a863916 UH |
242 | NULL |
243 | }, | |
5d8c55f9 | 244 | #endif |
ff85d65e UH |
245 | #ifdef HAVE_HW_GWINSTEK_GDS_800 |
246 | (DRVS) {&gwinstek_gds_800_driver_info, NULL}, | |
247 | #endif | |
5d8c55f9 | 248 | #ifdef HAVE_HW_HAMEG_HMO |
9e60a31f | 249 | (DRVS) {&hameg_hmo_driver_info, NULL}, |
5d8c55f9 BV |
250 | #endif |
251 | #ifdef HAVE_HW_HANTEK_DSO | |
9e60a31f | 252 | (DRVS) {&hantek_dso_driver_info, NULL}, |
5d8c55f9 | 253 | #endif |
05ac4a98 DG |
254 | #ifdef HAVE_HW_HUNG_CHANG_DSO_2100 |
255 | (DRVS) {&hung_chang_dso_2100_driver_info, NULL}, | |
256 | #endif | |
5d8c55f9 | 257 | #ifdef HAVE_HW_IKALOGIC_SCANALOGIC2 |
9e60a31f | 258 | (DRVS) {&ikalogic_scanalogic2_driver_info, NULL}, |
5d8c55f9 BV |
259 | #endif |
260 | #ifdef HAVE_HW_IKALOGIC_SCANAPLUS | |
9e60a31f | 261 | (DRVS) {&ikalogic_scanaplus_driver_info, NULL}, |
5d8c55f9 BV |
262 | #endif |
263 | #ifdef HAVE_HW_KECHENG_KC_330B | |
9e60a31f | 264 | (DRVS) {&kecheng_kc_330b_driver_info, NULL}, |
5d8c55f9 | 265 | #endif |
9380ec2f | 266 | #ifdef HAVE_HW_KERN_SCALE |
607dcdea | 267 | kern_scale_drivers, |
9380ec2f | 268 | #endif |
16fc7ee2 UH |
269 | #ifdef HAVE_HW_KORAD_KAXXXXP |
270 | (DRVS) {&korad_kaxxxxp_driver_info, NULL}, | |
e75ee7de | 271 | #endif |
5d8c55f9 | 272 | #ifdef HAVE_HW_LASCAR_EL_USB |
9e60a31f | 273 | (DRVS) {&lascar_el_usb_driver_info, NULL}, |
5d8c55f9 | 274 | #endif |
c7b17bcb TS |
275 | #ifdef HAVE_HW_LECROY_LOGICSTUDIO |
276 | (DRVS) {&lecroy_logicstudio_driver_info, NULL}, | |
277 | #endif | |
5d8c55f9 | 278 | #ifdef HAVE_HW_LINK_MSO19 |
9e60a31f | 279 | (DRVS) {&link_mso19_driver_info, NULL}, |
5d8c55f9 BV |
280 | #endif |
281 | #ifdef HAVE_HW_MANSON_HCS_3XXX | |
9e60a31f | 282 | (DRVS) {&manson_hcs_3xxx_driver_info, NULL}, |
5d8c55f9 | 283 | #endif |
e1ccfb19 AJ |
284 | #ifdef HAVE_HW_MAYNUO_M97 |
285 | (DRVS) {&maynuo_m97_driver_info, NULL}, | |
286 | #endif | |
5d8c55f9 | 287 | #ifdef HAVE_HW_MIC_985XX |
9e60a31f ML |
288 | (DRVS) { |
289 | &mic_98581_driver_info, | |
290 | &mic_98583_driver_info, | |
1a863916 UH |
291 | NULL |
292 | }, | |
5d8c55f9 BV |
293 | #endif |
294 | #ifdef HAVE_HW_MOTECH_LPS_30X | |
9e60a31f | 295 | (DRVS) {&motech_lps_301_driver_info, NULL}, |
5d8c55f9 BV |
296 | #endif |
297 | #ifdef HAVE_HW_NORMA_DMM | |
9e60a31f ML |
298 | (DRVS) { |
299 | &norma_dmm_driver_info, | |
300 | &siemens_b102x_driver_info, | |
1a863916 UH |
301 | NULL |
302 | }, | |
5d8c55f9 BV |
303 | #endif |
304 | #ifdef HAVE_HW_OPENBENCH_LOGIC_SNIFFER | |
9e60a31f | 305 | (DRVS) {&ols_driver_info, NULL}, |
5d8c55f9 | 306 | #endif |
4bd80e12 | 307 | #ifdef HAVE_HW_PIPISTRELLO_OLS |
9e60a31f | 308 | (DRVS) {&p_ols_driver_info, NULL}, |
4bd80e12 | 309 | #endif |
5d8c55f9 | 310 | #ifdef HAVE_HW_RIGOL_DS |
9e60a31f | 311 | (DRVS) {&rigol_ds_driver_info, NULL}, |
5d8c55f9 BV |
312 | #endif |
313 | #ifdef HAVE_HW_SALEAE_LOGIC16 | |
9e60a31f | 314 | (DRVS) {&saleae_logic16_driver_info, NULL}, |
5d8c55f9 | 315 | #endif |
ca1a7cb5 | 316 | #ifdef HAVE_HW_SCPI_PPS |
9e60a31f | 317 | (DRVS) {&scpi_pps_driver_info, NULL}, |
ca1a7cb5 | 318 | #endif |
5d8c55f9 | 319 | #ifdef HAVE_HW_SERIAL_DMM |
bcbef5ed | 320 | serial_dmm_drivers, |
5d8c55f9 BV |
321 | #endif |
322 | #ifdef HAVE_HW_SYSCLK_LWLA | |
9e60a31f | 323 | (DRVS) {&sysclk_lwla_driver_info, NULL}, |
5d8c55f9 BV |
324 | #endif |
325 | #ifdef HAVE_HW_TELEINFO | |
9e60a31f | 326 | (DRVS) {&teleinfo_driver_info, NULL}, |
5d8c55f9 BV |
327 | #endif |
328 | #ifdef HAVE_HW_TESTO | |
9e60a31f | 329 | (DRVS) {&testo_driver_info, NULL}, |
5d8c55f9 BV |
330 | #endif |
331 | #ifdef HAVE_HW_TONDAJ_SL_814 | |
9e60a31f | 332 | (DRVS) {&tondaj_sl_814_driver_info, NULL}, |
5d8c55f9 BV |
333 | #endif |
334 | #ifdef HAVE_HW_UNI_T_DMM | |
f0540611 | 335 | uni_t_dmm_drivers, |
5d8c55f9 BV |
336 | #endif |
337 | #ifdef HAVE_HW_UNI_T_UT32X | |
9e60a31f | 338 | (DRVS) {&uni_t_ut32x_driver_info, NULL}, |
5d8c55f9 BV |
339 | #endif |
340 | #ifdef HAVE_HW_VICTOR_DMM | |
9e60a31f | 341 | (DRVS) {&victor_dmm_driver_info, NULL}, |
5d8c55f9 | 342 | #endif |
10763937 | 343 | #ifdef HAVE_HW_YOKOGAWA_DLM |
9e60a31f | 344 | (DRVS) {&yokogawa_dlm_driver_info, NULL}, |
10763937 | 345 | #endif |
5d8c55f9 | 346 | #ifdef HAVE_HW_ZEROPLUS_LOGIC_CUBE |
9e60a31f | 347 | (DRVS) {&zeroplus_logic_cube_driver_info, NULL}, |
5d8c55f9 BV |
348 | #endif |
349 | NULL, | |
350 | }; | |
351 | /** @endcond */ |